Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright 2013 SAP AG Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. /
 
 package com.sap.core.odata.core.ep.consumer;
 
 import java.util.List;
 
 
 
 public class AtomServiceDocumentConsumer {
   private static final String DEFAULT_PREFIX = "";
 
     AtomInfoImpl atomInfo = new AtomInfoImpl();
     ServiceDocumentImpl serviceDocument = new ServiceDocumentImpl();
     List<Workspaceworkspaces = new ArrayList<Workspace>();
     List<ExtensionElementextElements = new ArrayList<ExtensionElement>();
     CommonAttributesImpl attributes = new CommonAttributesImpl();
     try {
       while (reader.hasNext()
           && !(reader.isEndElement() && ..equals(reader.getNamespaceURI()) && ..equals(reader.getLocalName()))) {
         reader.next();
         if (reader.isStartElement()) {
            = reader.getLocalName();
             attributes = parseCommonAttribute(reader);
           } else if (..equals()) {
             workspaces.add(parseWorkspace(reader));
           } else {
             ExtensionElementImpl extElement = parseExtensionElement(reader);
             if (extElement != null) {
               extElements.add(extElement);
             }
           }
         }
       }
       if (workspaces.isEmpty()) {
         throw new EntityProviderException(..addContent("Service element must contain at least one workspace element"));
       }
       reader.close();
       atomInfo.setWorkspaces(workspaces).setCommonAttributes(attributes).setExtesionElements(extElements);
 
       serviceDocument.setAtomInfo(atomInfo);
       serviceDocument.setEntitySetsInfo(atomInfo.getEntitySetsInfo());
       return serviceDocument;
     } catch (XMLStreamException e) {
       throw new EntityProviderException(..addContent("Invalid service document"), e);
     }
   }
 
     CommonAttributesImpl attribute = new CommonAttributesImpl();
     List<ExtensionAttributeextAttributes = new ArrayList<ExtensionAttribute>();
     attribute.setBase(reader.getAttributeValue(null.));
     attribute.setLang(reader.getAttributeValue(null.));
     for (int i = 0; i < reader.getAttributeCount(); i++) {
           || (..equals(reader.getAttributeLocalName(i)) && ..equals(reader.getAttributePrefix(i)))
          || ("local".equals(reader.getAttributeNamespace(i)) || .equals(reader.getAttributePrefix(i))))) {
        extAttributes.add(new ExtensionAttributeImpl()
            .setName(reader.getAttributeLocalName(i))
            .setNamespace(reader.getAttributeNamespace(i))
            .setPrefix(reader.getAttributePrefix(i))
            .setText(reader.getAttributeValue(i)));
      }
    }
    return attribute.setAttributes(extAttributes);
  }
    TitleImpl title = null;
    List<Collectioncollections = new ArrayList<Collection>();
    List<ExtensionElementextElements = new ArrayList<ExtensionElement>();
    CommonAttributesImpl attributes = parseCommonAttribute(reader);
    while (reader.hasNext() && !(reader.isEndElement() && ..equals(reader.getNamespaceURI()) && ..equals(reader.getLocalName()))) {
      reader.next();
      if (reader.isStartElement()) {
         = reader.getLocalName();
          collections.add(parseCollection(reader));
        } else if (..equals()) {
          title = parseTitle(reader);
        } else {
          extElements.add(parseExtensionSansTitleElement(reader));
        }
      }
    }
    if (title == null) {
      throw new EntityProviderException(..addContent("Missing element title for workspace"));
    }
    return new WorkspaceImpl().setTitle(title).setCollections(collections).setAttributes(attributes).setExtesionElements(extElements);
  }
    TitleImpl title = null;
    String resourceIdentifier = reader.getAttributeValue(null.);
    CommonAttributesImpl attributes = parseCommonAttribute(reader);
    List<ExtensionElementextElements = new ArrayList<ExtensionElement>();
    List<AcceptacceptList = new ArrayList<Accept>();
    List<Categoriescategories = new ArrayList<Categories>();
    if (resourceIdentifier == null) {
    }
    while (reader.hasNext() && !(reader.isEndElement() && ..equals(reader.getNamespaceURI()) && ..equals(reader.getLocalName()))) {
      reader.next();
      if (reader.isStartElement()) {
         = reader.getLocalName();
          title = parseTitle(reader);
        } else if (..equals()) {
          acceptList.add(parseAccept(reader));
          categories.add(parseCategories(reader));
        } else {
          extElements.add(parseExtensionSansTitleElement(reader));
        }
      }
    }
    return new CollectionImpl().setHref(resourceIdentifier).setTitle(title).setCommonAttributes(attributes).setExtesionElements(extElements).setAcceptElements(acceptList).setCategories(categories);
  }
  private TitleImpl parseTitle(final XMLStreamReader readerthrows XMLStreamException {
    String text = "";
    while (reader.hasNext() && !(reader.isEndElement() && ..equals(reader.getNamespaceURI()) && ..equals(reader.getLocalName()))) {
      if (reader.isCharacters()) {
        text += reader.getText();
      }
      reader.next();
    }
    return new TitleImpl().setText(text);
  }
  private AcceptImpl parseAccept(final XMLStreamReader readerthrows XMLStreamException {
    CommonAttributesImpl commonAttributes = parseCommonAttribute(reader);
    String text = "";
    while (reader.hasNext() && !(reader.isEndElement() && ..equals(reader.getNamespaceURI()) && ..equals(reader.getLocalName()))) {
      if (reader.isCharacters()) {
        text += reader.getText();
      }
      reader.next();
    }
    return new AcceptImpl().setCommonAttributes(commonAttributes).setText(text);
  }
    CategoriesImpl categories = new CategoriesImpl();
    String href = reader.getAttributeValue(null.);
    String fixed = reader.getAttributeValue(null.);
    categories.setHref(href);
    if (href == null) {
      for (int i = 0; i < Fixed.values().lengthi++) {
        if (Fixed.values()[i].name().equalsIgnoreCase(fixed)) {
          categories.setFixed(Fixed.values()[i]);
        }
      }
      if (categories.getFixed() == null) {
        categories.setFixed(.);
      }
      List<CategorycategoriesList = new ArrayList<Category>();
      while (reader.hasNext() && !(reader.isEndElement() && ..equals(reader.getNamespaceURI()) && ..equals(reader.getLocalName()))) {
        reader.next();
        if (reader.isStartElement()) {
           = reader.getLocalName();
            categoriesList.add(parseCategory(reader));
          }
        }
      }
      categories.setCategoryList(categoriesList);
    }
    if ((href != null && fixed != null && categories.getScheme() != null) ||
        (href == null && fixed == null && categories.getScheme() == null)) {
      throw new EntityProviderException(..addContent("for the element categories"));
    }
    return categories;
  }
  private CategoryImpl parseCategory(final XMLStreamReader readerthrows XMLStreamException {
    CategoryImpl category = new CategoryImpl();
    category.setTerm(reader.getAttributeValue(null.));
    CommonAttributesImpl attributes = parseCommonAttribute(reader);
    return category.setCommonAttributes(attributes);
  }
    ExtensionElementImpl extElement = new ExtensionElementImpl();
      extElement = parseElement(reader);
    }
    return extElement;
  }
    ExtensionElementImpl extElement = null;
    if (!..equals(reader.getNamespaceURI())) {
      extElement = parseElement(reader);
    }
    return extElement;
  }
    List<ExtensionElementextensionElements = new ArrayList<ExtensionElement>();
    extElement.setAttributes(parseAttribute(reader));
    while (reader.hasNext() && !(reader.isEndElement() && extElement.getName() != null && extElement.getName().equals(reader.getLocalName()))) {
      reader.next();
      if (reader.isCharacters()) {
        extElement.setText(reader.getText());
      } else if (reader.isStartElement()) {
        extensionElements.add(parseExtensionElement(reader));
      }
    }
    extElement.setElements(extensionElements);
    if (extElement.getText() == null && extElement.getAttributes().isEmpty() && extElement.getElements().isEmpty()) {
      throw new EntityProviderException(..addContent("Invalid extension element"));
    }
    return extElement;
  }
  private List<ExtensionAttributeparseAttribute(final XMLStreamReader reader) {
    List<ExtensionAttributeextAttributes = new ArrayList<ExtensionAttribute>();
    for (int i = 0; i < reader.getAttributeCount(); i++) {
      {
        extAttributes.add(new ExtensionAttributeImpl()
            .setName(reader.getAttributeLocalName(i))
            .setNamespace(reader.getAttributeNamespace(i))
            .setPrefix(reader.getAttributePrefix(i))
            .setText(reader.getAttributeValue(i)));
      }
    }
    return extAttributes;
  }
  }
    if (in != null) {
      XMLInputFactory factory = XMLInputFactory.newInstance();
      factory.setProperty(.false);
      XMLStreamReader streamReader;
      try {
        streamReader = factory.createXMLStreamReader(in);
      } catch (XMLStreamException e) {
        throw new EntityProviderException(..addContent("XML Exception"), e);
      }
      return streamReader;
    } else {
      throw new EntityProviderException(..addContent("Null InputStream"));
    }
  }
New to GrepCode? Check out our FAQ X