Repository: olingo-odata2 Updated Branches: refs/heads/master 9a8261a1c -> f99f8a359
[OLINGO-257] fix potential resource leaks Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/f99f8a35 Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/f99f8a35 Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/f99f8a35 Branch: refs/heads/master Commit: f99f8a359ca8c616621e04e6cb89361f446e9140 Parents: 9a8261a Author: Stephan Klevenz <[email protected]> Authored: Tue Jun 3 08:44:43 2014 +0200 Committer: Stephan Klevenz <[email protected]> Committed: Tue Jun 3 08:44:43 2014 +0200 ---------------------------------------------------------------------- .../olingo/odata2/core/batch/AcceptParser.java | 7 +++++-- .../odata2/core/batch/BatchRequestParser.java | 18 ++++++++++++------ .../odata2/core/batch/BatchResponseParser.java | 6 ++++-- 3 files changed, 21 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/f99f8a35/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/AcceptParser.java ---------------------------------------------------------------------- diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/AcceptParser.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/AcceptParser.java index d56e13e..946fccf 100644 --- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/AcceptParser.java +++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/AcceptParser.java @@ -51,7 +51,8 @@ public class AcceptParser { public static List<String> parseAcceptHeaders(final String headerValue) throws BatchException { TreeSet<Accept> acceptTree = getAcceptTree(); List<String> acceptHeaders = new ArrayList<String>(); - Scanner acceptHeaderScanner = new Scanner(headerValue).useDelimiter(",\\s?"); + Scanner acceptHeaderScanner = new Scanner(headerValue); + acceptHeaderScanner.useDelimiter(",\\s?"); while (acceptHeaderScanner.hasNext()) { if (acceptHeaderScanner.hasNext(REG_EX_ACCEPT_WITH_Q_FACTOR)) { acceptHeaderScanner.next(REG_EX_ACCEPT_WITH_Q_FACTOR); @@ -107,7 +108,9 @@ public class AcceptParser { public static List<String> parseAcceptableLanguages(final String headerValue) throws BatchException { List<String> acceptLanguages = new LinkedList<String>(); TreeSet<Accept> acceptTree = getAcceptTree(); - Scanner acceptLanguageScanner = new Scanner(headerValue).useDelimiter(",\\s?"); + Scanner acceptLanguageScanner = new Scanner(headerValue); + acceptLanguageScanner.useDelimiter(",\\s?"); + while (acceptLanguageScanner.hasNext()) { if (acceptLanguageScanner.hasNext(REG_EX_ACCEPT_LANGUAGES_WITH_Q_FACTOR)) { acceptLanguageScanner.next(REG_EX_ACCEPT_LANGUAGES_WITH_Q_FACTOR); http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/f99f8a35/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/BatchRequestParser.java ---------------------------------------------------------------------- diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/BatchRequestParser.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/BatchRequestParser.java index 6584ee9..ca69d36 100644 --- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/BatchRequestParser.java +++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/BatchRequestParser.java @@ -107,7 +107,8 @@ public class BatchRequestParser { } public List<BatchRequestPart> parse(final InputStream in) throws BatchException { - Scanner scanner = new Scanner(in, BatchHelper.DEFAULT_ENCODING).useDelimiter(LF); + Scanner scanner = new Scanner(in, BatchHelper.DEFAULT_ENCODING); + scanner.useDelimiter(LF); baseUri = getBaseUri(); List<BatchRequestPart> requestList; try { @@ -339,7 +340,8 @@ public class BatchRequestParser { final String odataPathSegmentsAsString; final String queryParametersAsString; try { - Scanner uriScanner = new Scanner(uri).useDelimiter(LF); + Scanner uriScanner = new Scanner(uri); + uriScanner.useDelimiter(LF); URI uriObject = new URI(uri); if (uriObject.isAbsolute()) { Pattern regexRequestUri = Pattern.compile(baseUri + "/([^/][^?]*)(\\?.*)?"); @@ -392,7 +394,8 @@ public class BatchRequestParser { } private Map<String, String> parseQueryParameters(final String uri) throws BatchException { - Scanner uriScanner = new Scanner(uri).useDelimiter("\n"); + Scanner uriScanner = new Scanner(uri); + uriScanner.useDelimiter("\n"); Map<String, String> queryParametersMap = new HashMap<String, String>(); Pattern regex = Pattern.compile("(?:" + baseUri + "/)?" + "[^?]+" + "\\?(.*)"); if (uriScanner.hasNext(regex)) { @@ -400,7 +403,8 @@ public class BatchRequestParser { MatchResult uriResult = uriScanner.match(); if (uriResult.groupCount() == 1) { String queryParams = uriResult.group(1); - Scanner queryParamsScanner = new Scanner(queryParams).useDelimiter("&"); + Scanner queryParamsScanner = new Scanner(queryParams); + queryParamsScanner.useDelimiter("&"); while (queryParamsScanner.hasNext(REG_EX_QUERY_PARAMETER)) { queryParamsScanner.next(REG_EX_QUERY_PARAMETER); MatchResult result = queryParamsScanner.match(); @@ -425,7 +429,8 @@ public class BatchRequestParser { } private List<PathSegment> parseODataPathSegments(final String odataPathSegmentsAsString) { - Scanner pathSegmentScanner = new Scanner(odataPathSegmentsAsString).useDelimiter("/"); + Scanner pathSegmentScanner = new Scanner(odataPathSegmentsAsString); + pathSegmentScanner.useDelimiter("/"); List<PathSegment> odataPathSegments = new ArrayList<PathSegment>(); while (pathSegmentScanner.hasNext()) { odataPathSegments.add(new ODataPathSegmentImpl(pathSegmentScanner.next(), null)); @@ -468,7 +473,8 @@ public class BatchRequestParser { } private String getBoundary(final String contentType) throws BatchException { - Scanner contentTypeScanner = new Scanner(contentType).useDelimiter(";\\s?"); + Scanner contentTypeScanner = new Scanner(contentType); + contentTypeScanner.useDelimiter(";\\s?"); if (contentTypeScanner.hasNext(REG_EX_CONTENT_TYPE)) { contentTypeScanner.next(REG_EX_CONTENT_TYPE); } else { http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/f99f8a35/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/BatchResponseParser.java ---------------------------------------------------------------------- diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/BatchResponseParser.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/BatchResponseParser.java index 0dfe77b..7c2c21b 100644 --- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/BatchResponseParser.java +++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/batch/BatchResponseParser.java @@ -70,7 +70,8 @@ public class BatchResponseParser { } public List<BatchSingleResponse> parse(final InputStream in) throws BatchException { - Scanner scanner = new Scanner(in, BatchHelper.DEFAULT_ENCODING).useDelimiter(LF); + Scanner scanner = new Scanner(in, BatchHelper.DEFAULT_ENCODING); + scanner.useDelimiter(LF); List<BatchSingleResponse> responseList; try { responseList = Collections.unmodifiableList(parseBatchResponse(scanner)); @@ -320,7 +321,8 @@ public class BatchResponseParser { } private String getBoundary(final String contentType) throws BatchException { - Scanner contentTypeScanner = new Scanner(contentType).useDelimiter(";\\s?"); + Scanner contentTypeScanner = new Scanner(contentType); + contentTypeScanner.useDelimiter(";\\s?"); if (contentTypeScanner.hasNext(REG_EX_CONTENT_TYPE)) { contentTypeScanner.next(REG_EX_CONTENT_TYPE); } else {
