Various small fixes and improvements

This commit is contained in:
Francesco Chicchiriccò 2014-05-10 10:26:19 +02:00
parent 365ea6f8b7
commit ec30775b8c
223 changed files with 961 additions and 973 deletions

View File

@ -48,7 +48,7 @@ import org.apache.olingo.ext.proxy.api.OperationType;
import org.apache.olingo.ext.proxy.api.annotations.Operation;
import org.apache.olingo.ext.proxy.api.annotations.Parameter;
import org.apache.olingo.ext.proxy.utils.ClassUtils;
import org.apache.olingo.ext.proxy.utils.EngineUtils;
import org.apache.olingo.ext.proxy.utils.CoreUtils;
abstract class AbstractInvocationHandler<C extends CommonEdmEnabledODataClient<?>> implements InvocationHandler {
@ -171,7 +171,7 @@ abstract class AbstractInvocationHandler<C extends CommonEdmEnabledODataClient<?
final ODataValue paramValue = parameter.getValue() == null
? null
: EngineUtils.getODataValue(client, type, parameter.getValue());
: CoreUtils.getODataValue(client, type, parameter.getValue());
parameterValues.put(parameter.getKey().name(), paramValue);
}
@ -199,8 +199,7 @@ abstract class AbstractInvocationHandler<C extends CommonEdmEnabledODataClient<?
}
if (edmType.isPrimitiveType() || edmType.isComplexType()) {
return EngineUtils.getValueFromProperty(
client.getCachedEdm(), (CommonODataProperty) result, method.getGenericReturnType());
return CoreUtils.getValueFromProperty(client, (CommonODataProperty) result, method.getGenericReturnType());
}
if (edmType.isEntityType()) {
if (edmType.isCollection()) {

View File

@ -67,6 +67,7 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
final Class<?> typeRef,
final Object internal,
final EntityContainerInvocationHandler<C> containerHandler) {
super(client, containerHandler);
this.internal = internal;
this.typeRef = typeRef;
@ -78,7 +79,8 @@ public abstract class AbstractTypeInvocationHandler<C extends CommonEdmEnabledOD
final Class<?> typeRef,
final Object internal,
final EntityTypeInvocationHandler<C> targetHandler) {
super(client, targetHandler.containerHandler);
super(client, targetHandler == null ? null : targetHandler.containerHandler);
this.internal = internal;
this.typeRef = typeRef;
this.targetHandler = targetHandler;

View File

@ -38,7 +38,7 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
import org.apache.olingo.ext.proxy.api.annotations.Property;
import org.apache.olingo.ext.proxy.context.AttachedEntityStatus;
import org.apache.olingo.ext.proxy.utils.ClassUtils;
import org.apache.olingo.ext.proxy.utils.EngineUtils;
import org.apache.olingo.ext.proxy.utils.CoreUtils;
public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?>>
extends AbstractTypeInvocationHandler<C> {
@ -51,15 +51,16 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
final Class<?> typeRef,
final EntityTypeInvocationHandler<?> handler) {
return new ComplexTypeInvocationHandler(complex, typeRef, handler);
return new ComplexTypeInvocationHandler(handler.targetHandler.getClient(), complex, typeRef, handler);
}
private ComplexTypeInvocationHandler(
public ComplexTypeInvocationHandler(
final C client,
final ODataComplexValue<?> complex,
final Class<?> typeRef,
final EntityTypeInvocationHandler<C> handler) {
super(handler.containerHandler.getClient(), typeRef, complex, handler);
super(client, typeRef, complex, handler);
}
public void setComplex(final ODataComplexValue<?> complex) {
@ -84,13 +85,12 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
final CommonODataProperty property = getComplex().get(name);
if (property.hasComplexValue()) {
res = Proxy.newProxyInstance(
Thread.currentThread().getContextClassLoader(),
new Class<?>[] {(Class<?>) type},
newComplex(name, (Class<?>) type));
EngineUtils.populate(
CoreUtils.populate(
client.getCachedEdm(),
res,
(Class<?>) type,
@ -98,8 +98,8 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
property.getValue().asComplex().iterator());
} else {
res = type == null
? EngineUtils.getValueFromProperty(client.getCachedEdm(), property)
: EngineUtils.getValueFromProperty(client.getCachedEdm(), property, type);
? CoreUtils.getValueFromProperty(client, property)
: CoreUtils.getValueFromProperty(client, property, type);
}
return res;
@ -139,11 +139,11 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
final EdmTypeInfo type = new EdmTypeInfo.Builder().
setEdm(client.getCachedEdm()).setTypeExpression(
edmProperty.isCollection() ? "Collection(" + property.type() + ")" : property.type()).build();
edmProperty.isCollection() ? "Collection(" + property.type() + ")" : property.type()).build();
client.getBinder().add(getComplex(), EngineUtils.getODataProperty(client, property.name(), type, value));
client.getBinder().add(getComplex(), CoreUtils.getODataProperty(client, property.name(), type, value));
if (!entityContext.isAttached(targetHandler)) {
if (targetHandler != null && !entityContext.isAttached(targetHandler)) {
entityContext.attach(targetHandler, AttachedEntityStatus.CHANGED);
}
}
@ -169,6 +169,6 @@ public class ComplexTypeInvocationHandler<C extends CommonEdmEnabledODataClient<
@Override
public boolean isChanged() {
return targetHandler.isChanged();
return targetHandler == null ? false : targetHandler.isChanged();
}
}

View File

@ -59,7 +59,7 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
import org.apache.olingo.ext.proxy.context.AttachedEntity;
import org.apache.olingo.ext.proxy.context.AttachedEntityStatus;
import org.apache.olingo.ext.proxy.context.EntityLinkDesc;
import org.apache.olingo.ext.proxy.utils.EngineUtils;
import org.apache.olingo.ext.proxy.utils.CoreUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -313,7 +313,7 @@ class ContainerImpl implements Container {
if (AttachedEntityStatus.DELETED != currentStatus) {
entity.getProperties().clear();
EngineUtils.addProperties(client, handler.getPropertyChanges(), entity);
CoreUtils.addProperties(client, handler.getPropertyChanges(), entity);
}
for (Map.Entry<NavigationProperty, Object> property : handler.getLinkChanges().entrySet()) {
@ -409,7 +409,7 @@ class ContainerImpl implements Container {
final URI targetURI = currentStatus == AttachedEntityStatus.NEW
? URI.create("$" + startingPos) : URIUtils.getURI(
factory.getServiceRoot(),
EngineUtils.getEditMediaLink(streamedChanges.getKey(), entity).toASCIIString());
CoreUtils.getEditMediaLink(streamedChanges.getKey(), entity).toASCIIString());
batchUpdateMediaResource(handler, targetURI, streamedChanges.getValue(), changeset);

View File

@ -221,7 +221,7 @@ class EntitySetInvocationHandler<C extends CommonEdmEnabledODataClient<?>, T ext
}
@Override
public T get(KEY key) throws IllegalArgumentException {
public T get(final KEY key) throws IllegalArgumentException {
return get(key, typeRef);
}

View File

@ -38,6 +38,7 @@ import org.apache.olingo.client.core.uri.URIUtils;
import org.apache.olingo.commons.api.domain.CommonODataEntity;
import org.apache.olingo.commons.api.domain.CommonODataProperty;
import org.apache.olingo.commons.api.domain.ODataLinked;
import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
import org.apache.olingo.commons.api.edm.FullQualifiedName;
import org.apache.olingo.commons.api.format.ODataMediaFormat;
import org.apache.olingo.ext.proxy.api.annotations.EntityType;
@ -45,7 +46,7 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
import org.apache.olingo.ext.proxy.api.annotations.Property;
import org.apache.olingo.ext.proxy.context.AttachedEntityStatus;
import org.apache.olingo.ext.proxy.context.EntityUUID;
import org.apache.olingo.ext.proxy.utils.EngineUtils;
import org.apache.olingo.ext.proxy.utils.CoreUtils;
public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?>>
extends AbstractTypeInvocationHandler<C> {
@ -106,7 +107,7 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
containerHandler.getEntityContainerName(),
entitySetName,
entity.getTypeName(),
EngineUtils.getKey(client.getCachedEdm(), typeRef, entity));
CoreUtils.getKey(client.getCachedEdm(), typeRef, entity));
this.stream = null;
}
@ -119,7 +120,7 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
getUUID().getContainerName(),
getUUID().getEntitySetName(),
getUUID().getName(),
EngineUtils.getKey(client.getCachedEdm(), typeRef, entity));
CoreUtils.getKey(client.getCachedEdm(), typeRef, entity));
this.propertyChanges.clear();
this.linkChanges.clear();
@ -208,17 +209,16 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
new Class<?>[] {(Class<?>) type},
newComplex(name, (Class<?>) type));
EngineUtils.populate(
CoreUtils.populate(
client.getCachedEdm(),
res,
(Class<?>) type,
Property.class,
property.getValue().asComplex().iterator());
} else {
res = type == null
? EngineUtils.getValueFromProperty(client.getCachedEdm(), property)
: EngineUtils.getValueFromProperty(client.getCachedEdm(), property, type);
? CoreUtils.getValueFromProperty(client, property)
: CoreUtils.getValueFromProperty(client, property, type);
if (res != null) {
addPropertyChanges(name, res, false);
@ -257,7 +257,7 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
@Override
protected void setPropertyValue(final Property property, final Object value) {
if (property.type().equalsIgnoreCase("Edm.Stream")) {
if (property.type().equalsIgnoreCase(EdmPrimitiveTypeKind.Stream.toString())) {
setStreamedProperty(property, (InputStream) value);
} else {
addPropertyChanges(property.name(), value, false);
@ -318,7 +318,7 @@ public class EntityTypeInvocationHandler<C extends CommonEdmEnabledODataClient<?
if (res == null) {
final URI link = URIUtils.getURI(
containerHandler.getFactory().getServiceRoot(),
EngineUtils.getEditMediaLink(property.name(), this.entity).toASCIIString());
CoreUtils.getEditMediaLink(property.name(), this.entity).toASCIIString());
final ODataMediaRequest req = client.getRetrieveRequestFactory().getMediaRequest(link);
res = req.execute().getBody();

View File

@ -22,6 +22,7 @@ import java.lang.annotation.Annotation;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Proxy;
import java.lang.reflect.Type;
import java.net.URI;
import java.sql.Timestamp;
@ -50,17 +51,18 @@ import org.apache.olingo.ext.proxy.api.annotations.ComplexType;
import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.ext.proxy.api.annotations.Key;
import org.apache.olingo.ext.proxy.api.annotations.Property;
import org.apache.olingo.ext.proxy.commons.ComplexTypeInvocationHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public final class EngineUtils {
public final class CoreUtils {
/**
* Logger.
*/
private static final Logger LOG = LoggerFactory.getLogger(EngineUtils.class);
private static final Logger LOG = LoggerFactory.getLogger(CoreUtils.class);
private EngineUtils() {
private CoreUtils() {
// Empty private constructor for static utility classes
}
@ -95,13 +97,19 @@ public final class EngineUtils {
} else if (type.isComplexType()) {
value = client.getObjectFactory().newComplexValue(type.getFullQualifiedName().toString());
if (obj.getClass().isAnnotationPresent(ComplexType.class)) {
for (Method method : obj.getClass().getMethods()) {
if (obj instanceof ComplexTypeInvocationHandler<?>) {
final Class<?> typeRef = ((ComplexTypeInvocationHandler<?>)obj).getTypeRef();
final Object complex = Proxy.newProxyInstance(
Thread.currentThread().getContextClassLoader(),
new Class<?>[] {typeRef},
(ComplexTypeInvocationHandler<?>)obj);
for (Method method : typeRef.getMethods()) {
final Property complexPropertyAnn = method.getAnnotation(Property.class);
try {
if (complexPropertyAnn != null) {
value.asComplex().add(getODataComplexProperty(
client, type.getFullQualifiedName(), complexPropertyAnn.name(), method.invoke(obj)));
client, type.getFullQualifiedName(), complexPropertyAnn.name(), method.invoke(complex)));
}
} catch (Exception ignore) {
// ignore value
@ -329,7 +337,8 @@ public final class EngineUtils {
}
@SuppressWarnings("unchecked")
public static Object getValueFromProperty(final Edm metadata, final CommonODataProperty property)
public static Object getValueFromProperty(
final CommonEdmEnabledODataClient<?> client, final CommonODataProperty property)
throws InstantiationException, IllegalAccessException {
final Object value;
@ -347,15 +356,15 @@ public final class EngineUtils {
}
if (odataValue.isComplex()) {
final Object collItem =
buildComplexInstance(metadata, property.getName(), odataValue.asComplex().iterator());
buildComplexInstance(client.getCachedEdm(), property.getName(), odataValue.asComplex().iterator());
((Collection) value).add(collItem);
}
}
} else if (property.hasPrimitiveValue()) {
value = primitiveValueToObject(property.getPrimitiveValue());
} else if (property.hasComplexValue()) {
value = buildComplexInstance(
metadata, property.getValue().asComplex().getTypeName(), property.getValue().asComplex().iterator());
value = buildComplexInstance(client.getCachedEdm(), property.getValue().asComplex().getTypeName(),
property.getValue().asComplex().iterator());
} else {
throw new IllegalArgumentException("Invalid property " + property);
}
@ -381,7 +390,8 @@ public final class EngineUtils {
}
@SuppressWarnings({"unchecked", "rawtypes"})
public static Object getValueFromProperty(final Edm metadata, final CommonODataProperty property, final Type type)
public static Object getValueFromProperty(
final CommonEdmEnabledODataClient<?> client, final CommonODataProperty property, final Type type)
throws InstantiationException, IllegalAccessException {
final Object value;
@ -401,8 +411,11 @@ public final class EngineUtils {
((Collection) value).add(primitiveValueToObject(odataValue.asPrimitive()));
}
if (odataValue.isComplex()) {
final Object collItem = collItemClass.newInstance();
populate(metadata, collItem, Property.class, odataValue.asComplex().iterator());
final Object collItem = Proxy.newProxyInstance(
Thread.currentThread().getContextClassLoader(),
new Class<?>[] {collItemClass},
new ComplexTypeInvocationHandler(client, odataValue.asComplex(), collItemClass, null));
populate(client.getCachedEdm(), collItem, Property.class, odataValue.asComplex().iterator());
((Collection) value).add(collItem);
}
}

View File

@ -105,7 +105,6 @@ public abstract class AbstractMetadataMojo extends AbstractMojo {
}
protected VelocityContext newContext() {
final VelocityContext ctx = new VelocityContext();
ctx.put("utility", getUtility());

View File

@ -158,7 +158,6 @@ public abstract class AbstractUtility {
}
public EdmFunction getFunctionByName(final FullQualifiedName name) {
final EdmSchema targetSchema = metadata.getSchema(name.getNamespace());
if (targetSchema != null) {
@ -173,7 +172,6 @@ public abstract class AbstractUtility {
}
public EdmAction getActionByName(final FullQualifiedName name) {
final EdmSchema targetSchema = metadata.getSchema(name.getNamespace());
if (targetSchema != null) {
@ -188,7 +186,6 @@ public abstract class AbstractUtility {
}
public List<EdmFunction> getFunctionsBoundTo(final String typeExpression, final boolean collection) {
final List<EdmFunction> result = new ArrayList<EdmFunction>();
for (EdmSchema sch : getMetadata().getSchemas()) {
@ -210,7 +207,6 @@ public abstract class AbstractUtility {
}
public List<EdmAction> getActionsBoundTo(final String typeExpression, final boolean collection) {
final List<EdmAction> result = new ArrayList<EdmAction>();
for (EdmSchema sch : getMetadata().getSchemas()) {

View File

@ -47,139 +47,138 @@ import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;
@Mojo(name = "pojosV3", defaultPhase = LifecyclePhase.PROCESS_SOURCES)
public class V3MetadataMojo extends AbstractMetadataMojo {
@Override
protected V3Utility getUtility() {
return (V3Utility) utility;
@Override
protected V3Utility getUtility() {
return (V3Utility) utility;
}
@Override
protected String getVersion() {
return ODataServiceVersion.V30.name().toLowerCase();
}
@Override
public void execute() throws MojoExecutionException {
if (new File(outputDirectory + File.separator + TOOL_DIR).exists()) {
getLog().info("Nothing to do because " + TOOL_DIR + " directory already exists. Clean to update.");
return;
}
@Override
protected String getVersion() {
return ODataServiceVersion.V30.name().toLowerCase();
}
try {
Velocity.addProperty(Velocity.RESOURCE_LOADER, "class");
Velocity.addProperty("class.resource.loader.class", ClasspathResourceLoader.class.getName());
@Override
public void execute() throws MojoExecutionException {
if (new File(outputDirectory + File.separator + TOOL_DIR).exists()) {
getLog().info("Nothing to do because " + TOOL_DIR + " directory already exists. Clean to update.");
return;
final Edm metadata = ODataClientFactory.getV3().getRetrieveRequestFactory().
getMetadataRequest(serviceRootURL).execute().getBody();
if (metadata == null) {
throw new IllegalStateException("Metadata not found");
}
for (EdmSchema schema : metadata.getSchemas()) {
namespaces.add(schema.getNamespace().toLowerCase());
}
final Set<String> complexTypeNames = new HashSet<String>();
final File services = mkdir("META-INF/services");
for (EdmSchema schema : metadata.getSchemas()) {
utility = new V3Utility(metadata, schema, basePackage);
// write package-info for the base package
final String schemaPath = utility.getNamespace().toLowerCase().replace('.', File.separatorChar);
final File base = mkPkgDir(schemaPath);
final String pkg = basePackage + "." + utility.getNamespace().toLowerCase();
parseObj(base, pkg, "package-info", "package-info.java");
// write package-info for types package
final File typesBaseDir = mkPkgDir(schemaPath + "/types");
final String typesPkg = pkg + ".types";
parseObj(typesBaseDir, typesPkg, "package-info", "package-info.java");
final Map<String, Object> objs = new HashMap<String, Object>();
// write types into types package
for (EdmEnumType enumType : schema.getEnumTypes()) {
final String className = utility.capitalize(enumType.getName());
objs.clear();
objs.put("enumType", enumType);
parseObj(typesBaseDir, typesPkg, "enumType", className + ".java", objs);
}
try {
Velocity.addProperty(Velocity.RESOURCE_LOADER, "class");
Velocity.addProperty("class.resource.loader.class", ClasspathResourceLoader.class.getName());
final Edm metadata =
ODataClientFactory.getV3().getRetrieveRequestFactory().getMetadataRequest(serviceRootURL).execute().
getBody();
if (metadata == null) {
throw new IllegalStateException("Metadata not found");
}
for (EdmSchema schema : metadata.getSchemas()) {
namespaces.add(schema.getNamespace().toLowerCase());
}
final Set<String> complexTypeNames = new HashSet<String>();
final File services = mkdir("META-INF/services");
for (EdmSchema schema : metadata.getSchemas()) {
utility = new V3Utility(metadata, schema, basePackage);
// write package-info for the base package
final String schemaPath = utility.getNamespace().toLowerCase().replace('.', File.separatorChar);
final File base = mkPkgDir(schemaPath);
final String pkg = basePackage + "." + utility.getNamespace().toLowerCase();
parseObj(base, pkg, "package-info", "package-info.java");
// write package-info for types package
final File typesBaseDir = mkPkgDir(schemaPath + "/types");
final String typesPkg = pkg + ".types";
parseObj(typesBaseDir, typesPkg, "package-info", "package-info.java");
final Map<String, Object> objs = new HashMap<String, Object>();
// write types into types package
for (EdmEnumType enumType : schema.getEnumTypes()) {
final String className = utility.capitalize(enumType.getName());
objs.clear();
objs.put("enumType", enumType);
parseObj(typesBaseDir, typesPkg, "enumType", className + ".java", objs);
}
for (EdmComplexType complex : schema.getComplexTypes()) {
final String className = utility.capitalize(complex.getName());
complexTypeNames.add(typesPkg + "." + className);
objs.clear();
objs.put("complexType", complex);
parseObj(typesBaseDir, typesPkg, "complexType", className + ".java", objs);
}
for (EdmEntityType entity : schema.getEntityTypes()) {
objs.clear();
objs.put("entityType", entity);
final Map<String, String> keys;
EdmEntityType baseType = null;
if (entity.getBaseType() == null) {
keys = getUtility().getEntityKeyType(entity);
} else {
baseType = entity.getBaseType();
objs.put("baseType", getUtility().getJavaType(baseType.getFullQualifiedName().toString()));
while (baseType.getBaseType() != null) {
baseType = baseType.getBaseType();
}
keys = getUtility().getEntityKeyType(baseType);
}
if (keys.size() > 1) {
// create compound key class
final String keyClassName = utility.capitalize(baseType == null
? entity.getName()
: baseType.getName()) + "Key";
objs.put("keyRef", keyClassName);
if (entity.getBaseType() == null) {
objs.put("keys", keys);
parseObj(typesBaseDir, typesPkg, "entityTypeKey", keyClassName + ".java", objs);
}
}
parseObj(typesBaseDir, typesPkg, "entityType",
utility.capitalize(entity.getName()) + ".java", objs);
parseObj(typesBaseDir, typesPkg, "entityCollection",
utility.capitalize(entity.getName()) + "Collection.java", objs);
}
// write container and top entity sets into the base package
for (EdmEntityContainer container : schema.getEntityContainers()) {
objs.clear();
objs.put("container", container);
objs.put("namespace", schema.getNamespace());
parseObj(base, pkg, "container",
utility.capitalize(container.getName()) + ".java", objs);
for (EdmEntitySet entitySet : container.getEntitySets()) {
objs.clear();
objs.put("entitySet", entitySet);
parseObj(base, pkg, "entitySet",
utility.capitalize(entitySet.getName()) + ".java", objs);
}
}
parseObj(services, true, null, "services", "org.apache.olingo.ext.proxy.api.AbstractComplexType",
Collections.singletonMap("services", (Object) complexTypeNames));
}
} catch (Exception t) {
final StringWriter stringWriter = new StringWriter();
final PrintWriter printWriter = new PrintWriter(stringWriter);
t.printStackTrace(printWriter);
getLog().error(stringWriter.toString());
throw (t instanceof MojoExecutionException)
? (MojoExecutionException) t
: new MojoExecutionException("While executin mojo", t);
for (EdmComplexType complex : schema.getComplexTypes()) {
final String className = utility.capitalize(complex.getName());
complexTypeNames.add(typesPkg + "." + className);
objs.clear();
objs.put("complexType", complex);
parseObj(typesBaseDir, typesPkg, "complexType", className + ".java", objs);
}
for (EdmEntityType entity : schema.getEntityTypes()) {
objs.clear();
objs.put("entityType", entity);
final Map<String, String> keys;
EdmEntityType baseType = null;
if (entity.getBaseType() == null) {
keys = getUtility().getEntityKeyType(entity);
} else {
baseType = entity.getBaseType();
objs.put("baseType", getUtility().getJavaType(baseType.getFullQualifiedName().toString()));
while (baseType.getBaseType() != null) {
baseType = baseType.getBaseType();
}
keys = getUtility().getEntityKeyType(baseType);
}
if (keys.size() > 1) {
// create compound key class
final String keyClassName = utility.capitalize(baseType == null
? entity.getName()
: baseType.getName()) + "Key";
objs.put("keyRef", keyClassName);
if (entity.getBaseType() == null) {
objs.put("keys", keys);
parseObj(typesBaseDir, typesPkg, "entityTypeKey", keyClassName + ".java", objs);
}
}
parseObj(typesBaseDir, typesPkg, "entityType",
utility.capitalize(entity.getName()) + ".java", objs);
parseObj(typesBaseDir, typesPkg, "entityCollection",
utility.capitalize(entity.getName()) + "Collection.java", objs);
}
// write container and top entity sets into the base package
for (EdmEntityContainer container : schema.getEntityContainers()) {
objs.clear();
objs.put("container", container);
objs.put("namespace", schema.getNamespace());
parseObj(base, pkg, "container",
utility.capitalize(container.getName()) + ".java", objs);
for (EdmEntitySet entitySet : container.getEntitySets()) {
objs.clear();
objs.put("entitySet", entitySet);
parseObj(base, pkg, "entitySet",
utility.capitalize(entitySet.getName()) + ".java", objs);
}
}
parseObj(services, true, null, "services", "org.apache.olingo.ext.proxy.api.AbstractComplexType",
Collections.singletonMap("services", (Object) complexTypeNames));
}
} catch (Exception t) {
final StringWriter stringWriter = new StringWriter();
final PrintWriter printWriter = new PrintWriter(stringWriter);
t.printStackTrace(printWriter);
getLog().error(stringWriter.toString());
throw (t instanceof MojoExecutionException)
? (MojoExecutionException) t
: new MojoExecutionException("While executing mojo", t);
}
}
}

View File

@ -27,7 +27,6 @@ import ${basePackage}.${ns}.*;
import ${basePackage}.${ns}.types.*;
#end
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -31,7 +31,6 @@ import ${basePackage}.${ns}.*;
import ${basePackage}.${ns}.types.*;
#end
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -28,7 +28,6 @@ import ${basePackage}.${ns}.*;
import ${basePackage}.${ns}.types.*;
#end
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -46,8 +45,8 @@ import java.util.Calendar;
import javax.xml.datatype.Duration;
public interface $utility.capitalize($entityType.Name)Collection extends AbstractEntityCollection<$utility.capitalize($entityType.Name)> {
#set( $functions = $utility.getFunctionsBoundTo($entityType.Name, false) )
#set( $actions = $utility.getActionsBoundTo($entityType.Name, false) )
#set( $functions = $utility.getFunctionsBoundTo($entityType.Name, true) )
#set( $actions = $utility.getActionsBoundTo($entityType.Name, true) )
#if( $functions.size() > 0 || $actions.size() > 0 )
Operations operations();

View File

@ -27,7 +27,6 @@ import ${basePackage}.${ns}.*;
import ${basePackage}.${ns}.types.*;
#end
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -37,7 +37,6 @@ import ${basePackage}.${ns}.*;
import ${basePackage}.${ns}.types.*;
#end
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -32,7 +32,6 @@ import ${basePackage}.${ns}.*;
import ${basePackage}.${ns}.types.*;
#end
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -28,7 +28,6 @@ import ${basePackage}.${ns}.*;
import ${basePackage}.${ns}.types.*;
#end
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -121,6 +121,8 @@ public abstract class AbstractServices {
protected final ODataServiceVersion version;
protected final Metadata metadata;
protected final FITAtomDeserializer atomDeserializer;
protected final AtomSerializer atomSerializer;
@ -133,24 +135,16 @@ public abstract class AbstractServices {
protected final JSONUtilities json;
protected Metadata metadata;
public AbstractServices(final ODataServiceVersion version) throws Exception {
public AbstractServices(final ODataServiceVersion version, final Metadata metadata) throws Exception {
this.version = version;
this.metadata = metadata;
this.atomDeserializer = Commons.getAtomDeserializer(version);
this.atomSerializer = Commons.getAtomSerializer(version);
this.mapper = Commons.getJSONMapper(version);
this.dataBinder = new DataBinder(version);
this.dataBinder = new DataBinder(version, metadata);
this.xml = new XMLUtilities(version);
this.json = new JSONUtilities(version);
}
protected Metadata getMetadataObj() {
if (metadata == null) {
metadata = Commons.getMetadata(version);
}
return metadata;
this.xml = new XMLUtilities(version, metadata);
this.json = new JSONUtilities(version, metadata);
}
/**
@ -447,7 +441,7 @@ public abstract class AbstractServices {
final String path = Commons.getEntityBasePath(entitySetName, entityId);
FSManager.instance(version).putInMemory(
cres, path + File.separatorChar + Constants.get(version, ConstantKey.ENTITY));
cres, path + File.separatorChar + Constants.get(version, ConstantKey.ENTITY), dataBinder);
final Response response;
if ("return-content".equalsIgnoreCase(prefer)) {
@ -510,7 +504,7 @@ public abstract class AbstractServices {
final String path = Commons.getEntityBasePath(entitySetName, entityId);
FSManager.instance(version).putInMemory(
cres, path + File.separatorChar + Constants.get(version, ConstantKey.ENTITY));
cres, path + File.separatorChar + Constants.get(version, ConstantKey.ENTITY), dataBinder);
final Response response;
if ("return-content".equalsIgnoreCase(prefer)) {
@ -560,7 +554,7 @@ public abstract class AbstractServices {
final ResWrap<AtomEntityImpl> container;
final org.apache.olingo.fit.metadata.EntitySet entitySet = getMetadataObj().getEntitySet(entitySetName);
final org.apache.olingo.fit.metadata.EntitySet entitySet = metadata.getEntitySet(entitySetName);
final AtomEntityImpl entry;
final String entityKey;
@ -632,7 +626,7 @@ public abstract class AbstractServices {
final String path = Commons.getEntityBasePath(entitySetName, entityKey);
FSManager.instance(version).putInMemory(
result, path + File.separatorChar + Constants.get(version, ConstantKey.ENTITY));
result, path + File.separatorChar + Constants.get(version, ConstantKey.ENTITY), dataBinder);
final String location = uriInfo.getRequestUri().toASCIIString() + "(" + entityKey + ")";
@ -729,7 +723,7 @@ public abstract class AbstractServices {
append(File.separatorChar).append(type).
append(File.separatorChar);
path.append(getMetadataObj().getEntitySet(name).isSingleton()
path.append(metadata.getEntitySet(name).isSingleton()
? Constants.get(version, ConstantKey.ENTITY)
: Constants.get(version, ConstantKey.FEED));
@ -788,7 +782,7 @@ public abstract class AbstractServices {
append(File.separatorChar).append(type).
append(File.separatorChar);
path.append(getMetadataObj().getEntitySet(name).isSingleton()
path.append(metadata.getEntitySet(name).isSingleton()
? Constants.get(version, ConstantKey.ENTITY)
: Constants.get(version, ConstantKey.FEED));
@ -861,7 +855,7 @@ public abstract class AbstractServices {
builder.append(Constants.get(version, ConstantKey.SKIP_TOKEN)).append(File.separatorChar).
append(skiptoken);
} else {
builder.append(getMetadataObj().getEntitySet(name).isSingleton()
builder.append(metadata.getEntitySet(name).isSingleton()
? Constants.get(version, ConstantKey.ENTITY)
: Constants.get(version, ConstantKey.FEED));
}
@ -1577,7 +1571,7 @@ public abstract class AbstractServices {
writer,
new JSONEntryContainer(container.getContextURL(),
container.getMetadataETag(),
dataBinder.toJSONEntityType((AtomEntityImpl) container.getPayload())));
dataBinder.toJSONEntity((AtomEntityImpl) container.getPayload())));
}
}
@ -1722,8 +1716,8 @@ public abstract class AbstractServices {
}
protected void normalizeAtomEntry(final AtomEntityImpl entry, final String entitySetName, final String entityKey) {
final org.apache.olingo.fit.metadata.EntitySet entitySet = getMetadataObj().getEntitySet(entitySetName);
final EntityType entityType = getMetadataObj().getEntityType(entitySet.getType());
final org.apache.olingo.fit.metadata.EntitySet entitySet = metadata.getEntitySet(entitySetName);
final EntityType entityType = metadata.getEntityOrComplexType(entitySet.getType());
for (Map.Entry<String, org.apache.olingo.fit.metadata.Property> property
: entityType.getPropertyMap().entrySet()) {
if (entry.getProperty(property.getKey()) == null && property.getValue().isNullable()) {

View File

@ -56,7 +56,7 @@ import org.springframework.stereotype.Service;
public class V3ActionOverloading extends AbstractServices {
public V3ActionOverloading() throws Exception {
super(ODataServiceVersion.V30);
super(ODataServiceVersion.V30, Commons.getMetadata(ODataServiceVersion.V30));
}
private Response replaceServiceName(final Response response) {

View File

@ -61,12 +61,7 @@ public class V3OpenType {
this.openMetadata = new Metadata(FSManager.instance(ODataServiceVersion.V30).
readFile("openType" + StringUtils.capitalize(Constants.get(ODataServiceVersion.V30, ConstantKey.METADATA)),
Accept.XML), ODataServiceVersion.V30);
this.services = new V3Services() {
@Override
protected Metadata getMetadataObj() {
return openMetadata;
}
};
this.services = new V3Services(this.openMetadata);
}
private Response replaceServiceName(final Response response) {

View File

@ -47,6 +47,7 @@ import org.apache.cxf.interceptor.InInterceptors;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
import org.apache.olingo.commons.api.data.EntitySet;
import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.fit.metadata.Metadata;
import org.apache.olingo.fit.methods.MERGE;
import org.apache.olingo.fit.methods.PATCH;
import org.apache.olingo.fit.utils.AbstractUtilities;
@ -64,7 +65,11 @@ import org.springframework.stereotype.Service;
public class V3Services extends AbstractServices {
public V3Services() throws Exception {
super(ODataServiceVersion.V30);
super(ODataServiceVersion.V30, Commons.getMetadata(ODataServiceVersion.V30));
}
protected V3Services(final Metadata metadata) throws Exception {
super(ODataServiceVersion.V30, metadata);
}
@GET

View File

@ -58,12 +58,7 @@ public class V4Demo {
this.demoMetadata = new Metadata(FSManager.instance(ODataServiceVersion.V40).
readFile("demo" + StringUtils.capitalize(Constants.get(ODataServiceVersion.V40, ConstantKey.METADATA)),
Accept.XML), ODataServiceVersion.V40);
this.services = new V4Services() {
@Override
protected Metadata getMetadataObj() {
return demoMetadata;
}
};
this.services = new V4Services(this.demoMetadata);
}
private Response replaceServiceName(final Response response) {

View File

@ -56,13 +56,8 @@ public class V4OpenType {
public V4OpenType() throws Exception {
this.openMetadata = new Metadata(FSManager.instance(ODataServiceVersion.V40).
readFile("openType" + StringUtils.capitalize(Constants.get(ODataServiceVersion.V40, ConstantKey.METADATA)),
Accept.XML), ODataServiceVersion.V40);
this.services = new V4Services() {
@Override
protected Metadata getMetadataObj() {
return openMetadata;
}
};
Accept.XML), ODataServiceVersion.V40);
this.services = new V4Services(openMetadata);
}
private Response replaceServiceName(final Response response) {

View File

@ -74,9 +74,11 @@ import org.apache.olingo.commons.core.data.JSONEntityImpl;
import org.apache.olingo.commons.core.data.JSONPropertyImpl;
import org.apache.olingo.commons.core.data.PrimitiveValueImpl;
import org.apache.olingo.commons.core.edm.EdmTypeInfo;
import org.apache.olingo.fit.metadata.Metadata;
import org.apache.olingo.fit.methods.PATCH;
import org.apache.olingo.fit.utils.AbstractUtilities;
import org.apache.olingo.fit.utils.Accept;
import org.apache.olingo.fit.utils.Commons;
import org.apache.olingo.fit.utils.ConstantKey;
import org.apache.olingo.fit.utils.Constants;
import org.apache.olingo.fit.utils.FSManager;
@ -103,7 +105,11 @@ public class V4Services extends AbstractServices {
private Map<String, String> providedAsync = new HashMap<String, String>();
public V4Services() throws Exception {
super(ODataServiceVersion.V40);
super(ODataServiceVersion.V40, Commons.getMetadata(ODataServiceVersion.V40));
}
protected V4Services(final Metadata metadata) throws Exception {
super(ODataServiceVersion.V40, metadata);
}
@GET
@ -224,7 +230,7 @@ public class V4Services extends AbstractServices {
final String basePath = name + File.separatorChar;
final StringBuilder path = new StringBuilder(basePath);
path.append(getMetadataObj().getEntitySet(name).isSingleton()
path.append(metadata.getEntitySet(name).isSingleton()
? Constants.get(version, ConstantKey.ENTITY)
: Constants.get(version, ConstantKey.FEED));
@ -821,7 +827,7 @@ public class V4Services extends AbstractServices {
entry);
}
final EdmTypeInfo contained = new EdmTypeInfo.Builder().setTypeExpression(getMetadataObj().
final EdmTypeInfo contained = new EdmTypeInfo.Builder().setTypeExpression(metadata.
getNavigationProperties("Accounts").get(containedEntitySetName).getType()).build();
final String entityKey = getUtilities(contentTypeValue).
getDefaultEntryKey(contained.getFullQualifiedName().getName(), entry);
@ -902,8 +908,8 @@ public class V4Services extends AbstractServices {
container = atomDeserializer.read(IOUtils.toInputStream(changes, Constants.ENCODING), AtomEntityImpl.class);
entryChanges = container.getPayload();
} else {
final String entityType = getMetadataObj().getEntitySet(entitySetName).getType();
final String containedType = getMetadataObj().getEntityType(entityType).
final String entityType = metadata.getEntitySet(entitySetName).getType();
final String containedType = metadata.getEntityOrComplexType(entityType).
getNavigationProperty(containedEntitySetName).getType();
final EdmTypeInfo typeInfo = new EdmTypeInfo.Builder().setTypeExpression(containedType).build();
@ -923,7 +929,8 @@ public class V4Services extends AbstractServices {
}
FSManager.instance(version).putInMemory(new ResWrap<AtomEntityImpl>((URI) null, null, original),
xml.getLinksBasePath(entitySetName, entityId) + containedEntitySetName + "(" + containedEntityId + ")");
xml.getLinksBasePath(entitySetName, entityId) + containedEntitySetName + "(" + containedEntityId + ")",
dataBinder);
return xml.createResponse(null, null, acceptType, Response.Status.NO_CONTENT);
} catch (Exception e) {

View File

@ -25,6 +25,7 @@ import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.fit.metadata.Metadata;
import org.apache.olingo.fit.utils.Accept;
import org.apache.olingo.fit.utils.ConstantKey;
import org.apache.olingo.fit.utils.Constants;
@ -36,10 +37,15 @@ import org.springframework.stereotype.Service;
@Path("/V40/Vocabularies.svc")
public class V4Vocabularies {
private final Metadata metadata;
private final XMLUtilities xml;
public V4Vocabularies() throws Exception {
this.xml = new XMLUtilities(ODataServiceVersion.V40);
this.metadata = new Metadata(FSManager.instance(ODataServiceVersion.V40).readFile(
"vocabularies-" + Constants.get(ODataServiceVersion.V40, ConstantKey.METADATA), Accept.XML),
ODataServiceVersion.V40);
this.xml = new XMLUtilities(ODataServiceVersion.V40, metadata);
}
@GET

View File

@ -29,6 +29,8 @@ public class EntityType extends AbstractMetadataElement {
private String baseType;
private boolean openType = false;
private final Map<String, Property> properties;
private final Map<String, NavigationProperty> navigationProperties;
@ -51,6 +53,14 @@ public class EntityType extends AbstractMetadataElement {
this.baseType = baseType;
}
public boolean isOpenType() {
return openType;
}
public void setOpenType(final boolean openType) {
this.openType = openType;
}
public Collection<NavigationProperty> getNavigationProperties() {
return new HashSet<NavigationProperty>(navigationProperties.values());
}

View File

@ -31,6 +31,7 @@ import javax.xml.stream.events.Attribute;
import javax.xml.stream.events.StartElement;
import javax.xml.stream.events.XMLEvent;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.fit.utils.ConstantKey;
@ -134,7 +135,7 @@ public class Metadata extends AbstractMetadataElement {
return null;
}
public EntityType getEntityType(final String fqn) {
public EntityType getEntityOrComplexType(final String fqn) {
EntityType result = null;
final String ns = StringUtils.substringBeforeLast(fqn, ".");
@ -302,6 +303,10 @@ public class Metadata extends AbstractMetadataElement {
if (baseType != null) {
entityType.setBaseType(baseType.getValue());
}
final Attribute openType = start.getAttributeByName(new QName("OpenType"));
if (openType != null) {
entityType.setOpenType(BooleanUtils.toBoolean(openType.getValue()));
}
boolean completed = false;

View File

@ -91,6 +91,8 @@ public abstract class AbstractUtilities {
protected final ODataServiceVersion version;
protected final Metadata metadata;
protected final FSManager fsManager;
protected final DataBinder dataBinder;
@ -101,10 +103,11 @@ public abstract class AbstractUtilities {
protected final ObjectMapper mapper;
public AbstractUtilities(final ODataServiceVersion version) throws Exception {
public AbstractUtilities(final ODataServiceVersion version, final Metadata metadata) throws Exception {
this.version = version;
this.metadata = metadata;
this.fsManager = FSManager.instance(version);
this.dataBinder = new DataBinder(version);
this.dataBinder = new DataBinder(version, metadata);
this.atomDeserializer = Commons.getAtomDeserializer(version);
this.atomSerializer = Commons.getAtomSerializer(version);
this.mapper = Commons.getJSONMapper(version);
@ -217,8 +220,7 @@ public abstract class AbstractUtilities {
IOUtils.copy(is, bos);
IOUtils.closeQuietly(is);
final Map<String, NavigationProperty> navigationProperties =
Commons.getMetadata(version).getNavigationProperties(entitySetName);
final Map<String, NavigationProperty> navigationProperties = metadata.getNavigationProperties(entitySetName);
// -----------------------------------------
// 0. Retrieve navigation links to be kept
@ -363,7 +365,6 @@ public abstract class AbstractUtilities {
final HashSet<String> uris = new HashSet<String>();
final Metadata metadata = Commons.getMetadata(version);
final Map<String, NavigationProperty> navigationProperties = metadata.getNavigationProperties(entitySetName);
if (navigationProperties.get(linkName).isEntitySet()) {
@ -610,7 +611,7 @@ public abstract class AbstractUtilities {
} else {
mapper.writeValue(
writer, new JSONEntryContainer(container.getContextURL(), container.getMetadataETag(),
dataBinder.toJSONEntityType(container.getPayload())));
dataBinder.toJSONEntity(container.getPayload())));
}
return IOUtils.toInputStream(writer.toString(), Constants.ENCODING);
@ -702,6 +703,8 @@ public abstract class AbstractUtilities {
Commons.SEQUENCE.put(entitySetName, messageId);
} else if ("Order".equals(entitySetName)) {
res = getDefaultEntryKey(entitySetName, entity, "OrderId");
} else if ("Product".equals(entitySetName)) {
res = getDefaultEntryKey(entitySetName, entity, "ProductId");
} else if ("Orders".equals(entitySetName)) {
res = getDefaultEntryKey(entitySetName, entity, "OrderID");
} else if ("Customer".equals(entitySetName)) {
@ -778,7 +781,6 @@ public abstract class AbstractUtilities {
final LinkInfo linkInfo = new LinkInfo(fsManager.readFile(basePath + linkName, accept));
linkInfo.setEtag(Commons.getETag(basePath, version));
final Metadata metadata = Commons.getMetadata(version);
final Map<String, NavigationProperty> navigationProperties = metadata.getNavigationProperties(entitySetName);
linkInfo.setFeed(navigationProperties.get(linkName.replaceAll("\\(.*\\)", "")).isEntitySet());
@ -840,7 +842,6 @@ public abstract class AbstractUtilities {
// --------------------------------
// 1. Retrieve expanded object (entry or feed)
// --------------------------------
final Metadata metadata = Commons.getMetadata(version);
final Map<String, NavigationProperty> navigationProperties = metadata.getNavigationProperties(entitySetName);
return readEntities(

View File

@ -87,6 +87,7 @@ public abstract class Commons {
SEQUENCE.put("Car", 1000);
SEQUENCE.put("Message", 1000);
SEQUENCE.put("Order", 1000);
SEQUENCE.put("Product", 1000);
SEQUENCE.put("ComputerDetail", 1000);
SEQUENCE.put("AllGeoTypesSet", 1000);
SEQUENCE.put("Orders", 1000);

View File

@ -50,6 +50,7 @@ public class Constants {
v4constants.put(ConstantKey.JSON_ID_NAME, "@odata.id");
v4constants.put(ConstantKey.JSON_TYPE_NAME, "@odata.type");
v4constants.put(ConstantKey.JSON_NAVIGATION_SUFFIX, "@odata.navigationLink");
v4constants.put(ConstantKey.JSON_EDITLINK_NAME, "@odata.editLink");
v4constants.put(ConstantKey.DATASERVICES_NS, "http://docs.oasis-open.org/odata/ns/dataservices");
v4constants.put(ConstantKey.METADATA_NS, "http://docs.oasis-open.org/odata/ns/metadata");
v4constants.put(ConstantKey.GEORSS_NS, "http://www.georss.org/georss");

View File

@ -28,6 +28,7 @@ import org.apache.olingo.commons.api.data.EntitySet;
import org.apache.olingo.commons.api.data.Link;
import org.apache.olingo.commons.api.data.Property;
import org.apache.olingo.commons.api.data.Value;
import org.apache.olingo.commons.api.edm.EdmPrimitiveType;
import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
import org.apache.olingo.commons.core.data.AtomEntityImpl;
import org.apache.olingo.commons.core.data.AtomEntitySetImpl;
@ -47,8 +48,11 @@ public class DataBinder {
private final ODataServiceVersion version;
public DataBinder(final ODataServiceVersion version) {
private final Metadata metadata;
public DataBinder(final ODataServiceVersion version, final Metadata metadata) {
this.version = version;
this.metadata = metadata;
}
public JSONEntitySetImpl toJSONEntitySet(final AtomEntitySetImpl atomEntitySet) {
@ -61,7 +65,7 @@ public class DataBinder {
final Collection<Entity> entries = jsonEntitySet.getEntities();
for (Entity entity : atomEntitySet.getEntities()) {
entries.add(toJSONEntityType((AtomEntityImpl) entity));
entries.add(toJSONEntity((AtomEntityImpl) entity));
}
return jsonEntitySet;
@ -83,10 +87,14 @@ public class DataBinder {
return atomEntitySet;
}
public JSONEntityImpl toJSONEntityType(final AtomEntityImpl atomEntity) {
public JSONEntityImpl toJSONEntity(final AtomEntityImpl atomEntity) {
final JSONEntityImpl jsonEntity = new JSONEntityImpl();
BeanUtils.copyProperties(atomEntity, jsonEntity, "baseURI", "properties", "links");
// This shouldn't ever happen, but...
if (atomEntity.getType() != null && atomEntity.getType().startsWith("Collection(")) {
jsonEntity.setType(atomEntity.getType().replaceAll("^Collection\\(", "").replaceAll("\\)$", ""));
}
jsonEntity.setBaseURI(atomEntity.getBaseURI() == null ? null : atomEntity.getBaseURI().toASCIIString());
jsonEntity.getOperations().addAll(atomEntity.getOperations());
@ -100,7 +108,7 @@ public class DataBinder {
if (link.getInlineEntity() instanceof AtomEntityImpl) {
final Entity inlineEntity = link.getInlineEntity();
if (inlineEntity instanceof AtomEntityImpl) {
jlink.setInlineEntity(toJSONEntityType((AtomEntityImpl) link.getInlineEntity()));
jlink.setInlineEntity(toJSONEntity((AtomEntityImpl) link.getInlineEntity()));
}
} else if (link.getInlineEntitySet() instanceof AtomEntitySetImpl) {
final EntitySet inlineEntitySet = link.getInlineEntitySet();
@ -123,8 +131,6 @@ public class DataBinder {
public AtomEntityImpl toAtomEntity(final JSONEntityImpl jsonEntity) {
final AtomEntityImpl atomEntity = new AtomEntityImpl();
final Metadata metadata = Commons.getMetadata(version);
BeanUtils.copyProperties(jsonEntity, atomEntity, "baseURI", "properties", "links");
atomEntity.setBaseURI(jsonEntity.getBaseURI() == null ? null : jsonEntity.getBaseURI().toASCIIString());
@ -134,7 +140,7 @@ public class DataBinder {
alink.setTitle(link.getTitle());
final NavigationProperty navPropDetails =
metadata.getEntityType(jsonEntity.getType()).getNavigationProperty(link.getTitle());
metadata.getEntityOrComplexType(jsonEntity.getType()).getNavigationProperty(link.getTitle());
alink.setType(navPropDetails != null && navPropDetails.isEntitySet()
? Constants.get(ConstantKey.ATOM_LINK_FEED) : Constants.get(ConstantKey.ATOM_LINK_ENTRY));
@ -156,7 +162,7 @@ public class DataBinder {
}
final EntityType entityType = StringUtils.isBlank(jsonEntity.getType())
? null : metadata.getEntityType(jsonEntity.getType());
? null : metadata.getEntityOrComplexType(jsonEntity.getType());
final Map<String, NavigationProperty> navProperties = entityType == null
? Collections.<String, NavigationProperty>emptyMap() : entityType.getNavigationPropertyMap();
@ -238,49 +244,50 @@ public class DataBinder {
return jsonproperty;
}
public AtomPropertyImpl toAtomProperty(final JSONPropertyImpl jsonproperty, final String entryType) {
public AtomPropertyImpl toAtomProperty(final JSONPropertyImpl jsonProperty, final String entryType) {
final AtomPropertyImpl atomproperty = new AtomPropertyImpl();
atomproperty.setName(jsonproperty.getName());
atomproperty.setName(jsonProperty.getName());
if (StringUtils.isNotBlank(jsonproperty.getType())) {
atomproperty.setType(jsonproperty.getType());
} else {
final EntityType entityType = entryType == null ? null : Commons.getMetadata(version).getEntityType(entryType);
if (entityType != null) {
System.out.println("ZZZZZZZZZZZZZ " + entityType + " " + jsonproperty.getName() + " "
+ entityType.getProperty(jsonproperty.getName()));
atomproperty.setType(entityType.getProperty(jsonproperty.getName()).getType());
}
final EntityType entityType = entryType == null
? null
: metadata.getEntityOrComplexType(entryType.replaceAll("^Collection\\(", "").replaceAll("\\)$", ""));
// For non-primitive types, alwasy trust what was sent - if available; otherwise, search metadata
if (StringUtils.isNotBlank(jsonProperty.getType())
&& ((entityType != null && entityType.isOpenType())
|| jsonProperty.getName() == null
|| !jsonProperty.getType().startsWith(EdmPrimitiveType.EDM_NAMESPACE))) {
atomproperty.setType(jsonProperty.getType());
} else if (entityType != null) {
atomproperty.setType(entityType.getProperty(jsonProperty.getName()).getType());
}
if (jsonproperty.getValue().isComplex()) {
if (jsonProperty.getValue().isComplex()) {
final ComplexValueImpl complex = new ComplexValueImpl();
atomproperty.setValue(complex);
for (Property field : jsonproperty.getValue().asComplex().get()) {
for (Property field : jsonProperty.getValue().asComplex().get()) {
complex.get().add(toAtomProperty((JSONPropertyImpl) field, atomproperty.getType()));
}
} else if (jsonproperty.getValue().isCollection()) {
} else if (jsonProperty.getValue().isCollection()) {
final CollectionValueImpl collection = new CollectionValueImpl();
atomproperty.setValue(collection);
for (Value element : jsonproperty.getValue().asCollection().get()) {
for (Value element : jsonProperty.getValue().asCollection().get()) {
if (element instanceof ComplexValueImpl) {
final ComplexValueImpl complex = new ComplexValueImpl();
collection.get().add(complex);
for (Property field : element.asComplex().get()) {
complex.get().add(toAtomProperty((JSONPropertyImpl) field,
atomproperty.getType() == null
? null
: atomproperty.getType().replaceAll("^Collection\\(", "").replaceAll("\\)$", "")));
complex.get().add(toAtomProperty((JSONPropertyImpl) field, atomproperty.getType()));
}
} else {
collection.get().add(element);
}
}
} else {
atomproperty.setValue(jsonproperty.getValue());
atomproperty.setValue(jsonProperty.getValue());
}
return atomproperty;

View File

@ -98,8 +98,8 @@ public class FSManager {
return memObject;
}
public void putInMemory(final ResWrap<AtomEntityImpl> container, final String relativePath)
throws IOException {
public void putInMemory(final ResWrap<AtomEntityImpl> container, final String relativePath,
final DataBinder dataBinder) throws IOException {
try {
final AtomSerializer atomSerializer = Commons.getAtomSerializer(version);
@ -117,7 +117,7 @@ public class FSManager {
writer, new JSONEntryContainer(
container.getContextURL(),
container.getMetadataETag(),
new DataBinder(version).toJSONEntityType(container.getPayload())));
dataBinder.toJSONEntity(container.getPayload())));
putInMemory(new ByteArrayInputStream(content.toByteArray()), getAbsolutePath(relativePath, Accept.JSON_FULLMETA));
} catch (Exception e) {

View File

@ -42,8 +42,8 @@ import org.apache.olingo.fit.metadata.NavigationProperty;
public class JSONUtilities extends AbstractUtilities {
public JSONUtilities(final ODataServiceVersion version) throws Exception {
super(version);
public JSONUtilities(final ODataServiceVersion version, final Metadata metadata) throws Exception {
super(version, metadata);
}
@Override
@ -105,7 +105,6 @@ public class JSONUtilities extends AbstractUtilities {
final Iterator<Map.Entry<String, JsonNode>> fieldIter = srcNode.fields();
final Metadata metadata = Commons.getMetadata(version);
final Map<String, NavigationProperty> navigationProperties = metadata.getNavigationProperties(entitySetName);
while (fieldIter.hasNext()) {

View File

@ -63,8 +63,8 @@ public class XMLUtilities extends AbstractUtilities {
protected static XMLOutputFactory ofactory = null;
public XMLUtilities(final ODataServiceVersion version) throws Exception {
super(version);
public XMLUtilities(final ODataServiceVersion version, final Metadata metadata) throws Exception {
super(version, metadata);
}
@Override
@ -148,7 +148,6 @@ public class XMLUtilities extends AbstractUtilities {
writer.add(entry.getValue().getStart());
final Metadata metadata = Commons.getMetadata(version);
final Map<String, NavigationProperty> navigationProperties = metadata.getNavigationProperties(entitySetName);
// add for links

View File

@ -21,7 +21,7 @@
-->
<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
<edmx:DataServices>
<Schema Namespace="Microsoft.Test.OData.Services.ODataWCFService" xmlns="http://docs.oasis-open.org/odata/ns/edm">
<Schema Namespace="Microsoft.Test.OData.Services.OpenTypesService" xmlns="http://docs.oasis-open.org/odata/ns/edm">
<EnumType Name="Color">
<Member Name="Red" Value="1"/>
<Member Name="Green" Value="2"/>
@ -47,19 +47,19 @@
</Key>
<Property Name="Id" Type="Edm.Guid" Nullable="false"/>
</EntityType>
<EntityType Name="IndexedRow" BaseType="Microsoft.Test.OData.Services.ODataWCFService.Row" OpenType="true"/>
<EntityType Name="IndexedRow" BaseType="Microsoft.Test.OData.Services.OpenTypesService.Row" OpenType="true"/>
<EntityType Name="RowIndex" OpenType="true">
<Key>
<PropertyRef Name="Id"/>
</Key>
<Property Name="Id" Type="Edm.Int32" Nullable="false"/>
<NavigationProperty Name="Rows" Type="Microsoft.Test.OData.Services.ODataWCFService.Row" Nullable="false"/>
<NavigationProperty Name="Rows" Type="Microsoft.Test.OData.Services.OpenTypesService.Row" Nullable="false"/>
</EntityType>
<EntityContainer Name="DefaultContainer">
<EntitySet Name="Row" EntityType="Microsoft.Test.OData.Services.ODataWCFService.Row">
<EntitySet Name="Row" EntityType="Microsoft.Test.OData.Services.OpenTypesService.Row">
<NavigationPropertyBinding Path="Rows" Target="Row"/>
</EntitySet>
<EntitySet Name="RowIndex" EntityType="Microsoft.Test.OData.Services.ODataWCFService.RowIndex"/>
<EntitySet Name="RowIndex" EntityType="Microsoft.Test.OData.Services.OpenTypesService.RowIndex"/>
</EntityContainer>
</Schema>
</edmx:DataServices>

View File

@ -26,7 +26,6 @@ import static org.junit.Assert.assertNotNull;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import java.util.Locale;
import org.apache.olingo.ext.proxy.EntityContainerFactory;
import org.apache.olingo.ext.proxy.context.EntityContext;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.
@ -68,14 +67,6 @@ public abstract class AbstractTest {
protected static DefaultContainer container;
/**
* This is needed for correct number handling (Double, for example).
*/
@BeforeClass
public static void setEnglishLocale() {
Locale.setDefault(Locale.ENGLISH);
}
@BeforeClass
public static void setUpODataServiceRoot() throws IOException {
testStaticServiceRootURL = "http://localhost:9080/stub/StaticService/V30/Static.svc";

View File

@ -43,7 +43,7 @@ public class AuthEntityRetrieveTestITCase extends EntityRetrieveTestITCase {
@BeforeClass
public static void setupContaner() {
containerFactory = EntityContainerFactory.getV3Instance(testAuthServiceRootURL);
containerFactory = EntityContainerFactory.getV3(testAuthServiceRootURL);
container = containerFactory.getEntityContainer(DefaultContainer.class);
assertNotNull(container);
}

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -28,7 +28,6 @@ import org.apache.olingo.ext.proxy.api.OperationType;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -48,10 +47,12 @@ import javax.xml.datatype.Duration;
public interface Aliases extends Serializable {
@Property(name = "AlternativeNames", type = "Edm.String", nullable = false)
Collection<String> getAlternativeNames();
void setAlternativeNames(final Collection<String> _alternativeNames);
}

View File

@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -61,6 +60,7 @@ public interface AllSpatialCollectionTypes
extends Serializable {
@Key
@Property(name = "Id",
type = "Edm.Int32",
@ -87,4 +87,6 @@ public interface AllSpatialCollectionTypes
}

View File

@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -62,6 +61,7 @@ public interface AllSpatialCollectionTypes_Simple
extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AllSpatialCollectionTypes {
@Key
@Property(name = "Id",
type = "Edm.Int32",
@ -226,4 +226,6 @@ public interface AllSpatialCollectionTypes_Simple
}

View File

@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -61,6 +60,7 @@ public interface AllSpatialTypes
extends Serializable {
@Key
@Property(name = "Id",
type = "Edm.Int32",
@ -455,4 +455,6 @@ public interface AllSpatialTypes
}

View File

@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -48,6 +47,7 @@ import javax.xml.datatype.Duration;
public interface AuditInfo extends Serializable {
@Property(name = "ModifiedDate", type = "Edm.DateTime", nullable = false)
Calendar getModifiedDate();
@ -69,4 +69,6 @@ public interface AuditInfo extends Serializable {
org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo newConcurrency();
}

View File

@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -63,6 +62,7 @@ public interface BackOrderLine
@Property(name = "OrderLineStream",
type = "Edm.Stream",
nullable = false,
@ -200,4 +200,6 @@ public interface BackOrderLine
}

View File

@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -63,6 +62,7 @@ public interface BackOrderLine2
@Property(name = "OrderLineStream",
type = "Edm.Stream",
nullable = false,
@ -200,4 +200,6 @@ public interface BackOrderLine2
}

View File

@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -62,6 +61,7 @@ public interface Car
@Property(name = "Photo",
type = "Edm.Stream",
nullable = false,
@ -159,4 +159,6 @@ public interface Car
java.io.InputStream getStream();
}

View File

@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -48,6 +47,7 @@ import javax.xml.datatype.Duration;
public interface ComplexToCategory extends Serializable {
@Property(name = "Term", type = "Edm.String", nullable = true)
String getTerm();
@ -68,4 +68,5 @@ public interface ComplexToCategory extends Serializable {
void setLabel(final String _label);
}

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -48,6 +47,7 @@ import javax.xml.datatype.Duration;
public interface ComplexWithAllPrimitiveTypes extends Serializable {
@Property(name = "Binary", type = "Edm.Binary", nullable = true)
byte[] getBinary();
@ -145,4 +145,5 @@ public interface ComplexWithAllPrimitiveTypes extends Serializable {
void setGeometryPoint(final Point _geometryPoint);
}

View File

@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -61,6 +60,7 @@ public interface Computer
extends Serializable {
@Key
@Property(name = "ComputerId",
type = "Edm.Int32",
@ -123,13 +123,14 @@ public interface Computer
Operations operations();
public interface Operations {
@Operation(name = "GetComputer",
type = OperationType.FUNCTION,
isComposable = false,
type = OperationType.ACTION,
returnType = "Microsoft.Test.OData.Services.AstoriaDefaultService.Computer")
org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Computer getComputer(
);
}
}

View File

@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -44,17 +43,4 @@ import java.util.Calendar;
import javax.xml.datatype.Duration;
public interface ComputerCollection extends AbstractEntityCollection<Computer> {
Operations operations();
public interface Operations {
@Operation(name = "GetComputer",
type = OperationType.FUNCTION,
isComposable = false,
returnType = "Microsoft.Test.OData.Services.AstoriaDefaultService.Computer")
org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Computer getComputer(
);
}
}

View File

@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -61,6 +60,7 @@ public interface ComputerDetail
extends Serializable {
@Key
@Property(name = "ComputerDetailId",
type = "Edm.Int32",
@ -225,6 +225,7 @@ public interface ComputerDetail
@NavigationProperty(name = "Computer",
type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Computer",
targetSchema = "Microsoft.Test.OData.Services.AstoriaDefaultService",
@ -239,14 +240,15 @@ public interface ComputerDetail
Operations operations();
public interface Operations {
@Operation(name = "ResetComputerDetailsSpecifications",
type = OperationType.FUNCTION,
isComposable = false)
type = OperationType.ACTION)
void resetComputerDetailsSpecifications(
@Parameter(name = "specifications", type = "Collection(Edm.String)", nullable = false) Collection<String> specifications,
@Parameter(name = "purchaseTime", type = "Edm.DateTime", nullable = false) Calendar purchaseTime
);
}
}

View File

@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -44,18 +43,4 @@ import java.util.Calendar;
import javax.xml.datatype.Duration;
public interface ComputerDetailCollection extends AbstractEntityCollection<ComputerDetail> {
Operations operations();
public interface Operations {
@Operation(name = "ResetComputerDetailsSpecifications",
type = OperationType.FUNCTION,
isComposable = false)
void resetComputerDetailsSpecifications(
@Parameter(name = "specifications", type = "Collection(Edm.String)", nullable = false) Collection<String> specifications,
@Parameter(name = "purchaseTime", type = "Edm.DateTime", nullable = false) Calendar purchaseTime
);
}
}

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -48,6 +47,7 @@ import javax.xml.datatype.Duration;
public interface ConcurrencyInfo extends Serializable {
@Property(name = "Token", type = "Edm.String", nullable = true)
String getToken();
@ -61,4 +61,5 @@ public interface ConcurrencyInfo extends Serializable {
void setQueriedDateTime(final Calendar _queriedDateTime);
}

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -48,6 +47,7 @@ import javax.xml.datatype.Duration;
public interface ContactDetails extends Serializable {
@Property(name = "EmailBag", type = "Edm.String", nullable = false)
Collection<String> getEmailBag();
@ -70,6 +70,7 @@ public interface ContactDetails extends Serializable {
org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Aliases newContactAlias();
@Property(name = "HomePhone", type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone", nullable = true)
org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone getHomePhone();
@ -78,6 +79,7 @@ public interface ContactDetails extends Serializable {
org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newHomePhone();
@Property(name = "WorkPhone", type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone", nullable = true)
org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone getWorkPhone();
@ -86,6 +88,7 @@ public interface ContactDetails extends Serializable {
org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newWorkPhone();
@Property(name = "MobilePhoneBag", type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Phone", nullable = false)
Collection<org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone> getMobilePhoneBag();
@ -93,4 +96,6 @@ public interface ContactDetails extends Serializable {
org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newMobilePhoneBag();
}

View File

@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -62,6 +61,7 @@ public interface Contractor
extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Person {
@Key
@Property(name = "PersonId",
type = "Edm.Int32",
@ -213,4 +213,6 @@ public interface Contractor
}

View File

@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -62,6 +61,7 @@ public interface Customer
@Property(name = "Thumbnail",
type = "Edm.Stream",
nullable = false,
@ -178,6 +178,7 @@ public interface Customer
org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails newPrimaryContactInfo();
@Property(name = "BackupContactInfo",
type = "Microsoft.Test.OData.Services.AstoriaDefaultService.ContactDetails",
nullable = false,
@ -202,6 +203,7 @@ public interface Customer
org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ContactDetails newBackupContactInfo();
@Property(name = "Auditing",
type = "Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo",
nullable = true,
@ -227,6 +229,7 @@ public interface Customer
@NavigationProperty(name = "Orders",
type = "Microsoft.Test.OData.Services.AstoriaDefaultService.Order",
targetSchema = "Microsoft.Test.OData.Services.AstoriaDefaultService",
@ -278,4 +281,6 @@ public interface Customer
}

View File

@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -61,6 +60,7 @@ public interface CustomerInfo
extends Serializable {
@Key
@Property(name = "CustomerInfoId",
type = "Edm.Int32",
@ -113,4 +113,6 @@ public interface CustomerInfo
java.io.InputStream getStream();
}

View File

@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -25,7 +25,6 @@ import org.apache.olingo.ext.proxy.api.annotations.NavigationProperty;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -48,6 +47,7 @@ import javax.xml.datatype.Duration;
public interface Dimensions extends Serializable {
@Property(name = "Width", type = "Edm.Decimal", nullable = false)
BigDecimal getWidth();
@ -68,4 +68,5 @@ public interface Dimensions extends Serializable {
void setDepth(final BigDecimal _depth);
}

View File

@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -63,6 +62,7 @@ public interface DiscontinuedProduct
@Property(name = "Picture",
type = "Edm.Stream",
nullable = false,
@ -156,6 +156,7 @@ public interface DiscontinuedProduct
org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Dimensions newDimensions();
@Property(name = "BaseConcurrency",
type = "Edm.String",
nullable = true,
@ -203,6 +204,7 @@ public interface DiscontinuedProduct
org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.ConcurrencyInfo newComplexConcurrency();
@Property(name = "NestedComplexConcurrency",
type = "Microsoft.Test.OData.Services.AstoriaDefaultService.AuditInfo",
nullable = true,
@ -227,6 +229,7 @@ public interface DiscontinuedProduct
org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.AuditInfo newNestedComplexConcurrency();
@Property(name = "Discontinued",
type = "Edm.DateTime",
nullable = false,
@ -297,6 +300,7 @@ public interface DiscontinuedProduct
org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Phone newDiscontinuedPhone();
@Property(name = "ChildConcurrencyToken",
type = "Edm.String",
nullable = true,
@ -362,4 +366,6 @@ public interface DiscontinuedProduct
}

View File

@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -61,6 +60,7 @@ public interface Driver
extends Serializable {
@Key
@Property(name = "Name",
type = "Edm.String",
@ -120,4 +120,6 @@ public interface Driver
}

View File

@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -62,6 +61,7 @@ public interface Employee
extends org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Person {
@Key
@Property(name = "PersonId",
type = "Edm.Int32",
@ -203,12 +203,13 @@ public interface Employee
Operations operations();
public interface Operations {
@Operation(name = "Sack",
type = OperationType.FUNCTION,
isComposable = false)
type = OperationType.ACTION)
void sack(
);
}
}

View File

@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -48,12 +47,12 @@ public interface EmployeeCollection extends AbstractEntityCollection<Employee> {
public interface Operations {
@Operation(name = "Sack",
type = OperationType.FUNCTION,
isComposable = false)
void sack(
);
@Operation(name = "IncreaseSalaries",
type = OperationType.ACTION)
void increaseSalaries(
@Parameter(name = "n", type = "Edm.Int32", nullable = false) Integer n
);
}
}

View File

@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -61,6 +60,7 @@ public interface LastLogin
extends Serializable {
@Key
@Property(name = "Username",
type = "Edm.String",
@ -166,4 +166,6 @@ public interface LastLogin
}

View File

@ -26,7 +26,6 @@ import org.apache.olingo.ext.proxy.api.annotations.Parameter;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;

View File

@ -34,7 +34,6 @@ import org.apache.olingo.client.api.edm.ConcurrencyMode;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.*;
import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.*;
// EdmSimpleType property imports
import org.apache.olingo.commons.api.edm.geo.Geospatial;
import org.apache.olingo.commons.api.edm.geo.GeospatialCollection;
import org.apache.olingo.commons.api.edm.geo.LineString;
@ -61,6 +60,7 @@ public interface License
extends Serializable {
@Key
@Property(name = "Name",
type = "Edm.String",
@ -189,4 +189,6 @@ public interface License
}

Some files were not shown because too many files have changed in this diff Show More