Revert input stream splitting

Signed-off-by: Christian Amend <[email protected]>


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

Branch: refs/heads/master
Commit: 8dfd515e89e1ddf0ec91f347264bb4be9144c6d3
Parents: dbaa667
Author: Christian Holzer <[email protected]>
Authored: Thu Oct 9 16:31:23 2014 +0200
Committer: Christian Amend <[email protected]>
Committed: Thu Oct 9 16:45:27 2014 +0200

----------------------------------------------------------------------
 .../odata2/core/batch/v2/BatchParser.java       | 14 ++++-
 .../odata2/core/batch/v2/BatchParserCommon.java | 56 --------------------
 2 files changed, 13 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/8dfd515e/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/v2/BatchParser.java
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/v2/BatchParser.java
 
b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/v2/BatchParser.java
index bf4ce93..09bf987 100644
--- 
a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/v2/BatchParser.java
+++ 
b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/v2/BatchParser.java
@@ -20,6 +20,7 @@ package org.apache.olingo.odata2.core.batch.v2;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -80,7 +81,7 @@ public class BatchParser {
     final String baseUri = getBaseUri();
     final String boundary = BatchParserCommon.getBoundary(contentTypeMime, 1);
     final List<BatchParserResult> resultList = new 
LinkedList<BatchParserResult>();
-    final List<List<Line>> bodyPartStrings = 
BatchParserCommon.splitRequestByBoundary(in, boundary);
+    final List<List<Line>> bodyPartStrings = splitBodyParts(in, boundary);
 
     for (List<Line> bodyPartString : bodyPartStrings) {
       BatchBodyPart bodyPart = new BatchBodyPart(bodyPartString, boundary, 
isStrict).parse();
@@ -89,6 +90,17 @@ public class BatchParser {
 
     return resultList;
   }
+  
+  private List<List<Line>> splitBodyParts(final InputStream in, final String 
boundary)
+      throws IOException, BatchException {
+
+    final BufferedReaderIncludingLineEndings reader = new 
BufferedReaderIncludingLineEndings(new InputStreamReader(in));
+    final List<Line> message = reader.toList();
+    reader.close();
+
+    return BatchParserCommon.splitMessageByBoundary(message, boundary);
+  }
+
 
   private String getBaseUri() throws BatchException {
     String baseUri = "";

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/8dfd515e/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/v2/BatchParserCommon.java
----------------------------------------------------------------------
diff --git 
a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/v2/BatchParserCommon.java
 
b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/v2/BatchParserCommon.java
index 5c6cd69..cac340e 100644
--- 
a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/v2/BatchParserCommon.java
+++ 
b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/v2/BatchParserCommon.java
@@ -19,9 +19,7 @@
 package org.apache.olingo.odata2.core.batch.v2;
 
 import java.io.ByteArrayInputStream;
-import java.io.IOException;
 import java.io.InputStream;
-import java.io.InputStreamReader;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.ArrayList;
@@ -93,60 +91,6 @@ public class BatchParserCommon {
     return new ByteArrayInputStream(message.getBytes());
   }
 
-  static List<List<Line>> splitRequestByBoundary(final InputStream in, final 
String boundary)
-      throws BatchException, IOException {
-    final List<List<Line>> messageParts = new LinkedList<List<Line>>();
-    List<Line> currentPart = new ArrayList<Line>();
-    boolean isEndReached = false;
-
-    final String quotedBoundary = Pattern.quote(boundary);
-    final Pattern boundaryDelimiterPattern = Pattern.compile("--" + 
quotedBoundary + "--[\\s ]*");
-    final Pattern boundaryPattern = Pattern.compile("--" + quotedBoundary + 
"[\\s ]*");
-
-    final BufferedReaderIncludingLineEndings reader = new 
BufferedReaderIncludingLineEndings(new InputStreamReader(in));
-    String currentLine;
-    int lineNumber = 1;
-
-    while ((currentLine = reader.readLine()) != null) {
-      if (boundaryDelimiterPattern.matcher(currentLine.toString()).matches()) {
-        removeEndingCRLFFromList(currentPart);
-        messageParts.add(currentPart);
-        isEndReached = true;
-      } else if (boundaryPattern.matcher(currentLine.toString()).matches()) {
-        removeEndingCRLFFromList(currentPart);
-        messageParts.add(currentPart);
-        currentPart = new LinkedList<Line>();
-      } else {
-        currentPart.add(new Line(currentLine, lineNumber));
-      }
-
-      if (isEndReached) {
-        break;
-      }
-
-      lineNumber++;
-    }
-    reader.close();
-
-    // Remove preamble
-    if (messageParts.size() > 0) {
-      messageParts.remove(0);
-    } else {
-
-      throw new 
BatchException(BatchException.MISSING_BOUNDARY_DELIMITER.addContent(1));
-    }
-
-    if (!isEndReached) {
-      throw new 
BatchException(BatchException.MISSING_CLOSE_DELIMITER.addContent(1));
-    }
-
-    if (messageParts.size() == 0) {
-      throw new 
BatchException(BatchException.NO_MATCH_WITH_BOUNDARY_STRING.addContent(boundary).addContent(0));
-    }
-
-    return messageParts;
-  }
-
   static List<List<Line>> splitMessageByBoundary(final List<Line> message, 
final String boundary)
       throws BatchException {
     final List<List<Line>> messageParts = new LinkedList<List<Line>>();

Reply via email to