You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2015/08/10 10:58:42 UTC
olingo-odata4 git commit: [OLINGO-750] Fixes for critical issues from
static code check
Repository: olingo-odata4
Updated Branches:
refs/heads/master 6d64cbd55 -> 1d88d9c98
[OLINGO-750] Fixes for critical issues from static code check
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/1d88d9c9
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/1d88d9c9
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/1d88d9c9
Branch: refs/heads/master
Commit: 1d88d9c9863f8c9be279c9793d852ddd1e594a9c
Parents: 6d64cbd
Author: Michael Bolz <mi...@sap.com>
Authored: Mon Aug 10 10:24:14 2015 +0200
Committer: Michael Bolz <mi...@sap.com>
Committed: Mon Aug 10 10:54:37 2015 +0200
----------------------------------------------------------------------
.../olingo/client/api/ODataBatchConstants.java | 13 ++++----
.../olingo/client/api/ODataClientBuilder.java | 18 ++++++++---
.../invoke/EdmEnabledInvokeRequestFactory.java | 32 ++++++++++----------
.../request/invoke/InvokeRequestFactory.java | 26 ++++++++--------
.../api/domain/ClientCollectionValue.java | 6 ++--
.../api/domain/ClientEntitySetIterator.java | 8 ++---
.../olingo/client/api/domain/ClientItem.java | 2 +-
.../olingo/client/api/domain/ClientLink.java | 14 ++++-----
.../olingo/client/api/domain/ClientValue.java | 4 +--
.../olingo/client/api/uri/FilterArgFactory.java | 2 +-
.../client/core/uri/FilterArgFactoryImpl.java | 2 +-
.../commons/api/ODataPreferenceNames.java | 2 +-
.../server/api/ODataLibraryException.java | 10 +++---
.../api/deserializer/batch/BatchOptions.java | 2 +-
.../server/api/prefer/PreferencesApplied.java | 28 +++++++++++------
.../server/api/processor/DefaultProcessor.java | 4 ++-
.../server/api/processor/ErrorProcessor.java | 2 +-
.../serializer/PrimitiveSerializerOptions.java | 2 +-
.../ReferenceCollectionSerializerOptions.java | 2 +-
.../serializer/ReferenceSerializerOptions.java | 2 +-
.../uri/queryoption/SystemQueryOptionKind.java | 4 +--
21 files changed, 102 insertions(+), 83 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/client-api/src/main/java/org/apache/olingo/client/api/ODataBatchConstants.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/ODataBatchConstants.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/ODataBatchConstants.java
index df0c7fe..a7e5be2 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/ODataBatchConstants.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/ODataBatchConstants.java
@@ -21,31 +21,30 @@ package org.apache.olingo.client.api;
/**
* Constant values related to the OData protocol.
*/
-public class ODataBatchConstants {
+public interface ODataBatchConstants {
/**
* Batch item content type.
*/
- public static final String ITEM_CONTENT_TYPE = "application/http";
+ String ITEM_CONTENT_TYPE = "application/http";
/**
* Boundary key.
*/
- public static final String BOUNDARY = "boundary";
+ String BOUNDARY = "boundary";
/**
* Item content type.
*/
- public static String ITEM_CONTENT_TYPE_LINE = "Content-Type: application/http";
+ String ITEM_CONTENT_TYPE_LINE = "Content-Type: application/http";
/**
* Item transfer encoding.
*/
- public static String ITEM_TRANSFER_ENCODING_LINE = "Content-Transfer-Encoding: binary";
+ String ITEM_TRANSFER_ENCODING_LINE = "Content-Transfer-Encoding: binary";
/**
* Content id header name.
*/
- public static String CHANGESET_CONTENT_ID_NAME = "Content-ID";
-
+ String CHANGESET_CONTENT_ID_NAME = "Content-ID";
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/client-api/src/main/java/org/apache/olingo/client/api/ODataClientBuilder.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/ODataClientBuilder.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/ODataClientBuilder.java
index 9994977..7ad81a4 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/ODataClientBuilder.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/ODataClientBuilder.java
@@ -21,6 +21,7 @@ package org.apache.olingo.client.api;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
+import org.apache.olingo.commons.api.ODataRuntimeException;
import org.apache.olingo.commons.api.edm.Edm;
import org.apache.olingo.commons.api.format.ContentType;
@@ -99,6 +100,9 @@ public final class ODataClientBuilder {
}
}
+ /** Empty private constructor for static helper class */
+ private ODataClientBuilder() {}
+
/**
* Create an new ODataClient based on via system property ODATA_CLIENT_IMPL_SYS_PROPERTY
* class name or if not net the default ODATA_CLIENT_IMPL_CLASS set class.
@@ -161,15 +165,19 @@ public final class ODataClientBuilder {
Constructor<?> ctor = clazz.getConstructor(ctorParameterClasses);
return typeOfClass.cast(ctor.newInstance(ctorParameters));
} catch (ClassNotFoundException e) {
- throw new RuntimeException("Requested class '" + className + "' could not be loaded.", e);
+ throw wrapException(className, e);
} catch (InstantiationException e) {
- throw new RuntimeException("Requested class '" + className + "' could not be loaded.", e);
+ throw wrapException(className, e);
} catch (IllegalAccessException e) {
- throw new RuntimeException("Requested class '" + className + "' could not be loaded.", e);
+ throw wrapException(className, e);
} catch (NoSuchMethodException e) {
- throw new RuntimeException("Requested class '" + className + "' could not be loaded.", e);
+ throw wrapException(className, e);
} catch (InvocationTargetException e) {
- throw new RuntimeException("Requested class '" + className + "' could not be loaded.", e);
+ throw wrapException(className, e);
}
}
+
+ private static ODataRuntimeException wrapException(String className, Exception e) {
+ return new ODataRuntimeException("Requested class '" + className + "' could not be loaded.", e);
+ }
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/EdmEnabledInvokeRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/EdmEnabledInvokeRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/EdmEnabledInvokeRequestFactory.java
index 5293f7d..72ace12 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/EdmEnabledInvokeRequestFactory.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/EdmEnabledInvokeRequestFactory.java
@@ -30,63 +30,63 @@ public interface EdmEnabledInvokeRequestFactory extends InvokeRequestFactory {
/**
* Gets an invoke request instance for the function import with the given name and no parameters.
*
- * @param <RES> OData domain object result, derived from return type defined in the function import
+ * @param <T> OData domain object result, derived from return type defined in the function import
* @param functionImportName operation to be invoked
* @return new {@link ODataInvokeRequest} instance.
*/
- <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getFunctionImportInvokeRequest(
+ <T extends ClientInvokeResult> ODataInvokeRequest<T> getFunctionImportInvokeRequest(
String functionImportName);
/**
* Gets an invoke request instance for the function import with the given name and matching parameter names.
*
- * @param <RES> OData domain object result, derived from return type defined in the function import
+ * @param <T> OData domain object result, derived from return type defined in the function import
* @param functionImportName operation to be invoked
* @param parameters parameters to pass to operation import invocation
* @return new {@link ODataInvokeRequest} instance.
*/
- <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getFunctionImportInvokeRequest(
+ <T extends ClientInvokeResult> ODataInvokeRequest<T> getFunctionImportInvokeRequest(
String functionImportName, Map<String, ClientValue> parameters);
/**
* Gets an invoke request instance for the action import with the given name.
*
- * @param <RES> OData domain object result, derived from return type defined in the action import
+ * @param <T> OData domain object result, derived from return type defined in the action import
* @param actionImportName operation to be invoked
* @return new {@link ODataInvokeRequest} instance.
*/
- <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getActionImportInvokeRequest(
+ <T extends ClientInvokeResult> ODataInvokeRequest<T> getActionImportInvokeRequest(
String actionImportName);
/**
* Gets an invoke request instance for the action import with the given name.
*
- * @param <RES> OData domain object result, derived from return type defined in the action import
+ * @param <T> OData domain object result, derived from return type defined in the action import
* @param actionImportName operation to be invoked
* @param parameters parameters to pass to operation import invocation
* @return new {@link ODataInvokeRequest} instance.
*/
- <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getActionImportInvokeRequest(
+ <T extends ClientInvokeResult> ODataInvokeRequest<T> getActionImportInvokeRequest(
String actionImportName, Map<String, ClientValue> parameters);
/**
* Gets an invoke request instance for the function bound to given URI (no parameters).
*
- * @param <RES> OData domain object result
+ * @param <T> OData domain object result
* @param bindingParameterURI binding parameter URI
* @param functionName operation to be invoked
* @param bindingParameterTypeName binding parameter type full qualified name
* @param isBindingParameterCollection whether binding parameter is collection
* @return new {@link ODataInvokeRequest} instance.
*/
- <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getBoundFunctionInvokeRequest(
+ <T extends ClientInvokeResult> ODataInvokeRequest<T> getBoundFunctionInvokeRequest(
URI bindingParameterURI, FullQualifiedName functionName, FullQualifiedName bindingParameterTypeName,
Boolean isBindingParameterCollection);
/**
* Gets an invoke request instance for the function bound to given URI (with parameters).
*
- * @param <RES> OData domain object result
+ * @param <T> OData domain object result
* @param bindingParameterURI binding parameter URI
* @param functionName operation to be invoked
* @param bindingParameterTypeName binding parameter type full qualified name
@@ -94,28 +94,28 @@ public interface EdmEnabledInvokeRequestFactory extends InvokeRequestFactory {
* @param parameters parameters to pass to function invocation
* @return new {@link ODataInvokeRequest} instance.
*/
- <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getBoundFunctionInvokeRequest(
+ <T extends ClientInvokeResult> ODataInvokeRequest<T> getBoundFunctionInvokeRequest(
URI bindingParameterURI, FullQualifiedName functionName, FullQualifiedName bindingParameterTypeName,
Boolean isBindingParameterCollection, Map<String, ClientValue> parameters);
/**
* Gets an invoke request instance for the action bound to given URI (no parameters).
*
- * @param <RES> OData domain object result
+ * @param <T> OData domain object result
* @param bindingParameterURI binding parameter URI
* @param actionName operation to be invoked
* @param bindingParameterTypeName binding parameter type full qualified name
* @param isBindingParameterCollection whether binding parameter is collection
* @return new {@link ODataInvokeRequest} instance.
*/
- <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getBoundActionInvokeRequest(
+ <T extends ClientInvokeResult> ODataInvokeRequest<T> getBoundActionInvokeRequest(
URI bindingParameterURI, FullQualifiedName actionName, FullQualifiedName bindingParameterTypeName,
Boolean isBindingParameterCollection);
/**
* Gets an invoke request instance for the action bound to given URI (with parameters).
*
- * @param <RES> OData domain object result
+ * @param <T> OData domain object result
* @param bindingParameterURI binding parameter URI
* @param actionName operation to be invoked
* @param bindingParameterTypeName binding parameter type full qualified name
@@ -123,7 +123,7 @@ public interface EdmEnabledInvokeRequestFactory extends InvokeRequestFactory {
* @param parameters parameters to pass to function invocation
* @return new {@link ODataInvokeRequest} instance.
*/
- <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getBoundActionInvokeRequest(
+ <T extends ClientInvokeResult> ODataInvokeRequest<T> getBoundActionInvokeRequest(
URI bindingParameterURI, FullQualifiedName actionName, FullQualifiedName bindingParameterTypeName,
Boolean isBindingParameterCollection, Map<String, ClientValue> parameters);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/InvokeRequestFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/InvokeRequestFactory.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/InvokeRequestFactory.java
index 7a3f301..21388ea 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/InvokeRequestFactory.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/communication/request/invoke/InvokeRequestFactory.java
@@ -36,57 +36,57 @@ public interface InvokeRequestFactory {
* This method is mainly meant for internal usage, but defined for generic calls from proxy; normally, one of other
* methods should be used instead.
*
- * @param <RES> OData domain object result
+ * @param <T> OData domain object result
* @param method HTTP invocation method
* @param uri invocation URI
* @param resultRef reference Class for result
* @param parameters parameters to pass to function invocation
* @return new {@link ODataInvokeRequest} instance.
*/
- <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getInvokeRequest(
- HttpMethod method, URI uri, Class<RES> resultRef, Map<String, ClientValue> parameters);
+ <T extends ClientInvokeResult> ODataInvokeRequest<T> getInvokeRequest(
+ HttpMethod method, URI uri, Class<T> resultRef, Map<String, ClientValue> parameters);
/**
* Gets an invoke request instance for the function bound to given URI (no parameters).
*
- * @param <RES> OData domain object result
+ * @param <T> OData domain object result
* @param uri invocation URI
* @param resultRef reference Class for result
* @return new {@link ODataInvokeRequest} instance.
*/
- <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getFunctionInvokeRequest(URI uri, Class<RES> resultRef);
+ <T extends ClientInvokeResult> ODataInvokeRequest<T> getFunctionInvokeRequest(URI uri, Class<T> resultRef);
/**
* Gets an invoke request instance for the function bound to given URI (with parameters).
*
- * @param <RES> OData domain object result
+ * @param <T> OData domain object result
* @param uri invocation URI
* @param resultRef reference Class for result
* @param parameters parameters to pass to function invocation
* @return new {@link ODataInvokeRequest} instance.
*/
- <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getFunctionInvokeRequest(
- URI uri, Class<RES> resultRef, Map<String, ClientValue> parameters);
+ <T extends ClientInvokeResult> ODataInvokeRequest<T> getFunctionInvokeRequest(
+ URI uri, Class<T> resultRef, Map<String, ClientValue> parameters);
/**
* Gets an invoke request instance for the action bound to given URI (no parameters).
*
- * @param <RES> OData domain object result
+ * @param <T> OData domain object result
* @param uri invocation URI
* @param resultRef reference Class for result
* @return new {@link ODataInvokeRequest} instance.
*/
- <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getActionInvokeRequest(URI uri, Class<RES> resultRef);
+ <T extends ClientInvokeResult> ODataInvokeRequest<T> getActionInvokeRequest(URI uri, Class<T> resultRef);
/**
* Gets an invoke request instance for the action bound to given URI (with parameters).
*
- * @param <RES> OData domain object result
+ * @param <T> OData domain object result
* @param uri invocation URI
* @param resultRef reference Class for result
* @param parameters parameters to pass to action invocation
* @return new {@link ODataInvokeRequest} instance.
*/
- <RES extends ClientInvokeResult> ODataInvokeRequest<RES> getActionInvokeRequest(
- URI uri, Class<RES> resultRef, Map<String, ClientValue> parameters);
+ <T extends ClientInvokeResult> ODataInvokeRequest<T> getActionInvokeRequest(
+ URI uri, Class<T> resultRef, Map<String, ClientValue> parameters);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientCollectionValue.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientCollectionValue.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientCollectionValue.java
index 8a0078e..d5c6c9f 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientCollectionValue.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientCollectionValue.java
@@ -23,16 +23,16 @@ import java.util.Collection;
/**
* OData collection property value.
*
- * @param <OV> The actual ODataValue interface.
+ * @param <T> The actual ODataValue interface.
*/
-public interface ClientCollectionValue<OV extends ClientValue> extends ClientValue, Iterable<OV> {
+public interface ClientCollectionValue<T extends ClientValue> extends ClientValue, Iterable<T> {
/**
* Adds a value to the collection.
*
* @param value value to be added.
*/
- ClientCollectionValue<OV> add(ClientValue value);
+ ClientCollectionValue<T> add(ClientValue value);
/**
* Checks if collection is empty.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientEntitySetIterator.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientEntitySetIterator.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientEntitySetIterator.java
index 376404b..64247c2 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientEntitySetIterator.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientEntitySetIterator.java
@@ -44,9 +44,9 @@ import org.slf4j.LoggerFactory;
* <b>Please don't forget to call the <tt>close()>/</tt> method when not needed any more.</b>
*
* @param <E> concrete ODataEntity implementation
- * @param <ES> concrete ODataEntitySet implementation
+ * @param <T> concrete ODataEntitySet implementation
*/
-public class ClientEntitySetIterator<ES extends ClientEntitySet, E extends ClientEntity>
+public class ClientEntitySetIterator<T extends ClientEntitySet, E extends ClientEntity>
implements Iterator<E> {
/**
@@ -62,7 +62,7 @@ public class ClientEntitySetIterator<ES extends ClientEntitySet, E extends Clien
private final ContentType contentType;
- private ES entitySet;
+ private T entitySet;
private final ByteArrayOutputStream osEntitySet;
@@ -118,7 +118,7 @@ public class ClientEntitySetIterator<ES extends ClientEntitySet, E extends Clien
if (cached == null) {
available = false;
try {
- entitySet = (ES) odataClient.getReader().
+ entitySet = (T) odataClient.getReader().
readEntitySet(new ByteArrayInputStream(osEntitySet.toByteArray()), contentType);
} catch (final ODataDeserializerException e) {
available = false;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientItem.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientItem.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientItem.java
index 32dcdce..a50053a 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientItem.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientItem.java
@@ -45,7 +45,7 @@ public abstract class ClientItem {
/**
* OData item self link.
*/
- protected URI link;
+ private URI link;
/**
* Constructor.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientLink.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientLink.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientLink.java
index d4d6d23..5307165 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientLink.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientLink.java
@@ -31,11 +31,11 @@ public class ClientLink extends ClientItem implements ClientAnnotatable {
public static class Builder {
- protected URI uri;
+ private URI uri;
- protected ClientLinkType type;
+ private ClientLinkType type;
- protected String title;
+ private String title;
public Builder setURI(final URI uri) {
this.uri = uri;
@@ -88,17 +88,17 @@ public class ClientLink extends ClientItem implements ClientAnnotatable {
/**
* Link type.
*/
- protected final ClientLinkType type;
+ private final ClientLinkType type;
/**
* Link rel.
*/
- protected final String rel;
+ private final String rel;
/**
* ETag for media edit links.
*/
- protected String mediaETag;
+ private String mediaETag;
private final List<ClientAnnotation> annotations = new ArrayList<ClientAnnotation>();
@@ -112,8 +112,8 @@ public class ClientLink extends ClientItem implements ClientAnnotatable {
public ClientLink(final URI uri, final ClientLinkType type, final String title) {
super(title);
- link = uri;
this.type = type;
+ setLink(uri);
switch (this.type) {
case ASSOCIATION:
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientValue.java
----------------------------------------------------------------------
diff --git a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientValue.java b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientValue.java
index de778c5..85bce73 100644
--- a/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientValue.java
+++ b/lib/client-api/src/main/java/org/apache/olingo/client/api/domain/ClientValue.java
@@ -55,10 +55,10 @@ public interface ClientValue {
/**
* Casts to collection value.
*
- * @param <OV> The actual ODataValue interface.
+ * @param <T> The actual ODataValue interface.
* @return collection value.
*/
- <OV extends ClientValue> ClientCollectionValue<OV> asCollection();
+ <T extends ClientValue> ClientCollectionValue<T> asCollection();
/**
* Casts to complex value.
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/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 f03a78c..9a768b6 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
@@ -21,7 +21,7 @@ package org.apache.olingo.client.api.uri;
public interface FilterArgFactory {
- FilterArg _null();
+ FilterArg nullValue();
FilterArg add(FilterArg first, FilterArg second);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/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 02e9c63..d6996b2 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
@@ -25,7 +25,7 @@ import org.apache.olingo.client.api.uri.URIFilter;
public class FilterArgFactoryImpl implements FilterArgFactory {
@Override
- public FilterArg _null() {
+ public FilterArg nullValue() {
return new FilterConst("null");
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/commons-api/src/main/java/org/apache/olingo/commons/api/ODataPreferenceNames.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/ODataPreferenceNames.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/ODataPreferenceNames.java
index cdd489b..28d1523 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/ODataPreferenceNames.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/ODataPreferenceNames.java
@@ -35,7 +35,7 @@ public enum ODataPreferenceNames {
private final String preferenceName;
- private ODataPreferenceNames(final String preferenceName) {
+ ODataPreferenceNames(final String preferenceName) {
this.preferenceName = preferenceName;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataLibraryException.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataLibraryException.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataLibraryException.java
index b639702..86125cd 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataLibraryException.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/ODataLibraryException.java
@@ -41,9 +41,9 @@ public abstract class ODataLibraryException extends ODataException {
protected static final String DEFAULT_SERVER_BUNDLE_NAME = "server-core-exceptions-i18n";
/** Key for the exception text in the resource bundle. */
- public static interface MessageKey {
+ public interface MessageKey {
/** Gets this key. */
- public String getKey();
+ String getKey();
}
private MessageKey messageKey;
@@ -137,9 +137,9 @@ public abstract class ODataLibraryException extends ODataException {
}
/** Error message text and {@link Locale} used for it. */
- public class ODataErrorMessage {
- String message;
- Locale locale;
+ public static class ODataErrorMessage {
+ private String message;
+ private Locale locale;
public ODataErrorMessage(final String message, final Locale usedLocale) {
this.message = message;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/server-api/src/main/java/org/apache/olingo/server/api/deserializer/batch/BatchOptions.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/deserializer/batch/BatchOptions.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/deserializer/batch/BatchOptions.java
index 0873e23..98b0f10 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/deserializer/batch/BatchOptions.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/deserializer/batch/BatchOptions.java
@@ -24,7 +24,7 @@ package org.apache.olingo.server.api.deserializer.batch;
* {@link org.apache.olingo.server.api.deserializer.FixedFormatDeserializer
* #parseBatchRequest(java.io.InputStream, String, BatchOptions)}
*/
-public class BatchOptions {
+public final class BatchOptions {
private boolean isStrict = true;
private String rawBaseUri = "";
private String rawServiceResolutionUri = "";
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/server-api/src/main/java/org/apache/olingo/server/api/prefer/PreferencesApplied.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/prefer/PreferencesApplied.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/prefer/PreferencesApplied.java
index 028d3b1..e97f877 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/prefer/PreferencesApplied.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/prefer/PreferencesApplied.java
@@ -19,9 +19,11 @@
package org.apache.olingo.server.api.prefer;
import java.util.Collections;
+import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map;
+import java.util.Set;
import org.apache.olingo.commons.api.ODataPreferenceNames;
import org.apache.olingo.server.api.prefer.Preferences.Return;
@@ -31,8 +33,9 @@ import org.apache.olingo.server.api.prefer.Preferences.Return;
* as described in <a href="https://www.ietf.org/rfc/rfc7240.txt">RFC 7240</a>.
* There are named methods for preferences defined in the OData standard.
*/
-public class PreferencesApplied {
+public final class PreferencesApplied {
+ private static final Set<String> SAFE_PREFERENCE_NAMES = new HashSet<String>();
private Map<String, String> applied;
private PreferencesApplied() {
@@ -57,14 +60,7 @@ public class PreferencesApplied {
final String key = entry.getKey();
result.append(key);
if (entry.getValue() != null) {
- final boolean safe = ODataPreferenceNames.ALLOW_ENTITY_REFERENCES.toString().equals(key)
- || ODataPreferenceNames.CALLBACK.toString().equals(key)
- || ODataPreferenceNames.CONTINUE_ON_ERROR.toString().equals(key)
- || ODataPreferenceNames.MAX_PAGE_SIZE.toString().equals(key)
- || ODataPreferenceNames.TRACK_CHANGES.toString().equals(key)
- || ODataPreferenceNames.RETURN.toString().equals(key)
- || ODataPreferenceNames.RESPOND_ASYNC.toString().equals(key)
- || ODataPreferenceNames.WAIT.toString().equals(key);
+ final boolean safe = isSafe(key);
result.append('=')
.append(safe ? "" : '"')
.append(entry.getValue().replaceAll("\\\\|\"", "\\\\$0"))
@@ -74,6 +70,20 @@ public class PreferencesApplied {
return result.toString();
}
+ private boolean isSafe(String key) {
+ if(SAFE_PREFERENCE_NAMES.isEmpty()) {
+ SAFE_PREFERENCE_NAMES.add(ODataPreferenceNames.ALLOW_ENTITY_REFERENCES.toString());
+ SAFE_PREFERENCE_NAMES.add(ODataPreferenceNames.CALLBACK.toString());
+ SAFE_PREFERENCE_NAMES.add(ODataPreferenceNames.CONTINUE_ON_ERROR.toString());
+ SAFE_PREFERENCE_NAMES.add(ODataPreferenceNames.MAX_PAGE_SIZE.toString());
+ SAFE_PREFERENCE_NAMES.add(ODataPreferenceNames.TRACK_CHANGES.toString());
+ SAFE_PREFERENCE_NAMES.add(ODataPreferenceNames.RETURN.toString());
+ SAFE_PREFERENCE_NAMES.add(ODataPreferenceNames.RESPOND_ASYNC.toString());
+ SAFE_PREFERENCE_NAMES.add(ODataPreferenceNames.WAIT.toString());
+ }
+ return SAFE_PREFERENCE_NAMES.contains(key);
+ }
+
@Override
public String toString() {
return toValueString();
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DefaultProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DefaultProcessor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DefaultProcessor.java
index c8481c5..376315a 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DefaultProcessor.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/DefaultProcessor.java
@@ -19,6 +19,8 @@
package org.apache.olingo.server.api.processor;
import java.io.ByteArrayInputStream;
+import java.nio.charset.Charset;
+import java.util.Locale;
import org.apache.olingo.commons.api.format.ContentType;
import org.apache.olingo.commons.api.http.HttpHeader;
@@ -116,7 +118,7 @@ public class DefaultProcessor implements MetadataProcessor, ServiceDocumentProce
// This should never happen but to be sure we have this catch here to prevent sending a stacktrace to a client.
String responseContent =
"{\"error\":{\"code\":null,\"message\":\"An unexpected exception occurred during error processing\"}}";
- response.setContent(new ByteArrayInputStream(responseContent.getBytes()));
+ response.setContent(new ByteArrayInputStream(responseContent.getBytes(Charset.forName("utf-8"))));
response.setStatusCode(HttpStatusCode.INTERNAL_SERVER_ERROR.getStatusCode());
response.setHeader(HttpHeader.CONTENT_TYPE, ContentType.APPLICATION_JSON.toContentTypeString());
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/ErrorProcessor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/ErrorProcessor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/ErrorProcessor.java
index 00058a6..c58d25d 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/ErrorProcessor.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/processor/ErrorProcessor.java
@@ -36,6 +36,6 @@ public interface ErrorProcessor extends Processor {
* @param serverError the server error
* @param responseFormat requested content type after content negotiation
*/
- public void processError(ODataRequest request, ODataResponse response, ODataServerError serverError,
+ void processError(ODataRequest request, ODataResponse response, ODataServerError serverError,
ContentType responseFormat);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/server-api/src/main/java/org/apache/olingo/server/api/serializer/PrimitiveSerializerOptions.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/serializer/PrimitiveSerializerOptions.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/serializer/PrimitiveSerializerOptions.java
index aa88b66..3a507c6 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/serializer/PrimitiveSerializerOptions.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/serializer/PrimitiveSerializerOptions.java
@@ -22,7 +22,7 @@ import org.apache.olingo.commons.api.data.ContextURL;
import org.apache.olingo.commons.api.edm.EdmProperty;
/** Options for the OData serializer. */
-public class PrimitiveSerializerOptions {
+public final class PrimitiveSerializerOptions {
private ContextURL contextURL;
private Boolean isNullable;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/server-api/src/main/java/org/apache/olingo/server/api/serializer/ReferenceCollectionSerializerOptions.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/serializer/ReferenceCollectionSerializerOptions.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/serializer/ReferenceCollectionSerializerOptions.java
index b889595..2e979e6 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/serializer/ReferenceCollectionSerializerOptions.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/serializer/ReferenceCollectionSerializerOptions.java
@@ -22,7 +22,7 @@ import org.apache.olingo.commons.api.data.ContextURL;
import org.apache.olingo.server.api.uri.queryoption.CountOption;
/** Options for the OData serializer. */
-public class ReferenceCollectionSerializerOptions {
+public final class ReferenceCollectionSerializerOptions {
private ContextURL contextURL;
private CountOption count;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/server-api/src/main/java/org/apache/olingo/server/api/serializer/ReferenceSerializerOptions.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/serializer/ReferenceSerializerOptions.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/serializer/ReferenceSerializerOptions.java
index 0479ca4..189367a 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/serializer/ReferenceSerializerOptions.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/serializer/ReferenceSerializerOptions.java
@@ -20,7 +20,7 @@ package org.apache.olingo.server.api.serializer;
import org.apache.olingo.commons.api.data.ContextURL;
-public class ReferenceSerializerOptions {
+public final class ReferenceSerializerOptions {
private ContextURL contextURL;
/** Gets the {@link ContextURL}. */
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1d88d9c9/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/SystemQueryOptionKind.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/SystemQueryOptionKind.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/SystemQueryOptionKind.java
index 248790e..77dfb84 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/SystemQueryOptionKind.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/SystemQueryOptionKind.java
@@ -84,9 +84,9 @@ public enum SystemQueryOptionKind {
*/
LEVELS("$level");
- String syntax;
+ private String syntax;
- private SystemQueryOptionKind(final String syntax) {
+ SystemQueryOptionKind(final String syntax) {
this.syntax = syntax;
}