You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2015/02/27 16:53:15 UTC
olingo-odata4 git commit: [OLINGO-575] Continue merging
Repository: olingo-odata4
Updated Branches:
refs/heads/master 4833b45c2 -> 55c7d1073
[OLINGO-575] Continue merging
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/55c7d107
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/55c7d107
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/55c7d107
Branch: refs/heads/master
Commit: 55c7d10737541adffcb933c8bc369dd040f475a7
Parents: 4833b45
Author: Christian Amend <ch...@apache.org>
Authored: Fri Feb 27 16:52:48 2015 +0100
Committer: Christian Amend <ch...@apache.org>
Committed: Fri Feb 27 16:52:48 2015 +0100
----------------------------------------------------------------------
.../fit/tecsvc/client/NavigationITCase.java | 10 +-
.../olingo/client/api/CommonODataClient.java | 8 +-
.../retrieve/CommonRetrieveRequestFactory.java | 142 --------------
.../retrieve/RetrieveRequestFactory.java | 107 ++++++++++-
.../client/api/uri/CommonFilterArgFactory.java | 83 ---------
.../client/api/uri/CommonFilterFactory.java | 59 ------
.../olingo/client/api/uri/FilterArgFactory.java | 62 ++++++-
.../olingo/client/api/uri/FilterFactory.java | 35 +++-
.../AbstractRetrieveRequestFactory.java | 79 --------
.../retrieve/RetrieveRequestFactoryImpl.java | 69 +++++--
.../core/uri/AbstractFilterArgFactory.java | 185 -------------------
.../client/core/uri/AbstractFilterFactory.java | 113 -----------
.../client/core/uri/FilterArgFactoryImpl.java | 157 +++++++++++++++-
.../client/core/uri/FilterFactoryImpl.java | 86 ++++++++-
14 files changed, 500 insertions(+), 695 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/55c7d107/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/NavigationITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/NavigationITCase.java b/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/NavigationITCase.java
index e12faa5..4c6b848 100644
--- a/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/NavigationITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/tecsvc/client/NavigationITCase.java
@@ -41,7 +41,7 @@ public final class NavigationITCase extends AbstractBaseTestITCase {
@Test
public void oneLevelToEntity() throws Exception {
final ODataRetrieveResponse<ODataEntity> response =
- client.getRetrieveRequestFactory().<ODataEntity> getEntityRequest(
+ client.getRetrieveRequestFactory().getEntityRequest(
client.newURIBuilder(TecSvcConst.BASE_URI)
.appendEntitySetSegment("ESAllPrim").appendKeySegment(32767)
.appendNavigationSegment("NavPropertyETTwoPrimOne").build())
@@ -59,7 +59,7 @@ public final class NavigationITCase extends AbstractBaseTestITCase {
@Test
public void oneLevelToEntityWithKey() throws Exception {
final ODataRetrieveResponse<ODataEntity> response =
- client.getRetrieveRequestFactory().<ODataEntity> getEntityRequest(
+ client.getRetrieveRequestFactory().getEntityRequest(
client.newURIBuilder(TecSvcConst.BASE_URI)
.appendEntitySetSegment("ESAllPrim").appendKeySegment(32767)
.appendNavigationSegment("NavPropertyETTwoPrimMany").appendKeySegment(-365).build())
@@ -77,7 +77,7 @@ public final class NavigationITCase extends AbstractBaseTestITCase {
@Test
public void twoLevelsToEntityWithKey() throws Exception {
final ODataRetrieveResponse<ODataEntity> response =
- client.getRetrieveRequestFactory().<ODataEntity> getEntityRequest(
+ client.getRetrieveRequestFactory().getEntityRequest(
client.newURIBuilder(TecSvcConst.BASE_URI)
.appendEntitySetSegment("ESTwoPrim").appendKeySegment(32767)
.appendNavigationSegment("NavPropertyETAllPrimOne")
@@ -96,7 +96,7 @@ public final class NavigationITCase extends AbstractBaseTestITCase {
@Test
public void twoLevelsToEntitySet() throws Exception {
final ODataRetrieveResponse<ODataEntitySet> response =
- client.getRetrieveRequestFactory().<ODataEntitySet> getEntitySetRequest(
+ client.getRetrieveRequestFactory().getEntitySetRequest(
client.newURIBuilder(TecSvcConst.BASE_URI)
.appendEntitySetSegment("ESTwoPrim").appendKeySegment(32767)
.appendNavigationSegment("NavPropertyETAllPrimOne")
@@ -118,7 +118,7 @@ public final class NavigationITCase extends AbstractBaseTestITCase {
@Test
public void twoLevelsToProperty() throws Exception {
final ODataRetrieveResponse<ODataProperty> response =
- client.getRetrieveRequestFactory().<ODataProperty> getPropertyRequest(
+ client.getRetrieveRequestFactory().getPropertyRequest(
client.newURIBuilder(TecSvcConst.BASE_URI)
.appendEntitySetSegment("ESKeyNav").appendKeySegment(1)
.appendNavigationSegment("NavPropertyETKeyNavOne")
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/55c7d107/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java
index 3e8843a..05b3f7a 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/CommonODataClient.java
@@ -24,12 +24,12 @@ import org.apache.olingo.client.api.communication.request.batch.CommonBatchReque
import org.apache.olingo.client.api.communication.request.cud.CommonCUDRequestFactory;
import org.apache.olingo.client.api.communication.request.cud.CommonUpdateType;
import org.apache.olingo.client.api.communication.request.invoke.InvokeRequestFactory;
-import org.apache.olingo.client.api.communication.request.retrieve.CommonRetrieveRequestFactory;
+import org.apache.olingo.client.api.communication.request.retrieve.RetrieveRequestFactory;
import org.apache.olingo.client.api.serialization.ClientODataDeserializer;
import org.apache.olingo.client.api.serialization.ODataBinder;
import org.apache.olingo.client.api.serialization.ODataReader;
import org.apache.olingo.client.api.serialization.ODataWriter;
-import org.apache.olingo.client.api.uri.CommonFilterFactory;
+import org.apache.olingo.client.api.uri.FilterFactory;
import org.apache.olingo.client.api.uri.URIBuilder;
import org.apache.olingo.commons.api.domain.ODataObjectFactory;
import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
@@ -53,7 +53,7 @@ public interface CommonODataClient<UT extends CommonUpdateType> {
URIBuilder newURIBuilder(String serviceRoot);
- CommonFilterFactory getFilterFactory();
+ FilterFactory getFilterFactory();
ODataSerializer getSerializer(ODataFormat format);
@@ -67,7 +67,7 @@ public interface CommonODataClient<UT extends CommonUpdateType> {
ODataObjectFactory getObjectFactory();
- CommonRetrieveRequestFactory getRetrieveRequestFactory();
+ RetrieveRequestFactory getRetrieveRequestFactory();
CommonCUDRequestFactory<UT> getCUDRequestFactory();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/55c7d107/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/CommonRetrieveRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/CommonRetrieveRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/CommonRetrieveRequestFactory.java
deleted file mode 100644
index 2f98c3f..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/CommonRetrieveRequestFactory.java
+++ /dev/null
@@ -1,142 +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.client.api.communication.request.retrieve;
-
-import java.net.URI;
-
-import org.apache.olingo.commons.api.domain.ODataEntity;
-import org.apache.olingo.commons.api.domain.ODataEntitySet;
-import org.apache.olingo.commons.api.domain.ODataProperty;
-
-/**
- * OData request factory class.
- */
-public interface CommonRetrieveRequestFactory {
-
- /**
- * Gets a metadata request instance.
- * <br/>
- * Compared to {@link #getMetadataRequest(java.lang.String)}, this method returns a request instance for fetching
- * low-level metadata representation.
- *
- * @param serviceRoot absolute URL (schema, host and port included) representing the location of the root of the data
- * service.
- * @return new {@link XMLMetadataRequest} instance.
- */
- XMLMetadataRequest getXMLMetadataRequest(String serviceRoot);
-
- /**
- * Gets a metadata request instance.
- *
- * @param serviceRoot absolute URL (schema, host and port included) representing the location of the root of the data
- * service.
- * @return new {@link EdmMetadataRequest} instance.
- */
- EdmMetadataRequest getMetadataRequest(String serviceRoot);
-
- /**
- * Gets a service document request instance.
- *
- * @param serviceRoot absolute URL (schema, host and port included) representing the location of the root of the data
- * service.
- * @return new {@link ODataServiceDocumentRequest} instance.
- */
- ODataServiceDocumentRequest getServiceDocumentRequest(String serviceRoot);
-
- /**
- * Gets a uri request returning a set of one or more OData entities.
- *
- * @param <T> concrete ODataEntitySet implementation.
- * @param uri request URI.
- * @return new {@link ODataEntitySetRequest} instance.
- */
- <T extends ODataEntitySet> ODataEntitySetRequest<T> getEntitySetRequest(URI uri);
-
- /**
- * Gets a uri request returning a set of one or more OData entities.
- * <br/>
- * Returned request gives the possibility to consume entities iterating on them without parsing and loading in memory
- * the entire entity set.
- *
- * @param <ES> concreate ODataEntitySet implementation.
- * @param <E> concrete ODataEntity implementation.
- * @param uri request URI.
- * @return new {@link ODataEntitySetIteratorRequest} instance.
- */
- <ES extends ODataEntitySet, E extends ODataEntity>
- ODataEntitySetIteratorRequest<ES, E> getEntitySetIteratorRequest(URI uri);
-
- /**
- * Gets a uri request returning a single OData entity.
- *
- * @param <T> concrete ODataEntity implementation.
- * @param uri request URI.
- * @return new {@link ODataEntityRequest} instance.
- */
- <T extends ODataEntity> ODataEntityRequest<T> getEntityRequest(URI uri);
-
- /**
- * Gets a uri request returning a single OData entity property.
- *
- * @param <T> concrete ODataProperty implementation.
- * @param uri request URI.
- * @return new {@link ODataPropertyRequest} instance.
- */
- <T extends ODataProperty> ODataPropertyRequest<T> getPropertyRequest(URI uri);
-
- /**
- * Gets a uri request returning a single OData entity property value.
- *
- * @param uri request URI.
- * @return new {@link ODataValueRequest} instance.
- */
- ODataValueRequest getPropertyValueRequest(URI uri);
-
- /**
- * Gets a uri request returning a single OData entity property value.
- *
- * @param uri request URI.
- * @return new {@link ODataValueRequest} instance.
- */
- ODataValueRequest getValueRequest(URI uri);
-
- /**
- * Gets a uri request returning a media stream.
- *
- * @param uri request URI.
- * @return new {@link ODataMediaRequest} instance.
- */
- ODataMediaRequest getMediaRequest(URI uri);
-
- /**
- * Gets a uri request returning a media entity.
- *
- * @param uri request URI.
- * @return new {@link ODataMediaRequest} instance.
- */
- ODataMediaRequest getMediaEntityRequest(URI uri);
-
- /**
- * Implements a raw request request without specifying any return type.
- *
- * @param uri request URI.
- * @return new {@link ODataRawRequest} instance.
- */
- ODataRawRequest getRawRequest(URI uri);
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/55c7d107/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.java
index 58cd835..4d0db79 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/retrieve/RetrieveRequestFactory.java
@@ -25,21 +25,114 @@ import org.apache.olingo.commons.api.domain.ODataEntitySet;
import org.apache.olingo.commons.api.domain.ODataProperty;
import org.apache.olingo.commons.api.domain.ODataSingleton;
-public interface RetrieveRequestFactory extends CommonRetrieveRequestFactory {
+public interface RetrieveRequestFactory {
- @Override
+ /**
+ * Gets a metadata request instance.
+ * <br/>
+ * Compared to {@link #getMetadataRequest(java.lang.String)}, this method returns a request instance for fetching
+ * low-level metadata representation.
+ *
+ * @param serviceRoot absolute URL (schema, host and port included) representing the location of the root of the data
+ * service.
+ * @return new {@link XMLMetadataRequest} instance.
+ */
+ XMLMetadataRequest getXMLMetadataRequest(String serviceRoot);
+
+ /**
+ * Gets a metadata request instance.
+ *
+ * @param serviceRoot absolute URL (schema, host and port included) representing the location of the root of the data
+ * service.
+ * @return new {@link EdmMetadataRequest} instance.
+ */
+ EdmMetadataRequest getMetadataRequest(String serviceRoot);
+
+ /**
+ * Gets a service document request instance.
+ *
+ * @param serviceRoot absolute URL (schema, host and port included) representing the location of the root of the data
+ * service.
+ * @return new {@link ODataServiceDocumentRequest} instance.
+ */
+ ODataServiceDocumentRequest getServiceDocumentRequest(String serviceRoot);
+
+ /**
+ * Gets a uri request returning a set of one or more OData entities.
+ *
+ * @param uri request URI.
+ * @return new {@link ODataEntitySetRequest} instance.
+ */
ODataEntitySetRequest<ODataEntitySet> getEntitySetRequest(URI uri);
- @Override
+ /**
+ * Gets a uri request returning a set of one or more OData entities.
+ * <br/>
+ * Returned request gives the possibility to consume entities iterating on them without parsing and loading in memory
+ * the entire entity set.
+ *
+ * @param uri request URI.
+ * @return new {@link ODataEntitySetIteratorRequest} instance.
+ */
ODataEntitySetIteratorRequest<ODataEntitySet, ODataEntity> getEntitySetIteratorRequest(URI uri);
- ODataEntityRequest<ODataSingleton> getSingletonRequest(URI uri);
-
- @Override
+ /**
+ * Gets a uri request returning a single OData entity.
+ *
+ * @param uri request URI.
+ * @return new {@link ODataEntityRequest} instance.
+ */
ODataEntityRequest<ODataEntity> getEntityRequest(URI uri);
- @Override
+ /**
+ * Gets a uri request returning a single OData entity property.
+ *
+ * @param uri request URI.
+ * @return new {@link ODataPropertyRequest} instance.
+ */
ODataPropertyRequest<ODataProperty> getPropertyRequest(URI uri);
+
+ /**
+ * Gets a uri request returning a single OData entity property value.
+ *
+ * @param uri request URI.
+ * @return new {@link ODataValueRequest} instance.
+ */
+ ODataValueRequest getPropertyValueRequest(URI uri);
+
+ /**
+ * Gets a uri request returning a single OData entity property value.
+ *
+ * @param uri request URI.
+ * @return new {@link ODataValueRequest} instance.
+ */
+ ODataValueRequest getValueRequest(URI uri);
+
+ /**
+ * Gets a uri request returning a media stream.
+ *
+ * @param uri request URI.
+ * @return new {@link ODataMediaRequest} instance.
+ */
+ ODataMediaRequest getMediaRequest(URI uri);
+
+ /**
+ * Gets a uri request returning a media entity.
+ *
+ * @param uri request URI.
+ * @return new {@link ODataMediaRequest} instance.
+ */
+ ODataMediaRequest getMediaEntityRequest(URI uri);
+
+ /**
+ * Implements a raw request request without specifying any return type.
+ *
+ * @param uri request URI.
+ * @return new {@link ODataRawRequest} instance.
+ */
+ ODataRawRequest getRawRequest(URI uri);
+
+ ODataEntityRequest<ODataSingleton> getSingletonRequest(URI uri);
ODataDeltaRequest getDeltaRequest(URI uri);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/55c7d107/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/CommonFilterArgFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/CommonFilterArgFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/CommonFilterArgFactory.java
deleted file mode 100644
index dccb051..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/CommonFilterArgFactory.java
+++ /dev/null
@@ -1,83 +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.client.api.uri;
-
-public interface CommonFilterArgFactory {
-
- FilterArg _null();
-
- FilterArg add(FilterArg first, FilterArg second);
-
- FilterArg ceiling(FilterArg param);
-
- FilterArg concat(FilterArg first, FilterArg second);
-
- FilterArg day(FilterArg param);
-
- FilterArg div(FilterArg first, FilterArg second);
-
- FilterArg endswith(FilterArg first, FilterArg second);
-
- FilterArg floor(FilterArg param);
-
- FilterArg hour(FilterArg param);
-
- FilterArg indexof(FilterArg first, FilterArg second);
-
- FilterArg isof(FilterArg type);
-
- FilterArg isof(FilterArg expression, FilterArg type);
-
- FilterArg length(FilterArg param);
-
- FilterArg literal(Object value);
-
- FilterArg minute(FilterArg param);
-
- FilterArg mod(FilterArg first, FilterArg second);
-
- FilterArg month(FilterArg param);
-
- FilterArg mul(FilterArg first, FilterArg second);
-
- FilterArg property(String propertyPath);
-
- FilterArg replace(FilterArg first, FilterArg second, FilterArg third);
-
- FilterArg round(FilterArg param);
-
- FilterArg second(FilterArg param);
-
- FilterArg startswith(FilterArg first, FilterArg second);
-
- FilterArg sub(FilterArg first, FilterArg second);
-
- FilterArg substring(FilterArg arg, FilterArg pos);
-
- FilterArg substring(FilterArg arg, FilterArg pos, FilterArg length);
-
- FilterArg tolower(FilterArg param);
-
- FilterArg toupper(FilterArg param);
-
- FilterArg trim(FilterArg param);
-
- FilterArg year(FilterArg param);
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/55c7d107/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/CommonFilterFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/CommonFilterFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/CommonFilterFactory.java
deleted file mode 100644
index e65200d..0000000
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/CommonFilterFactory.java
+++ /dev/null
@@ -1,59 +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.client.api.uri;
-
-/**
- * OData filter factory.
- */
-public interface CommonFilterFactory {
-
- CommonFilterArgFactory getArgFactory();
-
- URIFilter match(FilterArg arg);
-
- URIFilter eq(String key, Object value);
-
- URIFilter eq(FilterArg left, FilterArg right);
-
- URIFilter ne(String key, Object value);
-
- URIFilter ne(FilterArg left, FilterArg right);
-
- URIFilter gt(String key, Object value);
-
- URIFilter gt(FilterArg left, FilterArg right);
-
- URIFilter ge(String key, Object value);
-
- URIFilter ge(FilterArg left, FilterArg right);
-
- URIFilter lt(String key, Object value);
-
- URIFilter lt(FilterArg left, FilterArg right);
-
- URIFilter le(String key, Object value);
-
- URIFilter le(FilterArg left, FilterArg right);
-
- URIFilter and(URIFilter left, URIFilter right);
-
- URIFilter or(URIFilter left, URIFilter right);
-
- URIFilter not(URIFilter filter);
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/55c7d107/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/FilterArgFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/FilterArgFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/FilterArgFactory.java
index 3f1ac69..f03a78c 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/FilterArgFactory.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/FilterArgFactory.java
@@ -19,8 +19,68 @@
package org.apache.olingo.client.api.uri;
-public interface FilterArgFactory extends CommonFilterArgFactory {
+public interface FilterArgFactory {
+ FilterArg _null();
+
+ FilterArg add(FilterArg first, FilterArg second);
+
+ FilterArg ceiling(FilterArg param);
+
+ FilterArg concat(FilterArg first, FilterArg second);
+
+ FilterArg day(FilterArg param);
+
+ FilterArg div(FilterArg first, FilterArg second);
+
+ FilterArg endswith(FilterArg first, FilterArg second);
+
+ FilterArg floor(FilterArg param);
+
+ FilterArg hour(FilterArg param);
+
+ FilterArg indexof(FilterArg first, FilterArg second);
+
+ FilterArg isof(FilterArg type);
+
+ FilterArg isof(FilterArg expression, FilterArg type);
+
+ FilterArg length(FilterArg param);
+
+ FilterArg literal(Object value);
+
+ FilterArg minute(FilterArg param);
+
+ FilterArg mod(FilterArg first, FilterArg second);
+
+ FilterArg month(FilterArg param);
+
+ FilterArg mul(FilterArg first, FilterArg second);
+
+ FilterArg property(String propertyPath);
+
+ FilterArg replace(FilterArg first, FilterArg second, FilterArg third);
+
+ FilterArg round(FilterArg param);
+
+ FilterArg second(FilterArg param);
+
+ FilterArg startswith(FilterArg first, FilterArg second);
+
+ FilterArg sub(FilterArg first, FilterArg second);
+
+ FilterArg substring(FilterArg arg, FilterArg pos);
+
+ FilterArg substring(FilterArg arg, FilterArg pos, FilterArg length);
+
+ FilterArg tolower(FilterArg param);
+
+ FilterArg toupper(FilterArg param);
+
+ FilterArg trim(FilterArg param);
+
+ FilterArg year(FilterArg param);
+
FilterArg contains(FilterArg first, FilterArg second);
FilterArg fractionalseconds(FilterArg param);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/55c7d107/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/FilterFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/FilterFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/FilterFactory.java
index b5829ed..252577c 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/FilterFactory.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/uri/FilterFactory.java
@@ -20,11 +20,42 @@ package org.apache.olingo.client.api.uri;
import org.apache.olingo.commons.api.edm.EdmEnumType;
-public interface FilterFactory extends CommonFilterFactory {
+public interface FilterFactory {
- @Override
FilterArgFactory getArgFactory();
+ URIFilter match(FilterArg arg);
+
+ URIFilter eq(String key, Object value);
+
+ URIFilter eq(FilterArg left, FilterArg right);
+
+ URIFilter ne(String key, Object value);
+
+ URIFilter ne(FilterArg left, FilterArg right);
+
+ URIFilter gt(String key, Object value);
+
+ URIFilter gt(FilterArg left, FilterArg right);
+
+ URIFilter ge(String key, Object value);
+
+ URIFilter ge(FilterArg left, FilterArg right);
+
+ URIFilter lt(String key, Object value);
+
+ URIFilter lt(FilterArg left, FilterArg right);
+
+ URIFilter le(String key, Object value);
+
+ URIFilter le(FilterArg left, FilterArg right);
+
+ URIFilter and(URIFilter left, URIFilter right);
+
+ URIFilter or(URIFilter left, URIFilter right);
+
+ URIFilter not(URIFilter filter);
+
URIFilter has(String key, EdmEnumType enumType, String memberName);
URIFilter has(FilterArg left, EdmEnumType enumType, String memberName);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/55c7d107/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractRetrieveRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractRetrieveRequestFactory.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractRetrieveRequestFactory.java
deleted file mode 100644
index 02cdfff..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/AbstractRetrieveRequestFactory.java
+++ /dev/null
@@ -1,79 +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.client.core.communication.request.retrieve;
-
-import java.net.URI;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.olingo.client.api.CommonODataClient;
-import org.apache.olingo.client.api.communication.request.retrieve.CommonRetrieveRequestFactory;
-import org.apache.olingo.client.api.communication.request.retrieve.EdmMetadataRequest;
-import org.apache.olingo.client.api.communication.request.retrieve.ODataMediaRequest;
-import org.apache.olingo.client.api.communication.request.retrieve.ODataRawRequest;
-import org.apache.olingo.client.api.communication.request.retrieve.ODataServiceDocumentRequest;
-import org.apache.olingo.client.api.communication.request.retrieve.ODataValueRequest;
-import org.apache.olingo.client.core.uri.URIUtils;
-
-public abstract class AbstractRetrieveRequestFactory implements CommonRetrieveRequestFactory {
-
- protected final CommonODataClient<?> client;
-
- protected AbstractRetrieveRequestFactory(final CommonODataClient<?> client) {
- this.client = client;
- }
-
- @Override
- public ODataValueRequest getValueRequest(final URI uri) {
- return new ODataValueRequestImpl(client, uri);
- }
-
- @Override
- public ODataValueRequest getPropertyValueRequest(final URI uri) {
- return getValueRequest(URIUtils.addValueSegment(uri));
- }
-
- @Override
- public ODataMediaRequest getMediaRequest(final URI uri) {
- return new ODataMediaRequestImpl(client, uri);
- }
-
- @Override
- public ODataMediaRequest getMediaEntityRequest(final URI uri) {
- return getMediaRequest(URIUtils.addValueSegment(uri));
- }
-
- @Override
- public ODataRawRequest getRawRequest(final URI uri) {
- return new ODataRawRequestImpl(client, uri);
- }
-
- @Override
- public EdmMetadataRequest getMetadataRequest(final String serviceRoot) {
- return new EdmMetadataRequestImpl(client, serviceRoot,
- client.newURIBuilder(serviceRoot).appendMetadataSegment().build());
- }
-
- @Override
- public ODataServiceDocumentRequest getServiceDocumentRequest(final String serviceRoot) {
- return new ODataServiceDocumentRequestImpl(client,
- StringUtils.isNotBlank(serviceRoot) && serviceRoot.endsWith("/")
- ? client.newURIBuilder(serviceRoot).build()
- : client.newURIBuilder(serviceRoot + "/").build());
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/55c7d107/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/RetrieveRequestFactoryImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/RetrieveRequestFactoryImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/RetrieveRequestFactoryImpl.java
index 7f5eb09..6b179ae 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/RetrieveRequestFactoryImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/communication/request/retrieve/RetrieveRequestFactoryImpl.java
@@ -1,18 +1,18 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * 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
- *
+ * 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
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
@@ -20,30 +20,77 @@ package org.apache.olingo.client.core.communication.request.retrieve;
import java.net.URI;
+import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.client.api.ODataClient;
+import org.apache.olingo.client.api.communication.request.retrieve.EdmMetadataRequest;
import org.apache.olingo.client.api.communication.request.retrieve.ODataDeltaRequest;
import org.apache.olingo.client.api.communication.request.retrieve.ODataEntityRequest;
import org.apache.olingo.client.api.communication.request.retrieve.ODataEntitySetIteratorRequest;
import org.apache.olingo.client.api.communication.request.retrieve.ODataEntitySetRequest;
+import org.apache.olingo.client.api.communication.request.retrieve.ODataMediaRequest;
import org.apache.olingo.client.api.communication.request.retrieve.ODataPropertyRequest;
+import org.apache.olingo.client.api.communication.request.retrieve.ODataRawRequest;
+import org.apache.olingo.client.api.communication.request.retrieve.ODataServiceDocumentRequest;
+import org.apache.olingo.client.api.communication.request.retrieve.ODataValueRequest;
import org.apache.olingo.client.api.communication.request.retrieve.RetrieveRequestFactory;
import org.apache.olingo.client.api.communication.request.retrieve.XMLMetadataRequest;
+import org.apache.olingo.client.core.uri.URIUtils;
import org.apache.olingo.commons.api.domain.ODataEntity;
import org.apache.olingo.commons.api.domain.ODataEntitySet;
import org.apache.olingo.commons.api.domain.ODataProperty;
import org.apache.olingo.commons.api.domain.ODataSingleton;
-public class RetrieveRequestFactoryImpl extends AbstractRetrieveRequestFactory
- implements RetrieveRequestFactory {
+public class RetrieveRequestFactoryImpl implements RetrieveRequestFactory {
+ protected final ODataClient client;
+
public RetrieveRequestFactoryImpl(final ODataClient client) {
- super(client);
+ this.client = client;
+ }
+
+ @Override
+ public ODataValueRequest getValueRequest(final URI uri) {
+ return new ODataValueRequestImpl(client, uri);
+ }
+
+ @Override
+ public ODataValueRequest getPropertyValueRequest(final URI uri) {
+ return getValueRequest(URIUtils.addValueSegment(uri));
+ }
+
+ @Override
+ public ODataMediaRequest getMediaRequest(final URI uri) {
+ return new ODataMediaRequestImpl(client, uri);
+ }
+
+ @Override
+ public ODataMediaRequest getMediaEntityRequest(final URI uri) {
+ return getMediaRequest(URIUtils.addValueSegment(uri));
+ }
+
+ @Override
+ public ODataRawRequest getRawRequest(final URI uri) {
+ return new ODataRawRequestImpl(client, uri);
+ }
+
+ @Override
+ public EdmMetadataRequest getMetadataRequest(final String serviceRoot) {
+ return new EdmMetadataRequestImpl(client, serviceRoot,
+ client.newURIBuilder(serviceRoot).appendMetadataSegment().build());
+ }
+
+ @Override
+ public ODataServiceDocumentRequest getServiceDocumentRequest(final String serviceRoot) {
+ return new ODataServiceDocumentRequestImpl(client,
+ StringUtils.isNotBlank(serviceRoot) && serviceRoot.endsWith("/")
+ ? client.newURIBuilder(serviceRoot).build()
+ : client.newURIBuilder(serviceRoot + "/").build());
}
@Override
public XMLMetadataRequest getXMLMetadataRequest(final String serviceRoot) {
return new XMLMetadataRequestImpl(((ODataClient) client),
- client.newURIBuilder(serviceRoot).appendMetadataSegment().build());
+ client.newURIBuilder(serviceRoot).appendMetadataSegment().build());
}
@Override
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/55c7d107/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/AbstractFilterArgFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/AbstractFilterArgFactory.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/AbstractFilterArgFactory.java
deleted file mode 100644
index 182404c..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/AbstractFilterArgFactory.java
+++ /dev/null
@@ -1,185 +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.client.core.uri;
-
-import org.apache.olingo.client.api.uri.CommonFilterArgFactory;
-import org.apache.olingo.client.api.uri.FilterArg;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-
-/**
- * OData filter arguments factory.
- */
-public abstract class AbstractFilterArgFactory implements CommonFilterArgFactory {
-
- private final ODataServiceVersion version;
-
- public AbstractFilterArgFactory(final ODataServiceVersion version) {
- this.version = version;
- }
-
- @Override
- public FilterArg _null() {
- return new FilterConst("null");
- }
-
- @Override
- public FilterArg property(final String propertyPath) {
- return new FilterProperty(propertyPath);
- }
-
- @Override
- public FilterArg literal(final Object value) {
- return new FilterLiteral(version, value);
- }
-
- @Override
- public FilterArg add(final FilterArg first, final FilterArg second) {
- return new FilterOp("add", first, second);
- }
-
- @Override
- public FilterArg sub(final FilterArg first, final FilterArg second) {
- return new FilterOp("add", first, second);
- }
-
- @Override
- public FilterArg mul(final FilterArg first, final FilterArg second) {
- return new FilterOp("mul", first, second);
- }
-
- @Override
- public FilterArg div(final FilterArg first, final FilterArg second) {
- return new FilterOp("div", first, second);
- }
-
- @Override
- public FilterArg mod(final FilterArg first, final FilterArg second) {
- return new FilterOp("mod", first, second);
- }
-
- @Override
- public FilterArg endswith(final FilterArg first, final FilterArg second) {
- return new FilterFunction("endswith", first, second);
- }
-
- @Override
- public FilterArg startswith(final FilterArg first, final FilterArg second) {
- return new FilterFunction("startswith", first, second);
- }
-
- @Override
- public FilterArg length(final FilterArg param) {
- return new FilterFunction("length", param);
- }
-
- @Override
- public FilterArg indexof(final FilterArg first, final FilterArg second) {
- return new FilterFunction("indexof", first, second);
- }
-
- @Override
- public FilterArg replace(final FilterArg first, final FilterArg second, final FilterArg third) {
- return new FilterFunction("replace", first, second, third);
- }
-
- @Override
- public FilterArg substring(final FilterArg arg, final FilterArg pos) {
- return new FilterFunction("substring", arg, pos);
- }
-
- @Override
- public FilterArg substring(final FilterArg arg, final FilterArg pos, final FilterArg length) {
- return new FilterFunction("substring", arg, pos, length);
- }
-
- @Override
- public FilterArg tolower(final FilterArg param) {
- return new FilterFunction("tolower", param);
- }
-
- @Override
- public FilterArg toupper(final FilterArg param) {
- return new FilterFunction("toupper", param);
- }
-
- @Override
- public FilterArg trim(final FilterArg param) {
- return new FilterFunction("trim", param);
- }
-
- @Override
- public FilterArg concat(final FilterArg first, final FilterArg second) {
- return new FilterFunction("concat", first, second);
- }
-
- @Override
- public FilterArg day(final FilterArg param) {
- return new FilterFunction("day", param);
- }
-
- @Override
- public FilterArg hour(final FilterArg param) {
- return new FilterFunction("hour", param);
- }
-
- @Override
- public FilterArg minute(final FilterArg param) {
- return new FilterFunction("minute", param);
- }
-
- @Override
- public FilterArg month(final FilterArg param) {
- return new FilterFunction("month", param);
- }
-
- @Override
- public FilterArg second(final FilterArg param) {
- return new FilterFunction("second", param);
- }
-
- @Override
- public FilterArg year(final FilterArg param) {
- return new FilterFunction("year", param);
- }
-
- @Override
- public FilterArg round(final FilterArg param) {
- return new FilterFunction("round", param);
- }
-
- @Override
- public FilterArg floor(final FilterArg param) {
- return new FilterFunction("floor", param);
- }
-
- @Override
- public FilterArg ceiling(final FilterArg param) {
- return new FilterFunction("ceiling", param);
- }
-
- @Override
- public FilterArg isof(final FilterArg type) {
- return new FilterFunction("isof", type);
- }
-
- @Override
- public FilterArg isof(final FilterArg expression, final FilterArg type) {
- return new FilterFunction("isof", expression, type);
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/55c7d107/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/AbstractFilterFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/AbstractFilterFactory.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/AbstractFilterFactory.java
deleted file mode 100644
index ff14d08..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/AbstractFilterFactory.java
+++ /dev/null
@@ -1,113 +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.client.core.uri;
-
-import org.apache.olingo.client.api.uri.CommonFilterFactory;
-import org.apache.olingo.client.api.uri.FilterArg;
-import org.apache.olingo.client.api.uri.URIFilter;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-
-public abstract class AbstractFilterFactory implements CommonFilterFactory {
-
- protected final ODataServiceVersion version;
-
- public AbstractFilterFactory(final ODataServiceVersion version) {
- this.version = version;
- }
-
- @Override
- public URIFilter match(final FilterArg arg) {
- return new MatchFilter(arg);
- }
-
- @Override
- public URIFilter eq(final String key, final Object value) {
- return new EqFilter(getArgFactory().property(key), getArgFactory().literal(value));
- }
-
- @Override
- public URIFilter eq(final FilterArg left, final FilterArg right) {
- return new EqFilter(left, right);
- }
-
- @Override
- public URIFilter ne(final String key, final Object value) {
- return new NeFilter(getArgFactory().property(key), getArgFactory().literal(value));
- }
-
- @Override
- public URIFilter ne(final FilterArg left, final FilterArg right) {
- return new NeFilter(left, right);
- }
-
- @Override
- public URIFilter gt(final String key, final Object value) {
- return new GtFilter(getArgFactory().property(key), getArgFactory().literal(value));
- }
-
- @Override
- public URIFilter gt(final FilterArg left, final FilterArg right) {
- return new GtFilter(left, right);
- }
-
- @Override
- public URIFilter ge(final String key, final Object value) {
- return new GeFilter(getArgFactory().property(key), getArgFactory().literal(value));
- }
-
- @Override
- public URIFilter ge(final FilterArg left, final FilterArg right) {
- return new GeFilter(left, right);
- }
-
- @Override
- public URIFilter lt(final String key, final Object value) {
- return new LtFilter(getArgFactory().property(key), getArgFactory().literal(value));
- }
-
- @Override
- public URIFilter lt(final FilterArg left, final FilterArg right) {
- return new LtFilter(left, right);
- }
-
- @Override
- public URIFilter le(final String key, final Object value) {
- return new LeFilter(getArgFactory().property(key), getArgFactory().literal(value));
- }
-
- @Override
- public URIFilter le(final FilterArg left, final FilterArg right) {
- return new LeFilter(left, right);
- }
-
- @Override
- public URIFilter and(final URIFilter left, final URIFilter right) {
- return new AndFilter(left, right);
- }
-
- @Override
- public URIFilter or(final URIFilter left, final URIFilter right) {
- return new OrFilter(left, right);
- }
-
- @Override
- public URIFilter not(final URIFilter filter) {
- return new NotFilter(filter);
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/55c7d107/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/FilterArgFactoryImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/FilterArgFactoryImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/FilterArgFactoryImpl.java
index be828b3..9eca1ba 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/FilterArgFactoryImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/FilterArgFactoryImpl.java
@@ -23,13 +23,166 @@ import org.apache.olingo.client.api.uri.FilterArgFactory;
import org.apache.olingo.client.api.uri.URIFilter;
import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-public class FilterArgFactoryImpl extends AbstractFilterArgFactory implements FilterArgFactory {
+public class FilterArgFactoryImpl implements FilterArgFactory {
+
+ private final ODataServiceVersion version;
public FilterArgFactoryImpl(final ODataServiceVersion version) {
- super(version);
+ this.version = version;
+ }
+
+
+ @Override
+ public FilterArg _null() {
+ return new FilterConst("null");
+ }
+
+ @Override
+ public FilterArg property(final String propertyPath) {
+ return new FilterProperty(propertyPath);
+ }
+
+ @Override
+ public FilterArg literal(final Object value) {
+ return new FilterLiteral(version, value);
+ }
+
+ @Override
+ public FilterArg add(final FilterArg first, final FilterArg second) {
+ return new FilterOp("add", first, second);
+ }
+
+ @Override
+ public FilterArg sub(final FilterArg first, final FilterArg second) {
+ return new FilterOp("add", first, second);
+ }
+
+ @Override
+ public FilterArg mul(final FilterArg first, final FilterArg second) {
+ return new FilterOp("mul", first, second);
+ }
+
+ @Override
+ public FilterArg div(final FilterArg first, final FilterArg second) {
+ return new FilterOp("div", first, second);
}
@Override
+ public FilterArg mod(final FilterArg first, final FilterArg second) {
+ return new FilterOp("mod", first, second);
+ }
+
+ @Override
+ public FilterArg endswith(final FilterArg first, final FilterArg second) {
+ return new FilterFunction("endswith", first, second);
+ }
+
+ @Override
+ public FilterArg startswith(final FilterArg first, final FilterArg second) {
+ return new FilterFunction("startswith", first, second);
+ }
+
+ @Override
+ public FilterArg length(final FilterArg param) {
+ return new FilterFunction("length", param);
+ }
+
+ @Override
+ public FilterArg indexof(final FilterArg first, final FilterArg second) {
+ return new FilterFunction("indexof", first, second);
+ }
+
+ @Override
+ public FilterArg replace(final FilterArg first, final FilterArg second, final FilterArg third) {
+ return new FilterFunction("replace", first, second, third);
+ }
+
+ @Override
+ public FilterArg substring(final FilterArg arg, final FilterArg pos) {
+ return new FilterFunction("substring", arg, pos);
+ }
+
+ @Override
+ public FilterArg substring(final FilterArg arg, final FilterArg pos, final FilterArg length) {
+ return new FilterFunction("substring", arg, pos, length);
+ }
+
+ @Override
+ public FilterArg tolower(final FilterArg param) {
+ return new FilterFunction("tolower", param);
+ }
+
+ @Override
+ public FilterArg toupper(final FilterArg param) {
+ return new FilterFunction("toupper", param);
+ }
+
+ @Override
+ public FilterArg trim(final FilterArg param) {
+ return new FilterFunction("trim", param);
+ }
+
+ @Override
+ public FilterArg concat(final FilterArg first, final FilterArg second) {
+ return new FilterFunction("concat", first, second);
+ }
+
+ @Override
+ public FilterArg day(final FilterArg param) {
+ return new FilterFunction("day", param);
+ }
+
+ @Override
+ public FilterArg hour(final FilterArg param) {
+ return new FilterFunction("hour", param);
+ }
+
+ @Override
+ public FilterArg minute(final FilterArg param) {
+ return new FilterFunction("minute", param);
+ }
+
+ @Override
+ public FilterArg month(final FilterArg param) {
+ return new FilterFunction("month", param);
+ }
+
+ @Override
+ public FilterArg second(final FilterArg param) {
+ return new FilterFunction("second", param);
+ }
+
+ @Override
+ public FilterArg year(final FilterArg param) {
+ return new FilterFunction("year", param);
+ }
+
+ @Override
+ public FilterArg round(final FilterArg param) {
+ return new FilterFunction("round", param);
+ }
+
+ @Override
+ public FilterArg floor(final FilterArg param) {
+ return new FilterFunction("floor", param);
+ }
+
+ @Override
+ public FilterArg ceiling(final FilterArg param) {
+ return new FilterFunction("ceiling", param);
+ }
+
+ @Override
+ public FilterArg isof(final FilterArg type) {
+ return new FilterFunction("isof", type);
+ }
+
+ @Override
+ public FilterArg isof(final FilterArg expression, final FilterArg type) {
+ return new FilterFunction("isof", expression, type);
+ }
+
+ @Override
public FilterArg contains(final FilterArg first, final FilterArg second) {
return new FilterFunction("contains", first, second);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/55c7d107/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/FilterFactoryImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/FilterFactoryImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/FilterFactoryImpl.java
index 5e9d24d..8ba09b8 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/FilterFactoryImpl.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/uri/FilterFactoryImpl.java
@@ -25,13 +25,95 @@ import org.apache.olingo.client.api.uri.URIFilter;
import org.apache.olingo.commons.api.edm.EdmEnumType;
import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-public class FilterFactoryImpl extends AbstractFilterFactory implements FilterFactory {
+public class FilterFactoryImpl implements FilterFactory {
+ private final ODataServiceVersion version;
+
public FilterFactoryImpl(ODataServiceVersion version) {
- super(version);
+ this.version = version;
}
@Override
+ public URIFilter match(final FilterArg arg) {
+ return new MatchFilter(arg);
+ }
+
+ @Override
+ public URIFilter eq(final String key, final Object value) {
+ return new EqFilter(getArgFactory().property(key), getArgFactory().literal(value));
+ }
+
+ @Override
+ public URIFilter eq(final FilterArg left, final FilterArg right) {
+ return new EqFilter(left, right);
+ }
+
+ @Override
+ public URIFilter ne(final String key, final Object value) {
+ return new NeFilter(getArgFactory().property(key), getArgFactory().literal(value));
+ }
+
+ @Override
+ public URIFilter ne(final FilterArg left, final FilterArg right) {
+ return new NeFilter(left, right);
+ }
+
+ @Override
+ public URIFilter gt(final String key, final Object value) {
+ return new GtFilter(getArgFactory().property(key), getArgFactory().literal(value));
+ }
+
+ @Override
+ public URIFilter gt(final FilterArg left, final FilterArg right) {
+ return new GtFilter(left, right);
+ }
+
+ @Override
+ public URIFilter ge(final String key, final Object value) {
+ return new GeFilter(getArgFactory().property(key), getArgFactory().literal(value));
+ }
+
+ @Override
+ public URIFilter ge(final FilterArg left, final FilterArg right) {
+ return new GeFilter(left, right);
+ }
+
+ @Override
+ public URIFilter lt(final String key, final Object value) {
+ return new LtFilter(getArgFactory().property(key), getArgFactory().literal(value));
+ }
+
+ @Override
+ public URIFilter lt(final FilterArg left, final FilterArg right) {
+ return new LtFilter(left, right);
+ }
+
+ @Override
+ public URIFilter le(final String key, final Object value) {
+ return new LeFilter(getArgFactory().property(key), getArgFactory().literal(value));
+ }
+
+ @Override
+ public URIFilter le(final FilterArg left, final FilterArg right) {
+ return new LeFilter(left, right);
+ }
+
+ @Override
+ public URIFilter and(final URIFilter left, final URIFilter right) {
+ return new AndFilter(left, right);
+ }
+
+ @Override
+ public URIFilter or(final URIFilter left, final URIFilter right) {
+ return new OrFilter(left, right);
+ }
+
+ @Override
+ public URIFilter not(final URIFilter filter) {
+ return new NotFilter(filter);
+ }
+
+ @Override
public FilterArgFactory getArgFactory() {
return new FilterArgFactoryImpl(version);
}