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/04/30 17:02:57 UTC
[44/50] [abbrv] olingo-odata4 git commit: [OLINGO-564] first step for
common -> client extraction
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataError.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataError.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataError.java
new file mode 100644
index 0000000..a910f08
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataError.java
@@ -0,0 +1,132 @@
+/*
+ * 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.commons.api.domain;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * OData error.
+ */
+public class ODataError {
+
+ private String code;
+ private String message;
+ private String target;
+ private List<ODataErrorDetail> details;
+ private Map<String, String> innerError;
+
+ /**
+ * The value for the code name/value pair is a language-independent string. Its value is a service-defined error code.
+ * This code serves as a sub-status for the HTTP error code specified in the response. MAY be null.
+ * @return the error code as a string
+ */
+ public String getCode() {
+ return code;
+ }
+
+ /**
+ * The value for the code name/value pair is a language-independent string. Its value is a service-defined error code.
+ * This code serves as a sub-status for the HTTP error code specified in the response. MAY be null.
+ * @param code
+ * @return this for method chaining
+ */
+ public ODataError setCode(String code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * The value for the message name/value pair MUST be a human-readable, language-dependent representation of the error.
+ * MUST not be null
+ * @return the message string
+ */
+ public String getMessage() {
+ return message;
+ }
+
+ /**
+ * The value for the message name/value pair MUST be a human-readable, language-dependent representation of the error.
+ * MUST not be null
+ * @param message
+ * @return this for method chaining
+ */
+ public ODataError setMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * The value for the target name/value pair is the target of the particular error (for example, the name of the
+ * property in error). MAY be null.
+ * @return the target string
+ */
+ public String getTarget() {
+ return target;
+ }
+
+ /**
+ * The value for the target name/value pair is the target of the particular error (for example, the name of the
+ * property in error). MAY be null.
+ * @param target
+ * @return this for method chaining
+ */
+ public ODataError setTarget(String target) {
+ this.target = target;
+ return this;
+ }
+
+ /**
+ * Gets error details.
+ *
+ * @return ODataErrorDetail list.
+ */
+ public List<ODataErrorDetail> getDetails() {
+ return details;
+ }
+
+ /**
+ * Sets error details.
+ *
+ * @return this for method chaining.
+ */
+ public ODataError setDetails(List<ODataErrorDetail> details) {
+ this.details = details;
+ return this;
+ }
+
+ /**
+ * Gets server defined key-value pairs for debug environment only.
+ *
+ * @return a pair representing server defined object. MAY be null.
+ */
+ public Map<String, String> getInnerError() {
+ return innerError;
+ }
+
+ /**
+ * Sets server defined key-value pairs for debug environment only.
+ *
+ * @return this for method chaining.
+ */
+ public ODataError setInnerError(Map<String, String> innerError) {
+ this.innerError = innerError;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataErrorDetail.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataErrorDetail.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataErrorDetail.java
new file mode 100644
index 0000000..573525d
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataErrorDetail.java
@@ -0,0 +1,73 @@
+/*
+ * 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.commons.api.domain;
+
+/**
+ * OData details, for example <tt>{ "error": {..., "details":[
+ * {"code": "301","target": "$search" ,"message": "$search query option not supported"}
+ * ],...}}</tt>.
+ */
+public class ODataErrorDetail {
+
+ private String code;
+ private String message;
+ private String target;
+
+ /**
+ * Gets error code.
+ *
+ * @return error code.
+ */
+ public String getCode() {
+ return code;
+ }
+
+ public ODataErrorDetail setCode(final String code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Gets error message.
+ *
+ * @return error message.
+ */
+ public String getMessage() {
+ return message;
+ }
+
+ public ODataErrorDetail setMessage(final String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Gets error target.
+ *
+ * @return error message.
+ */
+ public String getTarget() {
+ return target;
+ }
+
+ public ODataErrorDetail setTarget(final String target) {
+ this.target = target;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPropertyType.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPropertyType.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPropertyType.java
new file mode 100644
index 0000000..e7b5b85
--- /dev/null
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/domain/ODataPropertyType.java
@@ -0,0 +1,44 @@
+/*
+ * 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.commons.api.domain;
+
+public enum ODataPropertyType {
+
+ /**
+ * Primitive (including geospatial).
+ */
+ PRIMITIVE,
+ /**
+ * Enum.
+ */
+ ENUM,
+ /**
+ * Collection.
+ */
+ COLLECTION,
+ /**
+ * Complex.
+ */
+ COMPLEX,
+ /**
+ * Empty type (possibly, no type information could be retrieved).
+ */
+ EMPTY
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/annotation/EdmConstantAnnotationExpression.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/annotation/EdmConstantAnnotationExpression.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/annotation/EdmConstantAnnotationExpression.java
index cc47fe6..0f0a34f 100644
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/annotation/EdmConstantAnnotationExpression.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/edm/annotation/EdmConstantAnnotationExpression.java
@@ -18,10 +18,10 @@
*/
package org.apache.olingo.commons.api.edm.annotation;
-import org.apache.olingo.commons.api.domain.ClientValue;
+import org.apache.olingo.commons.api.data.Valuable;
public interface EdmConstantAnnotationExpression extends EdmAnnotationExpression {
- ClientValue getValue();
+ Valuable getValue();
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-api/src/main/java/org/apache/olingo/commons/api/serialization/ODataDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/serialization/ODataDeserializer.java b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/serialization/ODataDeserializer.java
index 38ad911..8e313b1 100755
--- a/lib/commons-api/src/main/java/org/apache/olingo/commons/api/serialization/ODataDeserializer.java
+++ b/lib/commons-api/src/main/java/org/apache/olingo/commons/api/serialization/ODataDeserializer.java
@@ -22,7 +22,7 @@ import org.apache.olingo.commons.api.data.Entity;
import org.apache.olingo.commons.api.data.EntityCollection;
import org.apache.olingo.commons.api.data.Property;
import org.apache.olingo.commons.api.data.ResWrap;
-import org.apache.olingo.commons.api.domain.ClientError;
+import org.apache.olingo.commons.api.domain.ODataError;
import java.io.InputStream;
@@ -61,5 +61,5 @@ public interface ODataDeserializer {
* @param input stream to be parsed and de-serialized.
* @return parsed ODataError object represented by the given InputStream
*/
- ClientError toError(InputStream input) throws ODataDeserializerException;
+ ODataError toError(InputStream input) throws ODataDeserializerException;
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/AbstractClientEntitySet.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/AbstractClientEntitySet.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/AbstractClientEntitySet.java
deleted file mode 100644
index d11b799..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/AbstractClientEntitySet.java
+++ /dev/null
@@ -1,71 +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.commons.core.domain;
-
-import org.apache.olingo.commons.api.domain.AbstractClientPayload;
-import org.apache.olingo.commons.api.domain.ClientEntitySet;
-
-import java.net.URI;
-
-public abstract class AbstractClientEntitySet extends AbstractClientPayload implements ClientEntitySet {
-
- /**
- * Link to the next page.
- */
- private URI next;
-
- /**
- * Number of ODataEntities contained in this entity set.
- * <br/>
- * If <tt>$inlinecount</tt> was requested, this value comes from there.
- */
- private Integer count;
-
- /**
- * Constructor.
- */
- public AbstractClientEntitySet() {
- super(null);
- }
-
- /**
- * Constructor.
- *
- * @param next next link.
- */
- public AbstractClientEntitySet(final URI next) {
- super(null);
- this.next = next;
- }
-
- @Override
- public URI getNext() {
- return next;
- }
-
- @Override
- public Integer getCount() {
- return count;
- }
-
- @Override
- public void setCount(final int count) {
- this.count = count;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientAnnotationImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientAnnotationImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientAnnotationImpl.java
deleted file mode 100644
index b5fae89..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientAnnotationImpl.java
+++ /dev/null
@@ -1,102 +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.commons.core.domain;
-
-import org.apache.olingo.commons.api.domain.ClientAnnotation;
-import org.apache.olingo.commons.api.domain.ClientCollectionValue;
-import org.apache.olingo.commons.api.domain.ClientComplexValue;
-import org.apache.olingo.commons.api.domain.ClientEnumValue;
-import org.apache.olingo.commons.api.domain.ClientPrimitiveValue;
-import org.apache.olingo.commons.api.domain.ClientValuable;
-import org.apache.olingo.commons.api.domain.ClientValue;
-
-public class ClientAnnotationImpl implements ClientAnnotation {
-
- private final String term;
-
- private final ClientValuable valuable;
-
- public ClientAnnotationImpl(final String term, final ClientValue value) {
- this.term = term;
- valuable = new ClientValuableImpl(value);
- }
-
- @Override
- public String getTerm() {
- return term;
- }
-
- @Override
- public ClientValue getValue() {
- return valuable.getValue();
- }
-
- @Override
- public boolean hasNullValue() {
- return valuable.hasNullValue();
- }
-
- @Override
- public boolean hasPrimitiveValue() {
- return valuable.hasPrimitiveValue();
- }
-
- @Override
- public ClientPrimitiveValue getPrimitiveValue() {
- return valuable.getPrimitiveValue();
- }
-
- @Override
- public boolean hasCollectionValue() {
- return valuable.hasCollectionValue();
- }
-
- @Override
- public ClientCollectionValue<ClientValue> getCollectionValue() {
- return valuable.getCollectionValue();
- }
-
- @Override
- public boolean hasComplexValue() {
- return valuable.hasComplexValue();
- }
-
- @Override
- public ClientComplexValue getComplexValue() {
- return valuable.getComplexValue();
- }
-
- @Override
- public boolean hasEnumValue() {
- return valuable.hasEnumValue();
- }
-
- @Override
- public ClientEnumValue getEnumValue() {
- return valuable.getEnumValue();
- }
-
- @Override
- public String toString() {
- return "ODataPropertyImpl{"
- + "term=" + term
- + ",valuable=" + valuable
- + '}';
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientCollectionValueImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientCollectionValueImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientCollectionValueImpl.java
deleted file mode 100644
index e7b53ff..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientCollectionValueImpl.java
+++ /dev/null
@@ -1,124 +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.commons.core.domain;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.olingo.commons.api.domain.AbstractClientValue;
-import org.apache.olingo.commons.api.domain.ClientCollectionValue;
-import org.apache.olingo.commons.api.domain.ClientEnumValue;
-import org.apache.olingo.commons.api.domain.ClientValue;
-
-public class ClientCollectionValueImpl<OV extends ClientValue> extends AbstractClientValue
- implements ClientCollectionValue<OV>, ClientValue {
-
- /**
- * Constructor.
- *
- * @param typeName type name.
- */
- public ClientCollectionValueImpl(final String typeName) {
- super(typeName == null || typeName.startsWith("Collection(") ? typeName : "Collection(" + typeName + ")");
- }
-
- @Override
- public boolean isEnum() {
- return false;
- }
-
- @Override
- public ClientEnumValue asEnum() {
- return null;
- }
-
- @Override
- public boolean isComplex() {
- return false;
- }
-
- @Override
- public Collection<Object> asJavaCollection() {
- final List<Object> result = new ArrayList<Object>();
- for (ClientValue value : values) {
- if (value.isPrimitive()) {
- result.add(value.asPrimitive().toValue());
- } else if (value.isComplex()) {
- result.add(value.asComplex().asJavaMap());
- } else if (value.isCollection()) {
- result.add(value.asCollection().asJavaCollection());
- } else if (value.isEnum()) {
- result.add(value.asEnum().toString());
- }
- }
-
- return result;
- }
-
- /**
- * Values.
- */
- protected final List<OV> values = new ArrayList<OV>();
-
- /**
- * Adds a value to the collection.
- *
- * @param value value to be added.
- */
- @Override
- @SuppressWarnings("unchecked")
- public ClientCollectionValue<OV> add(final ClientValue value) {
- values.add((OV) value);
- return this;
- }
-
- /**
- * Value iterator.
- *
- * @return value iterator.
- */
- @Override
- public Iterator<OV> iterator() {
- return values.iterator();
- }
-
- /**
- * Gets collection size.
- *
- * @return collection size.
- */
- @Override
- public int size() {
- return values.size();
- }
-
- /**
- * Checks if collection is empty.
- *
- * @return 'TRUE' if empty; 'FALSE' otherwise.
- */
- @Override
- public boolean isEmpty() {
- return values.isEmpty();
- }
-
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientComplexValueImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientComplexValueImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientComplexValueImpl.java
deleted file mode 100644
index 3881c3a..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientComplexValueImpl.java
+++ /dev/null
@@ -1,204 +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.commons.core.domain;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.olingo.commons.api.domain.AbstractClientValue;
-import org.apache.olingo.commons.api.domain.ClientAnnotation;
-import org.apache.olingo.commons.api.domain.ClientComplexValue;
-import org.apache.olingo.commons.api.domain.ClientEnumValue;
-import org.apache.olingo.commons.api.domain.ClientLink;
-import org.apache.olingo.commons.api.domain.ClientProperty;
-
-public class ClientComplexValueImpl extends AbstractClientValue implements ClientComplexValue {
-
- /**
- * Navigation links (might contain in-line entities or entity sets).
- */
- private final List<ClientLink> navigationLinks = new ArrayList<ClientLink>();
-
- /**
- * Association links.
- */
- private final List<ClientLink> associationLinks = new ArrayList<ClientLink>();
-
- private final List<ClientAnnotation> annotations = new ArrayList<ClientAnnotation>();
-
- /**
- * Complex type fields.
- */
- private final Map<String, ClientProperty> fields = new LinkedHashMap<String, ClientProperty>();
-
- /**
- * Constructor.
- *
- * @param typeName type name.
- */
- public ClientComplexValueImpl(final String typeName) {
- super(typeName);
- }
-
- @Override
- public boolean isEnum() {
- return false;
- }
-
- @Override
- public ClientEnumValue asEnum() {
- return null;
- }
-
- @Override
- public boolean isComplex() {
- return true;
- }
-
- @Override
- public boolean addLink(final ClientLink link) {
- boolean result = false;
-
- switch (link.getType()) {
- case ASSOCIATION:
- result = associationLinks.contains(link) ? false : associationLinks.add(link);
- break;
-
- case ENTITY_NAVIGATION:
- case ENTITY_SET_NAVIGATION:
- result = navigationLinks.contains(link) ? false : navigationLinks.add(link);
- break;
-
- case MEDIA_EDIT:
- throw new IllegalArgumentException("Complex values cannot have media links!");
-
- default:
- }
-
- return result;
- }
-
- @Override
- public boolean removeLink(final ClientLink link) {
- return associationLinks.remove(link) || navigationLinks.remove(link);
- }
-
- private ClientLink getLink(final List<ClientLink> links, final String name) {
- ClientLink result = null;
- for (ClientLink link : links) {
- if (name.equals(link.getName())) {
- result = link;
- break;
- }
- }
-
- return result;
- }
-
- @Override
- public ClientLink getNavigationLink(final String name) {
- return getLink(navigationLinks, name);
- }
-
- @Override
- public List<ClientLink> getNavigationLinks() {
- return navigationLinks;
- }
-
- @Override
- public ClientLink getAssociationLink(final String name) {
- return getLink(associationLinks, name);
- }
-
- @Override
- public List<ClientLink> getAssociationLinks() {
- return associationLinks;
- }
-
- @Override
- public Map<String, Object> asJavaMap() {
- final Map<String, Object> result = new LinkedHashMap<String, Object>();
- for (Map.Entry<String, ClientProperty> entry : fields.entrySet()) {
- Object value = null;
- if (entry.getValue().hasPrimitiveValue()) {
- value = entry.getValue().getPrimitiveValue().toValue();
- } else if (entry.getValue().hasComplexValue()) {
- value = entry.getValue().getComplexValue().asJavaMap();
- } else if (entry.getValue().hasCollectionValue()) {
- value = entry.getValue().getCollectionValue().asJavaCollection();
- } else if (entry.getValue().hasEnumValue()) {
- value = entry.getValue().getEnumValue().toString();
- }
-
- result.put(entry.getKey(), value);
- }
-
- return result;
- }
-
- @Override
- public List<ClientAnnotation> getAnnotations() {
- return annotations;
- }
-
- /**
- * Adds field to the complex type.
- *
- * @param field field to be added.
- */
- @Override
- public ClientComplexValue add(final ClientProperty field) {
- fields.put(field.getName(), field);
- return this;
- }
-
- /**
- * Gets field.
- *
- * @param name name of the field to be retrieved.
- * @return requested field.
- */
- @Override
- public ClientProperty get(final String name) {
- return fields.get(name);
- }
-
- /**
- * Complex property fields iterator.
- *
- * @return fields iterator.
- */
- @Override
- public Iterator<ClientProperty> iterator() {
- return fields.values().iterator();
- }
-
- /**
- * Gets number of fields.
- *
- * @return number of fields.
- */
- @Override
- public int size() {
- return fields.size();
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientDeletedEntityImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientDeletedEntityImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientDeletedEntityImpl.java
deleted file mode 100644
index 9df7a18..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientDeletedEntityImpl.java
+++ /dev/null
@@ -1,54 +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.commons.core.domain;
-
-import org.apache.olingo.commons.api.domain.ClientDeletedEntity;
-import org.apache.olingo.commons.api.domain.ClientItem;
-
-import java.net.URI;
-
-public class ClientDeletedEntityImpl extends ClientItem implements ClientDeletedEntity {
-
- private URI id;
-
- private Reason reason;
-
- public ClientDeletedEntityImpl() {
- super(null);
- }
-
- @Override
- public URI getId() {
- return id;
- }
-
- public void setId(final URI id) {
- this.id = id;
- }
-
- @Override
- public Reason getReason() {
- return reason;
- }
-
- public void setReason(final Reason reason) {
- this.reason = reason;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientDeltaImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientDeltaImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientDeltaImpl.java
deleted file mode 100644
index 1c1e521..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientDeltaImpl.java
+++ /dev/null
@@ -1,60 +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.commons.core.domain;
-
-import org.apache.olingo.commons.api.domain.ClientDeletedEntity;
-import org.apache.olingo.commons.api.domain.ClientDelta;
-import org.apache.olingo.commons.api.domain.ClientDeltaLink;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-public class ClientDeltaImpl extends ClientEntitySetImpl implements ClientDelta {
-
- private final List<ClientDeletedEntity> deletedEntities = new ArrayList<ClientDeletedEntity>();
-
- private final List<ClientDeltaLink> addedLinks = new ArrayList<ClientDeltaLink>();
-
- private final List<ClientDeltaLink> deletedLinks = new ArrayList<ClientDeltaLink>();
-
- public ClientDeltaImpl() {
- super();
- }
-
- public ClientDeltaImpl(final URI next) {
- super(next);
- }
-
- @Override
- public List<ClientDeletedEntity> getDeletedEntities() {
- return deletedEntities;
- }
-
- @Override
- public List<ClientDeltaLink> getAddedLinks() {
- return addedLinks;
- }
-
- @Override
- public List<ClientDeltaLink> getDeletedLinks() {
- return deletedLinks;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientDeltaLinkImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientDeltaLinkImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientDeltaLinkImpl.java
deleted file mode 100644
index a21f7ae..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientDeltaLinkImpl.java
+++ /dev/null
@@ -1,78 +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.commons.core.domain;
-
-import org.apache.olingo.commons.api.domain.ClientAnnotation;
-import org.apache.olingo.commons.api.domain.ClientDeltaLink;
-import org.apache.olingo.commons.api.domain.ClientItem;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-public class ClientDeltaLinkImpl extends ClientItem implements ClientDeltaLink {
-
- private URI source;
-
- private String relationship;
-
- private URI target;
-
- private final List<ClientAnnotation> annotations = new ArrayList<ClientAnnotation>();
-
- public ClientDeltaLinkImpl() {
- super(null);
- }
-
- @Override
- public URI getSource() {
- return source;
- }
-
- @Override
- public void setSource(final URI source) {
- this.source = source;
- }
-
- @Override
- public String getRelationship() {
- return relationship;
- }
-
- @Override
- public void setRelationship(final String relationship) {
- this.relationship = relationship;
- }
-
- @Override
- public URI getTarget() {
- return target;
- }
-
- @Override
- public void setTarget(final URI target) {
- this.target = target;
- }
-
- @Override
- public List<ClientAnnotation> getAnnotations() {
- return annotations;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientEntityImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientEntityImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientEntityImpl.java
deleted file mode 100644
index 0c2ef29..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientEntityImpl.java
+++ /dev/null
@@ -1,298 +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.commons.core.domain;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.olingo.commons.api.domain.AbstractClientPayload;
-import org.apache.olingo.commons.api.domain.ClientAnnotation;
-import org.apache.olingo.commons.api.domain.ClientEntity;
-import org.apache.olingo.commons.api.domain.ClientLink;
-import org.apache.olingo.commons.api.domain.ClientOperation;
-import org.apache.olingo.commons.api.domain.ClientProperty;
-import org.apache.olingo.commons.api.domain.ClientSingleton;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-
-public class ClientEntityImpl extends AbstractClientPayload implements ClientEntity, ClientSingleton {
-
- /**
- * Entity id.
- */
- private URI id;
- /**
- * ETag.
- */
- private String eTag;
- /**
- * Media entity flag.
- */
- private boolean mediaEntity = false;
- /**
- * In case of media entity, media content type.
- */
- private String mediaContentType;
- /**
- * In case of media entity, media content source.
- */
- private URI mediaContentSource;
- /**
- * Media ETag.
- */
- private String mediaETag;
- /**
- * Edit link.
- */
- private URI editLink;
-
- private final List<ClientProperty> properties = new ArrayList<ClientProperty>();
-
- private final List<ClientAnnotation> annotations = new ArrayList<ClientAnnotation>();
-
- private final FullQualifiedName typeName;
- /**
- * Navigation links (might contain in-line entities or entity sets).
- */
- private final List<ClientLink> navigationLinks = new ArrayList<ClientLink>();
- /**
- * Association links.
- */
- private final List<ClientLink> associationLinks = new ArrayList<ClientLink>();
- /**
- * Media edit links.
- */
- private final List<ClientLink> mediaEditLinks = new ArrayList<ClientLink>();
- /**
- * Operations (legacy, functions, actions).
- */
- private final List<ClientOperation> operations = new ArrayList<ClientOperation>();
-
- public ClientEntityImpl(final FullQualifiedName typeName) {
- super(typeName == null ? null : typeName.toString());
- this.typeName = typeName;
- }
-
- @Override
- public FullQualifiedName getTypeName() {
- return typeName;
- }
-
- @Override
- public String getETag() {
- return eTag;
- }
-
- @Override
- public void setETag(final String eTag) {
- this.eTag = eTag;
- }
-
- @Override
- public ClientOperation getOperation(final String title) {
- ClientOperation result = null;
- for (ClientOperation operation : operations) {
- if (title.equals(operation.getTitle())) {
- result = operation;
- break;
- }
- }
-
- return result;
- }
-
- /**
- * Gets operations.
- *
- * @return operations.
- */
- @Override
- public List<ClientOperation> getOperations() {
- return operations;
- }
-
-
- @Override
- public ClientProperty getProperty(final String name) {
- ClientProperty result = null;
-
- if (StringUtils.isNotBlank(name)) {
- for (ClientProperty property : getProperties()) {
- if (name.equals(property.getName())) {
- result = property;
- break;
- }
- }
- }
-
- return result;
- }
-
- @Override
- public boolean addLink(final ClientLink link) {
- boolean result = false;
-
- switch (link.getType()) {
- case ASSOCIATION:
- result = associationLinks.contains(link) ? false : associationLinks.add(link);
- break;
-
- case ENTITY_NAVIGATION:
- case ENTITY_SET_NAVIGATION:
- result = navigationLinks.contains(link) ? false : navigationLinks.add(link);
- break;
-
- case MEDIA_EDIT:
- result = mediaEditLinks.contains(link) ? false : mediaEditLinks.add(link);
- break;
-
- default:
- }
-
- return result;
- }
-
- @Override
- public boolean removeLink(final ClientLink link) {
- return associationLinks.remove(link) || navigationLinks.remove(link);
- }
-
- private ClientLink getLink(final List<ClientLink> links, final String name) {
- ClientLink result = null;
- for (ClientLink link : links) {
- if (name.equals(link.getName())) {
- result = link;
- break;
- }
- }
-
- return result;
- }
-
- @Override
- public ClientLink getNavigationLink(final String name) {
- return getLink(navigationLinks, name);
- }
-
- @Override
- public List<ClientLink> getNavigationLinks() {
- return navigationLinks;
- }
-
- @Override
- public ClientLink getAssociationLink(final String name) {
- return getLink(associationLinks, name);
- }
-
- @Override
- public List<ClientLink> getAssociationLinks() {
- return associationLinks;
- }
-
- @Override
- public ClientLink getMediaEditLink(final String name) {
- return getLink(mediaEditLinks, name);
- }
-
- @Override
- public List<ClientLink> getMediaEditLinks() {
- return mediaEditLinks;
- }
-
- @Override
- public URI getEditLink() {
- return editLink;
- }
-
- @Override
- public void setEditLink(final URI editLink) {
- this.editLink = editLink;
- }
-
- @Override
- public URI getLink() {
- return super.getLink() == null ? getEditLink() : super.getLink();
- }
-
- @Override
- public boolean isReadOnly() {
- return super.getLink() != null;
- }
-
- @Override
- public boolean isMediaEntity() {
- return mediaEntity;
- }
-
- @Override
- public void setMediaEntity(final boolean isMediaEntity) {
- mediaEntity = isMediaEntity;
- }
-
- @Override
- public String getMediaContentType() {
- return mediaContentType;
- }
-
- @Override
- public void setMediaContentType(final String mediaContentType) {
- this.mediaContentType = mediaContentType;
- }
-
- @Override
- public URI getMediaContentSource() {
- return mediaContentSource;
- }
-
- @Override
- public void setMediaContentSource(final URI mediaContentSource) {
- this.mediaContentSource = mediaContentSource;
- }
-
- @Override
- public String getMediaETag() {
- return mediaETag;
- }
-
- @Override
- public void setMediaETag(final String eTag) {
- mediaETag = eTag;
- }
-
- @Override
- public URI getId() {
- return id;
- }
-
- @Override
- public void setId(final URI id) {
- this.id = id;
- }
-
- @Override
- public List<ClientProperty> getProperties() {
- return properties;
- }
-
- @Override
- public List<ClientAnnotation> getAnnotations() {
- return annotations;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientEntitySetImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientEntitySetImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientEntitySetImpl.java
deleted file mode 100644
index 4e4d79b..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientEntitySetImpl.java
+++ /dev/null
@@ -1,65 +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.commons.core.domain;
-
-import org.apache.olingo.commons.api.domain.ClientAnnotation;
-import org.apache.olingo.commons.api.domain.ClientEntity;
-import org.apache.olingo.commons.api.domain.ClientEntitySet;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-public class ClientEntitySetImpl extends AbstractClientEntitySet implements ClientEntitySet {
-
- private URI deltaLink;
-
- private final List<ClientEntity> entities = new ArrayList<ClientEntity>();
-
- private final List<ClientAnnotation> annotations = new ArrayList<ClientAnnotation>();
-
- public ClientEntitySetImpl() {
- super();
- }
-
- public ClientEntitySetImpl(final URI next) {
- super(next);
- }
-
- @Override
- public List<ClientEntity> getEntities() {
- return entities;
- }
-
- @Override
- public URI getDeltaLink() {
- return deltaLink;
- }
-
- @Override
- public void setDeltaLink(final URI deltaLink) {
- this.deltaLink = deltaLink;
- }
-
- @Override
- public List<ClientAnnotation> getAnnotations() {
- return annotations;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientEnumValueImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientEnumValueImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientEnumValueImpl.java
deleted file mode 100644
index 12634d4..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientEnumValueImpl.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.commons.core.domain;
-
-import org.apache.olingo.commons.api.domain.AbstractClientValue;
-import org.apache.olingo.commons.api.domain.ClientEnumValue;
-
-public class ClientEnumValueImpl extends AbstractClientValue implements ClientEnumValue {
-
- private final String value;
-
- public ClientEnumValueImpl(final String typeName, final String value) {
- super(typeName);
- this.value = value;
- }
-
- @Override
- public String getValue() {
- return value;
- }
-
- @Override
- public boolean isEnum() {
- return true;
- }
-
- @Override
- public ClientEnumValue asEnum() {
- return this;
- }
-
- @Override
- public boolean isComplex() {
- return false;
- }
-
- @Override
- public String toString() {
- return getTypeName() + "'" + getValue() + "'";
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientObjectFactoryImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientObjectFactoryImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientObjectFactoryImpl.java
deleted file mode 100644
index ed4692f..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientObjectFactoryImpl.java
+++ /dev/null
@@ -1,155 +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.commons.core.domain;
-
-import java.net.URI;
-
-import org.apache.olingo.commons.api.domain.ClientCollectionValue;
-import org.apache.olingo.commons.api.domain.ClientComplexValue;
-import org.apache.olingo.commons.api.domain.ClientDelta;
-import org.apache.olingo.commons.api.domain.ClientEntity;
-import org.apache.olingo.commons.api.domain.ClientEntitySet;
-import org.apache.olingo.commons.api.domain.ClientEnumValue;
-import org.apache.olingo.commons.api.domain.ClientInlineEntity;
-import org.apache.olingo.commons.api.domain.ClientInlineEntitySet;
-import org.apache.olingo.commons.api.domain.ClientLink;
-import org.apache.olingo.commons.api.domain.ClientLinkType;
-import org.apache.olingo.commons.api.domain.ClientObjectFactory;
-import org.apache.olingo.commons.api.domain.ClientPrimitiveValue;
-import org.apache.olingo.commons.api.domain.ClientProperty;
-import org.apache.olingo.commons.api.domain.ClientSingleton;
-import org.apache.olingo.commons.api.domain.ClientValue;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-
-public class ClientObjectFactoryImpl implements ClientObjectFactory {
-
- @Override
- public ClientInlineEntitySet newDeepInsertEntitySet(final String name, final ClientEntitySet entitySet) {
- return new ClientInlineEntitySet(null, ClientLinkType.ENTITY_SET_NAVIGATION, name, entitySet);
- }
-
- @Override
- public ClientInlineEntity newDeepInsertEntity(final String name, final ClientEntity entity) {
- return new ClientInlineEntity(null, ClientLinkType.ENTITY_NAVIGATION, name, entity);
- }
-
- @Override
- public ClientEntitySet newEntitySet() {
- return new ClientEntitySetImpl();
- }
-
- @Override
- public ClientEntitySet newEntitySet(final URI next) {
- return new ClientEntitySetImpl(next);
- }
-
- @Override
- public ClientEntity newEntity(final FullQualifiedName typeName) {
- return new ClientEntityImpl(typeName);
- }
-
- @Override
- public ClientEntity newEntity(final FullQualifiedName typeName, final URI link) {
- final ClientEntityImpl result = new ClientEntityImpl(typeName);
- result.setLink(link);
- return result;
- }
-
- @Override
- public ClientSingleton newSingleton(final FullQualifiedName typeName) {
- return new ClientEntityImpl(typeName);
- }
-
- @Override
- public ClientLink newEntityNavigationLink(final String name, final URI link) {
- return new ClientLink.Builder().setURI(link).
- setType(ClientLinkType.ENTITY_NAVIGATION).setTitle(name).build();
- }
-
- @Override
- public ClientLink newEntitySetNavigationLink(final String name, final URI link) {
- return new ClientLink.Builder().setURI(link).
- setType(ClientLinkType.ENTITY_SET_NAVIGATION).setTitle(name).build();
- }
-
- @Override
- public ClientLink newAssociationLink(final String name, final URI link) {
- return new ClientLink.Builder().setURI(link).
- setType(ClientLinkType.ASSOCIATION).setTitle(name).build();
- }
-
- @Override
- public ClientLink newMediaEditLink(final String name, final URI link) {
- return new ClientLink.Builder().setURI(link).
- setType(ClientLinkType.MEDIA_EDIT).setTitle(name).build();
- }
-
- @Override
- public ClientPrimitiveValue.Builder newPrimitiveValueBuilder() {
- return new ClientPrimitiveValueImpl.BuilderImpl();
- }
-
- @Override
- public ClientEnumValue newEnumValue(final String typeName, final String value) {
- return new ClientEnumValueImpl(typeName, value);
- }
-
- @Override
- public ClientComplexValue newComplexValue(final String typeName) {
- return new ClientComplexValueImpl(typeName);
- }
-
- @Override
- public ClientCollectionValue<ClientValue> newCollectionValue(final String typeName) {
- return new ClientCollectionValueImpl<ClientValue>(typeName);
- }
-
- @Override
- public ClientProperty newPrimitiveProperty(final String name, final ClientPrimitiveValue value) {
- return new ClientPropertyImpl(name, value);
- }
-
- @Override
- public ClientProperty newComplexProperty(final String name, final ClientComplexValue value) {
-
- return new ClientPropertyImpl(name, value);
- }
-
- @Override
- public ClientProperty newCollectionProperty(final String name,
- final ClientCollectionValue<? extends ClientValue> value) {
-
- return new ClientPropertyImpl(name, value);
- }
-
- @Override
- public ClientProperty newEnumProperty(final String name, final ClientEnumValue value) {
- return new ClientPropertyImpl(name, value);
- }
-
- @Override
- public ClientDelta newDelta() {
- return new ClientDeltaImpl();
- }
-
- @Override
- public ClientDelta newDelta(final URI next) {
- return new ClientDeltaImpl(next);
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientPrimitiveValueImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientPrimitiveValueImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientPrimitiveValueImpl.java
deleted file mode 100644
index 0f6ad2b..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientPrimitiveValueImpl.java
+++ /dev/null
@@ -1,222 +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.commons.core.domain;
-
-import java.util.UUID;
-
-import org.apache.olingo.commons.api.Constants;
-import org.apache.olingo.commons.api.domain.AbstractClientValue;
-import org.apache.olingo.commons.api.domain.ClientEnumValue;
-import org.apache.olingo.commons.api.domain.ClientPrimitiveValue;
-import org.apache.olingo.commons.api.domain.ClientValue;
-import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
-import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
-import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
-import org.apache.olingo.commons.api.edm.EdmType;
-import org.apache.olingo.commons.api.edm.constants.EdmTypeKind;
-import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeFactory;
-
-public class ClientPrimitiveValueImpl extends AbstractClientValue implements ClientValue, ClientPrimitiveValue {
-
- public static class BuilderImpl implements Builder {
-
- private final ClientPrimitiveValueImpl instance;
-
- public BuilderImpl() {
- instance = new ClientPrimitiveValueImpl();
- }
-
- @Override
- public BuilderImpl setType(final EdmType type) {
- EdmPrimitiveTypeKind primitiveTypeKind = null;
- if (type != null) {
- if (type.getKind() != EdmTypeKind.PRIMITIVE) {
- throw new IllegalArgumentException(String.format("Provided type %s is not primitive", type));
- }
- primitiveTypeKind = EdmPrimitiveTypeKind.valueOf(type.getName());
- }
- return setType(primitiveTypeKind);
- }
-
- @Override
- public BuilderImpl setType(final EdmPrimitiveTypeKind type) {
- if (type == EdmPrimitiveTypeKind.Stream) {
- throw new IllegalArgumentException(String.format(
- "Cannot build a primitive value for %s", EdmPrimitiveTypeKind.Stream.toString()));
- }
- if (type == EdmPrimitiveTypeKind.Geography || type == EdmPrimitiveTypeKind.Geometry) {
- throw new IllegalArgumentException(
- type + "is not an instantiable type. "
- + "An entity can declare a property to be of type Geometry. "
- + "An instance of an entity MUST NOT have a value of type Geometry. "
- + "Each value MUST be of some subtype.");
- }
-
- instance.typeKind = type == null ? EdmPrimitiveTypeKind.String : type;
- instance.type = EdmPrimitiveTypeFactory.getInstance(instance.typeKind);
-
- return this;
- }
-
- @Override
- public BuilderImpl setValue(final Object value) {
- instance.value = value;
- return this;
- }
-
- @Override
- public ClientPrimitiveValue build() {
- if (instance.type == null) {
- setType(EdmPrimitiveTypeKind.String);
- }
- return instance;
- }
-
- @Override
- public ClientPrimitiveValue buildBoolean(final Boolean value) {
- return setType(EdmPrimitiveTypeKind.Boolean).setValue(value).build();
- }
-
- @Override
- public ClientPrimitiveValue buildInt16(final Short value) {
- return setType(EdmPrimitiveTypeKind.Int16).setValue(value).build();
- }
-
- @Override
- public ClientPrimitiveValue buildInt32(final Integer value) {
- return setType(EdmPrimitiveTypeKind.Int32).setValue(value).build();
- }
-
- @Override
- public ClientPrimitiveValue buildInt64(final Long value) {
- return setType(EdmPrimitiveTypeKind.Int64).setValue(value).build();
- }
-
- @Override
- public ClientPrimitiveValue buildSingle(final Float value) {
- return setType(EdmPrimitiveTypeKind.Single).setValue(value).build();
- }
-
- @Override
- public ClientPrimitiveValue buildDouble(final Double value) {
- return setType(EdmPrimitiveTypeKind.Double).setValue(value).build();
- }
-
- @Override
- public ClientPrimitiveValue buildString(final String value) {
- return setType(EdmPrimitiveTypeKind.String).setValue(value).build();
- }
-
- @Override
- public ClientPrimitiveValue buildGuid(final UUID value) {
- return setType(EdmPrimitiveTypeKind.Guid).setValue(value).build();
- }
-
- @Override
- public ClientPrimitiveValue buildBinary(final byte[] value) {
- return setType(EdmPrimitiveTypeKind.Binary).setValue(value).build();
- }
-
- }
-
- /**
- * Type kind.
- */
- private EdmPrimitiveTypeKind typeKind;
-
- /**
- * Type.
- */
- private EdmPrimitiveType type;
-
- /**
- * Actual value.
- */
- private Object value;
-
- protected ClientPrimitiveValueImpl() {
- super(null);
- }
-
- @Override
- public String getTypeName() {
- return typeKind.getFullQualifiedName().toString();
- }
-
- @Override
- public EdmPrimitiveTypeKind getTypeKind() {
- return typeKind;
- }
-
- @Override
- public EdmPrimitiveType getType() {
- return type;
- }
-
- @Override
- public Object toValue() {
- return value;
- }
-
- @Override
- public <T> T toCastValue(final Class<T> reference) throws EdmPrimitiveTypeException {
- if (value == null) {
- return null;
- } else if (typeKind.isGeospatial()) {
- return reference.cast(value);
- } else {
- // TODO: set facets
- return type.valueOfString(type.valueToString(value,
- null, null, Constants.DEFAULT_PRECISION, Constants.DEFAULT_SCALE, null),
- null, null, Constants.DEFAULT_PRECISION, Constants.DEFAULT_SCALE, null, reference);
- }
- }
-
- @Override
- public String toString() {
- if (value == null) {
- return "";
- } else if (typeKind.isGeospatial()) {
- return value.toString();
- } else {
- try {
- // TODO: set facets
- return type.valueToString(value, null, null, Constants.DEFAULT_PRECISION, Constants.DEFAULT_SCALE, null);
- } catch (EdmPrimitiveTypeException e) {
- throw new IllegalArgumentException(e);
- }
- }
- }
-
- @Override
- public boolean isEnum() {
- return false;
- }
-
- @Override
- public ClientEnumValue asEnum() {
- return null;
- }
-
- @Override
- public boolean isComplex() {
- return false;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientPropertyImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientPropertyImpl.java
deleted file mode 100644
index e53c94b..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientPropertyImpl.java
+++ /dev/null
@@ -1,163 +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.commons.core.domain;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.commons.lang3.builder.EqualsBuilder;
-import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.olingo.commons.api.domain.ClientAnnotatable;
-import org.apache.olingo.commons.api.domain.ClientAnnotation;
-import org.apache.olingo.commons.api.domain.ClientCollectionValue;
-import org.apache.olingo.commons.api.domain.ClientComplexValue;
-import org.apache.olingo.commons.api.domain.ClientEnumValue;
-import org.apache.olingo.commons.api.domain.ClientPrimitiveValue;
-import org.apache.olingo.commons.api.domain.ClientProperty;
-import org.apache.olingo.commons.api.domain.ClientValuable;
-import org.apache.olingo.commons.api.domain.ClientValue;
-
-public class ClientPropertyImpl implements ClientProperty, ClientAnnotatable, ClientValuable {
-
-
- private final List<ClientAnnotation> annotations = new ArrayList<ClientAnnotation>();
- private final String name;
- private final ClientValue value;
- private final ClientValuable valuable;
-
- public ClientPropertyImpl(final String name, final ClientValue value) {
- this.name = name;
- this.value = value;
- this.valuable = new ClientValuableImpl(value);
- }
-
- /**
- * Returns property name.
- *
- * @return property name.
- */
- @Override
- public String getName() {
- return name;
- }
-
- /**
- * Returns property value.
- *
- * @return property value.
- */
- @Override
- public ClientValue getValue() {
- return value;
- }
-
- /**
- * Checks if has null value.
- *
- * @return 'TRUE' if has null value; 'FALSE' otherwise.
- */
- @Override
- public boolean hasNullValue() {
- return value == null || value.isPrimitive() && value.asPrimitive().toValue() == null;
- }
-
- /**
- * Checks if has primitive value.
- *
- * @return 'TRUE' if has primitive value; 'FALSE' otherwise.
- */
- @Override
- public boolean hasPrimitiveValue() {
- return !hasNullValue() && value.isPrimitive();
- }
-
- /**
- * Gets primitive value.
- *
- * @return primitive value if exists; null otherwise.
- */
- @Override
- public ClientPrimitiveValue getPrimitiveValue() {
- return hasPrimitiveValue() ? value.asPrimitive() : null;
- }
-
- /**
- * Checks if has complex value.
- *
- * @return 'TRUE' if has complex value; 'FALSE' otherwise.
- */
- @Override
- public boolean hasComplexValue() {
- return !hasNullValue() && value.isComplex();
- }
-
- /**
- * Checks if has collection value.
- *
- * @return 'TRUE' if has collection value; 'FALSE' otherwise.
- */
- @Override
- public boolean hasCollectionValue() {
- return !hasNullValue() && value.isCollection();
- }
-
- @Override
- public boolean equals(final Object obj) {
- return EqualsBuilder.reflectionEquals(this, obj);
- }
-
- @Override
- public int hashCode() {
- return HashCodeBuilder.reflectionHashCode(this);
- }
-
- @Override
- public boolean hasEnumValue() {
- return valuable.hasEnumValue();
- }
-
- @Override
- public ClientEnumValue getEnumValue() {
- return valuable.getEnumValue();
- }
-
- @Override
- public ClientComplexValue getComplexValue() {
- return valuable.getComplexValue();
- }
-
- @Override
- public ClientCollectionValue<ClientValue> getCollectionValue() {
- return valuable.getCollectionValue();
- }
-
- @Override
- public List<ClientAnnotation> getAnnotations() {
- return annotations;
- }
-
- @Override
- public String toString() {
- return "ODataPropertyImpl{"
- + "name=" + getName()
- + ",valuable=" + valuable
- + ", annotations=" + annotations
- + '}';
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientValuableImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientValuableImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientValuableImpl.java
deleted file mode 100644
index 561d3df..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ClientValuableImpl.java
+++ /dev/null
@@ -1,111 +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.commons.core.domain;
-
-import org.apache.commons.lang3.builder.EqualsBuilder;
-import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import org.apache.olingo.commons.api.domain.ClientCollectionValue;
-import org.apache.olingo.commons.api.domain.ClientComplexValue;
-import org.apache.olingo.commons.api.domain.ClientEnumValue;
-import org.apache.olingo.commons.api.domain.ClientPrimitiveValue;
-import org.apache.olingo.commons.api.domain.ClientValuable;
-import org.apache.olingo.commons.api.domain.ClientValue;
-
-public class ClientValuableImpl implements ClientValuable {
-
- private final ClientValue value;
-
- public ClientValuableImpl(final ClientValue value) {
- this.value = value;
- }
-
- @Override
- public ClientValue getValue() {
- return value;
- }
-
- @Override
- public boolean hasNullValue() {
- return value == null;
- }
-
- @Override
- public boolean hasPrimitiveValue() {
- return !hasNullValue() && value.isPrimitive();
- }
-
- @Override
- public ClientPrimitiveValue getPrimitiveValue() {
- return hasPrimitiveValue() ? value.asPrimitive() : null;
- }
-
- @Override
- public boolean hasCollectionValue() {
- return !hasNullValue() && value.isCollection();
- }
-
- @Override
- public ClientCollectionValue<ClientValue> getCollectionValue() {
- return hasCollectionValue()
- ? getValue().<ClientValue> asCollection()
- : null;
- }
-
- @Override
- public boolean hasComplexValue() {
- return !hasNullValue() && value.isComplex();
- }
-
- @Override
- public ClientComplexValue getComplexValue() {
- return hasComplexValue()
- ? getValue().asComplex()
- : null;
- }
-
- @Override
- public boolean hasEnumValue() {
- return !hasNullValue() && getValue().isEnum();
- }
-
- @Override
- public ClientEnumValue getEnumValue() {
- return hasEnumValue()
- ? getValue().asEnum()
- : null;
- }
-
- @Override
- public boolean equals(final Object obj) {
- return EqualsBuilder.reflectionEquals(this, obj);
- }
-
- @Override
- public int hashCode() {
- return HashCodeBuilder.reflectionHashCode(this);
- }
-
- @Override
- public String toString() {
- return ReflectionToStringBuilder.toString(this, ToStringStyle.MULTI_LINE_STYLE);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/annotation/EdmConstantAnnotationExpressionImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/annotation/EdmConstantAnnotationExpressionImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/annotation/EdmConstantAnnotationExpressionImpl.java
index 7adeb3e..9763596 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/annotation/EdmConstantAnnotationExpressionImpl.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/annotation/EdmConstantAnnotationExpressionImpl.java
@@ -23,42 +23,41 @@ import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.commons.api.Constants;
-import org.apache.olingo.commons.api.domain.ClientEnumValue;
-import org.apache.olingo.commons.api.domain.ClientValue;
+import org.apache.olingo.commons.api.data.Property;
+import org.apache.olingo.commons.api.data.Valuable;
+import org.apache.olingo.commons.api.data.ValueType;
import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
import org.apache.olingo.commons.api.edm.annotation.EdmConstantAnnotationExpression;
import org.apache.olingo.commons.api.edm.annotation.EdmDynamicAnnotationExpression;
import org.apache.olingo.commons.api.edm.provider.annotation.ConstantAnnotationExpression;
-import org.apache.olingo.commons.core.domain.ClientCollectionValueImpl;
-import org.apache.olingo.commons.core.domain.ClientEnumValueImpl;
-import org.apache.olingo.commons.core.domain.ClientPrimitiveValueImpl;
import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeFactory;
public class EdmConstantAnnotationExpressionImpl implements EdmConstantAnnotationExpression {
- private final ClientValue value;
+ private final Valuable value;
+ private final EdmPrimitiveType type;
public EdmConstantAnnotationExpressionImpl(final ConstantAnnotationExpression constExprConstruct) {
if (constExprConstruct.getType() == ConstantAnnotationExpression.Type.EnumMember) {
- final List<ClientEnumValue> enumValues = new ArrayList<ClientEnumValue>();
+ final List<Property> enumValues = new ArrayList<Property>();
String enumTypeName = null;
for (String split : StringUtils.split(constExprConstruct.getValue(), ' ')) {
final String[] enumSplit = StringUtils.split(split, '/');
enumTypeName = enumSplit[0];
- enumValues.add(new ClientEnumValueImpl(enumSplit[0], enumSplit[1]));
+ enumValues.add(new Property(enumSplit[0], enumSplit[1]));
}
if (enumValues.size() == 1) {
value = enumValues.get(0);
} else {
- final ClientCollectionValueImpl<ClientEnumValue> collValue
- = new ClientCollectionValueImpl<ClientEnumValue>(enumTypeName);
- for (ClientValue enumValue : enumValues) {
+ final List<Property> collValue = new ArrayList<Property>();
+ for (Property enumValue : enumValues) {
collValue.add(enumValue);
}
- value = collValue;
+ value = new Property(enumTypeName, "name", ValueType.COLLECTION_ENUM, collValue);
}
+ type = null;
} else {
EdmPrimitiveTypeKind kind;
switch (constExprConstruct.getType()) {
@@ -96,19 +95,30 @@ public class EdmConstantAnnotationExpressionImpl implements EdmConstantAnnotatio
default:
kind = EdmPrimitiveTypeKind.String;
}
- final ClientPrimitiveValueImpl.BuilderImpl primitiveValueBuilder = new ClientPrimitiveValueImpl.BuilderImpl();
- primitiveValueBuilder.setType(kind);
+// final ClientPrimitiveValueImpl.BuilderImpl primitiveValueBuilder = new ClientPrimitiveValueImpl.BuilderImpl();
+// primitiveValueBuilder.setType(kind);
+// try {
+// final EdmPrimitiveType type = EdmPrimitiveTypeFactory.getInstance(kind);
+// primitiveValueBuilder.setValue(
+// type.valueOfString(constExprConstruct.getValue(),
+// null, null, Constants.DEFAULT_PRECISION, Constants.DEFAULT_SCALE, null,
+// type.getDefaultType()));
+// } catch (final EdmPrimitiveTypeException e) {
+// throw new IllegalArgumentException(e);
+// }
+//
+// value = primitiveValueBuilder.build();
+
+ type = EdmPrimitiveTypeFactory.getInstance(kind);
try {
- final EdmPrimitiveType primitiveType = EdmPrimitiveTypeFactory.getInstance(kind);
- primitiveValueBuilder.setValue(
- primitiveType.valueOfString(constExprConstruct.getValue(),
+ Object test = type.valueOfString(constExprConstruct.getValue(),
null, null, Constants.DEFAULT_PRECISION, Constants.DEFAULT_SCALE, null,
- primitiveType.getDefaultType()));
- } catch (final EdmPrimitiveTypeException e) {
+ type.getDefaultType());
+ value = new Property(kind.getFullQualifiedName().getFullQualifiedNameAsString(),
+ "name", ValueType.PRIMITIVE, test);
+ } catch (EdmPrimitiveTypeException e) {
throw new IllegalArgumentException(e);
}
-
- value = primitiveValueBuilder.build();
}
}
@@ -133,8 +143,26 @@ public class EdmConstantAnnotationExpressionImpl implements EdmConstantAnnotatio
}
@Override
- public ClientValue getValue() {
+ public Valuable getValue() {
return value;
}
+ public String toString() {
+ if (value == null) {
+ return "";
+ } else if(value.isEnum()) {
+ return value.toString();
+ } else if (value.isGeospatial()) {
+ return value.toString();
+ } else {
+ // TODO: check after copied from ClientPrimitiveValueImpl
+ try {
+ return type.valueToString(value.getValue(), null, null,
+ Constants.DEFAULT_PRECISION, Constants.DEFAULT_SCALE, null);
+ } catch (EdmPrimitiveTypeException e) {
+ throw new IllegalArgumentException(e);
+ }
+ }
+ }
+
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomDeserializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomDeserializer.java
index 460e367..6b4b72c 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomDeserializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomDeserializer.java
@@ -46,13 +46,13 @@ import org.apache.olingo.commons.api.data.DeltaLink;
import org.apache.olingo.commons.api.data.Entity;
import org.apache.olingo.commons.api.data.EntityCollection;
import org.apache.olingo.commons.api.data.Link;
+import org.apache.olingo.commons.api.data.Operation;
import org.apache.olingo.commons.api.data.Property;
import org.apache.olingo.commons.api.data.ResWrap;
import org.apache.olingo.commons.api.data.Valuable;
import org.apache.olingo.commons.api.data.ValueType;
-import org.apache.olingo.commons.api.domain.ClientError;
-import org.apache.olingo.commons.api.domain.ClientOperation;
-import org.apache.olingo.commons.api.domain.ClientPropertyType;
+import org.apache.olingo.commons.api.domain.ODataError;
+import org.apache.olingo.commons.api.domain.ODataPropertyType;
import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
@@ -214,7 +214,7 @@ public class AtomDeserializer extends AbstractAtomDealer implements ODataDeseria
valuable.setValue(valueType, values);
}
- private ClientPropertyType guessPropertyType(final XMLEventReader reader, final EdmTypeInfo typeInfo)
+ private ODataPropertyType guessPropertyType(final XMLEventReader reader, final EdmTypeInfo typeInfo)
throws XMLStreamException {
XMLEvent child = null;
@@ -227,24 +227,24 @@ public class AtomDeserializer extends AbstractAtomDealer implements ODataDeseria
}
}
- final ClientPropertyType type;
+ final ODataPropertyType type;
if (child == null) {
- type = typeInfo == null || typeInfo.isPrimitiveType() ? ClientPropertyType.PRIMITIVE : ClientPropertyType.ENUM;
+ type = typeInfo == null || typeInfo.isPrimitiveType() ? ODataPropertyType.PRIMITIVE : ODataPropertyType.ENUM;
} else {
if (child.isStartElement()) {
if (Constants.NS_GML.equals(child.asStartElement().getName().getNamespaceURI())) {
- type = ClientPropertyType.PRIMITIVE;
+ type = ODataPropertyType.PRIMITIVE;
} else if (elementQName.equals(child.asStartElement().getName())) {
- type = ClientPropertyType.COLLECTION;
+ type = ODataPropertyType.COLLECTION;
} else {
- type = ClientPropertyType.COMPLEX;
+ type = ODataPropertyType.COMPLEX;
}
} else if (child.isCharacters()) {
type = typeInfo == null || typeInfo.isPrimitiveType()
- ? ClientPropertyType.PRIMITIVE
- : ClientPropertyType.ENUM;
+ ? ODataPropertyType.PRIMITIVE
+ : ODataPropertyType.ENUM;
} else {
- type = ClientPropertyType.EMPTY;
+ type = ODataPropertyType.EMPTY;
}
}
@@ -286,9 +286,9 @@ public class AtomDeserializer extends AbstractAtomDealer implements ODataDeseria
valuable.setType(typeInfo.internal());
}
- final ClientPropertyType propType = typeInfo == null ? guessPropertyType(reader, typeInfo) :
- typeInfo.isCollection() ? ClientPropertyType.COLLECTION :
- typeInfo.isPrimitiveType() ? ClientPropertyType.PRIMITIVE : ClientPropertyType.COMPLEX;
+ final ODataPropertyType propType = typeInfo == null ? guessPropertyType(reader, typeInfo) :
+ typeInfo.isCollection() ? ODataPropertyType.COLLECTION :
+ typeInfo.isPrimitiveType() ? ODataPropertyType.PRIMITIVE : ODataPropertyType.COMPLEX;
if (nullAttr == null) {
switch (propType) {
@@ -316,10 +316,10 @@ public class AtomDeserializer extends AbstractAtomDealer implements ODataDeseria
valuable.setValue(ValueType.PRIMITIVE, StringUtils.EMPTY);
}
} else {
- valuable.setValue(propType == ClientPropertyType.PRIMITIVE ? ValueType.PRIMITIVE :
- propType == ClientPropertyType.ENUM ? ValueType.ENUM :
- propType == ClientPropertyType.COMPLEX ? ValueType.COMPLEX :
- propType == ClientPropertyType.COLLECTION ? ValueType.COLLECTION_PRIMITIVE : ValueType.PRIMITIVE,
+ valuable.setValue(propType == ODataPropertyType.PRIMITIVE ? ValueType.PRIMITIVE :
+ propType == ODataPropertyType.ENUM ? ValueType.ENUM :
+ propType == ODataPropertyType.COMPLEX ? ValueType.COMPLEX :
+ propType == ODataPropertyType.COLLECTION ? ValueType.COLLECTION_PRIMITIVE : ValueType.PRIMITIVE,
null);
}
}
@@ -649,7 +649,7 @@ public class AtomDeserializer extends AbstractAtomDealer implements ODataDeseria
entity.getMediaEditLinks().add(link);
}
} else if (actionQName.equals(event.asStartElement().getName())) {
- final ClientOperation operation = new ClientOperation();
+ final Operation operation = new Operation();
final Attribute metadata =
event.asStartElement().getAttributeByName(QName.valueOf(Constants.ATTR_METADATA));
if (metadata != null) {
@@ -800,8 +800,8 @@ public class AtomDeserializer extends AbstractAtomDealer implements ODataDeseria
}
}
- private ClientError error(final XMLEventReader reader, final StartElement start) throws XMLStreamException {
- final ClientError error = new ClientError();
+ private ODataError error(final XMLEventReader reader, final StartElement start) throws XMLStreamException {
+ final ODataError error = new ODataError();
boolean setCode = false;
boolean codeSet = false;
@@ -851,7 +851,7 @@ public class AtomDeserializer extends AbstractAtomDealer implements ODataDeseria
}
@Override
- public ClientError toError(final InputStream input) throws ODataDeserializerException {
+ public ODataError toError(final InputStream input) throws ODataDeserializerException {
try {
final XMLEventReader reader = getReader(input);
final StartElement start = skipBeforeFirstStartElement(reader);
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/17152920/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomSerializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomSerializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomSerializer.java
index 52a1bd3..2a3bb4a 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomSerializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/AtomSerializer.java
@@ -38,10 +38,10 @@ import org.apache.olingo.commons.api.data.ContextURL;
import org.apache.olingo.commons.api.data.Entity;
import org.apache.olingo.commons.api.data.EntityCollection;
import org.apache.olingo.commons.api.data.Link;
+import org.apache.olingo.commons.api.data.Operation;
import org.apache.olingo.commons.api.data.Property;
import org.apache.olingo.commons.api.data.ResWrap;
import org.apache.olingo.commons.api.data.ValueType;
-import org.apache.olingo.commons.api.domain.ClientOperation;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
import org.apache.olingo.commons.api.edm.geo.Geospatial;
@@ -302,7 +302,7 @@ public class AtomSerializer extends AbstractAtomDealer implements ODataSerialize
links(writer, entity.getMediaEditLinks());
if (serverMode) {
- for (ClientOperation operation : entity.getOperations()) {
+ for (Operation operation : entity.getOperations()) {
writer.writeStartElement(namespaceMetadata, Constants.ATOM_ELEM_ACTION);
writer.writeAttribute(Constants.ATTR_METADATA, operation.getMetadataAnchor());
writer.writeAttribute(Constants.ATTR_TITLE, operation.getTitle());