diff --git a/samples/osgi/server/pom.xml b/samples/osgi/server/pom.xml index cb1afc0fc..5f2a93113 100644 --- a/samples/osgi/server/pom.xml +++ b/samples/osgi/server/pom.xml @@ -1,93 +1,112 @@ - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 - odata-server-osgi-sample - bundle - ${project.artifactId} + odata-server-osgi-sample + bundle + ${project.artifactId} - - org.apache.olingo - odata-samples - 4.0.0-SNAPSHOT - ../.. - + + org.apache.olingo + odata-samples + 4.0.0-SNAPSHOT + ../.. + - - - org.apache.geronimo.specs - geronimo-servlet_3.0_spec - 1.0 - + + + org.apache.geronimo.specs + geronimo-servlet_3.0_spec + 1.0 + - - org.apache.olingo - odata-server-api - ${project.version} - - - org.apache.olingo - odata-server-core - ${project.version} - + + org.apache.olingo + odata-server-api + ${project.version} + + + org.apache.olingo + odata-server-core + ${project.version} + - - org.apache.olingo - odata-commons-api - ${project.version} - - - org.apache.olingo - odata-commons-core - ${project.version} - + + org.apache.olingo + odata-commons-api + ${project.version} + + + org.apache.olingo + odata-commons-core + ${project.version} + - - - - - org.apache.felix - maven-bundle-plugin - true - - - - - - org.apache.olingo.server.api*, - org.apache.catalina;resolution:=optional, - org.apache.catalina.comet;resolution:=optional, - org.eclipse.jetty.continuation;resolution:=optional, - org.eclipse.jetty.server;resolution:=optional, - org.eclipse.jetty.util.ssl;resolution:=optional, - * - - <_wab>src/main/webapp/ - olingo-cars - - - - - + + + + + + org.codehaus.mojo + build-helper-maven-plugin + + + add-source + generate-sources + + add-source + + + + ${basedir}/../../server/src/main + + + + + + + org.apache.felix + maven-bundle-plugin + true + + + + + + org.apache.olingo.server.api*, + org.apache.catalina;resolution:=optional, + org.apache.catalina.comet;resolution:=optional, + org.eclipse.jetty.continuation;resolution:=optional, + org.eclipse.jetty.server;resolution:=optional, + org.eclipse.jetty.util.ssl;resolution:=optional, + * + + <_wab>${basedir}/../../server/src/main/webapp/ + olingo-cars + + + + + diff --git a/samples/osgi/server/src/main/java/org/apache/olingo/server/sample/CarsServlet.java b/samples/osgi/server/src/main/java/org/apache/olingo/server/sample/CarsServlet.java deleted file mode 100644 index f6a17dc7b..000000000 --- a/samples/osgi/server/src/main/java/org/apache/olingo/server/sample/CarsServlet.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.olingo.server.sample; - -import java.io.IOException; -import java.util.ArrayList; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - -import org.apache.olingo.server.api.OData; -import org.apache.olingo.server.api.ODataHttpHandler; -import org.apache.olingo.server.api.ServiceMetadata; -import org.apache.olingo.server.api.edmx.EdmxReference; -import org.apache.olingo.server.sample.data.DataProvider; -import org.apache.olingo.server.sample.edmprovider.CarsEdmProvider; -import org.apache.olingo.server.sample.processor.CarsProcessor; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class CarsServlet extends HttpServlet { - - private static final long serialVersionUID = 1L; - private static final Logger LOG = LoggerFactory.getLogger(CarsServlet.class); - - @Override - protected void service(final HttpServletRequest req, final HttpServletResponse resp) - throws ServletException, IOException { - try { - HttpSession session = req.getSession(true); - DataProvider dataProvider = (DataProvider) session.getAttribute(DataProvider.class.getName()); - if (dataProvider == null) { - dataProvider = new DataProvider(); - session.setAttribute(DataProvider.class.getName(), dataProvider); - LOG.info("Created new data provider."); - } - - OData odata = OData.newInstance(); - ServiceMetadata edm = odata.createServiceMetadata(new CarsEdmProvider(), new ArrayList()); - ODataHttpHandler handler = odata.createHandler(edm); - handler.register(new CarsProcessor(dataProvider)); - handler.process(req, resp); - } catch (RuntimeException e) { - LOG.error("Server Error", e); - throw new ServletException(e); - } - } -} diff --git a/samples/osgi/server/src/main/java/org/apache/olingo/server/sample/data/DataProvider.java b/samples/osgi/server/src/main/java/org/apache/olingo/server/sample/data/DataProvider.java deleted file mode 100644 index 69a4530c7..000000000 --- a/samples/osgi/server/src/main/java/org/apache/olingo/server/sample/data/DataProvider.java +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.olingo.server.sample.data; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import org.apache.olingo.commons.api.ODataException; -import org.apache.olingo.commons.api.data.Entity; -import org.apache.olingo.commons.api.data.EntityCollection; -import org.apache.olingo.commons.api.data.Property; -import org.apache.olingo.commons.api.data.ValueType; -import org.apache.olingo.commons.api.data.ComplexValue; -import org.apache.olingo.commons.api.edm.EdmEntitySet; -import org.apache.olingo.commons.api.edm.EdmEntityType; -import org.apache.olingo.commons.api.edm.EdmPrimitiveType; -import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException; -import org.apache.olingo.commons.api.edm.EdmProperty; -import org.apache.olingo.server.api.uri.UriParameter; -import org.apache.olingo.server.sample.edmprovider.CarsEdmProvider; - -public class DataProvider { - - private final Map data; - - public DataProvider() { - data = new HashMap(); - data.put("Cars", createCars()); - data.put("Manufacturers", createManufacturers()); - } - - public EntityCollection readAll(EdmEntitySet edmEntitySet) { - return data.get(edmEntitySet.getName()); - } - - public Entity read(final EdmEntitySet edmEntitySet, final List keys) throws DataProviderException { - final EdmEntityType entityType = edmEntitySet.getEntityType(); - final EntityCollection entitySet = data.get(edmEntitySet.getName()); - if (entitySet == null) { - return null; - } else { - try { - for (final Entity entity : entitySet.getEntities()) { - boolean found = true; - for (final UriParameter key : keys) { - final EdmProperty property = (EdmProperty) entityType.getProperty(key.getName()); - final EdmPrimitiveType type = (EdmPrimitiveType) property.getType(); - if (!type.valueToString(entity.getProperty(key.getName()).getValue(), - property.isNullable(), property.getMaxLength(), property.getPrecision(), property.getScale(), - property.isUnicode()) - .equals(key.getText())) { - found = false; - break; - } - } - if (found) { - return entity; - } - } - return null; - } catch (final EdmPrimitiveTypeException e) { - throw new DataProviderException("Wrong key!", e); - } - } - } - - public static class DataProviderException extends ODataException { - private static final long serialVersionUID = 5098059649321796156L; - - public DataProviderException(String message, Throwable throwable) { - super(message, throwable); - } - - public DataProviderException(String message) { - super(message); - } - } - - private EntityCollection createCars() { - EntityCollection entitySet = new EntityCollection(); - - entitySet.getEntities().add(new Entity() - .addProperty(createPrimitive("Id", 1)) - .addProperty(createPrimitive("Model", "F1 W03")) - .addProperty(createPrimitive("ModelYear", "2012")) - .addProperty(createPrimitive("Price", 189189.43)) - .addProperty(createPrimitive("Currency", "EUR"))); - - entitySet.getEntities().add(new Entity() - .addProperty(createPrimitive("Id", 2)) - .addProperty(createPrimitive("Model", "F1 W04")) - .addProperty(createPrimitive("ModelYear", "2013")) - .addProperty(createPrimitive("Price", 199999.99)) - .addProperty(createPrimitive("Currency", "EUR"))); - - entitySet.getEntities().add(new Entity() - .addProperty(createPrimitive("Id", 3)) - .addProperty(createPrimitive("Model", "F2012")) - .addProperty(createPrimitive("ModelYear", "2012")) - .addProperty(createPrimitive("Price", 137285.33)) - .addProperty(createPrimitive("Currency", "EUR"))); - - entitySet.getEntities().add(new Entity() - .addProperty(createPrimitive("Id", 4)) - .addProperty(createPrimitive("Model", "F2013")) - .addProperty(createPrimitive("ModelYear", "2013")) - .addProperty(createPrimitive("Price", 145285.00)) - .addProperty(createPrimitive("Currency", "EUR"))); - - entitySet.getEntities().add(new Entity() - .addProperty(createPrimitive("Id", 5)) - .addProperty(createPrimitive("Model", "F1 W02")) - .addProperty(createPrimitive("ModelYear", "2011")) - .addProperty(createPrimitive("Price", 167189.00)) - .addProperty(createPrimitive("Currency", "EUR"))); - - for (Entity entity:entitySet.getEntities()) { - entity.setType(CarsEdmProvider.ET_CAR.getFullQualifiedNameAsString()); - } - return entitySet; - } - - private EntityCollection createManufacturers() { - EntityCollection entitySet = new EntityCollection(); - - entitySet.getEntities().add(new Entity() - .addProperty(createPrimitive("Id", 1)) - .addProperty(createPrimitive("Name", "Star Powered Racing")) - .addProperty(createAddress("Star Street 137", "Stuttgart", "70173", "Germany"))); - - entitySet.getEntities().add(new Entity() - .addProperty(createPrimitive("Id", 2)) - .addProperty(createPrimitive("Name", "Horse Powered Racing")) - .addProperty(createAddress("Horse Street 1", "Maranello", "41053", "Italy"))); - - for (Entity entity:entitySet.getEntities()) { - entity.setType(CarsEdmProvider.ET_MANUFACTURER.getFullQualifiedNameAsString()); - } - return entitySet; - } - - private Property createAddress(final String street, final String city, final String zipCode, final String country) { - ComplexValue complexValue=new ComplexValue(); - List addressProperties = complexValue.getValue(); - addressProperties.add(createPrimitive("Street", street)); - addressProperties.add(createPrimitive("City", city)); - addressProperties.add(createPrimitive("ZipCode", zipCode)); - addressProperties.add(createPrimitive("Country", country)); - return new Property(null, "Address", ValueType.COMPLEX, complexValue); - } - - private Property createPrimitive(final String name, final Object value) { - return new Property(null, name, ValueType.PRIMITIVE, value); - } -} diff --git a/samples/osgi/server/src/main/java/org/apache/olingo/server/sample/edmprovider/CarsEdmProvider.java b/samples/osgi/server/src/main/java/org/apache/olingo/server/sample/edmprovider/CarsEdmProvider.java deleted file mode 100644 index 4d3ba9d70..000000000 --- a/samples/osgi/server/src/main/java/org/apache/olingo/server/sample/edmprovider/CarsEdmProvider.java +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.olingo.server.sample.edmprovider; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.apache.olingo.commons.api.ODataException; -import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind; -import org.apache.olingo.commons.api.edm.FullQualifiedName; -import org.apache.olingo.commons.api.edm.provider.CsdlAbstractEdmProvider; -import org.apache.olingo.commons.api.edm.provider.CsdlComplexType; -import org.apache.olingo.commons.api.edm.provider.CsdlEntityContainer; -import org.apache.olingo.commons.api.edm.provider.CsdlEntityContainerInfo; -import org.apache.olingo.commons.api.edm.provider.CsdlEntitySet; -import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; -import org.apache.olingo.commons.api.edm.provider.CsdlNavigationProperty; -import org.apache.olingo.commons.api.edm.provider.CsdlNavigationPropertyBinding; -import org.apache.olingo.commons.api.edm.provider.CsdlProperty; -import org.apache.olingo.commons.api.edm.provider.CsdlPropertyRef; -import org.apache.olingo.commons.api.edm.provider.CsdlSchema; - -public class CarsEdmProvider extends CsdlAbstractEdmProvider { - - // Service Namespace - public static final String NAMESPACE = "olingo.odata.sample"; - - // EDM Container - public static final String CONTAINER_NAME = "Container"; - public static final FullQualifiedName CONTAINER_FQN = new FullQualifiedName(NAMESPACE, CONTAINER_NAME); - - // Entity Types Names - public static final FullQualifiedName ET_CAR = new FullQualifiedName(NAMESPACE, "Car"); - public static final FullQualifiedName ET_MANUFACTURER = new FullQualifiedName(NAMESPACE, "Manufacturer"); - - // Complex Type Names - public static final FullQualifiedName CT_ADDRESS = new FullQualifiedName(NAMESPACE, "Address"); - - // Entity Set Names - public static final String ES_CARS_NAME = "Cars"; - public static final String ES_MANUFACTURER_NAME = "Manufacturers"; - - @Override - public CsdlEntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException { - if (ET_CAR.equals(entityTypeName)) { - return new CsdlEntityType() - .setName(ET_CAR.getName()) - .setKey(Arrays.asList( - new CsdlPropertyRef().setName("Id"))) - .setProperties( - Arrays.asList( - new CsdlProperty().setName("Id").setType(EdmPrimitiveTypeKind.Int16.getFullQualifiedName()), - new CsdlProperty().setName("Model").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()), - new CsdlProperty().setName("ModelYear").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()) - .setMaxLength(4), - new CsdlProperty().setName("Price").setType(EdmPrimitiveTypeKind.Decimal.getFullQualifiedName()) - .setScale(2), - new CsdlProperty().setName("Currency").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()) - .setMaxLength(3) - ) - ).setNavigationProperties(Arrays.asList( - new CsdlNavigationProperty().setName("Manufacturer").setType(ET_MANUFACTURER) - ) - ); - - } else if (ET_MANUFACTURER.equals(entityTypeName)) { - return new CsdlEntityType() - .setName(ET_MANUFACTURER.getName()) - .setKey(Arrays.asList( - new CsdlPropertyRef().setName("Id"))) - .setProperties(Arrays.asList( - new CsdlProperty().setName("Id").setType(EdmPrimitiveTypeKind.Int16.getFullQualifiedName()), - new CsdlProperty().setName("Name").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()), - new CsdlProperty().setName("Address").setType(CT_ADDRESS)) - ).setNavigationProperties(Arrays.asList( - new CsdlNavigationProperty().setName("Cars").setType(ET_CAR).setCollection(true) - ) - ); - } - - return null; - } - - public CsdlComplexType getComplexType(final FullQualifiedName complexTypeName) throws ODataException { - if (CT_ADDRESS.equals(complexTypeName)) { - return new CsdlComplexType().setName(CT_ADDRESS.getName()).setProperties(Arrays.asList( - new CsdlProperty().setName("Street").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()), - new CsdlProperty().setName("City").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()), - new CsdlProperty().setName("ZipCode").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()), - new CsdlProperty().setName("Country").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()) - )); - } - return null; - } - - @Override - public CsdlEntitySet getEntitySet(final FullQualifiedName entityContainer, final String entitySetName) - throws ODataException { - if (CONTAINER_FQN.equals(entityContainer)) { - if (ES_CARS_NAME.equals(entitySetName)) { - return new CsdlEntitySet() - .setName(ES_CARS_NAME) - .setType(ET_CAR) - .setNavigationPropertyBindings( - Arrays.asList( - new CsdlNavigationPropertyBinding().setPath("Manufacturer").setTarget( - CONTAINER_FQN.getFullQualifiedNameAsString() + "/" + ES_MANUFACTURER_NAME))); - } else if (ES_MANUFACTURER_NAME.equals(entitySetName)) { - return new CsdlEntitySet() - .setName(ES_MANUFACTURER_NAME) - .setType(ET_MANUFACTURER).setNavigationPropertyBindings( - Arrays.asList( - new CsdlNavigationPropertyBinding().setPath("Cars") - .setTarget(CONTAINER_FQN.getFullQualifiedNameAsString() + "/" + ES_CARS_NAME))); - } - } - - return null; - } - - @Override - public List getSchemas() throws ODataException { - List schemas = new ArrayList(); - CsdlSchema schema = new CsdlSchema(); - schema.setNamespace(NAMESPACE); - // EntityTypes - List entityTypes = new ArrayList(); - entityTypes.add(getEntityType(ET_CAR)); - entityTypes.add(getEntityType(ET_MANUFACTURER)); - schema.setEntityTypes(entityTypes); - - // ComplexTypes - List complexTypes = new ArrayList(); - complexTypes.add(getComplexType(CT_ADDRESS)); - schema.setComplexTypes(complexTypes); - - // EntityContainer - schema.setEntityContainer(getEntityContainer()); - schemas.add(schema); - - return schemas; - } - - @Override - public CsdlEntityContainer getEntityContainer() throws ODataException { - CsdlEntityContainer container = new CsdlEntityContainer(); - container.setName(CONTAINER_FQN.getName()); - - // EntitySets - List entitySets = new ArrayList(); - container.setEntitySets(entitySets); - entitySets.add(getEntitySet(CONTAINER_FQN, ES_CARS_NAME)); - entitySets.add(getEntitySet(CONTAINER_FQN, ES_MANUFACTURER_NAME)); - - return container; - } - - @Override - public CsdlEntityContainerInfo getEntityContainerInfo(final FullQualifiedName entityContainerName) - throws ODataException { - if (entityContainerName == null || CONTAINER_FQN.equals(entityContainerName)) { - return new CsdlEntityContainerInfo().setContainerName(CONTAINER_FQN); - } - return null; - } -} diff --git a/samples/osgi/server/src/main/java/org/apache/olingo/server/sample/processor/CarsProcessor.java b/samples/osgi/server/src/main/java/org/apache/olingo/server/sample/processor/CarsProcessor.java deleted file mode 100644 index 4305415c1..000000000 --- a/samples/osgi/server/src/main/java/org/apache/olingo/server/sample/processor/CarsProcessor.java +++ /dev/null @@ -1,355 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.olingo.server.sample.processor; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.nio.charset.Charset; -import java.util.List; -import java.util.Locale; - -import org.apache.olingo.commons.api.data.ContextURL; -import org.apache.olingo.commons.api.data.ContextURL.Suffix; -import org.apache.olingo.commons.api.data.Entity; -import org.apache.olingo.commons.api.data.EntityCollection; -import org.apache.olingo.commons.api.data.Property; -import org.apache.olingo.commons.api.edm.EdmComplexType; -import org.apache.olingo.commons.api.edm.EdmEntitySet; -import org.apache.olingo.commons.api.edm.EdmPrimitiveType; -import org.apache.olingo.commons.api.edm.EdmProperty; -import org.apache.olingo.commons.api.format.ContentType; -import org.apache.olingo.commons.api.format.ODataFormat; -import org.apache.olingo.commons.api.http.HttpContentType; -import org.apache.olingo.commons.api.http.HttpHeader; -import org.apache.olingo.commons.api.http.HttpStatusCode; -import org.apache.olingo.server.api.OData; -import org.apache.olingo.server.api.ODataApplicationException; -import org.apache.olingo.server.api.ODataRequest; -import org.apache.olingo.server.api.ODataResponse; -import org.apache.olingo.server.api.ServiceMetadata; -import org.apache.olingo.server.api.deserializer.DeserializerException; -import org.apache.olingo.server.api.processor.ComplexProcessor; -import org.apache.olingo.server.api.processor.EntityCollectionProcessor; -import org.apache.olingo.server.api.processor.EntityProcessor; -import org.apache.olingo.server.api.processor.PrimitiveProcessor; -import org.apache.olingo.server.api.processor.PrimitiveValueProcessor; -import org.apache.olingo.server.api.serializer.ComplexSerializerOptions; -import org.apache.olingo.server.api.serializer.EntityCollectionSerializerOptions; -import org.apache.olingo.server.api.serializer.EntitySerializerOptions; -import org.apache.olingo.server.api.serializer.ODataSerializer; -import org.apache.olingo.server.api.serializer.PrimitiveSerializerOptions; -import org.apache.olingo.server.api.serializer.SerializerException; -import org.apache.olingo.server.api.uri.UriInfo; -import org.apache.olingo.server.api.uri.UriInfoResource; -import org.apache.olingo.server.api.uri.UriResource; -import org.apache.olingo.server.api.uri.UriResourceEntitySet; -import org.apache.olingo.server.api.uri.UriResourceProperty; -import org.apache.olingo.server.api.uri.queryoption.ExpandOption; -import org.apache.olingo.server.api.uri.queryoption.SelectOption; -import org.apache.olingo.server.sample.data.DataProvider; -import org.apache.olingo.server.sample.data.DataProvider.DataProviderException; - -/** - * This processor will deliver entity collections, single entities as well as properties of an entity. - * This is a very simple example which should give you a rough guideline on how to implement such an processor. - * See the JavaDoc of the server.api interfaces for more information. - */ -public class CarsProcessor implements EntityCollectionProcessor, EntityProcessor, - PrimitiveProcessor, PrimitiveValueProcessor, ComplexProcessor { - - private OData odata; - private final DataProvider dataProvider; - private ServiceMetadata edm; - - // This constructor is application specific and not mandatory for the Olingo library. We use it here to simulate the - // database access - public CarsProcessor(final DataProvider dataProvider) { - this.dataProvider = dataProvider; - } - - @Override - public void init(OData odata, ServiceMetadata edm) { - this.odata = odata; - this.edm = edm; - } - - @Override - public void readEntityCollection(final ODataRequest request, ODataResponse response, final UriInfo uriInfo, - final ContentType requestedContentType) throws ODataApplicationException, SerializerException { - // First we have to figure out which entity set to use - final EdmEntitySet edmEntitySet = getEdmEntitySet(uriInfo.asUriInfoResource()); - - // Second we fetch the data for this specific entity set from the mock database and transform it into an EntitySet - // object which is understood by our serialization - EntityCollection entitySet = dataProvider.readAll(edmEntitySet); - - // Next we create a serializer based on the requested format. This could also be a custom format but we do not - // support them in this example - final ODataFormat format = ODataFormat.fromContentType(requestedContentType); - ODataSerializer serializer = odata.createSerializer(format); - - // Now the content is serialized using the serializer. - final ExpandOption expand = uriInfo.getExpandOption(); - final SelectOption select = uriInfo.getSelectOption(); - InputStream serializedContent = serializer.entityCollection(edm, edmEntitySet.getEntityType(), entitySet, - EntityCollectionSerializerOptions.with() - .contextURL(format == ODataFormat.JSON_NO_METADATA ? null : - getContextUrl(edmEntitySet, false, expand, select, null)) - .count(uriInfo.getCountOption()) - .expand(expand).select(select) - .build()).getContent(); - - // Finally we set the response data, headers and status code - response.setContent(serializedContent); - response.setStatusCode(HttpStatusCode.OK.getStatusCode()); - response.setHeader(HttpHeader.CONTENT_TYPE, requestedContentType.toContentTypeString()); - } - - @Override - public void readEntity(final ODataRequest request, ODataResponse response, final UriInfo uriInfo, - final ContentType requestedContentType) throws ODataApplicationException, SerializerException { - // First we have to figure out which entity set the requested entity is in - final EdmEntitySet edmEntitySet = getEdmEntitySet(uriInfo.asUriInfoResource()); - - // Next we fetch the requested entity from the database - Entity entity; - try { - entity = readEntityInternal(uriInfo.asUriInfoResource(), edmEntitySet); - } catch (DataProviderException e) { - throw new ODataApplicationException(e.getMessage(), 500, Locale.ENGLISH); - } - - if (entity == null) { - // If no entity was found for the given key we throw an exception. - throw new ODataApplicationException("No entity found for this key", HttpStatusCode.NOT_FOUND - .getStatusCode(), Locale.ENGLISH); - } else { - // If an entity was found we proceed by serializing it and sending it to the client. - final ODataFormat format = ODataFormat.fromContentType(requestedContentType); - ODataSerializer serializer = odata.createSerializer(format); - final ExpandOption expand = uriInfo.getExpandOption(); - final SelectOption select = uriInfo.getSelectOption(); - InputStream serializedContent = serializer.entity(edm, edmEntitySet.getEntityType(), entity, - EntitySerializerOptions.with() - .contextURL(format == ODataFormat.JSON_NO_METADATA ? null : - getContextUrl(edmEntitySet, true, expand, select, null)) - .expand(expand).select(select) - .build()).getContent(); - response.setContent(serializedContent); - response.setStatusCode(HttpStatusCode.OK.getStatusCode()); - response.setHeader(HttpHeader.CONTENT_TYPE, requestedContentType.toContentTypeString()); - } - } - - @Override - public void createEntity(ODataRequest request, ODataResponse response, UriInfo uriInfo, - ContentType requestFormat, ContentType responseFormat) - throws ODataApplicationException, DeserializerException, SerializerException { - throw new ODataApplicationException("Entity create is not supported yet.", - HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ENGLISH); - } - - @Override - public void deleteEntity(ODataRequest request, ODataResponse response, UriInfo uriInfo) - throws ODataApplicationException { - throw new ODataApplicationException("Entity delete is not supported yet.", - HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ENGLISH); - } - - @Override - public void readPrimitive(ODataRequest request, ODataResponse response, UriInfo uriInfo, ContentType format) - throws ODataApplicationException, SerializerException { - readProperty(response, uriInfo, format, false); - } - - @Override - public void readComplex(ODataRequest request, ODataResponse response, UriInfo uriInfo, ContentType format) - throws ODataApplicationException, SerializerException { - readProperty(response, uriInfo, format, true); - } - - @Override - public void readPrimitiveValue(ODataRequest request, ODataResponse response, UriInfo uriInfo, ContentType format) - throws ODataApplicationException, SerializerException { - // First we have to figure out which entity set the requested entity is in - final EdmEntitySet edmEntitySet = getEdmEntitySet(uriInfo.asUriInfoResource()); - // Next we fetch the requested entity from the database - final Entity entity; - try { - entity = readEntityInternal(uriInfo.asUriInfoResource(), edmEntitySet); - } catch (DataProviderException e) { - throw new ODataApplicationException(e.getMessage(), 500, Locale.ENGLISH); - } - if (entity == null) { - // If no entity was found for the given key we throw an exception. - throw new ODataApplicationException("No entity found for this key", HttpStatusCode.NOT_FOUND - .getStatusCode(), Locale.ENGLISH); - } else { - // Next we get the property value from the entity and pass the value to serialization - UriResourceProperty uriProperty = (UriResourceProperty) uriInfo - .getUriResourceParts().get(uriInfo.getUriResourceParts().size() - 1); - EdmProperty edmProperty = uriProperty.getProperty(); - Property property = entity.getProperty(edmProperty.getName()); - if (property == null) { - throw new ODataApplicationException("No property found", HttpStatusCode.NOT_FOUND - .getStatusCode(), Locale.ENGLISH); - } else { - if (property.getValue() == null) { - response.setStatusCode(HttpStatusCode.NO_CONTENT.getStatusCode()); - } else { - String value = String.valueOf(property.getValue()); - ByteArrayInputStream serializerContent = new ByteArrayInputStream( - value.getBytes(Charset.forName("UTF-8"))); - response.setContent(serializerContent); - response.setStatusCode(HttpStatusCode.OK.getStatusCode()); - response.setHeader(HttpHeader.CONTENT_TYPE, HttpContentType.TEXT_PLAIN); - } - } - } - } - - private void readProperty(ODataResponse response, UriInfo uriInfo, ContentType contentType, - boolean complex) throws ODataApplicationException, SerializerException { - // To read a property we have to first get the entity out of the entity set - final EdmEntitySet edmEntitySet = getEdmEntitySet(uriInfo.asUriInfoResource()); - Entity entity; - try { - entity = readEntityInternal(uriInfo.asUriInfoResource(), edmEntitySet); - } catch (DataProviderException e) { - throw new ODataApplicationException(e.getMessage(), - HttpStatusCode.INTERNAL_SERVER_ERROR.getStatusCode(), Locale.ENGLISH); - } - - if (entity == null) { - // If no entity was found for the given key we throw an exception. - throw new ODataApplicationException("No entity found for this key", - HttpStatusCode.NOT_FOUND.getStatusCode(), Locale.ENGLISH); - } else { - // Next we get the property value from the entity and pass the value to serialization - UriResourceProperty uriProperty = (UriResourceProperty) uriInfo - .getUriResourceParts().get(uriInfo.getUriResourceParts().size() - 1); - EdmProperty edmProperty = uriProperty.getProperty(); - Property property = entity.getProperty(edmProperty.getName()); - if (property == null) { - throw new ODataApplicationException("No property found", - HttpStatusCode.NOT_FOUND.getStatusCode(), Locale.ENGLISH); - } else { - if (property.getValue() == null) { - response.setStatusCode(HttpStatusCode.NO_CONTENT.getStatusCode()); - } else { - final ODataFormat format = ODataFormat.fromContentType(contentType); - ODataSerializer serializer = odata.createSerializer(format); - final ContextURL contextURL = format == ODataFormat.JSON_NO_METADATA ? null : - getContextUrl(edmEntitySet, true, null, null, edmProperty.getName()); - InputStream serializerContent = complex ? - serializer.complex(edm, (EdmComplexType) edmProperty.getType(), property, - ComplexSerializerOptions.with().contextURL(contextURL).build()).getContent() : - serializer.primitive((EdmPrimitiveType) edmProperty.getType(), property, - PrimitiveSerializerOptions.with() - .contextURL(contextURL) - .scale(edmProperty.getScale()) - .nullable(edmProperty.isNullable()) - .precision(edmProperty.getPrecision()) - .maxLength(edmProperty.getMaxLength()) - .unicode(edmProperty.isUnicode()).build()).getContent(); - response.setContent(serializerContent); - response.setStatusCode(HttpStatusCode.OK.getStatusCode()); - response.setHeader(HttpHeader.CONTENT_TYPE, contentType.toContentTypeString()); - } - } - } - } - - private Entity readEntityInternal(final UriInfoResource uriInfo, final EdmEntitySet entitySet) - throws DataProvider.DataProviderException { - // This method will extract the key values and pass them to the data provider - final UriResourceEntitySet resourceEntitySet = (UriResourceEntitySet) uriInfo.getUriResourceParts().get(0); - return dataProvider.read(entitySet, resourceEntitySet.getKeyPredicates()); - } - - private EdmEntitySet getEdmEntitySet(final UriInfoResource uriInfo) throws ODataApplicationException { - final List resourcePaths = uriInfo.getUriResourceParts(); - /* - * To get the entity set we have to interpret all URI segments - */ - if (!(resourcePaths.get(0) instanceof UriResourceEntitySet)) { - throw new ODataApplicationException("Invalid resource type for first segment.", - HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ENGLISH); - } - - /* - * Here we should interpret the whole URI but in this example we do not support navigation so we throw an exception - */ - - final UriResourceEntitySet uriResource = (UriResourceEntitySet) resourcePaths.get(0); - return uriResource.getEntitySet(); - } - - private ContextURL getContextUrl(final EdmEntitySet entitySet, final boolean isSingleEntity, - final ExpandOption expand, final SelectOption select, final String navOrPropertyPath) - throws SerializerException { - - return ContextURL.with().entitySet(entitySet) - .selectList(odata.createUriHelper().buildContextURLSelectList(entitySet.getEntityType(), expand, select)) - .suffix(isSingleEntity ? Suffix.ENTITY : null) - .navOrPropertyPath(navOrPropertyPath) - .build(); - } - - @Override - public void updatePrimitive(final ODataRequest request, final ODataResponse response, - final UriInfo uriInfo, final ContentType requestFormat, - final ContentType responseFormat) - throws ODataApplicationException, DeserializerException, SerializerException { - throw new ODataApplicationException("Primitive property update is not supported yet.", - HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ENGLISH); - } - - @Override - public void deletePrimitive(ODataRequest request, ODataResponse response, UriInfo uriInfo) throws - ODataApplicationException { - throw new ODataApplicationException("Primitive property delete is not supported yet.", - HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ENGLISH); - } - - @Override - public void updateComplex(final ODataRequest request, final ODataResponse response, - final UriInfo uriInfo, final ContentType requestFormat, - final ContentType responseFormat) - throws ODataApplicationException, DeserializerException, SerializerException { - throw new ODataApplicationException("Complex property update is not supported yet.", - HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ENGLISH); - } - - @Override - public void deleteComplex(final ODataRequest request, final ODataResponse response, final UriInfo uriInfo) - throws ODataApplicationException { - throw new ODataApplicationException("Complex property delete is not supported yet.", - HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ENGLISH); - } - - @Override - public void updateEntity(final ODataRequest request, final ODataResponse response, - final UriInfo uriInfo, final ContentType requestFormat, - final ContentType responseFormat) - throws ODataApplicationException, DeserializerException, SerializerException { - throw new ODataApplicationException("Entity update is not supported yet.", - HttpStatusCode.NOT_IMPLEMENTED.getStatusCode(), Locale.ENGLISH); - } -} \ No newline at end of file diff --git a/samples/osgi/server/src/main/resources/META-INF/LICENSE b/samples/osgi/server/src/main/resources/META-INF/LICENSE deleted file mode 100644 index 715ff3074..000000000 --- a/samples/osgi/server/src/main/resources/META-INF/LICENSE +++ /dev/null @@ -1,331 +0,0 @@ -Licenses for TecSvc artifact - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - - -From: 'abego Software GmbH, Germany' (http://abego-software.de) - abego -TreeLayout Core (http://code.google.com/p/treelayout/) -org.abego.treelayout:org.abego.treelayout.core:jar:1.0.1 License: BSD 3-Clause -"New" or "Revised" License (BSD-3-Clause) -(http://treelayout.googlecode.com/files/LICENSE.TXT) - -[The "BSD license"] -Copyright (c) 2011, abego Software GmbH, Germany (http://www.abego.org) -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -3. Neither the name of the abego Software GmbH nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - - -From: 'ANTLR' (http://www.antlr.org) - ANTLR 4 Runtime -(http://www.antlr.org/antlr4-runtime) org.antlr:antlr4-runtime:jar:4.1 License: -The BSD License (http://www.antlr.org/license.html) - -[The BSD License] -Copyright (c) 2012 Terence Parr and Sam Harwell -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. Redistributions in binary - form must reproduce the above copyright notice, this list of conditions and - the following disclaimer in the documentation and/or other materials - provided with the distribution. Neither the name of the author nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -From: 'fasterxml.com' (http://fasterxml.com) - Stax2 API -(http://wiki.fasterxml.com/WoodstoxStax2) -org.codehaus.woodstox:stax2-api:bundle:3.1.4 License: The BSD License -(http://www.opensource.org/licenses/bsd-license.php) - -Copyright (c) 2004-2010, Woodstox Project (http://woodstox.codehaus.org/) -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -3. Neither the name of the Woodstox XML Processor nor the names - of its contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - - -From: 'QOS.ch' (http://www.qos.ch) - - SLF4J API Module (http://www.slf4j.org) org.slf4j:slf4j-api:jar:1.7.7 - License: MIT License (http://www.opensource.org/licenses/mit-license.php) - - SLF4J Simple Binding (http://www.slf4j.org) org.slf4j:slf4j-simple:jar:1.7.7 - License: MIT License (http://www.opensource.org/licenses/mit-license.php) - - -Copyright (c) 2004-2013 QOS.ch - -All rights reserved. Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated documentation files -(the "Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, distribute, -sublicense, and/or sell copies of the Software, and to permit persons to whom -the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/samples/osgi/server/src/main/resources/simplelogger.properties b/samples/osgi/server/src/main/resources/simplelogger.properties deleted file mode 100644 index 2a3350c78..000000000 --- a/samples/osgi/server/src/main/resources/simplelogger.properties +++ /dev/null @@ -1,20 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# -org.slf4j.simpleLogger.defaultLogLevel=debug -org.slf4j.simpleLogger.logFile=System.out \ No newline at end of file diff --git a/samples/osgi/server/src/main/webapp/WEB-INF/web.xml b/samples/osgi/server/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 6245ae243..000000000 --- a/samples/osgi/server/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - Apache Olingo OData 4.0 Sample Service - - - index.jsp - - - - CarsServlet - org.apache.olingo.server.sample.CarsServlet - 1 - - - - CarsServlet - /cars.svc/* - - - diff --git a/samples/osgi/server/src/main/webapp/css/olingo.css b/samples/osgi/server/src/main/webapp/css/olingo.css deleted file mode 100644 index 5b9deec04..000000000 --- a/samples/osgi/server/src/main/webapp/css/olingo.css +++ /dev/null @@ -1,91 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. -*/ -body { - font-family: Arial, sans-serif; - font-size: 13px; - line-height: 18px; - color: #8904B1; - background-color: #ffffff; -} - -a { - color: #8904B1; -} - -a:VISITED { - color: #D358F7; -} - -td { - padding: 5px; -} - -h1,h2,h3,h4,h5,h6 { - font-family: inherit; - font-weight: bold; - line-height: 1; - color: #8904B1; -} - -h1 { - font-size: 36px; - line-height: 40px; -} - -h2 { - font-size: 30px; - line-height: 40px; -} - -h3 { - font-size: 24px; - line-height: 40px; -} - -h4 { - font-size: 18px; - line-height: 20px; -} - -h5 { - font-size: 14px; - line-height: 20px; -} - -h6 { - font-size: 12px; - line-height: 20px; -} - -.logo { - float: right; -} - -hr, thead, tfoot { - margin: 9px 0; - border-top: 1px solid #8904B1; - border-bottom: 1px solid #8904B1; -} - -table { border-collapse: collapse; border: 1px solid #8904B1; } - -.version { - font-family: "Courier New", monospace; - font-size: 10px; -} \ No newline at end of file diff --git a/samples/osgi/server/src/main/webapp/img/OlingoOrangeTM.png b/samples/osgi/server/src/main/webapp/img/OlingoOrangeTM.png deleted file mode 100644 index 4878e8a5c..000000000 Binary files a/samples/osgi/server/src/main/webapp/img/OlingoOrangeTM.png and /dev/null differ diff --git a/samples/osgi/server/src/main/webapp/index.jsp b/samples/osgi/server/src/main/webapp/index.jsp deleted file mode 100644 index 2940a76f9..000000000 --- a/samples/osgi/server/src/main/webapp/index.jsp +++ /dev/null @@ -1,56 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> - - - - - - - - Apache Olingo - OData 4.0 - - - - - -

Olingo OData 4.0

-
-

Cars Sample Service

- -
-
- <% String version = "gen/version.html"; - try { - %> - - <%} catch (Exception e) { - %> -

IDE Build

- <%}%> -
- -