You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2015/04/23 16:01:56 UTC
[02/11] olingo-odata4 git commit: [OLINGO-564] Removed 'provider'
package level
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEnumTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEnumTypeImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEnumTypeImpl.java
deleted file mode 100644
index 4e2cab6..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmEnumTypeImpl.java
+++ /dev/null
@@ -1,268 +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.edm.provider;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmEnumType;
-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.EdmPrimitiveTypeException;
-import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
-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.EnumMember;
-import org.apache.olingo.commons.api.edm.provider.EnumType;
-import org.apache.olingo.commons.core.edm.primitivetype.EdmInt64;
-import org.apache.olingo.commons.core.edm.primitivetype.EdmPrimitiveTypeFactory;
-
-public class EdmEnumTypeImpl extends EdmTypeImpl implements EdmEnumType {
-
- private static final Set<EdmPrimitiveTypeKind> VALID_UNDERLYING_TYPES = new HashSet<EdmPrimitiveTypeKind>();
- static {
- VALID_UNDERLYING_TYPES.add(EdmPrimitiveTypeKind.Byte);
- VALID_UNDERLYING_TYPES.add(EdmPrimitiveTypeKind.SByte);
- VALID_UNDERLYING_TYPES.add(EdmPrimitiveTypeKind.Int16);
- VALID_UNDERLYING_TYPES.add(EdmPrimitiveTypeKind.Int32);
- VALID_UNDERLYING_TYPES.add(EdmPrimitiveTypeKind.Int64);
- }
-
- private final EdmPrimitiveType underlyingType;
- private final EnumType enumType;
- private final String uriPrefix;
- private final String uriSuffix;
- private List<String> memberNames;
- private LinkedHashMap<String, EdmMember> membersMap;
-
- public EdmEnumTypeImpl(final Edm edm, final FullQualifiedName enumName, final EnumType enumType) {
- super(edm, enumName, EdmTypeKind.ENUM, enumType);
-
- if (enumType.getUnderlyingType() == null) {
- underlyingType = EdmPrimitiveTypeFactory.getInstance(EdmPrimitiveTypeKind.Int32);
- } else {
- EdmPrimitiveTypeKind underlyingTypeKind = EdmPrimitiveTypeKind.valueOfFQN(enumType.getUnderlyingType());
-
- if (!VALID_UNDERLYING_TYPES.contains(underlyingTypeKind)) {
- throw new EdmException("Not allowed as underlying type: " + underlyingTypeKind);
- }
- underlyingType = EdmPrimitiveTypeFactory.getInstance(underlyingTypeKind);
- }
-
- this.enumType = enumType;
- this.uriPrefix = enumName.getFullQualifiedNameAsString() + '\'';
- this.uriSuffix = "'";
- }
-
- @Override
- public EdmPrimitiveType getUnderlyingType() {
- return underlyingType;
- }
-
- @Override
- public EdmMember getMember(final String name) {
- if (membersMap == null) {
- createEdmMembers();
- }
- return membersMap.get(name);
- }
-
- @Override
- public List<String> getMemberNames() {
- if (memberNames == null) {
- createEdmMembers();
- }
- return Collections.unmodifiableList(memberNames);
- }
-
- private void createEdmMembers() {
- final LinkedHashMap<String, EdmMember> membersMapLocal = new LinkedHashMap<String, EdmMember>();
- final List<String> memberNamesLocal = new ArrayList<String>();
- if (enumType.getMembers() != null) {
- for (final EnumMember member : enumType.getMembers()) {
- membersMapLocal.put(member.getName(), new EdmMemberImpl(edm, getFullQualifiedName(), member));
- memberNamesLocal.add(member.getName());
- }
-
- membersMap = membersMapLocal;
- memberNames = memberNamesLocal;
- }
- }
-
- @Override
- public boolean isCompatible(final EdmPrimitiveType primitiveType) {
- return equals(primitiveType);
- }
-
- @Override
- public Class<?> getDefaultType() {
- return getUnderlyingType().getDefaultType();
- }
-
- @Override
- public boolean validate(final String value, final Boolean isNullable, final Integer maxLength,
- final Integer precision, final Integer scale, final Boolean isUnicode) {
-
- try {
- valueOfString(value, isNullable, maxLength, precision, scale, isUnicode, getDefaultType());
- return true;
- } catch (final EdmPrimitiveTypeException e) {
- return false;
- }
- }
-
- private Long parseEnumValue(final String value) throws EdmPrimitiveTypeException {
- Long result = null;
- for (final String memberValue : value.split(",", isFlags() ? -1 : 1)) {
- Long memberValueLong = null;
- for (final EdmMember member : getMembers()) {
- if (member.getName().equals(memberValue) || member.getValue().equals(memberValue)) {
- memberValueLong = Long.decode(member.getValue());
- }
- }
- if (memberValueLong == null) {
- throw new EdmPrimitiveTypeException("The literal '" + value + "' has illegal content.");
- }
- result = result == null ? memberValueLong : result | memberValueLong;
- }
- return result;
- }
-
- @Override
- public <T> T valueOfString(final String value, final Boolean isNullable, final Integer maxLength,
- final Integer precision, final Integer scale, final Boolean isUnicode, final Class<T> returnType)
- throws EdmPrimitiveTypeException {
-
- if (value == null) {
- if (isNullable != null && !isNullable) {
- throw new EdmPrimitiveTypeException("The literal 'null' is not allowed.");
- }
- return null;
- }
-
- try {
- return EdmInt64.convertNumber(parseEnumValue(value), returnType);
- } catch (final IllegalArgumentException e) {
- throw new EdmPrimitiveTypeException("The literal '" + value
- + "' cannot be converted to value type " + returnType + ".", e);
- } catch (final ClassCastException e) {
- throw new EdmPrimitiveTypeException("The value type " + returnType + " is not supported.", e);
- }
- }
-
- private String constructEnumValue(final long value)
- throws EdmPrimitiveTypeException {
- long remaining = value;
- final StringBuilder result = new StringBuilder();
-
- final boolean flags = isFlags();
- for (final EdmMember member : getMembers()) {
- final long memberValue = Long.parseLong(member.getValue());
- if (flags) {
- if ((memberValue & remaining) == memberValue) {
- if (result.length() > 0) {
- result.append(',');
- }
- result.append(member.getName());
- remaining ^= memberValue;
- }
- } else {
- if (value == memberValue) {
- return member.getName();
- }
- }
- }
-
- if (remaining != 0) {
- throw new EdmPrimitiveTypeException("The value '" + value + "' is not valid.");
- }
- return result.toString();
- }
-
- private Collection<EdmMember> getMembers() {
- if(membersMap == null){
- createEdmMembers();
- }
- return membersMap.values();
- }
-
- @Override
- public String valueToString(final Object value, final Boolean isNullable, final Integer maxLength,
- final Integer precision, final Integer scale, final Boolean isUnicode) throws EdmPrimitiveTypeException {
-
- if (value == null) {
- if (isNullable != null && !isNullable) {
- throw new EdmPrimitiveTypeException("The value NULL is not allowed.");
- }
- return null;
- }
- if (value instanceof Byte || value instanceof Short || value instanceof Integer || value instanceof Long) {
- return constructEnumValue(((Number) value).longValue());
- } else {
- throw new EdmPrimitiveTypeException("The value type " + value.getClass() + " is not supported.");
- }
- }
-
- @Override
- public String toUriLiteral(final String literal) {
- return literal == null ? null
- : uriPrefix.isEmpty() && uriSuffix.isEmpty() ? literal : uriPrefix + literal + uriSuffix;
- }
-
- @Override
- public String fromUriLiteral(final String literal) throws EdmPrimitiveTypeException {
- if (literal == null) {
- return null;
- } else if (uriPrefix.isEmpty() && uriSuffix.isEmpty()) {
- return literal;
- } else if (literal.length() >= uriPrefix.length() + uriSuffix.length()
- && literal.startsWith(uriPrefix) && literal.endsWith(uriSuffix)) {
- return literal.substring(uriPrefix.length(), literal.length() - uriSuffix.length());
- } else {
- throw new EdmPrimitiveTypeException("The literal '" + literal + "' has illegal content.");
- }
- }
-
- @Override
- public boolean isFlags() {
- return enumType.isFlags();
- }
-
- @Override
- public TargetType getAnnotationsTargetType() {
- return TargetType.EnumType;
- }
-
- @Override
- public String getAnnotationsTargetPath() {
- return null;
- }
-
- @Override
- public FullQualifiedName getAnnotationsTargetFQN() {
- return getFullQualifiedName();
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmFunctionImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmFunctionImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmFunctionImpl.java
deleted file mode 100644
index fa21fb6..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmFunctionImpl.java
+++ /dev/null
@@ -1,52 +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.edm.provider;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmException;
-import org.apache.olingo.commons.api.edm.EdmFunction;
-import org.apache.olingo.commons.api.edm.EdmReturnType;
-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 AbstractEdmOperation implements EdmFunction {
-
- private final Function function;
-
- public 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();
- }
-
- @Override
- public EdmReturnType getReturnType() {
- final EdmReturnType returnType = super.getReturnType();
- if (returnType == null) {
- throw new EdmException("ReturnType for a function must not be null");
- }
- return returnType;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmFunctionImportImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmFunctionImportImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmFunctionImportImpl.java
deleted file mode 100644
index b2e2397..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmFunctionImportImpl.java
+++ /dev/null
@@ -1,63 +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.edm.provider;
-
-import java.util.List;
-
-import org.apache.olingo.commons.api.edm.Edm;
-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.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.provider.FunctionImport;
-
-public class EdmFunctionImportImpl extends AbstractEdmOperationImport implements EdmFunctionImport {
-
- private final FunctionImport functionImport;
-
- public EdmFunctionImportImpl(final Edm edm, final EdmEntityContainer container, final FunctionImport functionImport) {
- super(edm, container, functionImport);
- this.functionImport = functionImport;
- }
-
- @Override
- public FullQualifiedName getFunctionFqn() {
- return functionImport.getFunctionFQN();
- }
-
- @Override
- public EdmFunction getUnboundFunction(final List<String> parameterNames) {
- return edm.getUnboundFunction(getFunctionFqn(), parameterNames);
- }
-
- @Override
- public List<EdmFunction> getUnboundFunctions() {
- return edm.getUnboundFunctions(getFunctionFqn());
- }
-
- @Override
- public boolean isIncludeInServiceDocument() {
- return functionImport.isIncludeInServiceDocument();
- }
-
- @Override
- public TargetType getAnnotationsTargetType() {
- return TargetType.FunctionImport;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmKeyPropertyRefImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmKeyPropertyRefImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmKeyPropertyRefImpl.java
deleted file mode 100644
index 1122f74..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmKeyPropertyRefImpl.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.commons.core.edm.provider;
-
-import org.apache.olingo.commons.api.edm.EdmEntityType;
-import org.apache.olingo.commons.api.edm.EdmException;
-import org.apache.olingo.commons.api.edm.EdmKeyPropertyRef;
-import org.apache.olingo.commons.api.edm.EdmProperty;
-import org.apache.olingo.commons.api.edm.EdmStructuredType;
-import org.apache.olingo.commons.api.edm.provider.PropertyRef;
-
-public class EdmKeyPropertyRefImpl implements EdmKeyPropertyRef {
-
- private final PropertyRef ref;
- private EdmEntityType edmEntityType;
- private EdmProperty property;
-
- public EdmKeyPropertyRefImpl(final EdmEntityType edmEntityType, final PropertyRef ref) {
- this.edmEntityType = edmEntityType;
- this.ref = ref;
- }
-
- @Override
- public String getName() {
- return ref.getName();
- }
-
- @Override
- public String getAlias() {
- return ref.getAlias();
- }
-
- @Override
- public EdmProperty getProperty() {
- if (property == null) {
- if (getAlias() == null) {
- property = edmEntityType.getStructuralProperty(getName());
- if (property == null) {
- throw new EdmException("Invalid key property ref specified. Can´t find property with name: "
- + getName());
- }
- } else {
- if (getName() == null || getName().isEmpty()) {
- throw new EdmException("Alias but no path specified for propertyRef");
- }
- final String[] splitPath = getName().split("/");
- EdmStructuredType structType = edmEntityType;
- for (int i = 0; i < splitPath.length - 1; i++) {
- final EdmProperty _property = structType.getStructuralProperty(splitPath[i]);
- if (_property == null) {
- throw new EdmException("Invalid property ref specified. Can´t find property with name: " + splitPath[i]
- + " at type: " + structType.getNamespace() + "." + structType.getName());
- }
- structType = (EdmStructuredType) _property.getType();
- }
- property = structType.getStructuralProperty(splitPath[splitPath.length - 1]);
- if (property == null) {
- throw new EdmException("Invalid property ref specified. Can´t find property with name: "
- + splitPath[splitPath.length - 1] + " at type: " + structType.getNamespace() + "."
- + structType.getName());
- }
- }
- }
-
- return property;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmMemberImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmMemberImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmMemberImpl.java
deleted file mode 100644
index b3a6f1e..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmMemberImpl.java
+++ /dev/null
@@ -1,56 +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.edm.provider;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmMember;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.provider.EnumMember;
-
-public class EdmMemberImpl extends AbstractEdmNamed implements EdmMember {
-
- private final FullQualifiedName enumFQN;
- private final EnumMember member;
-
- public EdmMemberImpl(final Edm edm, final FullQualifiedName enumFQN, final EnumMember member) {
- super(edm, member.getName(), member);
- this.enumFQN = enumFQN;
- this.member = member;
- }
-
- @Override
- public TargetType getAnnotationsTargetType() {
- return TargetType.Member;
- }
-
- @Override
- public FullQualifiedName getAnnotationsTargetFQN() {
- return enumFQN;
- }
-
- @Override
- public String getAnnotationsTargetPath() {
- return getName();
- }
-
- @Override
- public String getValue() {
- return member.getValue();
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmNavigationPropertyBindingImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmNavigationPropertyBindingImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmNavigationPropertyBindingImpl.java
deleted file mode 100644
index ac534b2..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmNavigationPropertyBindingImpl.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.commons.core.edm.provider;
-
-import org.apache.olingo.commons.api.edm.EdmNavigationPropertyBinding;
-
-public class EdmNavigationPropertyBindingImpl implements EdmNavigationPropertyBinding {
-
- private final String path;
- private final String target;
-
- public EdmNavigationPropertyBindingImpl(final String path, final String target) {
- this.path = path;
- this.target = target;
- }
-
- @Override
- public String getPath() {
- return path;
- }
-
- @Override
- public String getTarget() {
- return target;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmNavigationPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmNavigationPropertyImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmNavigationPropertyImpl.java
deleted file mode 100644
index d6a56bf..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmNavigationPropertyImpl.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.commons.core.edm.provider;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmElement;
-import org.apache.olingo.commons.api.edm.EdmEntityType;
-import org.apache.olingo.commons.api.edm.EdmException;
-import org.apache.olingo.commons.api.edm.EdmNavigationProperty;
-import org.apache.olingo.commons.api.edm.EdmReferentialConstraint;
-import org.apache.olingo.commons.api.edm.EdmStructuredType;
-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;
-
-public class EdmNavigationPropertyImpl extends AbstractEdmNamed implements EdmElement, EdmNavigationProperty {
-
- private final FullQualifiedName structuredTypeName;
- private final NavigationProperty navigationProperty;
- private List<EdmReferentialConstraint> referentialConstraints;
- private EdmEntityType typeImpl;
- private EdmNavigationProperty partnerNavigationProperty;
-
- public EdmNavigationPropertyImpl(
- final Edm edm, final FullQualifiedName structuredTypeName, final NavigationProperty navigationProperty) {
- super(edm, navigationProperty.getName(), navigationProperty);
- this.structuredTypeName = structuredTypeName;
- this.navigationProperty = navigationProperty;
- }
-
- @Override
- public boolean isCollection() {
- return navigationProperty.isCollection();
- }
-
- @Override
- public boolean isNullable() {
- return navigationProperty.isNullable();
- }
-
- @Override
- public boolean containsTarget() {
- return navigationProperty.isContainsTarget();
- }
-
- @Override
- public EdmEntityType getType() {
- if (typeImpl == null) {
- typeImpl = edm.getEntityType(navigationProperty.getTypeFQN());
- if (typeImpl == null) {
- throw new EdmException("Cannot find type with name: " + navigationProperty.getTypeFQN());
- }
- }
- return typeImpl;
- }
-
- @Override
- public EdmNavigationProperty getPartner() {
- if (partnerNavigationProperty == null) {
- String partner = navigationProperty.getPartner();
- if (partner != null) {
- EdmStructuredType type = getType();
- EdmNavigationProperty property = null;
- final String[] split = partner.split("/");
- for (String element : split) {
- property = type.getNavigationProperty(element);
- if (property == null) {
- throw new EdmException("Cannot find navigation property with name: " + element
- + " at type " + type.getName());
- }
- type = property.getType();
- }
- partnerNavigationProperty = property;
- }
- }
- return partnerNavigationProperty;
- }
-
- @Override
- public String getReferencingPropertyName(final String referencedPropertyName) {
- final List<ReferentialConstraint> referentialConstraints = navigationProperty.getReferentialConstraints();
- if (referentialConstraints != null) {
- for (ReferentialConstraint constraint : referentialConstraints) {
- if (constraint.getReferencedProperty().equals(referencedPropertyName)) {
- return constraint.getProperty();
- }
- }
- }
- return null;
- }
-
- @Override
- public List<EdmReferentialConstraint> getReferentialConstraints() {
- if (referentialConstraints == null) {
- final List<ReferentialConstraint> providerConstraints = navigationProperty.getReferentialConstraints();
- final List<EdmReferentialConstraint> referentialConstraintsLocal = new ArrayList<EdmReferentialConstraint>();
- if (providerConstraints != null) {
- for (ReferentialConstraint constraint : providerConstraints) {
- referentialConstraintsLocal.add(new EdmReferentialConstraintImpl(edm, constraint));
- }
- }
-
- referentialConstraints = referentialConstraintsLocal;
- }
- return Collections.unmodifiableList(referentialConstraints);
- }
-
- @Override
- public TargetType getAnnotationsTargetType() {
- return TargetType.NavigationProperty;
- }
-
- @Override
- public String getAnnotationsTargetPath() {
- return getName();
- }
-
- @Override
- public FullQualifiedName getAnnotationsTargetFQN() {
- return structuredTypeName;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmParameterImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmParameterImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmParameterImpl.java
deleted file mode 100644
index 0973185..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmParameterImpl.java
+++ /dev/null
@@ -1,88 +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.edm.provider;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmElement;
-import org.apache.olingo.commons.api.edm.EdmException;
-import org.apache.olingo.commons.api.edm.EdmMapping;
-import org.apache.olingo.commons.api.edm.EdmParameter;
-import org.apache.olingo.commons.api.edm.EdmType;
-import org.apache.olingo.commons.api.edm.geo.SRID;
-import org.apache.olingo.commons.api.edm.provider.Parameter;
-
-public class EdmParameterImpl extends AbstractEdmNamed implements EdmParameter, EdmElement {
-
- private final Parameter parameter;
- private final EdmTypeInfo typeInfo;
- private EdmType typeImpl;
-
- public EdmParameterImpl(final Edm edm, final Parameter parameter) {
- super(edm, parameter.getName(), parameter);
- this.parameter = parameter;
- this.typeInfo = new EdmTypeInfo.Builder().setEdm(edm).setTypeExpression(parameter.getType()).build();
- }
-
- @Override
- public boolean isCollection() {
- return parameter.isCollection();
- }
-
- @Override
- public EdmMapping getMapping() {
- return parameter.getMapping();
- }
-
- @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 EdmType getType() {
- if (typeImpl == null) {
- typeImpl = typeInfo.getType();
- if (typeImpl == null) {
- throw new EdmException("Cannot find type with name: " + typeInfo.getFullQualifiedName());
- }
- }
-
- return typeImpl;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmPropertyImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmPropertyImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmPropertyImpl.java
deleted file mode 100644
index 14c3faf..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmPropertyImpl.java
+++ /dev/null
@@ -1,127 +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.edm.provider;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmElement;
-import org.apache.olingo.commons.api.edm.EdmException;
-import org.apache.olingo.commons.api.edm.EdmMapping;
-import org.apache.olingo.commons.api.edm.EdmProperty;
-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.Property;
-
-public class EdmPropertyImpl extends AbstractEdmNamed implements EdmProperty, EdmElement {
-
- private final FullQualifiedName structuredTypeName;
- private final Property property;
- private final EdmTypeInfo typeInfo;
- private EdmType propertyType;
-
- public EdmPropertyImpl(final Edm edm, final FullQualifiedName structuredTypeName, final Property property) {
- super(edm, property.getName(), property);
-
- this.structuredTypeName = structuredTypeName;
- this.property = property;
- typeInfo = new EdmTypeInfo.Builder().setEdm(edm).setTypeExpression(property.getType().toString()).build();
- }
-
- @Override
- public EdmType getType() {
- if (propertyType == null) {
- propertyType = typeInfo.getType();
- if (propertyType == null) {
- throw new EdmException("Cannot find type with name: " + typeInfo.getFullQualifiedName());
- }
- }
-
- return propertyType;
- }
-
- @Override
- public boolean isCollection() {
- return property.isCollection();
- }
-
- @Override
- public EdmMapping getMapping() {
- return property.getMapping();
- }
-
- @Override
- public String getMimeType() {
- return property.getMimeType();
- }
-
- @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 SRID getSrid() {
- return property.getSrid();
- }
-
- @Override
- public boolean isUnicode() {
- return property.isUnicode();
- }
-
- @Override
- public String getDefaultValue() {
- return property.getDefaultValue();
- }
-
- @Override
- public TargetType getAnnotationsTargetType() {
- return TargetType.Property;
- }
-
- @Override
- public String getAnnotationsTargetPath() {
- return getName();
- }
-
- @Override
- public FullQualifiedName getAnnotationsTargetFQN() {
- return structuredTypeName;
- }
-
- @Override
- public boolean isPrimitive() {
- return typeInfo.isPrimitiveType();
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmProviderImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmProviderImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmProviderImpl.java
deleted file mode 100644
index 5a11a7b..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmProviderImpl.java
+++ /dev/null
@@ -1,378 +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.edm.provider;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.olingo.commons.api.ODataException;
-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.EdmException;
-import org.apache.olingo.commons.api.edm.EdmFunction;
-import org.apache.olingo.commons.api.edm.EdmSchema;
-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.AliasInfo;
-import org.apache.olingo.commons.api.edm.provider.Annotatable;
-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.EdmProvider;
-import org.apache.olingo.commons.api.edm.provider.EntityContainerInfo;
-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.Parameter;
-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.AbstractEdm;
-
-public class EdmProviderImpl extends AbstractEdm {
-
- private final EdmProvider provider;
- private final Map<FullQualifiedName, List<Action>> actionsMap =
- Collections.synchronizedMap(new HashMap<FullQualifiedName, List<Action>>());
- private final Map<FullQualifiedName, List<Function>> functionsMap =
- Collections.synchronizedMap(new HashMap<FullQualifiedName, List<Function>>());
-
- public EdmProviderImpl(final EdmProvider provider) {
- this.provider = provider;
- }
-
- @Override
- public EdmEntityContainer createEntityContainer(final FullQualifiedName containerName) {
- try {
- EntityContainerInfo entityContainerInfo = provider.getEntityContainerInfo(containerName);
- if (entityContainerInfo != null) {
- return new EdmEntityContainerImpl(this, provider, entityContainerInfo);
- }
- return null;
- } catch (ODataException e) {
- throw new EdmException(e);
- }
- }
-
- @Override
- public EdmEnumType createEnumType(final FullQualifiedName enumName) {
- try {
- EnumType enumType = provider.getEnumType(enumName);
- if (enumType != null) {
- return new EdmEnumTypeImpl(this, enumName, enumType);
- }
- return null;
- } catch (ODataException e) {
- throw new EdmException(e);
- }
- }
-
- @Override
- public EdmTypeDefinition createTypeDefinition(final FullQualifiedName typeDefinitionName) {
- try {
- TypeDefinition typeDefinition = provider.getTypeDefinition(typeDefinitionName);
- if (typeDefinition != null) {
- return new EdmTypeDefinitionImpl(this, typeDefinitionName, typeDefinition);
- }
- return null;
- } catch (ODataException e) {
- throw new EdmException(e);
- }
- }
-
- @Override
- public EdmEntityType createEntityType(final FullQualifiedName entityTypeName) {
- try {
- EntityType entityType = provider.getEntityType(entityTypeName);
- if (entityType != null) {
- return new EdmEntityTypeImpl(this, entityTypeName, entityType);
- }
- return null;
- } catch (ODataException e) {
- throw new EdmException(e);
- }
- }
-
- @Override
- public EdmComplexType createComplexType(final FullQualifiedName complexTypeName) {
- try {
- final ComplexType complexType = provider.getComplexType(complexTypeName);
- if (complexType != null) {
- return new EdmComplexTypeImpl(this, complexTypeName, complexType);
- }
- return null;
- } catch (ODataException e) {
- throw new EdmException(e);
- }
- }
-
- @Override
- public EdmAction createBoundAction(final FullQualifiedName actionName,
- final FullQualifiedName bindingParameterTypeName, final Boolean isBindingParameterCollection) {
-
- try {
- List<Action> actions = actionsMap.get(actionName);
- if (actions == null) {
- actions = provider.getActions(actionName);
- if (actions == null) {
- return null;
- } else {
- actionsMap.put(actionName, actions);
- }
- }
- // Search for bound action where binding parameter matches
- for (Action action : actions) {
- if (action.isBound()) {
- final List<Parameter> parameters = action.getParameters();
- final Parameter parameter = parameters.get(0);
- if (bindingParameterTypeName.equals(parameter.getTypeFQN())
- && isBindingParameterCollection.booleanValue() == parameter.isCollection()) {
-
- return new EdmActionImpl(this, actionName, action);
- }
-
- }
- }
- return null;
- } catch (ODataException e) {
- throw new EdmException(e);
- }
- }
-
- @Override
- public EdmFunction createBoundFunction(final FullQualifiedName functionName,
- final FullQualifiedName bindingParameterTypeName, final Boolean isBindingParameterCollection,
- final List<String> parameterNames) {
-
- try {
- List<Function> functions = functionsMap.get(functionName);
- if (functions == null) {
- functions = provider.getFunctions(functionName);
- if (functions == null) {
- return null;
- } else {
- functionsMap.put(functionName, functions);
- }
- }
- final List<String> parameterNamesCopy =
- parameterNames == null ? Collections.<String> emptyList() : parameterNames;
- for (Function function : functions) {
- if (function.isBound()) {
- List<Parameter> providerParameters = function.getParameters();
- if (providerParameters == null || providerParameters.size() == 0) {
- throw new EdmException("No parameter specified for bound function: " + functionName);
- }
- final Parameter bindingParameter = providerParameters.get(0);
- if (bindingParameterTypeName.equals(bindingParameter.getTypeFQN())
- && isBindingParameterCollection.booleanValue() == bindingParameter.isCollection()) {
-
- if (parameterNamesCopy.size() == providerParameters.size() - 1) {
- final List<String> providerParameterNames = new ArrayList<String>();
- for (int i = 1; i < providerParameters.size(); i++) {
- providerParameterNames.add(providerParameters.get(i).getName());
- }
- if (parameterNamesCopy.containsAll(providerParameterNames)) {
- return new EdmFunctionImpl(this, functionName, function);
- }
- }
- }
- }
- }
- return null;
- } catch (ODataException e) {
- throw new EdmException(e);
- }
- }
-
- @Override
- protected Map<String, String> createAliasToNamespaceInfo() {
- final Map<String, String> aliasToNamespaceInfos = new HashMap<String, String>();
- try {
- final List<AliasInfo> aliasInfos = provider.getAliasInfos();
- if (aliasInfos != null) {
- for (AliasInfo info : aliasInfos) {
- aliasToNamespaceInfos.put(info.getAlias(), info.getNamespace());
- }
- }
- } catch (ODataException e) {
- throw new EdmException(e);
- }
- return aliasToNamespaceInfos;
- }
-
- @Override
- protected EdmAction createUnboundAction(final FullQualifiedName actionName) {
- try {
- List<Action> actions = actionsMap.get(actionName);
- if (actions == null) {
- actions = provider.getActions(actionName);
- if (actions == null) {
- return null;
- } else {
- actionsMap.put(actionName, actions);
- }
- }
- // Search for first unbound action
- for (Action action : actions) {
- if (!action.isBound()) {
- return new EdmActionImpl(this, actionName, action);
- }
- }
- return null;
- } catch (ODataException e) {
- throw new EdmException(e);
- }
- }
-
- @Override
- protected List<EdmFunction> createUnboundFunctions(final FullQualifiedName functionName) {
- List<EdmFunction> result = new ArrayList<EdmFunction>();
-
- try {
- List<Function> functions = functionsMap.get(functionName);
- if (functions == null) {
- functions = provider.getFunctions(functionName);
- if (functions != null) {
- functionsMap.put(functionName, functions);
- }
- }
- if (functions != null) {
- for (Function function : functions) {
- if (!function.isBound()) {
- result.add(new EdmFunctionImpl(this, functionName, function));
- }
- }
- }
- } catch (ODataException e) {
- throw new EdmException(e);
- }
-
- return result;
- }
-
- @Override
- protected EdmFunction createUnboundFunction(final FullQualifiedName functionName, final List<String> parameterNames) {
- try {
- List<Function> functions = functionsMap.get(functionName);
- if (functions == null) {
- functions = provider.getFunctions(functionName);
- if (functions == null) {
- return null;
- } else {
- functionsMap.put(functionName, functions);
- }
- }
-
- final List<String> parameterNamesCopy =
- parameterNames == null ? Collections.<String> emptyList() : parameterNames;
- for (Function function : functions) {
- if (!function.isBound()) {
- List<Parameter> providerParameters = function.getParameters();
- if (providerParameters == null) {
- providerParameters = Collections.emptyList();
- }
- if (parameterNamesCopy.size() == providerParameters.size()) {
- final List<String> functionParameterNames = new ArrayList<String>();
- for (Parameter parameter : providerParameters) {
- functionParameterNames.add(parameter.getName());
- }
-
- if (parameterNamesCopy.containsAll(functionParameterNames)) {
- return new EdmFunctionImpl(this, functionName, function);
- }
- }
- }
- }
- return null;
- } catch (ODataException e) {
- throw new EdmException(e);
- }
- }
-
- @Override
- protected Map<String, EdmSchema> createSchemas() {
- try {
- final Map<String, EdmSchema> providerSchemas = new LinkedHashMap<String, EdmSchema>();
- for (Schema schema : provider.getSchemas()) {
- providerSchemas.put(schema.getNamespace(), new EdmSchemaImpl(this, provider, schema));
- }
- return providerSchemas;
- } catch (ODataException e) {
- throw new EdmException(e);
- }
- }
-
- @Override
- protected EdmTerm createTerm(final FullQualifiedName termName) {
- try {
- Term providerTerm = provider.getTerm(termName);
- if (providerTerm != null) {
- return new EdmTermImpl(this, termName.getNamespace(), providerTerm);
- }
- return null;
- } catch (ODataException e) {
- throw new EdmException(e);
- }
- }
-
- //TODO: Check Provider annotations implementation
- @Override
- protected EdmAnnotations createAnnotationGroup(final FullQualifiedName targetName) {
- try {
- EdmSchema schema = getSchema(targetName.getNamespace());
- Annotations providerGroup = provider.getAnnotationsGroup(targetName);
- if (providerGroup != null) {
- return new EdmAnnotationsImpl(this, schema, providerGroup);
- }
- return null;
- } catch (ODataException e) {
- throw new EdmException(e);
- }
- }
-
- @Override
- protected List<EdmAnnotation> createAnnotations(final FullQualifiedName annotatedName) {
- try {
- Annotatable providerAnnotatable = provider.getAnnoatatable(annotatedName);
- if (providerAnnotatable != null && providerAnnotatable.getAnnotations() != null) {
- List<EdmAnnotation> result = new ArrayList<EdmAnnotation>();
- for(Annotation annotation : providerAnnotatable.getAnnotations()){
- //Load Term
- getTerm(new FullQualifiedName(annotation.getTerm()));
- result.add(new EdmAnnotationImpl(this, annotation));
- }
- return result;
- }
- return null;
- } catch (ODataException e) {
- throw new EdmException(e);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmReferentialConstraintImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmReferentialConstraintImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmReferentialConstraintImpl.java
deleted file mode 100644
index ac38d20..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmReferentialConstraintImpl.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.commons.core.edm.provider;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmReferentialConstraint;
-import org.apache.olingo.commons.api.edm.provider.ReferentialConstraint;
-
-public class EdmReferentialConstraintImpl extends AbstractEdmAnnotatable implements EdmReferentialConstraint {
-
- private final ReferentialConstraint constraint;
-
- public EdmReferentialConstraintImpl(final Edm edm, final ReferentialConstraint constraint) {
- super(edm, constraint);
- this.constraint = constraint;
- }
-
- @Override
- public String getPropertyName() {
- return constraint.getProperty();
- }
-
- @Override
- public String getReferencedPropertyName() {
- return constraint.getReferencedProperty();
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmReturnTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmReturnTypeImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmReturnTypeImpl.java
deleted file mode 100644
index 7c0c006..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmReturnTypeImpl.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.commons.core.edm.provider;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmException;
-import org.apache.olingo.commons.api.edm.EdmReturnType;
-import org.apache.olingo.commons.api.edm.EdmType;
-import org.apache.olingo.commons.api.edm.geo.SRID;
-import org.apache.olingo.commons.api.edm.provider.ReturnType;
-
-public class EdmReturnTypeImpl implements EdmReturnType {
-
- private final ReturnType returnType;
- private final EdmTypeInfo typeInfo;
- private EdmType typeImpl;
-
- public EdmReturnTypeImpl(final Edm edm, final ReturnType returnType) {
- this.returnType = returnType;
- this.typeInfo = new EdmTypeInfo.Builder().setEdm(edm).setTypeExpression(returnType.getType()).build();
- }
-
- @Override
- public boolean isCollection() {
- return returnType.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.getSrid();
- }
-
- @Override
- public EdmType getType() {
- if (typeImpl == null) {
- typeImpl = typeInfo.getType();
- if (typeImpl == null) {
- throw new EdmException("Cannot find type with name: " + typeInfo.getFullQualifiedName());
- }
- }
-
- return typeImpl;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmSchemaImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmSchemaImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmSchemaImpl.java
deleted file mode 100644
index 4d994f6..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmSchemaImpl.java
+++ /dev/null
@@ -1,304 +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.edm.provider;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-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.EdmSchema;
-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.EdmProvider;
-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;
-
-public class EdmSchemaImpl implements EdmSchema {
-
- private final Schema schema;
- private final EdmProviderImpl edm;
- private final EdmProvider provider;
-
- protected final String namespace;
- private final String alias;
- private List<EdmEnumType> enumTypes;
- private List<EdmEntityType> entityTypes;
- private List<EdmComplexType> complexTypes;
- private List<EdmAction> actions;
- private List<EdmFunction> functions;
- private List<EdmTypeDefinition> typeDefinitions;
- private List<EdmTerm> terms;
- private List<EdmAnnotations> annotationGroups;
- private List<EdmAnnotation> annotations;
- private EdmEntityContainer entityContainer;
-
- public EdmSchemaImpl(final EdmProviderImpl edm, final EdmProvider provider, final Schema schema) {
- this.edm = edm;
- this.provider = provider;
- this.schema = schema;
- this.namespace = schema.getNamespace();
- this.alias = schema.getAlias();
-
- if (alias != null) {
- edm.cacheAliasNamespaceInfo(alias, namespace);
- }
-
- enumTypes = createEnumTypes();
- typeDefinitions = createTypeDefinitions();
- entityTypes = createEntityTypes();
- complexTypes = createComplexTypes();
- actions = createActions();
- functions = createFunctions();
- entityContainer = createEntityContainer();
- annotationGroups = createAnnotationGroups();
- annotations = createAnnotations();
- terms = createTerms();
- }
-
- @Override
- public List<EdmEnumType> getEnumTypes() {
- return Collections.unmodifiableList(enumTypes);
- }
-
- @Override
- public List<EdmEntityType> getEntityTypes() {
- return Collections.unmodifiableList(entityTypes);
- }
-
- @Override
- public List<EdmComplexType> getComplexTypes() {
- return Collections.unmodifiableList(complexTypes);
- }
-
- @Override
- public List<EdmAction> getActions() {
- return Collections.unmodifiableList(actions);
- }
-
- @Override
- public List<EdmFunction> getFunctions() {
- return Collections.unmodifiableList(functions);
- }
-
- @Override
- public List<EdmTypeDefinition> getTypeDefinitions() {
- return Collections.unmodifiableList(typeDefinitions);
- }
-
- @Override
- public List<EdmTerm> getTerms() {
- return Collections.unmodifiableList(terms);
- }
-
- @Override
- public List<EdmAnnotations> getAnnotationGroups() {
- return Collections.unmodifiableList(annotationGroups);
- }
-
- @Override
- public List<EdmAnnotation> getAnnotations() {
- return Collections.unmodifiableList(annotations);
- }
-
- @Override
- public EdmEntityContainer getEntityContainer() {
- return entityContainer;
- }
-
- @Override
- public String getNamespace() {
- return namespace;
- }
-
- @Override
- public String getAlias() {
- return alias;
- }
-
- protected EdmEntityContainer createEntityContainer() {
- if (schema.getEntityContainer() != null) {
- FullQualifiedName containerFQN = new FullQualifiedName(namespace, schema.getEntityContainer().getName());
- EdmEntityContainer impl = new EdmEntityContainerImpl(edm, provider, containerFQN, schema.getEntityContainer());
- edm.cacheEntityContainer(containerFQN, impl);
- edm.cacheEntityContainer(null, impl);
- return impl;
- }
- return null;
- }
-
- protected List<EdmTypeDefinition> createTypeDefinitions() {
- final List<EdmTypeDefinition> typeDefinitions = new ArrayList<EdmTypeDefinition>();
- final List<TypeDefinition> providerTypeDefinitions = schema.getTypeDefinitions();
- if (providerTypeDefinitions != null) {
- for (TypeDefinition def : providerTypeDefinitions) {
- FullQualifiedName typeDefName = new FullQualifiedName(namespace, def.getName());
- EdmTypeDefinitionImpl typeDefImpl = new EdmTypeDefinitionImpl(edm, typeDefName, def);
- typeDefinitions.add(typeDefImpl);
- edm.cacheTypeDefinition(typeDefName, typeDefImpl);
- }
- }
- return typeDefinitions;
- }
-
- protected List<EdmEnumType> createEnumTypes() {
- final List<EdmEnumType> enumTypes = new ArrayList<EdmEnumType>();
- final List<EnumType> providerEnumTypes = schema.getEnumTypes();
- if (providerEnumTypes != null) {
- for (EnumType enumType : providerEnumTypes) {
- FullQualifiedName enumName = new FullQualifiedName(namespace, enumType.getName());
- EdmEnumType enumTypeImpl = new EdmEnumTypeImpl(edm, enumName, enumType);
- enumTypes.add(enumTypeImpl);
- edm.cacheEnumType(enumName, enumTypeImpl);
- }
- }
- return enumTypes;
- }
-
- protected List<EdmEntityType> createEntityTypes() {
- final List<EdmEntityType> entityTypes = new ArrayList<EdmEntityType>();
- final List<EntityType> providerEntityTypes = schema.getEntityTypes();
- if (providerEntityTypes != null) {
- for (EntityType entityType : providerEntityTypes) {
- FullQualifiedName entityTypeName = new FullQualifiedName(namespace, entityType.getName());
- EdmEntityTypeImpl entityTypeImpl = new EdmEntityTypeImpl(edm, entityTypeName, entityType);
- entityTypes.add(entityTypeImpl);
- edm.cacheEntityType(entityTypeName, entityTypeImpl);
- }
- }
- return entityTypes;
- }
-
- protected List<EdmComplexType> createComplexTypes() {
- final List<EdmComplexType> complexTypes = new ArrayList<EdmComplexType>();
- final List<ComplexType> providerComplexTypes = schema.getComplexTypes();
- if (providerComplexTypes != null) {
- for (ComplexType complexType : providerComplexTypes) {
- FullQualifiedName comlexTypeName = new FullQualifiedName(namespace, complexType.getName());
- EdmComplexTypeImpl complexTypeImpl = new EdmComplexTypeImpl(edm, comlexTypeName, complexType);
- complexTypes.add(complexTypeImpl);
- edm.cacheComplexType(comlexTypeName, complexTypeImpl);
- }
- }
- return complexTypes;
- }
-
- protected List<EdmAction> createActions() {
- final List<EdmAction> actions = new ArrayList<EdmAction>();
- final List<Action> providerActions = schema.getActions();
- if (providerActions != null) {
- for (Action action : providerActions) {
- FullQualifiedName actionName = new FullQualifiedName(namespace, action.getName());
- EdmActionImpl edmActionImpl = new EdmActionImpl(edm, actionName, action);
- actions.add(edmActionImpl);
- edm.cacheAction(actionName, edmActionImpl);
- }
- }
- return actions;
- }
-
- protected List<EdmFunction> createFunctions() {
- final List<EdmFunction> functions = new ArrayList<EdmFunction>();
- final List<Function> providerFunctions = schema.getFunctions();
- if (providerFunctions != null) {
- for (Function function : providerFunctions) {
- FullQualifiedName functionName = new FullQualifiedName(namespace, function.getName());
- EdmFunctionImpl functionImpl = new EdmFunctionImpl(edm, functionName, function);
- functions.add(functionImpl);
- edm.cacheFunction(functionName, functionImpl);
- }
- }
- return functions;
- }
-
- protected List<EdmTerm> createTerms() {
- final List<EdmTerm> terms = new ArrayList<EdmTerm>();
- final List<Term> providerTerms = schema.getTerms();
- if (providerTerms != null) {
- for (Term term : providerTerms) {
- FullQualifiedName termName = new FullQualifiedName(namespace, term.getName());
- EdmTermImpl termImpl = new EdmTermImpl(edm, getNamespace(), term);
- terms.add(termImpl);
- edm.cacheTerm(termName, termImpl);
- }
- }
- return terms;
- }
-
- protected List<EdmAnnotations> createAnnotationGroups() {
- final List<EdmAnnotations> annotationGroups = new ArrayList<EdmAnnotations>();
- final List<Annotations> providerAnnotations =
- schema.getAnnotationGroups();
- if (providerAnnotations != null) {
- for (Annotations annotationGroup : providerAnnotations) {
- FullQualifiedName annotationsGroupName;
- if (annotationGroup.getTarget().contains(".")) {
- annotationsGroupName = new FullQualifiedName(annotationGroup.getTarget());
- } else {
- annotationsGroupName = new FullQualifiedName(namespace, annotationGroup.getTarget());
- }
- EdmAnnotationsImpl annotationsImpl = new EdmAnnotationsImpl(edm, this, annotationGroup);
- annotationGroups.add(annotationsImpl);
- edm.cacheAnnotationGroup(annotationsGroupName, annotationsImpl);
- }
- }
- return annotationGroups;
- }
-
- protected List<EdmAnnotation> createAnnotations() {
- final List<EdmAnnotation> annotations = new ArrayList<EdmAnnotation>();
- final List<Annotation> providerAnnotations =
- schema.getAnnotations();
- if (providerAnnotations != null) {
- for (Annotation annotation : providerAnnotations) {
- EdmAnnotationImpl annotationImpl = new EdmAnnotationImpl(edm, annotation);
- annotations.add(annotationImpl);
- }
- }
- 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/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmSingletonImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmSingletonImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmSingletonImpl.java
deleted file mode 100644
index 764a6c6..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmSingletonImpl.java
+++ /dev/null
@@ -1,36 +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.edm.provider;
-
-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.provider.Singleton;
-
-public class EdmSingletonImpl extends AbstractEdmBindingTarget implements EdmSingleton {
-
- public EdmSingletonImpl(final Edm edm, final EdmEntityContainer container, final Singleton singleton) {
- super(edm, container, singleton);
- }
-
- @Override
- public TargetType getAnnotationsTargetType() {
- return TargetType.Singleton;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTermImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTermImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTermImpl.java
deleted file mode 100644
index f500ec2..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTermImpl.java
+++ /dev/null
@@ -1,148 +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.edm.provider;
-
-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.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.primitivetype.EdmPrimitiveTypeFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class EdmTermImpl extends AbstractEdmNamed implements EdmTerm {
-
- private static final Logger LOG = LoggerFactory.getLogger(EdmTermImpl.class);
- private final Term term;
- private final FullQualifiedName fqn;
- private final EdmTypeInfo typeInfo;
- 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(), term);
-
- this.term = term;
- this.fqn = new FullQualifiedName(namespace, term.getName());
- this.typeInfo = new EdmTypeInfo.Builder().setEdm(edm).setTypeExpression(term.getType()).build();
- }
-
- @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) {
- final List<Class<?>> appliesToLocal = new ArrayList<Class<?>>();
- for (String element : term.getAppliesTo()) {
- try {
- appliesToLocal.add(ClassUtils.getClass(EdmTerm.class.getPackage().getName() + ".Edm" + element));
- } catch (ClassNotFoundException e) {
- LOG.error("Could not load Edm class for {}", element, e);
- }
- }
-
- appliesTo = appliesToLocal;
- }
- 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;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeDefinitionImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeDefinitionImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeDefinitionImpl.java
deleted file mode 100644
index 9c6155f..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeDefinitionImpl.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.commons.core.edm.provider;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmException;
-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.EdmTypeDefinition;
-import org.apache.olingo.commons.api.edm.FullQualifiedName;
-import org.apache.olingo.commons.api.edm.constants.EdmTypeKind;
-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.primitivetype.EdmPrimitiveTypeFactory;
-
-public class EdmTypeDefinitionImpl extends AbstractEdmNamed implements EdmTypeDefinition {
-
- private TypeDefinition typeDefinition;
- private FullQualifiedName typeDefinitionName;
- private EdmPrimitiveType edmPrimitiveTypeInstance;
-
- public EdmTypeDefinitionImpl(final Edm edm, final FullQualifiedName typeDefinitionName,
- final TypeDefinition typeDefinition) {
- super(edm, typeDefinitionName.getName(), typeDefinition);
- this.typeDefinitionName = typeDefinitionName;
- this.typeDefinition = typeDefinition;
- }
-
- @Override
- public FullQualifiedName getFullQualifiedName() {
- return typeDefinitionName;
- }
-
- @Override
- public String getNamespace() {
- return typeDefinitionName.getNamespace();
- }
-
- @Override
- public EdmTypeKind getKind() {
- return EdmTypeKind.DEFINITION;
- }
-
- @Override
- public EdmPrimitiveType getUnderlyingType() {
- if(edmPrimitiveTypeInstance == null){
- try {
- if (typeDefinition.getUnderlyingType() == null) {
- throw new EdmException("Underlying Type for type definition: "
- + typeDefinitionName.getFullQualifiedNameAsString() + " must not be null.");
- }
- this.edmPrimitiveTypeInstance = EdmPrimitiveTypeFactory.getInstance(
- EdmPrimitiveTypeKind.valueOfFQN(typeDefinition.getUnderlyingType()));
- } catch (IllegalArgumentException e) {
- throw new EdmException("Invalid underlying type: " + typeDefinition.getUnderlyingType(), e);
- }
- }
- 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 boolean isCompatible(final EdmPrimitiveType primitiveType) {
- return getUnderlyingType().isCompatible(primitiveType);
- }
-
- @Override
- public Class<?> getDefaultType() {
- return getUnderlyingType().getDefaultType();
- }
-
- @Override
- public boolean validate(final String value, final Boolean isNullable, final Integer maxLength,
- final Integer precision, final Integer scale,
- final Boolean isUnicode) {
-
- return getUnderlyingType().validate(value, isNullable, maxLength, precision, scale, isUnicode);
- }
-
- @Override
- public <T> T valueOfString(final String value, final Boolean isNullable, final Integer maxLength,
- final Integer precision, final Integer scale,
- final Boolean isUnicode, final Class<T> returnType) throws EdmPrimitiveTypeException {
-
- return getUnderlyingType().
- valueOfString(value, isNullable, maxLength, precision, scale, isUnicode, returnType);
- }
-
- @Override
- public String valueToString(final Object value, final Boolean isNullable, final Integer maxLength,
- final Integer precision, final Integer scale,
- final Boolean isUnicode) throws EdmPrimitiveTypeException {
-
- return getUnderlyingType().valueToString(value, isNullable, maxLength, precision, scale, isUnicode);
- }
-
- @Override
- public String toUriLiteral(final String literal) {
- return getUnderlyingType().toUriLiteral(literal);
- }
-
- @Override
- public String fromUriLiteral(final String literal) throws EdmPrimitiveTypeException {
- return getUnderlyingType().fromUriLiteral(literal);
- }
-
-
- @Override
- public TargetType getAnnotationsTargetType() {
- return TargetType.TypeDefinition;
- }
-
- @Override
- public FullQualifiedName getAnnotationsTargetFQN() {
- return getFullQualifiedName();
- }
-
- @Override
- public String getAnnotationsTargetPath() {
- return getName();
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ac32d236/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeImpl.java
----------------------------------------------------------------------
diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeImpl.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeImpl.java
deleted file mode 100644
index ff3cd65..0000000
--- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/provider/EdmTypeImpl.java
+++ /dev/null
@@ -1,53 +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.edm.provider;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.edm.EdmType;
-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.Annotatable;
-
-public class EdmTypeImpl extends AbstractEdmNamed implements EdmType {
-
- protected final FullQualifiedName typeName;
- protected final EdmTypeKind kind;
-
- public EdmTypeImpl(final Edm edm, final FullQualifiedName typeName, final EdmTypeKind kind,
- final Annotatable annotatable) {
- super(edm, typeName.getName(), annotatable);
- this.typeName = typeName;
- this.kind = kind;
- }
-
- @Override
- public FullQualifiedName getFullQualifiedName() {
- return typeName;
- }
-
- @Override
- public String getNamespace() {
- return typeName.getNamespace();
- }
-
- @Override
- public EdmTypeKind getKind() {
- return kind;
- }
-}