You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2015/02/18 17:29:26 UTC
[15/17] olingo-odata4 git commit: [OLINGO-575] Merge v4 packages in
commons
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataComplexValueImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataComplexValueImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataComplexValueImpl.java
new file mode 100644
index 0000000..bd148b2
--- /dev/null
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataComplexValueImpl.java
@@ -0,0 +1,161 @@
+/*
+ * 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.ODataAnnotation;
+import org.apache.olingo.commons.api.domain.ODataComplexValue;
+import org.apache.olingo.commons.api.domain.ODataEnumValue;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.domain.ODataLinkedComplexValue;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+public class ODataComplexValueImpl extends AbstractODataComplexValue<ODataProperty> implements ODataLinkedComplexValue {
+
+ /**
+ * Navigation links (might contain in-line entities or entity sets).
+ */
+ private final List<ODataLink> navigationLinks = new ArrayList<ODataLink>();
+
+ /**
+ * Association links.
+ */
+ private final List<ODataLink> associationLinks = new ArrayList<ODataLink>();
+
+ private final List<ODataAnnotation> annotations = new ArrayList<ODataAnnotation>();
+
+ public ODataComplexValueImpl(final String typeName) {
+ super(typeName);
+ }
+
+ @Override
+ protected ODataComplexValue<ODataProperty> getThis() {
+ return this;
+ }
+
+ @Override
+ public boolean isEnum() {
+ return false;
+ }
+
+ @Override
+ public ODataEnumValue asEnum() {
+ return null;
+ }
+
+ @Override
+ public boolean isLinkedComplex() {
+ return true;
+ }
+
+ @Override
+ public ODataLinkedComplexValue asLinkedComplex() {
+ return this;
+ }
+
+ @Override
+ public boolean addLink(final ODataLink 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 ODataLink link) {
+ return associationLinks.remove(link) || navigationLinks.remove(link);
+ }
+
+ private ODataLink getLink(final List<ODataLink> links, final String name) {
+ ODataLink result = null;
+ for (ODataLink link : links) {
+ if (name.equals(link.getName())) {
+ result = link;
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ public ODataLink getNavigationLink(final String name) {
+ return getLink(navigationLinks, name);
+ }
+
+ @Override
+ public List<ODataLink> getNavigationLinks() {
+ return navigationLinks;
+ }
+
+ @Override
+ public ODataLink getAssociationLink(final String name) {
+ return getLink(associationLinks, name);
+ }
+
+ @Override
+ public List<ODataLink> getAssociationLinks() {
+ return associationLinks;
+ }
+
+ @Override
+ public Map<String, Object> asJavaMap() {
+ final Map<String, Object> result = new LinkedHashMap<String, Object>();
+ for (Map.Entry<String, ODataProperty> 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<ODataAnnotation> getAnnotations() {
+ return annotations;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataDeletedEntityImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataDeletedEntityImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataDeletedEntityImpl.java
new file mode 100644
index 0000000..4021996
--- /dev/null
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataDeletedEntityImpl.java
@@ -0,0 +1,54 @@
+/*
+ * 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.ODataDeletedEntity;
+import org.apache.olingo.commons.api.domain.ODataItem;
+
+import java.net.URI;
+
+public class ODataDeletedEntityImpl extends ODataItem implements ODataDeletedEntity {
+
+ private URI id;
+
+ private Reason reason;
+
+ public ODataDeletedEntityImpl() {
+ 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/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataDeltaImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataDeltaImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataDeltaImpl.java
new file mode 100644
index 0000000..f8d6fdf
--- /dev/null
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataDeltaImpl.java
@@ -0,0 +1,60 @@
+/*
+ * 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.ODataDeletedEntity;
+import org.apache.olingo.commons.api.domain.ODataDelta;
+import org.apache.olingo.commons.api.domain.ODataDeltaLink;
+
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+
+public class ODataDeltaImpl extends ODataEntitySetImpl implements ODataDelta {
+
+ private final List<ODataDeletedEntity> deletedEntities = new ArrayList<ODataDeletedEntity>();
+
+ private final List<ODataDeltaLink> addedLinks = new ArrayList<ODataDeltaLink>();
+
+ private final List<ODataDeltaLink> deletedLinks = new ArrayList<ODataDeltaLink>();
+
+ public ODataDeltaImpl() {
+ super();
+ }
+
+ public ODataDeltaImpl(final URI next) {
+ super(next);
+ }
+
+ @Override
+ public List<ODataDeletedEntity> getDeletedEntities() {
+ return deletedEntities;
+ }
+
+ @Override
+ public List<ODataDeltaLink> getAddedLinks() {
+ return addedLinks;
+ }
+
+ @Override
+ public List<ODataDeltaLink> getDeletedLinks() {
+ return deletedLinks;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataDeltaLinkImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataDeltaLinkImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataDeltaLinkImpl.java
new file mode 100644
index 0000000..5a39382
--- /dev/null
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataDeltaLinkImpl.java
@@ -0,0 +1,78 @@
+/*
+ * 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.ODataAnnotation;
+import org.apache.olingo.commons.api.domain.ODataDeltaLink;
+import org.apache.olingo.commons.api.domain.ODataItem;
+
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+
+public class ODataDeltaLinkImpl extends ODataItem implements ODataDeltaLink {
+
+ private URI source;
+
+ private String relationship;
+
+ private URI target;
+
+ private final List<ODataAnnotation> annotations = new ArrayList<ODataAnnotation>();
+
+ public ODataDeltaLinkImpl() {
+ 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<ODataAnnotation> getAnnotations() {
+ return annotations;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataEntityImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataEntityImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataEntityImpl.java
new file mode 100644
index 0000000..84bba6d
--- /dev/null
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataEntityImpl.java
@@ -0,0 +1,70 @@
+/*
+ * 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.olingo.commons.api.domain.ODataAnnotation;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.ODataSingleton;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public class ODataEntityImpl extends AbstractODataEntity implements ODataSingleton {
+
+ /**
+ * Entity id.
+ */
+ private URI id;
+
+ private final List<ODataProperty> properties = new ArrayList<ODataProperty>();
+
+ private final List<ODataAnnotation> annotations = new ArrayList<ODataAnnotation>();
+
+ public ODataEntityImpl(final FullQualifiedName typeName) {
+ super(typeName);
+ }
+
+ @Override
+ public URI getId() {
+ return id;
+ }
+
+ @Override
+ public void setId(final URI id) {
+ this.id = id;
+ }
+
+ @Override
+ public ODataProperty getProperty(final String name) {
+ return (ODataProperty) super.getProperty(name);
+ }
+
+ @Override
+ public List<ODataProperty> getProperties() {
+ return properties;
+ }
+
+ @Override
+ public List<ODataAnnotation> getAnnotations() {
+ return annotations;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataEntitySetImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataEntitySetImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataEntitySetImpl.java
new file mode 100644
index 0000000..b6853c1
--- /dev/null
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataEntitySetImpl.java
@@ -0,0 +1,65 @@
+/*
+ * 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.ODataAnnotation;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
+
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+
+public class ODataEntitySetImpl extends AbstractODataEntitySet implements ODataEntitySet {
+
+ private URI deltaLink;
+
+ private final List<ODataEntity> entities = new ArrayList<ODataEntity>();
+
+ private final List<ODataAnnotation> annotations = new ArrayList<ODataAnnotation>();
+
+ public ODataEntitySetImpl() {
+ super();
+ }
+
+ public ODataEntitySetImpl(final URI next) {
+ super(next);
+ }
+
+ @Override
+ public List<ODataEntity> getEntities() {
+ return entities;
+ }
+
+ @Override
+ public URI getDeltaLink() {
+ return deltaLink;
+ }
+
+ @Override
+ public void setDeltaLink(final URI deltaLink) {
+ this.deltaLink = deltaLink;
+ }
+
+ @Override
+ public List<ODataAnnotation> getAnnotations() {
+ return annotations;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataEnumValueImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataEnumValueImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataEnumValueImpl.java
new file mode 100644
index 0000000..bf76376
--- /dev/null
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataEnumValueImpl.java
@@ -0,0 +1,65 @@
+/*
+ * 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.AbstractODataValue;
+import org.apache.olingo.commons.api.domain.ODataEnumValue;
+import org.apache.olingo.commons.api.domain.ODataLinkedComplexValue;
+
+public class ODataEnumValueImpl extends AbstractODataValue implements ODataEnumValue {
+
+ private final String value;
+
+ public ODataEnumValueImpl(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 ODataEnumValue asEnum() {
+ return this;
+ }
+
+ @Override
+ public boolean isLinkedComplex() {
+ return false;
+ }
+
+ @Override
+ public ODataLinkedComplexValue asLinkedComplex() {
+ return null;
+ }
+
+ @Override
+ public String toString() {
+ return getTypeName() + "'" + getValue() + "'";
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataObjectFactoryImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataObjectFactoryImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataObjectFactoryImpl.java
new file mode 100644
index 0000000..7f7a81c
--- /dev/null
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataObjectFactoryImpl.java
@@ -0,0 +1,156 @@
+/*
+ * 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.CommonODataProperty;
+import org.apache.olingo.commons.api.domain.ODataCollectionValue;
+import org.apache.olingo.commons.api.domain.ODataComplexValue;
+import org.apache.olingo.commons.api.domain.ODataDelta;
+import org.apache.olingo.commons.api.domain.ODataEntity;
+import org.apache.olingo.commons.api.domain.ODataEntitySet;
+import org.apache.olingo.commons.api.domain.ODataEnumValue;
+import org.apache.olingo.commons.api.domain.ODataLink;
+import org.apache.olingo.commons.api.domain.ODataLinkType;
+import org.apache.olingo.commons.api.domain.ODataLinkedComplexValue;
+import org.apache.olingo.commons.api.domain.ODataObjectFactory;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.ODataSingleton;
+import org.apache.olingo.commons.api.domain.ODataValue;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
+
+import java.net.URI;
+
+public class ODataObjectFactoryImpl extends AbstractODataObjectFactory implements ODataObjectFactory {
+
+ public ODataObjectFactoryImpl(final ODataServiceVersion version) {
+ super(version);
+ }
+
+ @Override
+ public ODataEntitySet newEntitySet() {
+ return new ODataEntitySetImpl();
+ }
+
+ @Override
+ public ODataEntitySet newEntitySet(final URI next) {
+ return new ODataEntitySetImpl(next);
+ }
+
+ @Override
+ public ODataEntity newEntity(final FullQualifiedName typeName) {
+ return new ODataEntityImpl(typeName);
+ }
+
+ @Override
+ public ODataEntity newEntity(final FullQualifiedName typeName, final URI link) {
+ final ODataEntityImpl result = new ODataEntityImpl(typeName);
+ result.setLink(link);
+ return result;
+ }
+
+ @Override
+ public ODataSingleton newSingleton(final FullQualifiedName typeName) {
+ return new ODataEntityImpl(typeName);
+ }
+
+ @Override
+ public ODataLink newEntityNavigationLink(final String name, final URI link) {
+ return new ODataLink.Builder().setVersion(version).setURI(link).
+ setType(ODataLinkType.ENTITY_NAVIGATION).setTitle(name).build();
+ }
+
+ @Override
+ public ODataLink newEntitySetNavigationLink(final String name, final URI link) {
+ return new ODataLink.Builder().setVersion(version).setURI(link).
+ setType(ODataLinkType.ENTITY_SET_NAVIGATION).setTitle(name).build();
+ }
+
+ @Override
+ public ODataLink newAssociationLink(final String name, final URI link) {
+ return new ODataLink.Builder().setVersion(version).setURI(link).
+ setType(ODataLinkType.ASSOCIATION).setTitle(name).build();
+ }
+
+ @Override
+ public ODataLink newMediaEditLink(final String name, final URI link) {
+ return new ODataLink.Builder().setVersion(version).setURI(link).
+ setType(ODataLinkType.MEDIA_EDIT).setTitle(name).build();
+ }
+
+ @Override
+ public ODataPrimitiveValue.Builder newPrimitiveValueBuilder() {
+ return new ODataPrimitiveValueImpl.BuilderImpl(version);
+ }
+
+ @Override
+ public ODataEnumValue newEnumValue(final String typeName, final String value) {
+ return new ODataEnumValueImpl(typeName, value);
+ }
+
+ @Override
+ public ODataComplexValue<ODataProperty> newComplexValue(final String typeName) {
+ return new ODataComplexValueImpl(typeName);
+ }
+
+ @Override
+ public ODataLinkedComplexValue newLinkedComplexValue(final String typeName) {
+ return new ODataComplexValueImpl(typeName);
+ }
+
+ @Override
+ public ODataCollectionValue<ODataValue> newCollectionValue(final String typeName) {
+ return new ODataCollectionValueImpl(typeName);
+ }
+
+ @Override
+ public ODataProperty newPrimitiveProperty(final String name, final ODataPrimitiveValue value) {
+ return new ODataPropertyImpl(name, value);
+ }
+
+ @Override
+ public ODataProperty newComplexProperty(final String name,
+ final ODataComplexValue<? extends CommonODataProperty> value) {
+
+ return new ODataPropertyImpl(name, value);
+ }
+
+ @Override
+ public ODataProperty newCollectionProperty(final String name,
+ final ODataCollectionValue<? extends org.apache.olingo.commons.api.domain.ODataValue> value) {
+
+ return new ODataPropertyImpl(name, value);
+ }
+
+ @Override
+ public ODataProperty newEnumProperty(final String name, final ODataEnumValue value) {
+ return new ODataPropertyImpl(name, value);
+ }
+
+ @Override
+ public ODataDelta newDelta() {
+ return new ODataDeltaImpl();
+ }
+
+ @Override
+ public ODataDelta newDelta(final URI next) {
+ return new ODataDeltaImpl(next);
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataPrimitiveValueImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataPrimitiveValueImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataPrimitiveValueImpl.java
new file mode 100644
index 0000000..e50d8ad
--- /dev/null
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataPrimitiveValueImpl.java
@@ -0,0 +1,69 @@
+/*
+ * 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.ODataEnumValue;
+import org.apache.olingo.commons.api.domain.ODataLinkedComplexValue;
+import org.apache.olingo.commons.api.domain.ODataValue;
+import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
+
+public class ODataPrimitiveValueImpl extends AbstractODataPrimitiveValue implements ODataValue {
+
+ public static class BuilderImpl extends AbstractBuilder {
+
+ private final ODataPrimitiveValueImpl instance;
+
+ public BuilderImpl(final ODataServiceVersion version) {
+ super(version);
+ instance = new ODataPrimitiveValueImpl();
+ }
+
+ @Override
+ protected AbstractODataPrimitiveValue getInstance() {
+ return instance;
+ }
+
+ @Override
+ public ODataPrimitiveValueImpl build() {
+ return (ODataPrimitiveValueImpl) super.build();
+ }
+
+ }
+
+ @Override
+ public boolean isEnum() {
+ return false;
+ }
+
+ @Override
+ public ODataEnumValue asEnum() {
+ return null;
+ }
+
+ @Override
+ public boolean isLinkedComplex() {
+ return false;
+ }
+
+ @Override
+ public ODataLinkedComplexValue asLinkedComplex() {
+ return null;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataPropertyImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataPropertyImpl.java
new file mode 100644
index 0000000..e1560b3
--- /dev/null
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataPropertyImpl.java
@@ -0,0 +1,88 @@
+/*
+ * 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.ODataAnnotation;
+import org.apache.olingo.commons.api.domain.ODataCollectionValue;
+import org.apache.olingo.commons.api.domain.ODataComplexValue;
+import org.apache.olingo.commons.api.domain.ODataEnumValue;
+import org.apache.olingo.commons.api.domain.ODataLinkedComplexValue;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.ODataValuable;
+import org.apache.olingo.commons.api.domain.ODataValue;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ODataPropertyImpl extends AbstractODataProperty implements ODataProperty {
+
+ private final ODataValuable valuable;
+
+ private final List<ODataAnnotation> annotations = new ArrayList<ODataAnnotation>();
+
+ public ODataPropertyImpl(final String name, final org.apache.olingo.commons.api.domain.ODataValue value) {
+ super(name, value);
+ valuable = new ODataValuableImpl((ODataValue) value);
+ }
+
+ @Override
+ public ODataValue getValue() {
+ return valuable.getValue();
+ }
+
+ @Override
+ public boolean hasEnumValue() {
+ return valuable.hasEnumValue();
+ }
+
+ @Override
+ public ODataEnumValue getEnumValue() {
+ return valuable.getEnumValue();
+ }
+
+ @Override
+ public ODataComplexValue<ODataProperty> getComplexValue() {
+ return valuable.getComplexValue();
+ }
+
+ @Override
+ public ODataLinkedComplexValue getLinkedComplexValue() {
+ return valuable.getLinkedComplexValue();
+ }
+
+ @Override
+ public ODataCollectionValue<ODataValue> getCollectionValue() {
+ return valuable.getCollectionValue();
+ }
+
+ @Override
+ public List<ODataAnnotation> 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/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataValuableImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataValuableImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataValuableImpl.java
new file mode 100644
index 0000000..090a584
--- /dev/null
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/ODataValuableImpl.java
@@ -0,0 +1,120 @@
+/*
+ * 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.ODataCollectionValue;
+import org.apache.olingo.commons.api.domain.ODataComplexValue;
+import org.apache.olingo.commons.api.domain.ODataEnumValue;
+import org.apache.olingo.commons.api.domain.ODataLinkedComplexValue;
+import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
+import org.apache.olingo.commons.api.domain.ODataProperty;
+import org.apache.olingo.commons.api.domain.ODataValuable;
+import org.apache.olingo.commons.api.domain.ODataValue;
+
+public class ODataValuableImpl implements ODataValuable {
+
+ private final ODataValue value;
+
+ public ODataValuableImpl(final ODataValue value) {
+ this.value = value;
+ }
+
+ @Override
+ public ODataValue getValue() {
+ return value;
+ }
+
+ @Override
+ public boolean hasNullValue() {
+ return value == null;
+ }
+
+ @Override
+ public boolean hasPrimitiveValue() {
+ return !hasNullValue() && value.isPrimitive();
+ }
+
+ @Override
+ public ODataPrimitiveValue getPrimitiveValue() {
+ return hasPrimitiveValue() ? value.asPrimitive() : null;
+ }
+
+ @Override
+ public boolean hasCollectionValue() {
+ return !hasNullValue() && value.isCollection();
+ }
+
+ @Override
+ public ODataCollectionValue<ODataValue> getCollectionValue() {
+ return hasCollectionValue()
+ ? getValue().<ODataValue> asCollection()
+ : null;
+ }
+
+ @Override
+ public boolean hasComplexValue() {
+ return !hasNullValue() && value.isComplex();
+ }
+
+ @Override
+ public ODataComplexValue<ODataProperty> getComplexValue() {
+ return hasComplexValue()
+ ? getValue().<ODataProperty> asComplex()
+ : null;
+ }
+
+ @Override
+ public ODataLinkedComplexValue getLinkedComplexValue() {
+ return hasComplexValue()
+ ? getValue().asLinkedComplex()
+ : null;
+ }
+
+ @Override
+ public boolean hasEnumValue() {
+ return !hasNullValue() && getValue().isEnum();
+ }
+
+ @Override
+ public ODataEnumValue 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/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataAnnotationImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataAnnotationImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataAnnotationImpl.java
deleted file mode 100644
index 436217c..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataAnnotationImpl.java
+++ /dev/null
@@ -1,109 +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.v4;
-
-import org.apache.olingo.commons.api.domain.ODataCollectionValue;
-import org.apache.olingo.commons.api.domain.ODataComplexValue;
-import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.commons.api.domain.v4.ODataAnnotation;
-import org.apache.olingo.commons.api.domain.v4.ODataEnumValue;
-import org.apache.olingo.commons.api.domain.v4.ODataLinkedComplexValue;
-import org.apache.olingo.commons.api.domain.v4.ODataProperty;
-import org.apache.olingo.commons.api.domain.v4.ODataValuable;
-import org.apache.olingo.commons.api.domain.v4.ODataValue;
-
-public class ODataAnnotationImpl implements ODataAnnotation {
-
- private final String term;
-
- private final ODataValuable valuable;
-
- public ODataAnnotationImpl(final String term, final ODataValue value) {
- this.term = term;
- valuable = new ODataValuableImpl(value);
- }
-
- @Override
- public String getTerm() {
- return term;
- }
-
- @Override
- public ODataValue getValue() {
- return valuable.getValue();
- }
-
- @Override
- public boolean hasNullValue() {
- return valuable.hasNullValue();
- }
-
- @Override
- public boolean hasPrimitiveValue() {
- return valuable.hasPrimitiveValue();
- }
-
- @Override
- public ODataPrimitiveValue getPrimitiveValue() {
- return valuable.getPrimitiveValue();
- }
-
- @Override
- public boolean hasCollectionValue() {
- return valuable.hasCollectionValue();
- }
-
- @Override
- public ODataCollectionValue<ODataValue> getCollectionValue() {
- return valuable.getCollectionValue();
- }
-
- @Override
- public boolean hasComplexValue() {
- return valuable.hasComplexValue();
- }
-
- @Override
- public ODataComplexValue<ODataProperty> getComplexValue() {
- return valuable.getComplexValue();
- }
-
- @Override
- public ODataLinkedComplexValue getLinkedComplexValue() {
- return valuable.getLinkedComplexValue();
- }
-
- @Override
- public boolean hasEnumValue() {
- return valuable.hasEnumValue();
- }
-
- @Override
- public ODataEnumValue 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/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataCollectionValueImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataCollectionValueImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataCollectionValueImpl.java
deleted file mode 100644
index 6f29af3..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataCollectionValueImpl.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.v4;
-
-import org.apache.olingo.commons.api.domain.v4.ODataEnumValue;
-import org.apache.olingo.commons.api.domain.v4.ODataLinkedComplexValue;
-import org.apache.olingo.commons.api.domain.v4.ODataValue;
-import org.apache.olingo.commons.core.domain.AbstractODataCollectionValue;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-public class ODataCollectionValueImpl extends AbstractODataCollectionValue<ODataValue> implements ODataValue {
-
- public ODataCollectionValueImpl(final String typeName) {
- super(typeName);
- }
-
- @Override
- protected ODataCollectionValueImpl getThis() {
- return this;
- }
-
- @Override
- public boolean isEnum() {
- return false;
- }
-
- @Override
- public ODataEnumValue asEnum() {
- return null;
- }
-
- @Override
- public boolean isLinkedComplex() {
- return false;
- }
-
- @Override
- public ODataLinkedComplexValue asLinkedComplex() {
- return null;
- }
-
- @Override
- public Collection<Object> asJavaCollection() {
- final List<Object> result = new ArrayList<Object>();
- for (ODataValue 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;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataComplexValueImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataComplexValueImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataComplexValueImpl.java
deleted file mode 100644
index 9a3ed7b..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataComplexValueImpl.java
+++ /dev/null
@@ -1,162 +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.v4;
-
-import org.apache.olingo.commons.api.domain.ODataComplexValue;
-import org.apache.olingo.commons.api.domain.ODataLink;
-import org.apache.olingo.commons.api.domain.v4.ODataAnnotation;
-import org.apache.olingo.commons.api.domain.v4.ODataEnumValue;
-import org.apache.olingo.commons.api.domain.v4.ODataLinkedComplexValue;
-import org.apache.olingo.commons.api.domain.v4.ODataProperty;
-import org.apache.olingo.commons.core.domain.AbstractODataComplexValue;
-
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-public class ODataComplexValueImpl extends AbstractODataComplexValue<ODataProperty> implements ODataLinkedComplexValue {
-
- /**
- * Navigation links (might contain in-line entities or entity sets).
- */
- private final List<ODataLink> navigationLinks = new ArrayList<ODataLink>();
-
- /**
- * Association links.
- */
- private final List<ODataLink> associationLinks = new ArrayList<ODataLink>();
-
- private final List<ODataAnnotation> annotations = new ArrayList<ODataAnnotation>();
-
- public ODataComplexValueImpl(final String typeName) {
- super(typeName);
- }
-
- @Override
- protected ODataComplexValue<ODataProperty> getThis() {
- return this;
- }
-
- @Override
- public boolean isEnum() {
- return false;
- }
-
- @Override
- public ODataEnumValue asEnum() {
- return null;
- }
-
- @Override
- public boolean isLinkedComplex() {
- return true;
- }
-
- @Override
- public ODataLinkedComplexValue asLinkedComplex() {
- return this;
- }
-
- @Override
- public boolean addLink(final ODataLink 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 ODataLink link) {
- return associationLinks.remove(link) || navigationLinks.remove(link);
- }
-
- private ODataLink getLink(final List<ODataLink> links, final String name) {
- ODataLink result = null;
- for (ODataLink link : links) {
- if (name.equals(link.getName())) {
- result = link;
- }
- }
-
- return result;
- }
-
- @Override
- public ODataLink getNavigationLink(final String name) {
- return getLink(navigationLinks, name);
- }
-
- @Override
- public List<ODataLink> getNavigationLinks() {
- return navigationLinks;
- }
-
- @Override
- public ODataLink getAssociationLink(final String name) {
- return getLink(associationLinks, name);
- }
-
- @Override
- public List<ODataLink> getAssociationLinks() {
- return associationLinks;
- }
-
- @Override
- public Map<String, Object> asJavaMap() {
- final Map<String, Object> result = new LinkedHashMap<String, Object>();
- for (Map.Entry<String, ODataProperty> 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<ODataAnnotation> getAnnotations() {
- return annotations;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataDeletedEntityImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataDeletedEntityImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataDeletedEntityImpl.java
deleted file mode 100644
index 8722d7d..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataDeletedEntityImpl.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.v4;
-
-import org.apache.olingo.commons.api.domain.ODataItem;
-import org.apache.olingo.commons.api.domain.v4.ODataDeletedEntity;
-
-import java.net.URI;
-
-public class ODataDeletedEntityImpl extends ODataItem implements ODataDeletedEntity {
-
- private URI id;
-
- private Reason reason;
-
- public ODataDeletedEntityImpl() {
- 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/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataDeltaImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataDeltaImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataDeltaImpl.java
deleted file mode 100644
index 18e7655..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataDeltaImpl.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.v4;
-
-import org.apache.olingo.commons.api.domain.v4.ODataDeletedEntity;
-import org.apache.olingo.commons.api.domain.v4.ODataDelta;
-import org.apache.olingo.commons.api.domain.v4.ODataDeltaLink;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-public class ODataDeltaImpl extends ODataEntitySetImpl implements ODataDelta {
-
- private final List<ODataDeletedEntity> deletedEntities = new ArrayList<ODataDeletedEntity>();
-
- private final List<ODataDeltaLink> addedLinks = new ArrayList<ODataDeltaLink>();
-
- private final List<ODataDeltaLink> deletedLinks = new ArrayList<ODataDeltaLink>();
-
- public ODataDeltaImpl() {
- super();
- }
-
- public ODataDeltaImpl(final URI next) {
- super(next);
- }
-
- @Override
- public List<ODataDeletedEntity> getDeletedEntities() {
- return deletedEntities;
- }
-
- @Override
- public List<ODataDeltaLink> getAddedLinks() {
- return addedLinks;
- }
-
- @Override
- public List<ODataDeltaLink> getDeletedLinks() {
- return deletedLinks;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataDeltaLinkImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataDeltaLinkImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataDeltaLinkImpl.java
deleted file mode 100644
index a0d18e6..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataDeltaLinkImpl.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.v4;
-
-import org.apache.olingo.commons.api.domain.ODataItem;
-import org.apache.olingo.commons.api.domain.v4.ODataAnnotation;
-import org.apache.olingo.commons.api.domain.v4.ODataDeltaLink;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-public class ODataDeltaLinkImpl extends ODataItem implements ODataDeltaLink {
-
- private URI source;
-
- private String relationship;
-
- private URI target;
-
- private final List<ODataAnnotation> annotations = new ArrayList<ODataAnnotation>();
-
- public ODataDeltaLinkImpl() {
- 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<ODataAnnotation> getAnnotations() {
- return annotations;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataEntityImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataEntityImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataEntityImpl.java
deleted file mode 100644
index 24063f4..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataEntityImpl.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.v4;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.olingo.commons.api.domain.v4.ODataAnnotation;
-import org.apache.olingo.commons.api.domain.v4.ODataProperty;
-import org.apache.olingo.commons.api.domain.v4.ODataSingleton;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.core.domain.AbstractODataEntity;
-
-public class ODataEntityImpl extends AbstractODataEntity implements ODataSingleton {
-
- /**
- * Entity id.
- */
- private URI id;
-
- private final List<ODataProperty> properties = new ArrayList<ODataProperty>();
-
- private final List<ODataAnnotation> annotations = new ArrayList<ODataAnnotation>();
-
- public ODataEntityImpl(final FullQualifiedName typeName) {
- super(typeName);
- }
-
- @Override
- public URI getId() {
- return id;
- }
-
- @Override
- public void setId(final URI id) {
- this.id = id;
- }
-
- @Override
- public ODataProperty getProperty(final String name) {
- return (ODataProperty) super.getProperty(name);
- }
-
- @Override
- public List<ODataProperty> getProperties() {
- return properties;
- }
-
- @Override
- public List<ODataAnnotation> getAnnotations() {
- return annotations;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataEntitySetImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataEntitySetImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataEntitySetImpl.java
deleted file mode 100644
index eda164e..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataEntitySetImpl.java
+++ /dev/null
@@ -1,66 +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.v4;
-
-import org.apache.olingo.commons.api.domain.v4.ODataAnnotation;
-import org.apache.olingo.commons.api.domain.v4.ODataEntity;
-import org.apache.olingo.commons.api.domain.v4.ODataEntitySet;
-import org.apache.olingo.commons.core.domain.AbstractODataEntitySet;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-public class ODataEntitySetImpl extends AbstractODataEntitySet implements ODataEntitySet {
-
- private URI deltaLink;
-
- private final List<ODataEntity> entities = new ArrayList<ODataEntity>();
-
- private final List<ODataAnnotation> annotations = new ArrayList<ODataAnnotation>();
-
- public ODataEntitySetImpl() {
- super();
- }
-
- public ODataEntitySetImpl(final URI next) {
- super(next);
- }
-
- @Override
- public List<ODataEntity> getEntities() {
- return entities;
- }
-
- @Override
- public URI getDeltaLink() {
- return deltaLink;
- }
-
- @Override
- public void setDeltaLink(final URI deltaLink) {
- this.deltaLink = deltaLink;
- }
-
- @Override
- public List<ODataAnnotation> getAnnotations() {
- return annotations;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataEnumValueImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataEnumValueImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataEnumValueImpl.java
deleted file mode 100644
index 52c8898..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataEnumValueImpl.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.v4;
-
-import org.apache.olingo.commons.api.domain.AbstractODataValue;
-import org.apache.olingo.commons.api.domain.v4.ODataEnumValue;
-import org.apache.olingo.commons.api.domain.v4.ODataLinkedComplexValue;
-
-public class ODataEnumValueImpl extends AbstractODataValue implements ODataEnumValue {
-
- private final String value;
-
- public ODataEnumValueImpl(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 ODataEnumValue asEnum() {
- return this;
- }
-
- @Override
- public boolean isLinkedComplex() {
- return false;
- }
-
- @Override
- public ODataLinkedComplexValue asLinkedComplex() {
- return null;
- }
-
- @Override
- public String toString() {
- return getTypeName() + "'" + getValue() + "'";
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataObjectFactoryImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataObjectFactoryImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataObjectFactoryImpl.java
deleted file mode 100644
index 6c3c79a..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataObjectFactoryImpl.java
+++ /dev/null
@@ -1,157 +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.v4;
-
-import org.apache.olingo.commons.api.domain.CommonODataProperty;
-import org.apache.olingo.commons.api.domain.ODataCollectionValue;
-import org.apache.olingo.commons.api.domain.ODataComplexValue;
-import org.apache.olingo.commons.api.domain.ODataLinkType;
-import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.commons.api.domain.v4.ODataDelta;
-import org.apache.olingo.commons.api.domain.v4.ODataEntity;
-import org.apache.olingo.commons.api.domain.v4.ODataEntitySet;
-import org.apache.olingo.commons.api.domain.v4.ODataEnumValue;
-import org.apache.olingo.commons.api.domain.v4.ODataLink;
-import org.apache.olingo.commons.api.domain.v4.ODataLinkedComplexValue;
-import org.apache.olingo.commons.api.domain.v4.ODataObjectFactory;
-import org.apache.olingo.commons.api.domain.v4.ODataProperty;
-import org.apache.olingo.commons.api.domain.v4.ODataSingleton;
-import org.apache.olingo.commons.api.domain.v4.ODataValue;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-import org.apache.olingo.commons.core.domain.AbstractODataObjectFactory;
-
-import java.net.URI;
-
-public class ODataObjectFactoryImpl extends AbstractODataObjectFactory implements ODataObjectFactory {
-
- public ODataObjectFactoryImpl(final ODataServiceVersion version) {
- super(version);
- }
-
- @Override
- public ODataEntitySet newEntitySet() {
- return new ODataEntitySetImpl();
- }
-
- @Override
- public ODataEntitySet newEntitySet(final URI next) {
- return new ODataEntitySetImpl(next);
- }
-
- @Override
- public ODataEntity newEntity(final FullQualifiedName typeName) {
- return new ODataEntityImpl(typeName);
- }
-
- @Override
- public ODataEntity newEntity(final FullQualifiedName typeName, final URI link) {
- final ODataEntityImpl result = new ODataEntityImpl(typeName);
- result.setLink(link);
- return result;
- }
-
- @Override
- public ODataSingleton newSingleton(final FullQualifiedName typeName) {
- return new ODataEntityImpl(typeName);
- }
-
- @Override
- public ODataLink newEntityNavigationLink(final String name, final URI link) {
- return new ODataLink.Builder().setVersion(version).setURI(link).
- setType(ODataLinkType.ENTITY_NAVIGATION).setTitle(name).build();
- }
-
- @Override
- public ODataLink newEntitySetNavigationLink(final String name, final URI link) {
- return new ODataLink.Builder().setVersion(version).setURI(link).
- setType(ODataLinkType.ENTITY_SET_NAVIGATION).setTitle(name).build();
- }
-
- @Override
- public ODataLink newAssociationLink(final String name, final URI link) {
- return new ODataLink.Builder().setVersion(version).setURI(link).
- setType(ODataLinkType.ASSOCIATION).setTitle(name).build();
- }
-
- @Override
- public ODataLink newMediaEditLink(final String name, final URI link) {
- return new ODataLink.Builder().setVersion(version).setURI(link).
- setType(ODataLinkType.MEDIA_EDIT).setTitle(name).build();
- }
-
- @Override
- public ODataPrimitiveValue.Builder newPrimitiveValueBuilder() {
- return new ODataPrimitiveValueImpl.BuilderImpl(version);
- }
-
- @Override
- public ODataEnumValue newEnumValue(final String typeName, final String value) {
- return new ODataEnumValueImpl(typeName, value);
- }
-
- @Override
- public ODataComplexValue<ODataProperty> newComplexValue(final String typeName) {
- return new ODataComplexValueImpl(typeName);
- }
-
- @Override
- public ODataLinkedComplexValue newLinkedComplexValue(final String typeName) {
- return new ODataComplexValueImpl(typeName);
- }
-
- @Override
- public ODataCollectionValue<ODataValue> newCollectionValue(final String typeName) {
- return new ODataCollectionValueImpl(typeName);
- }
-
- @Override
- public ODataProperty newPrimitiveProperty(final String name, final ODataPrimitiveValue value) {
- return new ODataPropertyImpl(name, value);
- }
-
- @Override
- public ODataProperty newComplexProperty(final String name,
- final ODataComplexValue<? extends CommonODataProperty> value) {
-
- return new ODataPropertyImpl(name, value);
- }
-
- @Override
- public ODataProperty newCollectionProperty(final String name,
- final ODataCollectionValue<? extends org.apache.olingo.commons.api.domain.ODataValue> value) {
-
- return new ODataPropertyImpl(name, value);
- }
-
- @Override
- public ODataProperty newEnumProperty(final String name, final ODataEnumValue value) {
- return new ODataPropertyImpl(name, value);
- }
-
- @Override
- public ODataDelta newDelta() {
- return new ODataDeltaImpl();
- }
-
- @Override
- public ODataDelta newDelta(final URI next) {
- return new ODataDeltaImpl(next);
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataPrimitiveValueImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataPrimitiveValueImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataPrimitiveValueImpl.java
deleted file mode 100644
index 97f252d..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataPrimitiveValueImpl.java
+++ /dev/null
@@ -1,70 +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.v4;
-
-import org.apache.olingo.commons.api.domain.v4.ODataEnumValue;
-import org.apache.olingo.commons.api.domain.v4.ODataLinkedComplexValue;
-import org.apache.olingo.commons.api.domain.v4.ODataValue;
-import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
-import org.apache.olingo.commons.core.domain.AbstractODataPrimitiveValue;
-
-public class ODataPrimitiveValueImpl extends AbstractODataPrimitiveValue implements ODataValue {
-
- public static class BuilderImpl extends AbstractBuilder {
-
- private final ODataPrimitiveValueImpl instance;
-
- public BuilderImpl(final ODataServiceVersion version) {
- super(version);
- instance = new ODataPrimitiveValueImpl();
- }
-
- @Override
- protected AbstractODataPrimitiveValue getInstance() {
- return instance;
- }
-
- @Override
- public ODataPrimitiveValueImpl build() {
- return (ODataPrimitiveValueImpl) super.build();
- }
-
- }
-
- @Override
- public boolean isEnum() {
- return false;
- }
-
- @Override
- public ODataEnumValue asEnum() {
- return null;
- }
-
- @Override
- public boolean isLinkedComplex() {
- return false;
- }
-
- @Override
- public ODataLinkedComplexValue asLinkedComplex() {
- return null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataPropertyImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataPropertyImpl.java
deleted file mode 100644
index 84a35dc..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataPropertyImpl.java
+++ /dev/null
@@ -1,89 +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.v4;
-
-import org.apache.olingo.commons.api.domain.ODataCollectionValue;
-import org.apache.olingo.commons.api.domain.ODataComplexValue;
-import org.apache.olingo.commons.api.domain.v4.ODataAnnotation;
-import org.apache.olingo.commons.api.domain.v4.ODataEnumValue;
-import org.apache.olingo.commons.api.domain.v4.ODataLinkedComplexValue;
-import org.apache.olingo.commons.api.domain.v4.ODataProperty;
-import org.apache.olingo.commons.api.domain.v4.ODataValuable;
-import org.apache.olingo.commons.api.domain.v4.ODataValue;
-import org.apache.olingo.commons.core.domain.AbstractODataProperty;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ODataPropertyImpl extends AbstractODataProperty implements ODataProperty {
-
- private final ODataValuable valuable;
-
- private final List<ODataAnnotation> annotations = new ArrayList<ODataAnnotation>();
-
- public ODataPropertyImpl(final String name, final org.apache.olingo.commons.api.domain.ODataValue value) {
- super(name, value);
- valuable = new ODataValuableImpl((ODataValue) value);
- }
-
- @Override
- public ODataValue getValue() {
- return valuable.getValue();
- }
-
- @Override
- public boolean hasEnumValue() {
- return valuable.hasEnumValue();
- }
-
- @Override
- public ODataEnumValue getEnumValue() {
- return valuable.getEnumValue();
- }
-
- @Override
- public ODataComplexValue<ODataProperty> getComplexValue() {
- return valuable.getComplexValue();
- }
-
- @Override
- public ODataLinkedComplexValue getLinkedComplexValue() {
- return valuable.getLinkedComplexValue();
- }
-
- @Override
- public ODataCollectionValue<ODataValue> getCollectionValue() {
- return valuable.getCollectionValue();
- }
-
- @Override
- public List<ODataAnnotation> 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/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataValuableImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataValuableImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataValuableImpl.java
deleted file mode 100644
index 664691c..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/domain/v4/ODataValuableImpl.java
+++ /dev/null
@@ -1,120 +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.v4;
-
-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.ODataCollectionValue;
-import org.apache.olingo.commons.api.domain.ODataComplexValue;
-import org.apache.olingo.commons.api.domain.ODataPrimitiveValue;
-import org.apache.olingo.commons.api.domain.v4.ODataEnumValue;
-import org.apache.olingo.commons.api.domain.v4.ODataLinkedComplexValue;
-import org.apache.olingo.commons.api.domain.v4.ODataProperty;
-import org.apache.olingo.commons.api.domain.v4.ODataValuable;
-import org.apache.olingo.commons.api.domain.v4.ODataValue;
-
-public class ODataValuableImpl implements ODataValuable {
-
- private final ODataValue value;
-
- public ODataValuableImpl(final ODataValue value) {
- this.value = value;
- }
-
- @Override
- public ODataValue getValue() {
- return value;
- }
-
- @Override
- public boolean hasNullValue() {
- return value == null;
- }
-
- @Override
- public boolean hasPrimitiveValue() {
- return !hasNullValue() && value.isPrimitive();
- }
-
- @Override
- public ODataPrimitiveValue getPrimitiveValue() {
- return hasPrimitiveValue() ? value.asPrimitive() : null;
- }
-
- @Override
- public boolean hasCollectionValue() {
- return !hasNullValue() && value.isCollection();
- }
-
- @Override
- public ODataCollectionValue<ODataValue> getCollectionValue() {
- return hasCollectionValue()
- ? getValue().<ODataValue> asCollection()
- : null;
- }
-
- @Override
- public boolean hasComplexValue() {
- return !hasNullValue() && value.isComplex();
- }
-
- @Override
- public ODataComplexValue<ODataProperty> getComplexValue() {
- return hasComplexValue()
- ? getValue().<ODataProperty> asComplex()
- : null;
- }
-
- @Override
- public ODataLinkedComplexValue getLinkedComplexValue() {
- return hasComplexValue()
- ? getValue().asLinkedComplex()
- : null;
- }
-
- @Override
- public boolean hasEnumValue() {
- return !hasNullValue() && getValue().isEnum();
- }
-
- @Override
- public ODataEnumValue 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/111239d7/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 548063e..4431303 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
@@ -61,13 +61,13 @@ import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
import org.apache.olingo.commons.core.data.AbstractODataObject;
import org.apache.olingo.commons.core.data.AnnotationImpl;
import org.apache.olingo.commons.core.data.DeletedEntityImpl;
+import org.apache.olingo.commons.core.data.DeltaImpl;
import org.apache.olingo.commons.core.data.DeltaLinkImpl;
import org.apache.olingo.commons.core.data.EntityImpl;
import org.apache.olingo.commons.core.data.EntitySetImpl;
import org.apache.olingo.commons.core.data.LinkImpl;
import org.apache.olingo.commons.core.data.LinkedComplexValueImpl;
import org.apache.olingo.commons.core.data.PropertyImpl;
-import org.apache.olingo.commons.core.data.v4.DeltaImpl;
import org.apache.olingo.commons.core.edm.EdmTypeInfo;
import com.fasterxml.aalto.stax.InputFactoryImpl;
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/111239d7/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonDeltaDeserializer.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonDeltaDeserializer.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonDeltaDeserializer.java
index a9d4fb4..037b436 100644
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonDeltaDeserializer.java
+++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/serialization/JsonDeltaDeserializer.java
@@ -23,6 +23,7 @@ import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
+
import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.commons.api.Constants;
import org.apache.olingo.commons.api.data.ContextURL;
@@ -31,8 +32,8 @@ import org.apache.olingo.commons.api.data.ResWrap;
import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.api.serialization.ODataDeserializerException;
import org.apache.olingo.commons.core.data.DeletedEntityImpl;
+import org.apache.olingo.commons.core.data.DeltaImpl;
import org.apache.olingo.commons.core.data.DeltaLinkImpl;
-import org.apache.olingo.commons.core.data.v4.DeltaImpl;
import java.io.IOException;
import java.io.InputStream;