You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by il...@apache.org on 2014/03/06 10:39:02 UTC
[2/3] git commit: [OLINGO-63] Uri Parser: add Documentation
[OLINGO-63] Uri Parser: add Documentation
Project: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/commit/6553b588
Tree: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/tree/6553b588
Diff: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/diff/6553b588
Branch: refs/heads/olingo169
Commit: 6553b5881e828a60d532746c657161d32013c3fb
Parents: 32191e7
Author: Sven Kobler <sv...@sap.com>
Authored: Thu Mar 6 10:06:28 2014 +0100
Committer: Sven Kobler <sv...@sap.com>
Committed: Thu Mar 6 10:06:50 2014 +0100
----------------------------------------------------------------------
.../olingo/odata4/server/api/uri/UriInfo.java | 10 ++-
.../odata4/server/api/uri/UriInfoAll.java | 5 ++
.../odata4/server/api/uri/UriInfoBatch.java | 4 +
.../odata4/server/api/uri/UriInfoCrossjoin.java | 7 ++
.../odata4/server/api/uri/UriInfoEntityId.java | 23 ++++-
.../odata4/server/api/uri/UriInfoKind.java | 46 +++++++++-
.../odata4/server/api/uri/UriInfoMetadata.java | 10 +++
.../odata4/server/api/uri/UriInfoResource.java | 60 ++++++++++++-
.../odata4/server/api/uri/UriInfoService.java | 4 +
.../odata4/server/api/uri/UriParameter.java | 18 ++++
.../odata4/server/api/uri/UriResource.java | 7 ++
.../server/api/uri/UriResourceAction.java | 7 ++
.../api/uri/UriResourceComplexProperty.java | 12 +++
.../odata4/server/api/uri/UriResourceCount.java | 4 +
.../server/api/uri/UriResourceEntitySet.java | 21 ++++-
.../server/api/uri/UriResourceFunction.java | 20 +++++
.../odata4/server/api/uri/UriResourceIt.java | 12 ++-
.../odata4/server/api/uri/UriResourceKind.java | 95 +++++++++++++++++++-
.../server/api/uri/UriResourceLambdaAll.java | 12 ++-
.../server/api/uri/UriResourceLambdaAny.java | 10 +++
.../server/api/uri/UriResourceLambdaRef.java | 25 ------
.../api/uri/UriResourceLambdaVariable.java | 33 +++++++
.../server/api/uri/UriResourceNavigation.java | 21 ++++-
.../server/api/uri/UriResourcePartTyped.java | 12 +++
.../api/uri/UriResourcePrimitiveProperty.java | 4 +
.../server/api/uri/UriResourceProperty.java | 6 ++
.../odata4/server/api/uri/UriResourceRef.java | 5 ++
.../odata4/server/api/uri/UriResourceRoot.java | 3 +-
.../server/api/uri/UriResourceSingleton.java | 14 +++
.../odata4/server/api/uri/UriResourceValue.java | 4 +
.../odata4/server/core/uri/UriInfoImpl.java | 2 +-
.../core/uri/UriResourceLambdaAllImpl.java | 10 +--
.../core/uri/UriResourceLambdaAnyImpl.java | 8 +-
.../core/uri/UriResourceLambdaVarImpl.java | 6 +-
.../uri/UriResourceStartingTypeFilterImpl.java | 2 +-
.../odata4/server/core/uri/UriInfoImplTest.java | 2 +-
.../server/core/uri/UriResourceImplTest.java | 5 +-
.../core/uri/testutil/FilterTreeToText.java | 2 +-
.../core/uri/testutil/ResourceValidator.java | 7 +-
39 files changed, 492 insertions(+), 66 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfo.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfo.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfo.java
index ddd86b8..4b91a93 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfo.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfo.java
@@ -19,9 +19,17 @@
package org.apache.olingo.odata4.server.api.uri;
+
+/**
+ * Object acting as general access to URI information extracted from the request URI. Depending on
+ * the URI info kind different interfaces are used to provide access to that information. </p>
+ * Use method {@link #getKind()} to obtain URI info kind information and to perform an appropriate cast.
+ */
public interface UriInfo extends
UriInfoService, UriInfoAll, UriInfoBatch, UriInfoCrossjoin,
UriInfoEntityId, UriInfoMetadata, UriInfoResource {
+
+ public UriInfoKind getKind();
public UriInfoService asUriInfoService();
@@ -37,5 +45,5 @@ public interface UriInfo extends
public UriInfoResource asUriInfoResource();
- public UriInfoKind getKind();
+
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoAll.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoAll.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoAll.java
index 9c5bd5c..95f3266 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoAll.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoAll.java
@@ -19,6 +19,11 @@
package org.apache.olingo.odata4.server.api.uri;
+
+/**
+ * Used for URI info kind {@link UriInfoKind#all} to describe URIs like
+ * http://.../serviceroot/$all
+ */
public interface UriInfoAll {
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoBatch.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoBatch.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoBatch.java
index 703ef36..e6db379 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoBatch.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoBatch.java
@@ -19,6 +19,10 @@
package org.apache.olingo.odata4.server.api.uri;
+/**
+ * Used for URI info kind {@link UriInfoKind#batch} to describe URIs like
+ * http://.../serviceroot/$batch
+ */
public interface UriInfoBatch {
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoCrossjoin.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoCrossjoin.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoCrossjoin.java
index f055847..4967c3e 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoCrossjoin.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoCrossjoin.java
@@ -21,8 +21,15 @@ package org.apache.olingo.odata4.server.api.uri;
import java.util.List;
+/**
+ * Used for URI info kind {@link UriInfoKind#crossjoin} to describe URIs like
+ * http://.../serviceroot/$crossjoin(...)
+ */
public interface UriInfoCrossjoin {
+ /**
+ * @return List of entity set names
+ */
List<String> getEntitySetNames();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoEntityId.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoEntityId.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoEntityId.java
index 93345ae..048dc8c 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoEntityId.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoEntityId.java
@@ -29,20 +29,41 @@ import org.apache.olingo.odata4.server.api.uri.queryoption.IdOption;
import org.apache.olingo.odata4.server.api.uri.queryoption.SelectOption;
/**
- * Indicates a URL access to an single Entity
+ * Used for URI info kind {@link UriInfoKind#entityId} to describe URIs like
+ * http://.../serviceroot/$entity...
*/
public interface UriInfoEntityId {
+ /**
+ * @return List of custom query options used in the URI
+ */
public List<CustomQueryOption> getCustomQueryOptions();
+ /**
+ * Behind $entity a optional type cast can be used in the URI.
+ * For example: http://.../serviceroot/$entity/namespace.entitytype
+ * @return Type cast if found, otherwise null
+ */
public EdmEntityType getEntityTypeCast();
+ /**
+ * @return Object containing information of the $expand option
+ */
public ExpandOption getExpandOption();
+ /**
+ * @return Object containing information of the $format option
+ */
public FormatOption getFormatOption();
+ /**
+ * @return Object containing information of the $id option
+ */
public IdOption getIdOption();
+ /**
+ * @return Object containing information of the $select option
+ */
public SelectOption getSelectOption();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoKind.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoKind.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoKind.java
index d3f2baf..7264238 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoKind.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoKind.java
@@ -19,6 +19,50 @@
package org.apache.olingo.odata4.server.api.uri;
+/**
+ * Defining the various info kinds
+ */
public enum UriInfoKind {
- all, batch, crossjoin, entityId, metadata, resource, service;
+
+ /**
+ * Class: {@link UriInfoAll}<br>
+ * URI: http://.../serviceroot/$all
+ */
+ all,
+
+ /**
+ * Class: {@link UriInfoBatch}<br>
+ * URI: http://.../serviceroot/$batch
+ */
+ batch,
+
+ /**
+ * Class: {@link UriInfoCrossjoin}<br>
+ * URI: http://.../serviceroot/$crossjoin
+ */
+ crossjoin,
+
+ /**
+ * Class: {@link UriInfoEntityId}<br>
+ * URI: http://.../serviceroot/$entity(...)
+ */
+ entityId,
+
+ /**
+ * Class: {@link UriInfoMetadata}<br>
+ * URI: http://.../serviceroot/$metadata...
+ */
+ metadata,
+
+ /**
+ * Class: {@link UriInfoResource}<br>
+ * URI: http://.../serviceroot/entitySet
+ */
+ resource,
+
+ /**
+ * Class: {@link UriInfoService}<br>
+ * URI: http://.../serviceroot
+ */
+ service;
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoMetadata.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoMetadata.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoMetadata.java
index 60ef90c..9f25e5d 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoMetadata.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoMetadata.java
@@ -21,10 +21,20 @@ package org.apache.olingo.odata4.server.api.uri;
import org.apache.olingo.odata4.server.api.uri.queryoption.FormatOption;
+/**
+ * Used for URI info kind {@link UriInfoKind#metadata} to describe URIs like
+ * http://.../serviceroot/$metadata...
+ */
public interface UriInfoMetadata {
+ /**
+ * @return Object containing information of the $id option
+ */
public FormatOption getFormatOption();
+ /**
+ * @return Object containing information of the URI fragment
+ */
public String getFragment();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoResource.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoResource.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoResource.java
index 8dca44f..1dff9ed 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoResource.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoResource.java
@@ -33,32 +33,86 @@ import org.apache.olingo.odata4.server.api.uri.queryoption.SkipOption;
import org.apache.olingo.odata4.server.api.uri.queryoption.SkipTokenOption;
import org.apache.olingo.odata4.server.api.uri.queryoption.TopOption;
+/**
+ * Used for URI info kind {@link UriInfoKind#resource} to describe URIs like
+ * E.g. http://.../serviceroot/entitySet
+ */
public interface UriInfoResource {
+ /**
+ * @return List of custom query options used in the URI
+ */
List<CustomQueryOption> getCustomQueryOptions();
+ /**
+ * @return Object containing information of the $expand option
+ */
ExpandOption getExpandOption();
+ /**
+ * @return Object containing information of the $filter option
+ */
FilterOption getFilterOption();
+ /**
+ * @return Object containing information of the $format option
+ */
FormatOption getFormatOption();
-
+
+ /**
+ * @return Object containing information of the $id option
+ */
IdOption getIdOption();
- CountOption getInlineCountOption();
+ /**
+ * @return Object containing information of the $count option
+ */
+ CountOption getCountOption();
+ /**
+ * @return Object containing information of the $orderby option
+ */
OrderByOption getOrderByOption();
+ /**
+ * @return Object containing information of the $search option
+ */
SearchOption getSearchOption();
+ /**
+ * @return Object containing information of the $select option
+ */
SelectOption getSelectOption();
+ /**
+ * @return Object containing information of the $skip option
+ */
SkipOption getSkipOption();
+ /**
+ * @return Object containing information of the $skiptoken option
+ */
SkipTokenOption getSkipTokenOption();
+ /**
+ * @return Object containing information of the $top option
+ */
TopOption getTopOption();
-
+
+ /**
+ * The path segments behind the service root define which resources are
+ * requested by that URI. This may be entities/functions/actions and more.
+ * Each segments information (name, key predicates, function parameters, ...) is
+ * stored within an resource object dedicated for that segment type.</p>
+ * For example: the URI http://.../serviceroot/entitySet(1)/Adresse will
+ * have 2 ResourceParts:<br>
+ * - The first one of type {@link UriResourceEntitySet}
+ * containing the name of the entity set and also the key predicate information.<br>
+ * - The second one of type {@link UriResourceComplexProperty} containing the name of
+ * the accessed complex property
+ *
+ * @return List of resource parts.
+ */
List<UriResource> getUriResourceParts();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoService.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoService.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoService.java
index 7cbc333..934509d 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoService.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriInfoService.java
@@ -18,6 +18,10 @@
******************************************************************************/
package org.apache.olingo.odata4.server.api.uri;
+/**
+ * Used for URI info kind {@link UriInfoKind#service} to describe URIs like
+ * http://.../serviceroot
+ */
public interface UriInfoService {
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriParameter.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriParameter.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriParameter.java
index 1d6e0cd..e6c8bdf 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriParameter.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriParameter.java
@@ -20,16 +20,34 @@ package org.apache.olingo.odata4.server.api.uri;
import org.apache.olingo.odata4.server.api.uri.queryoption.expression.Expression;
+/**
+ * Represents an function parameter or key predicate when used in the URI.
+ */
public interface UriParameter {
+ /**
+ * @return Alias name if the parameters values is an alias, otherwise null
+ */
public String getAlias();
+ /**
+ * @return Text of the parameters value
+ */
public String getText();
+ /**
+ * @return If the parameters value is a expression and expression is returned, otherwise null
+ */
public Expression getExression();
+ /**
+ * @return Name of the parameter
+ */
public String getName();
+ /**
+ * @return Name of the referenced property when referential constrains are used
+ */
public String getRefencedProperty();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResource.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResource.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResource.java
index 2693a04..bd05d9c 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResource.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResource.java
@@ -18,8 +18,15 @@
******************************************************************************/
package org.apache.olingo.odata4.server.api.uri;
+/**
+ * Super interface for all objects representing resource parts.
+ * See {@link UriInfoResource} for details.
+ */
public interface UriResource {
+ /**
+ * @return Kind of the resource part
+ */
UriResourceKind getKind();
@Override
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceAction.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceAction.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceAction.java
index 80b8893..a2daf61 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceAction.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceAction.java
@@ -21,8 +21,15 @@ package org.apache.olingo.odata4.server.api.uri;
import org.apache.olingo.odata4.commons.api.edm.EdmAction;
import org.apache.olingo.odata4.commons.api.edm.EdmActionImport;
+/**
+ * Used to describe an action used within an resource path
+ * For example: http://.../serviceroot/action()
+ */
public interface UriResourceAction extends UriResourcePartTyped {
+ /**
+ * @return Action used in the resource path
+ */
EdmAction getAction();
/**
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceComplexProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceComplexProperty.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceComplexProperty.java
index 6f4e837..83d68fc 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceComplexProperty.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceComplexProperty.java
@@ -20,10 +20,22 @@ package org.apache.olingo.odata4.server.api.uri;
import org.apache.olingo.odata4.commons.api.edm.EdmComplexType;
+/**
+ * Used to describe an complex property used within an resource path
+ * E.g. http://.../serviceroot/entityset(1)/complexproperty
+ */
public interface UriResourceComplexProperty extends UriResourceProperty {
+ /**
+ * @return Complex property used in the resource path
+ */
EdmComplexType getComplexType();
+ /**
+ * Behind a complex property may be a type filter
+ * E.g. http://.../serviceroot/entityset(1)/complexproperty/namespace.complextype
+ * @return Type filter if found, otherwise null
+ */
EdmComplexType getComplexTypeFilter();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceCount.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceCount.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceCount.java
index 4a661ae..84722ae 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceCount.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceCount.java
@@ -18,6 +18,10 @@
******************************************************************************/
package org.apache.olingo.odata4.server.api.uri;
+/**
+ * Used to describe an $count used within an resource path
+ * For example: http://.../serviceroot/entityset(1)/$count
+ */
public interface UriResourceCount extends UriResource {
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceEntitySet.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceEntitySet.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceEntitySet.java
index 1cae7f5..b7b9efc 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceEntitySet.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceEntitySet.java
@@ -24,16 +24,35 @@ import org.apache.olingo.odata4.commons.api.edm.EdmEntitySet;
import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
import org.apache.olingo.odata4.commons.api.edm.EdmType;
+/**
+ * Used to describe an entity set used within an resource path
+ * For example: http://.../serviceroot/entityset(1)
+ */
public interface UriResourceEntitySet extends UriResourcePartTyped {
-
+
+ /**
+ * @return Entity set used in the resource path
+ */
EdmEntitySet getEntitySet();
+ /**
+ * @return Type of the entity set
+ */
EdmEntityType getEntityType();
+ /**
+ * @return Key predicates if used, otherwise null
+ */
List<UriParameter> getKeyPredicates();
+ /**
+ * @return Type filter before key predicates if used, otherwise null
+ */
EdmType getTypeFilterOnCollection();
+ /**
+ * @return Type filter behind key predicates if used, otherwise null
+ */
EdmType getTypeFilterOnEntry();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceFunction.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceFunction.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceFunction.java
index 62bda01..de98324 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceFunction.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceFunction.java
@@ -24,8 +24,15 @@ import org.apache.olingo.odata4.commons.api.edm.EdmFunction;
import org.apache.olingo.odata4.commons.api.edm.EdmFunctionImport;
import org.apache.olingo.odata4.commons.api.edm.EdmType;
+/**
+ * Used to describe an function import or bound function used within an resource path
+ * For example: http://.../serviceroot/functionImport(P1=1,P2='A')
+ */
public interface UriResourceFunction extends UriResourcePartTyped {
+ /**
+ * @return Function used in the resource path
+ */
EdmFunction getFunction();
/**
@@ -35,12 +42,25 @@ public interface UriResourceFunction extends UriResourcePartTyped {
*/
EdmFunctionImport getFunctionImport();
+ /**
+ * @return Key predicates if used, otherwise null
+ */
List<UriParameter> getKeyPredicates();
+
+ /**
+ * @return List of function parameters
+ */
List<UriParameter> getParameters();
+ /**
+ * @return Type filter before key predicates if used, otherwise null
+ */
EdmType getTypeFilterOnCollection();
+ /**
+ * @return Type filter behind key predicates if used, otherwise null
+ */
EdmType getTypeFilterOnEntry();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceIt.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceIt.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceIt.java
index 8391d0b..f7b957a 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceIt.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceIt.java
@@ -21,14 +21,18 @@ package org.apache.olingo.odata4.server.api.uri;
import org.apache.olingo.odata4.commons.api.edm.EdmType;
/**
- * Class indicating the $it reference. $it may be used within filter to
- * refer to the last EDM object reference in the resource path. Since $it is
- * optional in some cases ( e.g. first member expressions) the {@link #isExplicitIt()} method can be used to check if
- * $it was explicitly noted in the URI
+ * Class indicating the $it reference. $it may be used within expression to
+ * refer to the last EDM object referenced in the resource path.
*/
public interface UriResourceIt extends UriResourcePartTyped {
+ /**
+ * @return Type filter if $it refers to a collection
+ */
EdmType getTypeFilterOnCollection();
+ /**
+ * @return Type filter if $it refers to a single entry
+ */
EdmType getTypeFilterOnEntry();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceKind.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceKind.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceKind.java
index a0df760..7c087b5 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceKind.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceKind.java
@@ -19,7 +19,98 @@
******************************************************************************/
package org.apache.olingo.odata4.server.api.uri;
+/**
+ * Defining the various resource part types
+ */
public enum UriResourceKind {
- action, complexProperty, count, entitySet, function, it, lambdaAll, lambdaAny,
- lambdaVariable, navigationProperty, ref, root, primitiveProperty, singleton, startingTypeFilter, value,
+
+ /**
+ * Class: {@link UriResourceAction}<br>
+ * URI: http://.../serviceroot/action()
+ */
+ action,
+
+ /**
+ * Class: {@link UriResourceComplexProperty}<br>
+ * URI: http://.../serviceroot/entityset(1)/complexproperty()
+ */
+ complexProperty,
+
+ /**
+ * Class: {@link UriResourceCount}<br>
+ * URI: http://.../serviceroot/entityset/$count
+ */
+ count,
+
+ /**
+ * Class: {@link UriResourceEntitySet}<br>
+ * URI: http://.../serviceroot/entityset
+ */
+ entitySet,
+
+ /**
+ * Class: {@link UriResourceFunction}<br>
+ * URI: http://.../serviceroot/functionimport(P1=1,P2='a')
+ */
+ function,
+
+ /**
+ * Class: {@link UriResourceIt}<br>
+ * URI: http://.../serviceroot/entityset?$filter=$it/property
+ */
+ it,
+
+ /**
+ * Class: {@link UriResourceLambdaAll}<br>
+ * URI: http://.../serviceroot/entityset/all(...)
+ */
+ lambdaAll,
+
+ /**
+ * Class: {@link UriResourceLambdaAny}<br>
+ * URI: http://.../serviceroot/entityset/any(...)
+ */
+ lambdaAny,
+
+ /**
+ * Class: {@link UriResourceLambdaVariable}<br>
+ * URI: http://.../serviceroot/entityset/listofstring/any(d: 'string' eq d)
+ */
+ lambdaVariable,
+
+ /**
+ * Class: {@link UriResourceNavigation}<br>
+ * URI: http://.../serviceroot/entityset(1)/navProperty
+ */
+ navigationProperty,
+
+ /**
+ * Class: {@link UriResourceRef}<br>
+ * URI: http://.../serviceroot/entityset/$ref
+ */
+ ref,
+
+ /**
+ * Class: {@link UriResourceRoot}<br>
+ * URI: http://.../serviceroot/entityset(1)?$filter=property eq $root/singleton/configstring
+ */
+ root,
+
+ /**
+ * Class: {@link UriResourceProperty}<br>
+ * URI: http://.../serviceroot/entityset(1)/property
+ */
+ primitiveProperty,
+
+ /**
+ * Class: {@link UriResourceSingleton}<br>
+ * URI: http://.../serviceroot/singleton
+ */
+ singleton,
+
+ /**
+ * Class: {@link UriResourceValue}<br>
+ * URI: http://.../serviceroot/entityset(1)/property/$value
+ */
+ value,
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAll.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAll.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAll.java
index 12cf0de..77bba11 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAll.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAll.java
@@ -20,10 +20,20 @@ package org.apache.olingo.odata4.server.api.uri;
import org.apache.olingo.odata4.server.api.uri.queryoption.expression.Expression;
+/**
+ * Used to describe an all lambda expression used within an resource path
+ * For example: http://.../serviceroot/entityset/all(...)
+ */
public interface UriResourceLambdaAll extends UriResourcePartTyped {
- public String getLamdaVariable();
+ /**
+ * @return Name of the lambda variable
+ */
+ public String getLambdaVariable();
+ /**
+ * @return Lambda expression
+ */
public Expression getExpression();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAny.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAny.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAny.java
index 3f81b96..a844835 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAny.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaAny.java
@@ -20,10 +20,20 @@ package org.apache.olingo.odata4.server.api.uri;
import org.apache.olingo.odata4.server.api.uri.queryoption.expression.Expression;
+/**
+ * Used to describe an any lambda expression used within an resource path
+ * For example: http://.../serviceroot/entityset/any(...)
+ */
public interface UriResourceLambdaAny extends UriResourcePartTyped {
+ /**
+ * @return Name of the lambda variable
+ */
public String getLamdaVariable();
+ /**
+ * @return Lambda expression
+ */
public Expression getExpression();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaRef.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaRef.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaRef.java
deleted file mode 100644
index 827ada3..0000000
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaRef.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-package org.apache.olingo.odata4.server.api.uri;
-
-public interface UriResourceLambdaRef extends UriResourcePartTyped {
-
- public String getVariableText();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaVariable.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaVariable.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaVariable.java
new file mode 100644
index 0000000..8c1ab93
--- /dev/null
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceLambdaVariable.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ ******************************************************************************/
+package org.apache.olingo.odata4.server.api.uri;
+
+/**
+ * Used to describe an lambda variable used within an resource path
+ * For example: http://.../serviceroot/entityset/listofstring/any(d: 'string' eq d)
+ */
+public interface UriResourceLambdaVariable extends UriResourcePartTyped {
+
+
+ /**
+ * @return Name of the lambda variable
+ */
+ public String getVariableName();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceNavigation.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceNavigation.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceNavigation.java
index ef027fd..8241d8f 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceNavigation.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceNavigation.java
@@ -23,14 +23,29 @@ import java.util.List;
import org.apache.olingo.odata4.commons.api.edm.EdmNavigationProperty;
import org.apache.olingo.odata4.commons.api.edm.EdmType;
+/**
+ * Used to describe an navigation property used within an resource path
+ * For example: http://.../serviceroot/entityset(1)/navProperty
+ */
public interface UriResourceNavigation extends UriResourcePartTyped {
+
+ /**
+ * @return Navigation property
+ */
+ EdmNavigationProperty getProperty();
+ /**
+ * @return Key predicates if used, otherwise null
+ */
List<UriParameter> getKeyPredicates();
- EdmNavigationProperty getProperty();
-
+ /**
+ * @return Type filter before key predicates if used, otherwise null
+ */
EdmType getTypeFilterOnCollection();
+ /**
+ * @return Type filter behind key predicates if used, otherwise null
+ */
EdmType getTypeFilterOnEntry();
-
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePartTyped.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePartTyped.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePartTyped.java
index 3eca597..3edd0bb 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePartTyped.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePartTyped.java
@@ -21,12 +21,24 @@ package org.apache.olingo.odata4.server.api.uri;
import org.apache.olingo.odata4.commons.api.edm.EdmType;
+/**
+ * Used to describe an typed resource part (super interface)
+ */
public interface UriResourcePartTyped extends UriResource {
+ /**
+ * @return Type of the resource part
+ */
EdmType getType();
+ /**
+ * @return True if the resource part is a collection, otherwise false
+ */
boolean isCollection();
+ /**
+ * @return String representation of the type
+ */
String toString(boolean includeFilters);
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePrimitiveProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePrimitiveProperty.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePrimitiveProperty.java
index 896959b..64b0bc4 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePrimitiveProperty.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourcePrimitiveProperty.java
@@ -18,6 +18,10 @@
******************************************************************************/
package org.apache.olingo.odata4.server.api.uri;
+/**
+ * Used to describe an primitive property used within an resource path
+ * For example: http://.../serviceroot/entityset(1)/property
+ */
public interface UriResourcePrimitiveProperty extends UriResourceProperty {
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceProperty.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceProperty.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceProperty.java
index d4a4e82..ea46a54 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceProperty.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceProperty.java
@@ -20,8 +20,14 @@ package org.apache.olingo.odata4.server.api.uri;
import org.apache.olingo.odata4.commons.api.edm.EdmProperty;
+/**
+ * Used to describe an resource part which is an property (super interface)
+ */
public interface UriResourceProperty extends UriResourcePartTyped {
+ /**
+ * @return Property used in the resource path
+ */
EdmProperty getProperty();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRef.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRef.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRef.java
index e8ccb65..4de993d 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRef.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRef.java
@@ -18,6 +18,11 @@
******************************************************************************/
package org.apache.olingo.odata4.server.api.uri;
+
+/**
+ * Used to describe an $ref used within an resource path
+ * For example: http://.../serviceroot/entityset/$ref
+ */
public interface UriResourceRef extends UriResource {
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRoot.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRoot.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRoot.java
index ffe2211..a72d142 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRoot.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceRoot.java
@@ -19,8 +19,9 @@
package org.apache.olingo.odata4.server.api.uri;
/**
- * Class indicating the $root reference. $root may be used within filter to
+ * Class indicating the $root reference. $root may be used within expressions to
* refer to the current OData service
+ * For example: http://.../serviceroot/entityset(1)?$filter=property eq $root/singleton/configstring
*/
public interface UriResourceRoot extends UriResource {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceSingleton.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceSingleton.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceSingleton.java
index c5ee55c..827b6d8 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceSingleton.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceSingleton.java
@@ -21,12 +21,26 @@ package org.apache.olingo.odata4.server.api.uri;
import org.apache.olingo.odata4.commons.api.edm.EdmEntityType;
import org.apache.olingo.odata4.commons.api.edm.EdmSingleton;
+/**
+ * Used to describe an entity set used within an resource path
+ * For example: http://.../serviceroot/singleton
+ */
public interface UriResourceSingleton extends UriResourcePartTyped {
+ /**
+ * @return Singleton used in the resource path
+ */
EdmSingleton getSingleton();
+ /**
+ * @return Type of the Singleton
+ */
EdmEntityType getEntityType();
+
+ /**
+ * @return Type filter
+ */
EdmEntityType getEntityTypeFilter();
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceValue.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceValue.java b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceValue.java
index befcac5..f7e2912 100644
--- a/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceValue.java
+++ b/odata4-lib/odata4-server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/UriResourceValue.java
@@ -18,6 +18,10 @@
******************************************************************************/
package org.apache.olingo.odata4.server.api.uri;
+/**
+ * Used to describe an $value used within an resource path
+ * For example: http://.../serviceroot/entityset(1)/property/$value
+ */
public interface UriResourceValue extends UriResource {
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriInfoImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriInfoImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriInfoImpl.java
index eae850e..92651f4 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriInfoImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriInfoImpl.java
@@ -181,7 +181,7 @@ public class UriInfoImpl implements UriInfo {
}
@Override
- public CountOption getInlineCountOption() {
+ public CountOption getCountOption() {
return inlineCountOption;
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAllImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAllImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAllImpl.java
index 39ca238..4da057c 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAllImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAllImpl.java
@@ -28,7 +28,7 @@ import org.apache.olingo.odata4.server.core.uri.queryoption.expression.Expressio
public class UriResourceLambdaAllImpl extends UriResourceTypedImpl implements UriResourceLambdaAll {
protected EdmProperty property;
- private String lamdaVariable;
+ private String lambdaVariable;
private ExpressionImpl expression;
public UriResourceLambdaAllImpl() {
@@ -46,12 +46,12 @@ public class UriResourceLambdaAllImpl extends UriResourceTypedImpl implements Ur
}
@Override
- public String getLamdaVariable() {
- return lamdaVariable;
+ public String getLambdaVariable() {
+ return lambdaVariable;
}
- public UriResourceLambdaAllImpl setLamdaVariable(final String lamdaVariable) {
- this.lamdaVariable = lamdaVariable;
+ public UriResourceLambdaAllImpl setLamdaVariable(final String lambdaVariable) {
+ this.lambdaVariable = lambdaVariable;
return this;
};
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAnyImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAnyImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAnyImpl.java
index 3a20c81..9cf93b1 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAnyImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaAnyImpl.java
@@ -28,7 +28,7 @@ import org.apache.olingo.odata4.server.core.uri.queryoption.expression.Expressio
public class UriResourceLambdaAnyImpl extends UriResourceTypedImpl implements UriResourceLambdaAny {
protected EdmProperty property;
- private String lamdaVariable;
+ private String lambdaVariable;
private ExpressionImpl expression;
public UriResourceLambdaAnyImpl() {
@@ -47,11 +47,11 @@ public class UriResourceLambdaAnyImpl extends UriResourceTypedImpl implements Ur
@Override
public String getLamdaVariable() {
- return lamdaVariable;
+ return lambdaVariable;
}
- public UriResourceLambdaAnyImpl setLamdaVariable(final String lamdaVariable) {
- this.lamdaVariable = lamdaVariable;
+ public UriResourceLambdaAnyImpl setLamdaVariable(final String lambdaVariable) {
+ this.lambdaVariable = lambdaVariable;
return this;
};
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaVarImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaVarImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaVarImpl.java
index e3154dc..5b7f3b2 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaVarImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceLambdaVarImpl.java
@@ -20,9 +20,9 @@ package org.apache.olingo.odata4.server.core.uri;
import org.apache.olingo.odata4.commons.api.edm.EdmType;
import org.apache.olingo.odata4.server.api.uri.UriResourceKind;
-import org.apache.olingo.odata4.server.api.uri.UriResourceLambdaRef;
+import org.apache.olingo.odata4.server.api.uri.UriResourceLambdaVariable;
-public class UriResourceLambdaVarImpl extends UriResourceTypedImpl implements UriResourceLambdaRef {
+public class UriResourceLambdaVarImpl extends UriResourceTypedImpl implements UriResourceLambdaVariable {
private EdmType type;
private boolean isCollection;
@@ -33,7 +33,7 @@ public class UriResourceLambdaVarImpl extends UriResourceTypedImpl implements Ur
}
@Override
- public String getVariableText() {
+ public String getVariableName() {
return variableText;
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceStartingTypeFilterImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceStartingTypeFilterImpl.java b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceStartingTypeFilterImpl.java
index 2fba96c..6ffe604 100644
--- a/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceStartingTypeFilterImpl.java
+++ b/odata4-lib/odata4-server-core/src/main/java/org/apache/olingo/odata4/server/core/uri/UriResourceStartingTypeFilterImpl.java
@@ -29,7 +29,7 @@ public class UriResourceStartingTypeFilterImpl extends UriResourceWithKeysImpl {
private boolean isCollection;
public UriResourceStartingTypeFilterImpl() {
- super(UriResourceKind.startingTypeFilter);
+ super(null);
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriInfoImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriInfoImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriInfoImplTest.java
index b188355..ba472ab 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriInfoImplTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriInfoImplTest.java
@@ -169,7 +169,7 @@ public class UriInfoImplTest {
assertEquals(filter, uriInfo.getFilterOption());
assertEquals(format, uriInfo.getFormatOption());
assertEquals(id, uriInfo.getIdOption());
- assertEquals(inlinecount, uriInfo.getInlineCountOption());
+ assertEquals(inlinecount, uriInfo.getCountOption());
assertEquals(orderby, uriInfo.getOrderByOption());
assertEquals(search, uriInfo.getSearchOption());
assertEquals(select, uriInfo.getSelectOption());
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriResourceImplTest.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriResourceImplTest.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriResourceImplTest.java
index c55488f..01edd83 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriResourceImplTest.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/UriResourceImplTest.java
@@ -99,7 +99,7 @@ public class UriResourceImplTest {
assertEquals(false, impl.isCollection());
assertEquals(expression, impl.getExpression());
- assertEquals("A", impl.getLamdaVariable());
+ assertEquals("A", impl.getLambdaVariable());
assertEquals(EdmPrimitiveTypeKind.Boolean.getEdmPrimitiveTypeInstance(), impl.getType());
assertEquals("all", impl.toString());
}
@@ -473,7 +473,7 @@ public class UriResourceImplTest {
assertEquals("A", impl.toString());
assertEquals(entityType, impl.getType());
- assertEquals("A", impl.getVariableText());
+ assertEquals("A", impl.getVariableName());
assertEquals(false, impl.isCollection());
impl.setCollection(true);
assertEquals(true, impl.isCollection());
@@ -483,7 +483,6 @@ public class UriResourceImplTest {
@Test
public void testUriResourceStartingTypeFilterImpl() {
UriResourceStartingTypeFilterImpl impl = new UriResourceStartingTypeFilterImpl();
- assertEquals(UriResourceKind.startingTypeFilter, impl.getKind());
EdmEntityType entityType = edm.getEntityType(EdmTechProvider.nameETTwoKeyNav);
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/FilterTreeToText.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/FilterTreeToText.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/FilterTreeToText.java
index cbf0c33..fa5bf65 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/FilterTreeToText.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/FilterTreeToText.java
@@ -96,7 +96,7 @@ public class FilterTreeToText implements ExpressionVisitor<String> {
String tmp = "";
if (item instanceof UriResourceLambdaAll) {
UriResourceLambdaAll all = (UriResourceLambdaAll) item;
- tmp = visitLambdaExpression("ALL", all.getLamdaVariable(), all.getExpression());
+ tmp = visitLambdaExpression("ALL", all.getLambdaVariable(), all.getExpression());
} else if (item instanceof UriResourceLambdaAny) {
UriResourceLambdaAny any = (UriResourceLambdaAny) item;
tmp = visitLambdaExpression("ANY", any.getLamdaVariable(), any.getExpression());
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/6553b588/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/ResourceValidator.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/ResourceValidator.java b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/ResourceValidator.java
index 66b6d1a..90c82ab 100644
--- a/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/ResourceValidator.java
+++ b/odata4-lib/odata4-server-core/src/test/java/org/apache/olingo/odata4/server/core/uri/testutil/ResourceValidator.java
@@ -213,7 +213,7 @@ public class ResourceValidator implements Validator {
public ResourceValidator isLambdaVar(final String var) {
String actualVar = null;
if (uriPathInfo.getKind() == UriResourceKind.lambdaAll) {
- actualVar = ((UriResourceLambdaAllImpl) uriPathInfo).getLamdaVariable();
+ actualVar = ((UriResourceLambdaAllImpl) uriPathInfo).getLambdaVariable();
} else if (uriPathInfo.getKind() == UriResourceKind.lambdaAny) {
actualVar = ((UriResourceLambdaAnyImpl) uriPathInfo).getLamdaVariable();
} else {
@@ -227,8 +227,7 @@ public class ResourceValidator implements Validator {
public ResourceValidator isTypeFilter(final FullQualifiedName expectedType) {
if (uriPathInfo.getKind() != UriResourceKind.complexProperty &&
- uriPathInfo.getKind() != UriResourceKind.singleton &&
- uriPathInfo.getKind() != UriResourceKind.startingTypeFilter) {
+ uriPathInfo.getKind() != UriResourceKind.singleton) {
fail("invalid resource kind: " + uriPathInfo.getKind().toString());
}
@@ -552,7 +551,7 @@ public class ResourceValidator implements Validator {
}
public ResourceValidator isInlineCountText(final String inlineCountText) {
- assertEquals(inlineCountText, uriInfo.getInlineCountOption().getText());
+ assertEquals(inlineCountText, uriInfo.getCountOption().getText());
return this;
}