You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by sk...@apache.org on 2014/02/17 13:40:40 UTC

[13/51] [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/46b2a4fb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/tree/46b2a4fb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/diff/46b2a4fb

Branch: refs/heads/master
Commit: 46b2a4fb5c101609b3bcced23f08218f9e13d825
Parents: 93d0002
Author: Christian Amend <ch...@apache.org>
Authored: Tue Dec 3 11:43:46 2013 +0100
Committer: Tamara Boehm <ta...@sap.com>
Committed: Fri Dec 6 17:49:25 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/46b2a4fb/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);