blob: aadc45b8742f79f786f75acea636b86cfcafb8a9 [file] [log] [blame]
/*
* 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.server.tecsvc.provider;
import org.apache.olingo.commons.api.ODataException;
import org.apache.olingo.server.api.edmx.EdmxReference;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
import org.apache.olingo.server.api.edm.provider.Action;
import org.apache.olingo.server.api.edm.provider.ActionImport;
import org.apache.olingo.server.api.edm.provider.AliasInfo;
import org.apache.olingo.server.api.edm.provider.ComplexType;
import org.apache.olingo.server.api.edm.provider.EdmProvider;
import org.apache.olingo.server.api.edm.provider.EntityContainer;
import org.apache.olingo.server.api.edm.provider.EntityContainerInfo;
import org.apache.olingo.server.api.edm.provider.EntitySet;
import org.apache.olingo.server.api.edm.provider.EntityType;
import org.apache.olingo.server.api.edm.provider.EnumType;
import org.apache.olingo.server.api.edm.provider.Function;
import org.apache.olingo.server.api.edm.provider.FunctionImport;
import org.apache.olingo.server.api.edm.provider.Schema;
import org.apache.olingo.server.api.edm.provider.Singleton;
import org.apache.olingo.server.api.edm.provider.Term;
import org.apache.olingo.server.api.edm.provider.TypeDefinition;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class EdmTechProvider extends EdmProvider {
public static final String nameSpace = "olingo.odata.test1";
private final SchemaProvider schemaProvider;
private final EntityTypeProvider entityTypeProvider;
private final ContainerProvider containerProvider;
private final ComplexTypeProvider complexTypeProvider;
private final EnumTypeProvider enumTypeProvider;
private final ActionProvider actionProvider;
private final FunctionProvider functionProvider;
private final TypeDefinitionProvider typeDefinitionProvider;
private final List<EdmxReference> references;
public EdmTechProvider() {
this(Collections.<EdmxReference>emptyList());
}
public EdmTechProvider(List<EdmxReference> references) {
containerProvider = new ContainerProvider(this);
entityTypeProvider = new EntityTypeProvider();
complexTypeProvider = new ComplexTypeProvider();
enumTypeProvider = new EnumTypeProvider();
actionProvider = new ActionProvider();
functionProvider = new FunctionProvider();
typeDefinitionProvider = new TypeDefinitionProvider();
schemaProvider = new SchemaProvider(this);
this.references = references;
}
@Override
public List<AliasInfo> getAliasInfos() throws ODataException {
return Arrays.asList(
new AliasInfo().setAlias("Namespace1_Alias").setNamespace(nameSpace)
);
}
@Override
public EnumType getEnumType(final FullQualifiedName enumTypeName) throws ODataException {
return enumTypeProvider.getEnumType(enumTypeName);
}
@Override
public TypeDefinition getTypeDefinition(final FullQualifiedName typeDefinitionName) throws ODataException {
return typeDefinitionProvider.getTypeDefinition(typeDefinitionName);
}
@Override
public EntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException {
return entityTypeProvider.getEntityType(entityTypeName);
}
@Override
public ComplexType getComplexType(final FullQualifiedName complexTypeName) throws ODataException {
return complexTypeProvider.getComplexType(complexTypeName);
}
@Override
public List<Action> getActions(final FullQualifiedName actionName) throws ODataException {
return actionProvider.getActions(actionName);
}
@Override
public List<Function> getFunctions(final FullQualifiedName functionName) throws ODataException {
return functionProvider.getFunctions(functionName);
}
@Override
public Term getTerm(final FullQualifiedName termName) throws ODataException {
return null;
}
@Override
public EntitySet getEntitySet(final FullQualifiedName entityContainer, final String entitySetName)
throws ODataException {
return containerProvider.getEntitySet(entityContainer, entitySetName);
}
@Override
public Singleton getSingleton(final FullQualifiedName entityContainer, final String singletonName)
throws ODataException {
return containerProvider.getSingleton(entityContainer, singletonName);
}
@Override
public ActionImport getActionImport(final FullQualifiedName entityContainer, final String actionImportName)
throws ODataException {
return containerProvider.getActionImport(entityContainer, actionImportName);
}
@Override
public FunctionImport getFunctionImport(final FullQualifiedName entityContainer, final String functionImportName)
throws ODataException {
return containerProvider.getFunctionImport(entityContainer, functionImportName);
}
@Override
public List<Schema> getSchemas() throws ODataException {
return schemaProvider.getSchemas();
}
@Override
public EntityContainer getEntityContainer() throws ODataException {
return containerProvider.getEntityContainer();
}
@Override
public EntityContainerInfo getEntityContainerInfo(final FullQualifiedName entityContainerName) throws ODataException {
return containerProvider.getEntityContainerInfo(entityContainerName);
}
}