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/03/18 14:04:49 UTC
[5/6] olingo-odata4 git commit: [OLINGO-575] Merge EdmImpl classes
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
deleted file mode 100644
index 7e3f7f0..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityContainerImpl.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmActionImport;
-import org.apache.olingo.commons.api.edm.EdmAnnotation;
-import org.apache.olingo.commons.api.edm.EdmEntitySet;
-import org.apache.olingo.commons.api.edm.EdmFunctionImport;
-import org.apache.olingo.commons.api.edm.EdmSingleton;
-import org.apache.olingo.commons.api.edm.EdmTerm;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.provider.ActionImport;
-import org.apache.olingo.commons.api.edm.provider.EntityContainer;
-import org.apache.olingo.commons.api.edm.provider.EntitySet;
-import org.apache.olingo.commons.api.edm.provider.FunctionImport;
-import org.apache.olingo.commons.api.edm.provider.Singleton;
-import org.apache.olingo.commons.core.edm.AbstractEdmEntityContainer;
-import org.apache.olingo.commons.core.edm.EdmAnnotationHelper;
-import org.apache.olingo.commons.core.edm.EdmTypeInfo;
-
-public class EdmEntityContainerImpl extends AbstractEdmEntityContainer {
-
- private final EntityContainer xmlEntityContainer;
-
- private EdmAnnotationHelper helper;
-
- public EdmEntityContainerImpl(final Edm edm, final FullQualifiedName entityContainerName,
- final EntityContainer xmlEntityContainer) {
-
- super(edm, entityContainerName, xmlEntityContainer.getExtendsContainer() == null
- ? null : new FullQualifiedName(xmlEntityContainer.getExtendsContainer()));
-
- this.xmlEntityContainer = xmlEntityContainer;
- this.helper = new EdmAnnotationHelperImpl(edm, xmlEntityContainer);
- }
-
- @Override
- public boolean isDefault() {
- return true;
- }
-
- @Override
- protected EdmSingleton createSingleton(final String singletonName) {
- final Singleton singleton = xmlEntityContainer.getSingleton(singletonName);
- return singleton == null
- ? null
- : new EdmSingletonImpl(edm, this, singletonName, new EdmTypeInfo.Builder().
- setTypeExpression(singleton.getType()).
- setDefaultNamespace(entityContainerName.getNamespace()).
- build().getFullQualifiedName(), singleton);
- }
-
- @Override
- protected EdmEntitySet createEntitySet(final String entitySetName) {
- EdmEntitySet result = null;
-
- final EntitySet entitySet = xmlEntityContainer.getEntitySet(entitySetName);
- if (entitySet != null) {
- final FullQualifiedName entityType = new EdmTypeInfo.Builder().setTypeExpression(entitySet.getType()).
- setDefaultNamespace(entityContainerName.getNamespace()).build().getFullQualifiedName();
- result = new EdmEntitySetImpl(edm, this, entitySetName, entityType, entitySet);
- }
-
- return result;
- }
-
- @Override
- protected EdmActionImport createActionImport(final String actionImportName) {
- EdmActionImport result = null;
-
- final ActionImport actionImport = xmlEntityContainer.getActionImport(actionImportName);
- if (actionImport != null) {
- result = new EdmActionImportImpl(edm, this, actionImportName, actionImport);
- }
- return result;
- }
-
- @Override
- protected EdmFunctionImport createFunctionImport(final String functionImportName) {
- EdmFunctionImport result = null;
-
- final FunctionImport functionImport = xmlEntityContainer.getFunctionImport(functionImportName);
- if (functionImport != null) {
- result = new EdmFunctionImportImpl(edm, this, functionImportName, functionImport);
- }
-
- return result;
- }
-
- @Override
- protected void loadAllEntitySets() {
- List<? extends EntitySet> localEntitySets = xmlEntityContainer.getEntitySets();
- if (localEntitySets != null) {
- for (EntitySet entitySet : localEntitySets) {
- EdmEntitySet edmSet;
- final FullQualifiedName entityType = new EdmTypeInfo.Builder().setTypeExpression(entitySet.getType()).
- setDefaultNamespace(entityContainerName.getNamespace()).build().getFullQualifiedName();
- edmSet = new EdmEntitySetImpl(edm, this, entitySet.getName(), entityType, entitySet);
- entitySets.put(edmSet.getName(), edmSet);
- }
- }
- }
-
- @Override
- protected void loadAllFunctionImports() {
- final List<? extends FunctionImport> localFunctionImports = xmlEntityContainer.getFunctionImports();
- for (FunctionImport functionImport : localFunctionImports) {
- EdmFunctionImport edmFunctionImport;
- edmFunctionImport = new EdmFunctionImportImpl(edm, this, functionImport.getName(), functionImport);
- functionImports.put(edmFunctionImport.getName(), edmFunctionImport);
- }
- }
-
- @Override
- protected void loadAllSingletons() {
- final List<Singleton> localSingletons = xmlEntityContainer.getSingletons();
- if (localSingletons != null) {
- for (Singleton singleton : localSingletons) {
- singletons.put(singleton.getName(), new EdmSingletonImpl(edm, this, singleton.getName(),
- new EdmTypeInfo.Builder().
- setTypeExpression(singleton.getType()).setDefaultNamespace(entityContainerName.getNamespace()).
- build().getFullQualifiedName(), singleton));
- }
- }
- }
-
- @Override
- protected void loadAllActionImports() {
- final List<ActionImport> localActionImports = xmlEntityContainer.getActionImports();
- if (actionImports != null) {
- for (ActionImport actionImport : localActionImports) {
- actionImports.put(actionImport.getName(), new EdmActionImportImpl(edm, this, actionImport.getName(),
- actionImport));
- }
- }
- }
-
- @Override
- public TargetType getAnnotationsTargetType() {
- return TargetType.EntityContainer;
- }
-
- @Override
- public EdmAnnotation getAnnotation(final EdmTerm term) {
- return helper == null ? null : helper.getAnnotation(term);
- }
-
- @Override
- public List<EdmAnnotation> getAnnotations() {
- return helper == null ? Collections.<EdmAnnotation> emptyList() : helper.getAnnotations();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntitySetImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntitySetImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntitySetImpl.java
deleted file mode 100644
index 85934cb..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntitySetImpl.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmEntityContainer;
-import org.apache.olingo.commons.api.edm.EdmEntitySet;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.provider.EntitySet;
-
-public class EdmEntitySetImpl extends EdmBindingTargetImpl implements EdmEntitySet {
-
- private final EntitySet entitySet;
-
- public EdmEntitySetImpl(final Edm edm, final EdmEntityContainer container, final String name,
- final FullQualifiedName type, final EntitySet entitySet) {
-
- super(edm, container, name, type, entitySet);
-
- this.entitySet = entitySet;
- }
-
- @Override
- public boolean isIncludeInServiceDocument() {
- return entitySet.isIncludeInServiceDocument();
- }
-
- @Override
- public TargetType getAnnotationsTargetType() {
- return TargetType.EntitySet;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityTypeImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityTypeImpl.java
deleted file mode 100644
index c35de08..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEntityTypeImpl.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmAnnotation;
-import org.apache.olingo.commons.api.edm.EdmEntityType;
-import org.apache.olingo.commons.api.edm.EdmKeyPropertyRef;
-import org.apache.olingo.commons.api.edm.EdmNavigationProperty;
-import org.apache.olingo.commons.api.edm.EdmProperty;
-import org.apache.olingo.commons.api.edm.EdmTerm;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.provider.EntityType;
-import org.apache.olingo.commons.api.edm.provider.PropertyRef;
-import org.apache.olingo.commons.core.edm.AbstractEdmEntityType;
-import org.apache.olingo.commons.core.edm.EdmAnnotationHelper;
-import org.apache.olingo.commons.core.edm.EdmStructuredTypeHelper;
-import org.apache.olingo.commons.core.edm.EdmTypeInfo;
-
-public class EdmEntityTypeImpl extends AbstractEdmEntityType {
-
- private final EdmStructuredTypeHelper typeHelper;
-
- private EdmAnnotationHelper annotationHelper;
-
- public static EdmEntityTypeImpl getInstance(final Edm edm, final FullQualifiedName fqn, final EntityType entityType) {
-
- final FullQualifiedName baseTypeName = entityType.getBaseType() == null
- ? null
- : new EdmTypeInfo.Builder().setTypeExpression(entityType.getBaseType()).build().getFullQualifiedName();
- final EdmEntityTypeImpl instance = new EdmEntityTypeImpl(edm, fqn, baseTypeName, entityType);
- instance.baseType = instance.buildBaseType(baseTypeName);
-
- if (instance.baseType == null) {
- instance.entityBaseType = null;
-
- final List<EdmKeyPropertyRef> edmKey;
- // Abstract EntityTypes do not necessarily have keys
- if (entityType.isAbstract() && entityType.getKey() == null) {
- edmKey = new ArrayList<EdmKeyPropertyRef>();
- } else {
- edmKey = new ArrayList<EdmKeyPropertyRef>(entityType.getKey().size());
- for (PropertyRef ref : entityType.getKey()) {
- edmKey.add(new EdmKeyPropertyRefImpl(instance, ref));
- }
- }
- instance.setEdmKeyPropertyRef(edmKey);
- } else {
- instance.entityBaseType = (EdmEntityType) instance.baseType;
- }
-
- return instance;
- }
-
- private EdmEntityTypeImpl(final Edm edm, final FullQualifiedName fqn, final FullQualifiedName baseTypeName,
- final EntityType entityType) {
-
- super(edm, fqn, baseTypeName, entityType.hasStream());
- this.typeHelper = new EdmStructuredTypeHelperImpl(edm, getFullQualifiedName(), entityType);
- this.annotationHelper = new EdmAnnotationHelperImpl(edm, entityType);
- }
-
- @Override
- protected Map<String, EdmProperty> getProperties() {
- return typeHelper.getProperties();
- }
-
- @Override
- protected Map<String, EdmNavigationProperty> getNavigationProperties() {
- return typeHelper.getNavigationProperties();
- }
-
- @Override
- public boolean isOpenType() {
- return typeHelper.isOpenType();
- }
-
- @Override
- public boolean isAbstract() {
- return typeHelper.isAbstract();
- }
-
- @Override
- public EdmAnnotation getAnnotation(final EdmTerm term) {
- return annotationHelper.getAnnotation(term);
- }
-
- @Override
- public List<EdmAnnotation> getAnnotations() {
- return annotationHelper.getAnnotations();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEnumTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEnumTypeImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEnumTypeImpl.java
deleted file mode 100644
index d044f8c..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmEnumTypeImpl.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.commons.lang3.ArrayUtils;
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmException;
-import org.apache.olingo.commons.api.edm.EdmMember;
-import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
-import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.provider.EnumMember;
-import org.apache.olingo.commons.api.edm.provider.EnumType;
-import org.apache.olingo.commons.core.edm.AbstractEdmEnumType;
-import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeFactory;
-
-public class EdmEnumTypeImpl extends AbstractEdmEnumType {
-
- private static final EdmPrimitiveTypeKind[] VALID_UNDERLYING_TYPES = new EdmPrimitiveTypeKind[] {
- EdmPrimitiveTypeKind.Byte,
- EdmPrimitiveTypeKind.SByte,
- EdmPrimitiveTypeKind.Int16,
- EdmPrimitiveTypeKind.Int32,
- EdmPrimitiveTypeKind.Int64
- };
-
- private final EdmPrimitiveType underlyingType;
-
- private final List<String> memberNames;
-
- private final Map<String, EdmMember> members;
-
- public EdmEnumTypeImpl(final Edm edm, final FullQualifiedName fqn,
- final EnumType xmlEnumType) {
-
- super(edm, fqn, xmlEnumType.isFlags());
-
- if (xmlEnumType.getUnderlyingType() == null) {
- this.underlyingType = EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Int32);
- } else {
- final EdmPrimitiveTypeKind underlyingTipeKind =
- EdmPrimitiveTypeKind.valueOfFQN(xmlEnumType.getUnderlyingType());
- if (!ArrayUtils.contains(VALID_UNDERLYING_TYPES, underlyingTipeKind)) {
- throw new EdmException("Not allowed as underlying type: " + underlyingTipeKind);
- }
- this.underlyingType = EdmPrimitiveTypeFactory.getInstance(underlyingTipeKind);
- }
-
- final List<EnumMember> xmlMembers = xmlEnumType.getMembers();
- final List<String> _memberNames = new ArrayList<String>();
- final Map<String, EdmMember> _members = new LinkedHashMap<String, EdmMember>(xmlMembers.size());
- for (EnumMember xmlMember : xmlMembers) {
- _memberNames.add(xmlMember.getName());
- _members.put(xmlMember.getName(), new EdmMemberImpl(edm, fqn, xmlMember));
- }
- this.memberNames = Collections.unmodifiableList(_memberNames);
- this.members = Collections.unmodifiableMap(_members);
- }
-
- @Override
- public EdmPrimitiveType getUnderlyingType() {
- return underlyingType;
- }
-
- @Override
- public List<String> getMemberNames() {
- return memberNames;
- }
-
- @Override
- protected Collection<? extends EdmMember> getMembers() {
- return members.values();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmFunctionImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmFunctionImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmFunctionImpl.java
deleted file mode 100644
index 0930bf2..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmFunctionImpl.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmFunction;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.constants.EdmTypeKind;
-import org.apache.olingo.commons.api.edm.provider.Function;
-
-public class EdmFunctionImpl extends EdmOperationImpl implements EdmFunction {
-
- private final Function function;
-
- public static EdmFunctionImpl getInstance(final Edm edm, final FullQualifiedName name, final Function function) {
- return EdmOperationImpl.getInstance(new EdmFunctionImpl(edm, name, function));
- }
-
- private EdmFunctionImpl(final Edm edm, final FullQualifiedName name, final Function function) {
- super(edm, name, function, EdmTypeKind.FUNCTION);
- this.function = function;
- }
-
- @Override
- public boolean isComposable() {
- return function.isComposable();
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmFunctionImportImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmFunctionImportImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmFunctionImportImpl.java
deleted file mode 100644
index ad9baba..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmFunctionImportImpl.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.client.core.edm;
-
-import java.util.List;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmAnnotation;
-import org.apache.olingo.commons.api.edm.EdmEntityContainer;
-import org.apache.olingo.commons.api.edm.EdmFunction;
-import org.apache.olingo.commons.api.edm.EdmFunctionImport;
-import org.apache.olingo.commons.api.edm.EdmTerm;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.provider.FunctionImport;
-import org.apache.olingo.commons.core.edm.EdmAnnotationHelper;
-import org.apache.olingo.commons.core.edm.EdmTypeInfo;
-
-public class EdmFunctionImportImpl extends EdmOperationImportImpl implements EdmFunctionImport {
-
- private final FunctionImport functionImport;
-
- private final EdmAnnotationHelper helper;
-
- private FullQualifiedName functionFQN;
-
- public EdmFunctionImportImpl(final Edm edm, final EdmEntityContainer container, final String name,
- final FunctionImport functionImport) {
-
- super(edm, container, name, functionImport.getEntitySet());
- this.functionImport = functionImport;
- this.helper = new EdmAnnotationHelperImpl(edm, functionImport);
- }
-
- @Override
- public TargetType getAnnotationsTargetType() {
- return TargetType.FunctionImport;
- }
-
- @Override
- public FullQualifiedName getFunctionFqn() {
- if (functionFQN == null) {
- functionFQN = new EdmTypeInfo.Builder().setEdm(edm).setTypeExpression(functionImport.getFunction()).
- setDefaultNamespace(container.getNamespace()).build().getFullQualifiedName();
- }
- return functionFQN;
- }
-
- @Override
- public List<EdmFunction> getUnboundFunctions() {
- return edm.getUnboundFunctions(getFunctionFqn());
- }
-
- @Override
- public EdmFunction getUnboundFunction(final List<String> parameterNames) {
- return edm.getUnboundFunction(getFunctionFqn(), parameterNames);
- }
-
- @Override
- public boolean isIncludeInServiceDocument() {
- return functionImport.isIncludeInServiceDocument();
- }
-
- @Override
- public EdmAnnotation getAnnotation(final EdmTerm term) {
- return helper.getAnnotation(term);
- }
-
- @Override
- public List<EdmAnnotation> getAnnotations() {
- return helper.getAnnotations();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmKeyPropertyRefImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmKeyPropertyRefImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmKeyPropertyRefImpl.java
deleted file mode 100644
index 796b602..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmKeyPropertyRefImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import org.apache.olingo.commons.api.edm.EdmEntityType;
-import org.apache.olingo.commons.api.edm.provider.PropertyRef;
-import org.apache.olingo.commons.core.edm.AbstractEdmKeyPropertyRef;
-
-public class EdmKeyPropertyRefImpl extends AbstractEdmKeyPropertyRef {
-
- private final PropertyRef propertyRef;
-
- public EdmKeyPropertyRefImpl(final EdmEntityType edmEntityType, final PropertyRef propertyRef) {
- super(edmEntityType);
- this.propertyRef = propertyRef;
- }
-
- @Override
- public String getName() {
- return propertyRef.getName();
- }
-
- @Override
- public String getAlias() {
- return propertyRef.getAlias();
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmMemberImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmMemberImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmMemberImpl.java
deleted file mode 100644
index b14fece..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmMemberImpl.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.client.core.edm;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.olingo.client.core.edm.xml.EnumMemberImpl;
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmAnnotation;
-import org.apache.olingo.commons.api.edm.EdmTerm;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.provider.EnumMember;
-import org.apache.olingo.commons.core.edm.AbstractEdmMember;
-import org.apache.olingo.commons.core.edm.EdmAnnotationHelper;
-
-public class EdmMemberImpl extends AbstractEdmMember {
-
- private EdmAnnotationHelper helper;
-
- public EdmMemberImpl(final Edm edm, final FullQualifiedName enumFQN, final EnumMember member) {
- super(edm, enumFQN, member.getName(), member.getValue());
- this.helper = member instanceof EnumMemberImpl
- ? new EdmAnnotationHelperImpl(edm, member)
- : null;
- }
-
- @Override
- public EdmAnnotation getAnnotation(final EdmTerm term) {
- return helper == null ? null : helper.getAnnotation(term);
- }
-
- @Override
- public List<EdmAnnotation> getAnnotations() {
- return helper == null ? Collections.<EdmAnnotation>emptyList() : helper.getAnnotations();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmNavigationPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmNavigationPropertyImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmNavigationPropertyImpl.java
deleted file mode 100644
index 5b8e784..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmNavigationPropertyImpl.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmAnnotation;
-import org.apache.olingo.commons.api.edm.EdmReferentialConstraint;
-import org.apache.olingo.commons.api.edm.EdmTerm;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.provider.NavigationProperty;
-import org.apache.olingo.commons.api.edm.provider.ReferentialConstraint;
-import org.apache.olingo.commons.core.edm.AbstractEdmNavigationProperty;
-import org.apache.olingo.commons.core.edm.EdmAnnotationHelper;
-import org.apache.olingo.commons.core.edm.EdmTypeInfo;
-
-public class EdmNavigationPropertyImpl extends AbstractEdmNavigationProperty {
-
- private final FullQualifiedName structuredTypeName;
-
- private final NavigationProperty navigationProperty;
-
- private final EdmTypeInfo edmTypeInfo;
-
- private final EdmAnnotationHelper helper;
-
- private List<EdmReferentialConstraint> referentialConstraints;
-
- public EdmNavigationPropertyImpl(
- final Edm edm, final FullQualifiedName structuredTypeName, final NavigationProperty navigationProperty) {
-
- super(edm, navigationProperty.getName());
-
- this.structuredTypeName = structuredTypeName;
- this.navigationProperty = navigationProperty;
- this.edmTypeInfo = new EdmTypeInfo.Builder().setTypeExpression(navigationProperty.getType()).build();
- this.helper = new EdmAnnotationHelperImpl(edm, navigationProperty);
- }
-
- @Override
- protected FullQualifiedName getTypeFQN() {
- return edmTypeInfo.getFullQualifiedName();
- }
-
- @Override
- protected String internatGetPartner() {
- return navigationProperty.getPartner();
- }
-
- @Override
- public boolean isCollection() {
- return edmTypeInfo.isCollection();
- }
-
- @Override
- public boolean isNullable() {
- return navigationProperty.isNullable();
- }
-
- @Override
- public Boolean containsTarget() {
- return navigationProperty.isContainsTarget();
- }
-
- @Override
- public String getReferencingPropertyName(final String referencedPropertyName) {
- for (EdmReferentialConstraint constraint : getReferentialConstraints()) {
- if (constraint.getReferencedPropertyName().equals(referencedPropertyName)) {
- return constraint.getPropertyName();
- }
- }
-
- return null;
- }
-
- @Override
- public List<EdmReferentialConstraint> getReferentialConstraints() {
- if (referentialConstraints == null) {
- final List<ReferentialConstraint> providerConstraints = navigationProperty.getReferentialConstraints();
- referentialConstraints = new ArrayList<EdmReferentialConstraint>();
- if (providerConstraints != null) {
- for (ReferentialConstraint constraint : providerConstraints) {
- referentialConstraints.add(new EdmReferentialConstraintImpl(edm, constraint));
- }
- }
- }
- return referentialConstraints;
- }
-
- @Override
- public FullQualifiedName getAnnotationsTargetFQN() {
- return structuredTypeName;
- }
-
- @Override
- public EdmAnnotation getAnnotation(final EdmTerm term) {
- return helper.getAnnotation(term);
- }
-
- @Override
- public List<EdmAnnotation> getAnnotations() {
- return helper.getAnnotations();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImpl.java
deleted file mode 100644
index 69fb192..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImpl.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmAnnotation;
-import org.apache.olingo.commons.api.edm.EdmParameter;
-import org.apache.olingo.commons.api.edm.EdmTerm;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.constants.EdmTypeKind;
-import org.apache.olingo.commons.api.edm.provider.Operation;
-import org.apache.olingo.commons.api.edm.provider.Parameter;
-import org.apache.olingo.commons.core.edm.AbstractEdmOperation;
-import org.apache.olingo.commons.core.edm.EdmAnnotationHelper;
-
-public abstract class EdmOperationImpl extends AbstractEdmOperation {
-
- protected final Operation operation;
-
- protected final EdmAnnotationHelper helper;
-
- protected static <T extends EdmOperationImpl> T getInstance(final T instance) {
- final List<? extends Parameter> parameters = instance.operation.getParameters();
- final List<EdmParameter> _parameters = new ArrayList<EdmParameter>(parameters.size());
- for (Parameter parameter : parameters) {
- _parameters.add(new EdmParameterImpl(instance.edm, parameter));
- }
- instance.setParameters(_parameters);
-
- final String entitySetPath = instance.operation.getEntitySetPath();
- if (StringUtils.isNotBlank(entitySetPath)) {
- // remove bindingParameter info and keep path only
- int firstSlashIndex = entitySetPath.indexOf("/");
- instance.setEntitySetPath(entitySetPath.substring(firstSlashIndex + 1));
- }
-
- instance.setIsBound(instance.operation.isBound());
-
- if (instance.operation.getReturnType() != null) {
- instance.setReturnType(EdmReturnTypeImpl.getInstance(instance.edm, instance.operation.getReturnType()));
- }
-
- return instance;
- }
-
- protected EdmOperationImpl(final Edm edm, final FullQualifiedName name, final Operation operation,
- final EdmTypeKind kind) {
-
- super(edm, name, kind);
- this.operation = operation;
- this.helper = new EdmAnnotationHelperImpl(edm, operation);
- }
-
- private EdmParameter getBindingParameter() {
- EdmParameter bindingParam = null;
- if (isBound()) {
- final String bindingParamName = operation.getParameters().get(0).getName();
- bindingParam = getParameter(bindingParamName);
- }
- return bindingParam;
- }
-
- @Override
- public FullQualifiedName getBindingParameterTypeFqn() {
- FullQualifiedName bpfqn = null;
- final EdmParameter bindingParam = getBindingParameter();
- if (bindingParam != null) {
- bpfqn = new FullQualifiedName(bindingParam.getType().getNamespace(), bindingParam.getType().getName());
- }
- return bpfqn;
- }
-
- @Override
- public Boolean isBindingParameterTypeCollection() {
- Boolean result = null;
- final EdmParameter bindingParam = getBindingParameter();
- if (bindingParam != null) {
- result = bindingParam.isCollection();
- }
- return result;
- }
-
- @Override
- public EdmAnnotation getAnnotation(final EdmTerm term) {
- return helper.getAnnotation(term);
- }
-
- @Override
- public List<EdmAnnotation> getAnnotations() {
- return helper.getAnnotations();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImportImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImportImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImportImpl.java
deleted file mode 100644
index cc30e37..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmOperationImportImpl.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmAnnotation;
-import org.apache.olingo.commons.api.edm.EdmEntityContainer;
-import org.apache.olingo.commons.api.edm.EdmTerm;
-import org.apache.olingo.commons.api.edm.Target;
-import org.apache.olingo.commons.core.edm.AbstractEdmOperationImport;
-
-public abstract class EdmOperationImportImpl extends AbstractEdmOperationImport {
-
- protected EdmOperationImportImpl(final Edm edm, final EdmEntityContainer container, final String name,
- final String entitySet) {
-
- super(edm, container, name, entitySet == null ? null : new Target.Builder(entitySet, container).build());
- }
-
- @Override
- public EdmAnnotation getAnnotation(final EdmTerm term) {
- return null;
- }
-
- @Override
- public List<EdmAnnotation> getAnnotations() {
- return Collections.<EdmAnnotation>emptyList();
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmParameterImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmParameterImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmParameterImpl.java
deleted file mode 100644
index 27bc5f4..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmParameterImpl.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmAnnotation;
-import org.apache.olingo.commons.api.edm.EdmMapping;
-import org.apache.olingo.commons.api.edm.EdmTerm;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.geo.SRID;
-import org.apache.olingo.commons.api.edm.provider.Parameter;
-import org.apache.olingo.commons.core.edm.AbstractEdmParameter;
-import org.apache.olingo.commons.core.edm.EdmAnnotationHelper;
-import org.apache.olingo.commons.core.edm.EdmTypeInfo;
-
-public class EdmParameterImpl extends AbstractEdmParameter {
-
- private final Parameter parameter;
-
- private final EdmTypeInfo typeInfo;
-
- private EdmAnnotationHelper helper;
-
- public EdmParameterImpl(final Edm edm, final Parameter parameter) {
- super(edm, parameter.getName(), new FullQualifiedName(parameter.getType()));
- this.parameter = parameter;
- this.typeInfo = new EdmTypeInfo.Builder().setEdm(edm).setTypeExpression(parameter.getType()).build();
- this.helper = new EdmAnnotationHelperImpl(edm, parameter);
- }
-
- @Override
- public boolean isCollection() {
- return typeInfo.isCollection();
- }
-
- @Override
- public EdmMapping getMapping() {
- throw new UnsupportedOperationException("Not supported in client code.");
- }
-
- @Override
- public boolean isNullable() {
- return parameter.isNullable();
- }
-
- @Override
- public Integer getMaxLength() {
- return parameter.getMaxLength();
- }
-
- @Override
- public Integer getPrecision() {
- return parameter.getPrecision();
- }
-
- @Override
- public Integer getScale() {
- return parameter.getScale();
- }
-
- @Override
- public SRID getSrid() {
- return parameter.getSrid();
-
- }
-
- @Override
- public EdmAnnotation getAnnotation(final EdmTerm term) {
- return helper == null ? null : helper.getAnnotation(term);
- }
-
- @Override
- public List<EdmAnnotation> getAnnotations() {
- return helper == null ? Collections.<EdmAnnotation> emptyList() : helper.getAnnotations();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmPropertyImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmPropertyImpl.java
deleted file mode 100644
index be3e49e..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmPropertyImpl.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmAnnotation;
-import org.apache.olingo.commons.api.edm.EdmMapping;
-import org.apache.olingo.commons.api.edm.EdmTerm;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.geo.SRID;
-import org.apache.olingo.commons.api.edm.provider.Property;
-import org.apache.olingo.commons.core.edm.AbstractEdmProperty;
-import org.apache.olingo.commons.core.edm.EdmAnnotationHelper;
-import org.apache.olingo.commons.core.edm.EdmTypeInfo;
-
-public class EdmPropertyImpl extends AbstractEdmProperty {
-
- private final FullQualifiedName structuredTypeName;
-
- private final Property property;
-
- private final EdmTypeInfo typeInfo;
-
- private EdmAnnotationHelper helper;
-
- public EdmPropertyImpl(final Edm edm, final FullQualifiedName structuredTypeName, final Property property) {
- super(edm, property.getName());
-
- this.structuredTypeName = structuredTypeName;
- this.property = property;
- this.typeInfo =
- new EdmTypeInfo.Builder().setEdm(edm).setTypeExpression(property.getType())
- .build();
- this.helper = new EdmAnnotationHelperImpl(edm, property);
- }
-
- @Override
- protected EdmTypeInfo getTypeInfo() {
- return typeInfo;
- }
-
- @Override
- public EdmMapping getMapping() {
- throw new UnsupportedOperationException("Not supported in client code.");
- }
-
- @Override
- public String getMimeType() {
- throw new UnsupportedOperationException("Not supported in client code.");
- }
-
- @Override
- public boolean isNullable() {
- return property.isNullable();
- }
-
- @Override
- public Integer getMaxLength() {
- return property.getMaxLength();
- }
-
- @Override
- public Integer getPrecision() {
- return property.getPrecision();
- }
-
- @Override
- public Integer getScale() {
- return property.getScale();
- }
-
- @Override
- public boolean isUnicode() {
- return property.isUnicode();
- }
-
- @Override
- public String getDefaultValue() {
- return property.getDefaultValue();
- }
-
- @Override
- public SRID getSrid() {
- return property.getSrid();
- }
-
- @Override
- public FullQualifiedName getAnnotationsTargetFQN() {
- return structuredTypeName;
- }
-
- @Override
- public EdmAnnotation getAnnotation(final EdmTerm term) {
- return helper == null ? null : helper.getAnnotation(term);
- }
-
- @Override
- public List<EdmAnnotation> getAnnotations() {
- return helper == null ? Collections.<EdmAnnotation> emptyList() : helper.getAnnotations();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmReferentialConstraintImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmReferentialConstraintImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmReferentialConstraintImpl.java
deleted file mode 100644
index aafc05d..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmReferentialConstraintImpl.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import java.util.List;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmAnnotation;
-import org.apache.olingo.commons.api.edm.EdmTerm;
-import org.apache.olingo.commons.api.edm.provider.ReferentialConstraint;
-import org.apache.olingo.commons.core.edm.AbstractEdmReferentialConstraint;
-import org.apache.olingo.commons.core.edm.EdmAnnotationHelper;
-
-public class EdmReferentialConstraintImpl extends AbstractEdmReferentialConstraint {
-
- private final EdmAnnotationHelper helper;
-
- public EdmReferentialConstraintImpl(final Edm edm, final ReferentialConstraint constraint) {
- super(constraint.getProperty(), constraint.getReferencedProperty());
- this.helper = new EdmAnnotationHelperImpl(edm, constraint);
- }
-
- @Override
- public EdmAnnotation getAnnotation(final EdmTerm term) {
- return helper.getAnnotation(term);
- }
-
- @Override
- public List<EdmAnnotation> getAnnotations() {
- return helper.getAnnotations();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmReturnTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmReturnTypeImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmReturnTypeImpl.java
deleted file mode 100644
index 03d1537..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmReturnTypeImpl.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.geo.SRID;
-import org.apache.olingo.commons.api.edm.provider.ReturnType;
-import org.apache.olingo.commons.core.edm.AbstractEdmReturnType;
-import org.apache.olingo.commons.core.edm.EdmTypeInfo;
-
-public class EdmReturnTypeImpl extends AbstractEdmReturnType {
-
- private final ReturnType returnType;
-
- private final boolean isCollection;
-
- public static EdmReturnTypeImpl getInstance(final Edm edm, final ReturnType returnType) {
- final EdmTypeInfo returnTypeInfo = new EdmTypeInfo.Builder().setTypeExpression(returnType.getType()).build();
- return new EdmReturnTypeImpl(edm, returnType, returnTypeInfo);
- }
-
- private EdmReturnTypeImpl(final Edm edm, final ReturnType returnType, final EdmTypeInfo returnTypeInfo) {
- super(edm, returnTypeInfo.getFullQualifiedName());
- this.returnType = returnType;
- this.isCollection = returnTypeInfo.isCollection();
- }
-
- @Override
- public boolean isCollection() {
- return isCollection;
- }
-
- @Override
- public boolean isNullable() {
- return returnType.isNullable();
- }
-
- @Override
- public Integer getMaxLength() {
- return returnType.getMaxLength();
- }
-
- @Override
- public Integer getPrecision() {
- return returnType.getPrecision();
- }
-
- @Override
- public Integer getScale() {
- return returnType.getScale();
- }
-
- @Override
- public SRID getSrid() {
- return returnType == null ? null : returnType.getSrid();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSchemaImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSchemaImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSchemaImpl.java
deleted file mode 100644
index 41c4900..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSchemaImpl.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmAction;
-import org.apache.olingo.commons.api.edm.EdmAnnotation;
-import org.apache.olingo.commons.api.edm.EdmAnnotations;
-import org.apache.olingo.commons.api.edm.EdmComplexType;
-import org.apache.olingo.commons.api.edm.EdmEntityContainer;
-import org.apache.olingo.commons.api.edm.EdmEntityType;
-import org.apache.olingo.commons.api.edm.EdmEnumType;
-import org.apache.olingo.commons.api.edm.EdmFunction;
-import org.apache.olingo.commons.api.edm.EdmTerm;
-import org.apache.olingo.commons.api.edm.EdmTypeDefinition;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.provider.Action;
-import org.apache.olingo.commons.api.edm.provider.Annotation;
-import org.apache.olingo.commons.api.edm.provider.Annotations;
-import org.apache.olingo.commons.api.edm.provider.ComplexType;
-import org.apache.olingo.commons.api.edm.provider.EntityContainer;
-import org.apache.olingo.commons.api.edm.provider.EntityType;
-import org.apache.olingo.commons.api.edm.provider.EnumType;
-import org.apache.olingo.commons.api.edm.provider.Function;
-import org.apache.olingo.commons.api.edm.provider.Schema;
-import org.apache.olingo.commons.api.edm.provider.Term;
-import org.apache.olingo.commons.api.edm.provider.TypeDefinition;
-import org.apache.olingo.commons.core.edm.AbstractEdmSchema;
-
-public class EdmSchemaImpl extends AbstractEdmSchema {
-
- private final Edm edm;
-
-
- private final Schema schema;
-
- private Map<FullQualifiedName, EdmEntityContainer> entityContainerByName;
-
- private List<EdmEntityContainer> entityContainers;
-
- public EdmSchemaImpl(final Edm edm, final Schema schema) {
-
- super(schema.getNamespace(), schema.getAlias());
-
- this.edm = edm;
- this.schema = schema;
- }
-
- @Override
- public List<EdmEntityContainer> getEntityContainers() {
- if (entityContainers == null) {
- entityContainerByName = new HashMap<FullQualifiedName, EdmEntityContainer>();
-
- entityContainers = super.getEntityContainers();
- if (getEntityContainer() != null) {
- entityContainerByName.put(getEntityContainer().getFullQualifiedName(), getEntityContainer());
- }
- }
-
- return entityContainers;
- }
-
- @Override
- public EdmEntityContainer getEntityContainer(final FullQualifiedName name) {
- getEntityContainers();
- return entityContainerByName.get(name);
- }
-
- private EdmEntityContainer createEntityContainer(final String name) {
- final EntityContainer defaultContainer = schema.getEntityContainer();
- if (defaultContainer != null) {
- final FullQualifiedName entityContainerName =
- new FullQualifiedName(schema.getNamespace(), defaultContainer.getName());
- return new EdmEntityContainerImpl(edm, entityContainerName, defaultContainer);
- }
- return null;
- }
-
- @Override
- protected EdmEntityContainer createEntityContainer() {
- final EntityContainer defaultContainer = schema.getEntityContainer();
- if (defaultContainer != null) {
- return createEntityContainer(defaultContainer.getName());
- }
- return null;
- }
-
- @Override
- protected List<EdmTypeDefinition> createTypeDefinitions() {
- final List<EdmTypeDefinition> typeDefinitions = new ArrayList<EdmTypeDefinition>();
- final List<TypeDefinition> providerTypeDefinitions =
- schema.getTypeDefinitions();
- if (providerTypeDefinitions != null) {
- for (TypeDefinition def : providerTypeDefinitions) {
- typeDefinitions.add(
- new EdmTypeDefinitionImpl(edm, new FullQualifiedName(namespace, def.getName()), def));
- }
- }
- return typeDefinitions;
- }
-
- @Override
- protected List<EdmEnumType> createEnumTypes() {
- final List<EdmEnumType> enumTypes = new ArrayList<EdmEnumType>();
- final List<EnumType> providerEnumTypes = schema.getEnumTypes();
- if (providerEnumTypes != null) {
- for (EnumType enumType : providerEnumTypes) {
- enumTypes.add(
- new EdmEnumTypeImpl(edm, new FullQualifiedName(namespace, enumType.getName()), enumType));
- }
- }
- return enumTypes;
- }
-
- @Override
- protected List<EdmEntityType> createEntityTypes() {
- final List<EdmEntityType> entityTypes = new ArrayList<EdmEntityType>();
- final List<? extends EntityType> providerEntityTypes = schema.getEntityTypes();
- if (providerEntityTypes != null) {
- for (EntityType entityType : providerEntityTypes) {
- entityTypes.add(EdmEntityTypeImpl.getInstance(edm,
- new FullQualifiedName(namespace, entityType.getName()), entityType));
- }
- }
- return entityTypes;
- }
-
- @Override
- protected List<EdmComplexType> createComplexTypes() {
- final List<EdmComplexType> complexTypes = new ArrayList<EdmComplexType>();
- final List<? extends ComplexType> providerComplexTypes = schema.getComplexTypes();
- if (providerComplexTypes != null) {
- for (ComplexType complexType : providerComplexTypes) {
- complexTypes.add(EdmComplexTypeImpl.getInstance(edm, new FullQualifiedName(namespace, complexType.getName()),
- complexType));
- }
- }
- return complexTypes;
- }
-
- @Override
- protected List<EdmAction> createActions() {
- final List<EdmAction> actions = new ArrayList<EdmAction>();
- final List<Action> providerActions = schema.getActions();
- if (providerActions != null) {
- for (Action action : providerActions) {
- actions.add(EdmActionImpl.getInstance(edm, new FullQualifiedName(namespace, action.getName()), action));
- }
- }
- return actions;
- }
-
- @Override
- protected List<EdmFunction> createFunctions() {
- final List<EdmFunction> functions = new ArrayList<EdmFunction>();
- final List<Function> providerFunctions = schema.getFunctions();
- if (providerFunctions != null) {
- for (Function function : providerFunctions) {
- functions.add(
- EdmFunctionImpl.getInstance(edm, new FullQualifiedName(namespace, function.getName()), function));
- }
- return functions;
- }
- return functions;
- }
-
- @Override
- protected List<EdmTerm> createTerms() {
- final List<EdmTerm> terms = new ArrayList<EdmTerm>();
- final List<Term> providerTerms = schema.getTerms();
- if (providerTerms != null) {
- for (Term term : providerTerms) {
- terms.add(new EdmTermImpl(edm, getNamespace(), term));
- }
- }
- return terms;
- }
-
- @Override
- protected List<EdmAnnotations> createAnnotationGroups() {
- final List<EdmAnnotations> annotationGroups = new ArrayList<EdmAnnotations>();
- final List<Annotations> providerAnnotations =
- schema.getAnnotationGroups();
- if (providerAnnotations != null) {
- for (Annotations annotationGroup : providerAnnotations) {
- annotationGroups.add(new EdmAnnotationsImpl(edm, this, annotationGroup));
- }
- }
- return annotationGroups;
- }
-
- @Override
- protected List<EdmAnnotation> createAnnotations() {
- final List<EdmAnnotation> annotations = new ArrayList<EdmAnnotation>();
- final List<Annotation> providerAnnotations =
- schema.getAnnotations();
- if (providerAnnotations != null) {
- for (Annotation annotation : providerAnnotations) {
- annotations.add(new EdmAnnotationImpl(edm, annotation));
- }
- }
- return annotations;
- }
-
- @Override
- public EdmAnnotation getAnnotation(final EdmTerm term) {
- EdmAnnotation result = null;
- for (EdmAnnotation annotation : getAnnotations()) {
- if (term.getFullQualifiedName().equals(annotation.getTerm().getFullQualifiedName())) {
- result = annotation;
- }
- }
-
- return result;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSingletonImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSingletonImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSingletonImpl.java
deleted file mode 100644
index 4216727..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmSingletonImpl.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmEntityContainer;
-import org.apache.olingo.commons.api.edm.EdmSingleton;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.provider.Singleton;
-
-public class EdmSingletonImpl extends EdmBindingTargetImpl implements EdmSingleton {
-
- public EdmSingletonImpl(final Edm edm, final EdmEntityContainer container, final String name,
- final FullQualifiedName type, final Singleton singleton) {
-
- super(edm, container, name, type, singleton);
- }
-
- @Override
- public TargetType getAnnotationsTargetType() {
- return TargetType.Singleton;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmStructuredTypeHelperImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmStructuredTypeHelperImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmStructuredTypeHelperImpl.java
deleted file mode 100644
index bc6e173..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmStructuredTypeHelperImpl.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmNavigationProperty;
-import org.apache.olingo.commons.api.edm.EdmProperty;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.provider.NavigationProperty;
-import org.apache.olingo.commons.api.edm.provider.Property;
-import org.apache.olingo.commons.api.edm.provider.StructuralType;
-import org.apache.olingo.commons.core.edm.EdmStructuredTypeHelper;
-
-public class EdmStructuredTypeHelperImpl implements EdmStructuredTypeHelper {
-
- private final Edm edm;
-
- private final FullQualifiedName structuredTypeName;
-
- private final StructuralType structuralType;
-
- private Map<String, EdmProperty> properties;
-
- private Map<String, EdmNavigationProperty> navigationProperties;
-
- public EdmStructuredTypeHelperImpl(final Edm edm, final FullQualifiedName structuredTypeName,
- final StructuralType structuralType) {
-
- this.edm = edm;
- this.structuredTypeName = structuredTypeName;
- this.structuralType = structuralType;
- }
-
- @Override
- public Map<String, EdmProperty> getProperties() {
- if (properties == null) {
- properties = new LinkedHashMap<String, EdmProperty>();
- for (Property property : structuralType.getProperties()) {
- properties.put(property.getName(), new EdmPropertyImpl(edm, structuredTypeName, property));
- }
- }
- return properties;
- }
-
- @Override
- public Map<String, EdmNavigationProperty> getNavigationProperties() {
- if (navigationProperties == null) {
- navigationProperties = new LinkedHashMap<String, EdmNavigationProperty>();
- for (NavigationProperty navigationProperty : structuralType.getNavigationProperties()) {
- navigationProperties.put(navigationProperty.getName(), new EdmNavigationPropertyImpl(
- edm, structuredTypeName, navigationProperty));
- }
- }
- return navigationProperties;
- }
-
- @Override
- public boolean isOpenType() {
- return structuralType.isOpenType();
- }
-
- @Override
- public boolean isAbstract() {
- return structuralType.isAbstract();
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmTermImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmTermImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmTermImpl.java
deleted file mode 100644
index 2885ce2..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmTermImpl.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.commons.lang3.ClassUtils;
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmAnnotation;
-import org.apache.olingo.commons.api.edm.EdmException;
-import org.apache.olingo.commons.api.edm.EdmTerm;
-import org.apache.olingo.commons.api.edm.EdmType;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.geo.SRID;
-import org.apache.olingo.commons.api.edm.provider.Term;
-import org.apache.olingo.commons.core.edm.EdmAnnotationHelper;
-import org.apache.olingo.commons.core.edm.EdmNamedImpl;
-import org.apache.olingo.commons.core.edm.EdmTypeInfo;
-import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class EdmTermImpl extends EdmNamedImpl implements EdmTerm {
-
- private static final Logger LOG = LoggerFactory.getLogger(EdmTermImpl.class);
-
- private final Term term;
-
- private final FullQualifiedName fqn;
-
- private final EdmTypeInfo typeInfo;
-
- private final EdmAnnotationHelper helper;
-
- private EdmType termType;
-
- private EdmTerm baseTerm;
-
- private List<Class<?>> appliesTo;
-
- public EdmTermImpl(final Edm edm, final String namespace, final Term term) {
- super(edm, term.getName());
-
- this.term = term;
- this.fqn = new FullQualifiedName(namespace, term.getName());
- this.typeInfo = new EdmTypeInfo.Builder().setEdm(edm).setTypeExpression(term.getType()).build();
- this.helper = new EdmAnnotationHelperImpl(edm, term);
- }
-
- @Override
- public FullQualifiedName getFullQualifiedName() {
- return fqn;
- }
-
- @Override
- public EdmType getType() {
- if (termType == null) {
- termType = typeInfo.isPrimitiveType()
- ? EdmPrimitiveTypeFactory.getInstance(typeInfo.getPrimitiveTypeKind())
- : typeInfo.isTypeDefinition()
- ? typeInfo.getTypeDefinition()
- : typeInfo.isEnumType()
- ? typeInfo.getEnumType()
- : typeInfo.isComplexType()
- ? typeInfo.getComplexType()
- : null;
- if (termType == null) {
- throw new EdmException("Cannot find type with name: " + typeInfo.getFullQualifiedName());
- }
- }
-
- return termType;
- }
-
- @Override
- public EdmTerm getBaseTerm() {
- if (baseTerm == null && term.getBaseTerm() != null) {
- baseTerm = edm.getTerm(new FullQualifiedName(term.getBaseTerm()));
- }
- return baseTerm;
- }
-
- @Override
- public List<Class<?>> getAppliesTo() {
- if (appliesTo == null) {
- appliesTo = new ArrayList<Class<?>>();
- for (String element : term.getAppliesTo()) {
- try {
- appliesTo.add(ClassUtils.getClass(EdmTerm.class.getPackage().getName() + ".Edm" + element));
- } catch (ClassNotFoundException e) {
- LOG.error("Could not load Edm class for {}", element, e);
- }
- }
- }
- return appliesTo;
- }
-
- @Override
- public Boolean isNullable() {
- return term.isNullable();
- }
-
- @Override
- public Integer getMaxLength() {
- return term.getMaxLength();
- }
-
- @Override
- public Integer getPrecision() {
- return term.getPrecision();
- }
-
- @Override
- public Integer getScale() {
- return term.getScale();
- }
-
- @Override
- public SRID getSrid() {
- return term.getSrid();
- }
-
- @Override
- public String getDefaultValue() {
- return term.getDefaultValue();
- }
-
- @Override
- public TargetType getAnnotationsTargetType() {
- return TargetType.Term;
- }
-
- @Override
- public FullQualifiedName getAnnotationsTargetFQN() {
- return getFullQualifiedName();
- }
-
- @Override
- public String getAnnotationsTargetPath() {
- return null;
- }
-
- @Override
- public EdmAnnotation getAnnotation(final EdmTerm term) {
- return helper.getAnnotation(term);
- }
-
- @Override
- public List<EdmAnnotation> getAnnotations() {
- return helper.getAnnotations();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmTypeDefinitionImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmTypeDefinitionImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmTypeDefinitionImpl.java
deleted file mode 100644
index 1b6f1f5..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/EdmTypeDefinitionImpl.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm;
-
-import java.util.List;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmAnnotation;
-import org.apache.olingo.commons.api.edm.EdmException;
-import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
-import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
-import org.apache.olingo.commons.api.edm.EdmTerm;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.geo.SRID;
-import org.apache.olingo.commons.api.edm.provider.TypeDefinition;
-import org.apache.olingo.commons.core.edm.AbstractEdmTypeDefinition;
-import org.apache.olingo.commons.core.edm.EdmAnnotationHelper;
-import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeFactory;
-
-public class EdmTypeDefinitionImpl extends AbstractEdmTypeDefinition {
-
- private final TypeDefinition typeDefinition;
-
- private final EdmPrimitiveType edmPrimitiveTypeInstance;
-
- private final EdmAnnotationHelper helper;
-
- public EdmTypeDefinitionImpl(final Edm edm, final FullQualifiedName typeDefinitionName,
- final TypeDefinition typeDefinition) {
-
- super(edm, typeDefinitionName);
- this.typeDefinition = typeDefinition;
- try {
- this.edmPrimitiveTypeInstance = EdmPrimitiveTypeFactory.getInstance(
- EdmPrimitiveTypeKind.valueOfFQN(typeDefinition.getUnderlyingType()));
- } catch (IllegalArgumentException e) {
- throw new EdmException("Invalid underlying type: " + typeDefinition.getUnderlyingType(), e);
- }
- this.helper = new EdmAnnotationHelperImpl(edm, typeDefinition);
- }
-
- @Override
- public EdmPrimitiveType getUnderlyingType() {
- return edmPrimitiveTypeInstance;
- }
-
- @Override
- public Integer getMaxLength() {
- return typeDefinition.getMaxLength();
- }
-
- @Override
- public Integer getPrecision() {
- return typeDefinition.getPrecision();
- }
-
- @Override
- public Integer getScale() {
- return typeDefinition.getScale();
- }
-
- @Override
- public SRID getSrid() {
- return typeDefinition.getSrid();
- }
-
- @Override
- public Boolean isUnicode() {
- return typeDefinition.isUnicode();
- }
-
- @Override
- public EdmAnnotation getAnnotation(final EdmTerm term) {
- return helper.getAnnotation(term);
- }
-
- @Override
- public List<EdmAnnotation> getAnnotations() {
- return helper.getAnnotations();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/annotation/EdmCastImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/annotation/EdmCastImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/annotation/EdmCastImpl.java
deleted file mode 100644
index 6d510a5..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/annotation/EdmCastImpl.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm.annotation;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmType;
-import org.apache.olingo.commons.api.edm.annotation.EdmCast;
-import org.apache.olingo.commons.api.edm.annotation.EdmDynamicAnnotationExpression;
-import org.apache.olingo.commons.api.edm.geo.SRID;
-import org.apache.olingo.commons.api.edm.provider.annotation.Cast;
-import org.apache.olingo.commons.core.edm.EdmTypeInfo;
-import org.apache.olingo.commons.core.edm.annotation.AbstractEdmAnnotatableDynamicAnnotationExpression;
-
-public class EdmCastImpl extends AbstractEdmAnnotatableDynamicAnnotationExpression implements EdmCast {
-
- private final Edm edm;
-
- private final Cast cast;
-
- private final EdmDynamicAnnotationExpression value;
-
- private EdmType type;
-
- public EdmCastImpl(final Edm edm, final Cast cast, final EdmDynamicAnnotationExpression value) {
- this.edm = edm;
- this.cast = cast;
- this.value = value;
- }
-
- @Override
- public Integer getMaxLength() {
- return cast.getMaxLength();
- }
-
- @Override
- public Integer getPrecision() {
- return cast.getPrecision();
- }
-
- @Override
- public Integer getScale() {
- return cast.getScale();
- }
-
- @Override
- public SRID getSrid() {
- return cast.getSrid();
- }
-
- @Override
- public EdmType getType() {
- if (type == null) {
- final EdmTypeInfo typeInfo = new EdmTypeInfo.Builder().setEdm(edm).setTypeExpression(cast.getType()).build();
- type = typeInfo.getType();
- }
- return type;
- }
-
- @Override
- public EdmDynamicAnnotationExpression getValue() {
- return value;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/5cef4fae/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/annotation/EdmConstantAnnotationExpressionImpl.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/annotation/EdmConstantAnnotationExpressionImpl.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/annotation/EdmConstantAnnotationExpressionImpl.java
deleted file mode 100644
index 397163a..0000000
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/edm/annotation/EdmConstantAnnotationExpressionImpl.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.client.core.edm.annotation;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.olingo.commons.api.Constants;
-import org.apache.olingo.commons.api.domain.ODataEnumValue;
-import org.apache.olingo.commons.api.domain.ODataValue;
-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.ODataCollectionValueImpl;
-import org.apache.olingo.commons.core.domain.ODataEnumValueImpl;
-import org.apache.olingo.commons.core.domain.ODataPrimitiveValueImpl;
-import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeFactory;
-
-public class EdmConstantAnnotationExpressionImpl implements EdmConstantAnnotationExpression {
-
- private final ODataValue value;
-
- public EdmConstantAnnotationExpressionImpl(final ConstantAnnotationExpression constExprConstruct) {
- if (constExprConstruct.getType() == ConstantAnnotationExpression.Type.EnumMember) {
- final List<ODataEnumValue> enumValues = new ArrayList<ODataEnumValue>();
- String enumTypeName = null;
- for (String split : StringUtils.split(constExprConstruct.getValue(), ' ')) {
- final String[] enumSplit = StringUtils.split(split, '/');
- enumTypeName = enumSplit[0];
- enumValues.add(new ODataEnumValueImpl(enumSplit[0], enumSplit[1]));
- }
- if (enumValues.size() == 1) {
- value = enumValues.get(0);
- } else {
- final ODataCollectionValueImpl collValue = new ODataCollectionValueImpl(enumTypeName);
- for (ODataValue enumValue : enumValues) {
- collValue.add(enumValue);
- }
- value = collValue;
- }
- } else {
- EdmPrimitiveTypeKind kind;
- switch (constExprConstruct.getType()) {
- case Binary:
- kind = EdmPrimitiveTypeKind.Binary;
- break;
- case Bool:
- kind = EdmPrimitiveTypeKind.Boolean;
- break;
- case Date:
- kind = EdmPrimitiveTypeKind.Date;
- break;
- case DateTimeOffset:
- kind = EdmPrimitiveTypeKind.DateTimeOffset;
- break;
- case Decimal:
- kind = EdmPrimitiveTypeKind.Decimal;
- break;
- case Duration:
- kind = EdmPrimitiveTypeKind.Duration;
- break;
- case Float:
- kind = EdmPrimitiveTypeKind.Single;
- break;
- case Guid:
- kind = EdmPrimitiveTypeKind.Guid;
- break;
- case Int:
- kind = EdmPrimitiveTypeKind.Int32;
- break;
- case TimeOfDay:
- kind = EdmPrimitiveTypeKind.TimeOfDay;
- break;
- case String:
- default:
- kind = EdmPrimitiveTypeKind.String;
- }
- final ODataPrimitiveValueImpl.BuilderImpl primitiveValueBuilder = new ODataPrimitiveValueImpl.BuilderImpl();
- primitiveValueBuilder.setType(kind);
- try {
- final EdmPrimitiveType primitiveType = EdmPrimitiveTypeFactory.getInstance(kind);
- primitiveValueBuilder.setValue(
- primitiveType.valueOfString(constExprConstruct.getValue(),
- null, null, Constants.DEFAULT_PRECISION, Constants.DEFAULT_SCALE, null,
- primitiveType.getDefaultType()));
- } catch (final EdmPrimitiveTypeException e) {
- throw new IllegalArgumentException(e);
- }
-
- value = primitiveValueBuilder.build();
- }
- }
-
- @Override
- public boolean isConstant() {
- return true;
- }
-
- @Override
- public EdmConstantAnnotationExpression asConstant() {
- return this;
- }
-
- @Override
- public boolean isDynamic() {
- return false;
- }
-
- @Override
- public EdmDynamicAnnotationExpression asDynamic() {
- return null;
- }
-
- @Override
- public ODataValue getValue() {
- return value;
- }
-
-}