You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by tb...@apache.org on 2013/12/10 14:50:12 UTC

[17/50] [abbrv] git commit: [OLINGO-73] Read characters event in metadata and service doc

[OLINGO-73] Read characters event in metadata and service doc

For metatdata and service document custom elements we have to use the
getText() method. Thus we have to read the characters data till its at the
end element.


Project: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/commit/b076d59d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/tree/b076d59d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/diff/b076d59d

Branch: refs/heads/ODataServlet
Commit: b076d59d1661853ba14565a42e70aa023823a4ed
Parents: 6bd4b2c
Author: Christian Amend <ch...@apache.org>
Authored: Tue Dec 3 11:43:46 2013 +0100
Committer: Christian Amend <ch...@apache.org>
Committed: Tue Dec 3 11:43:46 2013 +0100

----------------------------------------------------------------------
 .../consumer/AtomServiceDocumentConsumer.java   | 31 +++++---------------
 1 file changed, 8 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/b076d59d/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/consumer/AtomServiceDocumentConsumer.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/consumer/AtomServiceDocumentConsumer.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/consumer/AtomServiceDocumentConsumer.java
index 82da954..f49134b 100644
--- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/consumer/AtomServiceDocumentConsumer.java
+++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/consumer/AtomServiceDocumentConsumer.java
@@ -186,15 +186,6 @@ public class AtomServiceDocumentConsumer {
     reader.require(XMLStreamConstants.START_ELEMENT, Edm.NAMESPACE_ATOM_2005, FormatXml.ATOM_TITLE);
     String text = reader.getElementText();
     reader.require(XMLStreamConstants.END_ELEMENT, Edm.NAMESPACE_ATOM_2005, FormatXml.ATOM_TITLE);
-//    String text = "";
-//    while (reader.hasNext()
-//        && !(reader.isEndElement() && Edm.NAMESPACE_ATOM_2005.equals(reader.getNamespaceURI()) && FormatXml.ATOM_TITLE
-//            .equals(reader.getLocalName()))) {
-//      if (reader.isCharacters()) {
-//        text += reader.getElementText();
-//      }
-//      reader.next();
-//    }
     return new TitleImpl().setText(text);
   }
 
@@ -203,16 +194,6 @@ public class AtomServiceDocumentConsumer {
     CommonAttributesImpl commonAttributes = parseCommonAttribute(reader);
     String text = reader.getElementText();
     reader.require(XMLStreamConstants.END_ELEMENT, Edm.NAMESPACE_APP_2007, FormatXml.APP_ACCEPT);
-//    String text = "";
-//    while (reader.hasNext()
-//        && !(reader.isEndElement() && Edm.NAMESPACE_APP_2007.equals(reader.getNamespaceURI()) && FormatXml.APP_ACCEPT
-//            .equals(reader.getLocalName()))) {
-//      if (reader.isCharacters()) {
-//        //TODO: optimize
-//        text += reader.getText();
-//      }
-//      reader.next();
-//    }
     return new AcceptImpl().setCommonAttributes(commonAttributes).setText(text);
   }
 
@@ -296,11 +277,15 @@ public class AtomServiceDocumentConsumer {
         && !(reader.isEndElement() && extElement.getName() != null && extElement.getName()
             .equals(reader.getLocalName()))) {
       reader.next();
-      if (reader.isCharacters()) {
-        // TODO: delete getText
-        extElement.setText(reader.getText());
-      } else if (reader.isStartElement()) {
+      if (reader.isStartElement()) {
         extensionElements.add(parseExtensionElement(reader));
+      } else if (reader.isCharacters()) {
+        String extElementText = "";
+        do {
+          extElementText = extElementText + reader.getText();
+          reader.next();
+        } while (reader.isCharacters());
+        extElement.setText(extElementText);
       }
     }
     extElement.setElements(extensionElements);