Repository: olingo-odata2 Updated Branches: refs/heads/OLINGO-637 9947dbff2 -> 7a28a9ba3
[OLINGO-637] Added 'createPathSegment' to UriParser Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/7a28a9ba Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/7a28a9ba Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/7a28a9ba Branch: refs/heads/OLINGO-637 Commit: 7a28a9ba354eb0e5f28f5dae894f48b29920cad0 Parents: 9947dbf Author: Michael Bolz <[email protected]> Authored: Thu Apr 23 12:56:58 2015 +0200 Committer: Michael Bolz <[email protected]> Committed: Thu Apr 23 12:58:54 2015 +0200 ---------------------------------------------------------------------- .../org/apache/olingo/odata2/api/uri/UriParser.java | 10 ++++++---- .../apache/olingo/odata2/core/ODataPathSegmentImpl.java | 12 ++++++++++-- 2 files changed, 16 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/7a28a9ba/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/uri/UriParser.java ---------------------------------------------------------------------- diff --git a/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/uri/UriParser.java b/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/uri/UriParser.java index 5447bc4..11426d0 100644 --- a/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/uri/UriParser.java +++ b/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/uri/UriParser.java @@ -208,8 +208,9 @@ public abstract class UriParser { /** * Creates an path segment object. * @param path path of created path segment - * @param matrixParameters Map of Lists of matrix parameters for this path segemt - * @return create path segment + * @param matrixParameters Map of Lists of matrix parameters for this path segment (can be null if no matrix + * parameters should be set for this path segment) + * @return created path segment */ protected abstract PathSegment buildPathSegment(String path, Map<String, List<String>> matrixParameters); @@ -217,8 +218,9 @@ public abstract class UriParser { /** * Creates an path segment object. * @param path path of created path segment - * @param matrixParameters Map of Lists of matrix parameters for this path segemt - * @return create path segment + * @param matrixParameters Map of Lists of matrix parameters for this path segment (can be null if no matrix + * parameters should be set for this path segment) + * @return created path segment */ public static PathSegment createPathSegment(String path, Map<String, List<String>> matrixParameters) { return RuntimeDelegate.getUriParser(null).buildPathSegment(path, matrixParameters); http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/7a28a9ba/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ODataPathSegmentImpl.java ---------------------------------------------------------------------- diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ODataPathSegmentImpl.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ODataPathSegmentImpl.java index 94de51d..b56b4b3 100644 --- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ODataPathSegmentImpl.java +++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ODataPathSegmentImpl.java @@ -18,6 +18,7 @@ ******************************************************************************/ package org.apache.olingo.odata2.core; +import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -33,14 +34,21 @@ public class ODataPathSegmentImpl implements PathSegment { private String path; private Map<String, List<String>> matrixParameter; + /** + * Constructor for an path segment object. + * @param path path of created path segment + * @param matrixParameters Map of Lists of matrix parameters for this path segment (can be null if no matrix + * parameters should be set for this path segment) + */ public ODataPathSegmentImpl(final String path, final Map<String, List<String>> matrixParameters) { this.path = path; Map<String, List<String>> unmodifiableMap = new HashMap<String, List<String>>(); if (matrixParameters != null) { for (String key : matrixParameters.keySet()) { - List<String> values = Collections.unmodifiableList(matrixParameters.get(key)); - unmodifiableMap.put(key, values); + List<String> values = matrixParameters.get(key); + List<String> tempList = values == null ? null: Collections.unmodifiableList(new ArrayList<String>(values)); + unmodifiableMap.put(key, tempList); } }
