Repository: olingo-odata4 Updated Branches: refs/heads/3.0.0-beta-01 [created] f7a7b484a
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/samples/server/src/main/java/org/apache/olingo/server/sample/processor/CarsProcessor.java ---------------------------------------------------------------------- diff --git a/samples/server/src/main/java/org/apache/olingo/server/sample/processor/CarsProcessor.java b/samples/server/src/main/java/org/apache/olingo/server/sample/processor/CarsProcessor.java deleted file mode 100644 index 891acbb..0000000 --- a/samples/server/src/main/java/org/apache/olingo/server/sample/processor/CarsProcessor.java +++ /dev/null @@ -1,353 +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.EntitySet; -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 DataProvider dataProvider; - - // 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; - } - - @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 - EntitySet 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(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()); - - // 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(edmEntitySet.getEntityType(), entity, - EntitySerializerOptions.with() - .contextURL(format == ODataFormat.JSON_NO_METADATA ? null : - getContextUrl(edmEntitySet, true, expand, select, null)) - .expand(expand).select(select) - .build()); - 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((EdmComplexType) edmProperty.getType(), property, - ComplexSerializerOptions.with().contextURL(contextURL).build()) : - 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()); - 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<UriResource> 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 http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/samples/server/src/main/resources/META-INF/LICENSE ---------------------------------------------------------------------- diff --git a/samples/server/src/main/resources/META-INF/LICENSE b/samples/server/src/main/resources/META-INF/LICENSE deleted file mode 100644 index 715ff30..0000000 --- a/samples/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. http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/samples/server/src/main/resources/simplelogger.properties ---------------------------------------------------------------------- diff --git a/samples/server/src/main/resources/simplelogger.properties b/samples/server/src/main/resources/simplelogger.properties deleted file mode 100644 index 2a3350c..0000000 --- a/samples/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 http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/samples/server/src/main/version/version.html ---------------------------------------------------------------------- diff --git a/samples/server/src/main/version/version.html b/samples/server/src/main/version/version.html deleted file mode 100644 index 7bc2ddd..0000000 --- a/samples/server/src/main/version/version.html +++ /dev/null @@ -1,37 +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. ---> - -<table> - <thead> - <tr><th colspan=2>Version Information</th></tr> - </thead> - - <tfoot> - <tr> - <td>Home</td> - <td><a href="http://olingo.apache.org/" target="self">Apache Olingo</a></td> - </tr> - </tfoot> - - <tbody> - <tr><td>name</td><td>${name}</td></tr> - <tr><td>version</td><td>${version}</td></tr> - <tr><td>timestamp</td><td>${timestamp}</td></tr> - </tbody> -</table> http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/samples/server/src/main/webapp/WEB-INF/web.xml ---------------------------------------------------------------------- diff --git a/samples/server/src/main/webapp/WEB-INF/web.xml b/samples/server/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 2a26367..0000000 --- a/samples/server/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - 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. ---> -<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" - xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" - id="WebApp_ID" version="2.5"> - - <display-name>Apache Olingo OData 4.0 Sample Service</display-name> - - <welcome-file-list> - <welcome-file>index.jsp</welcome-file> - </welcome-file-list> - - <servlet> - <servlet-name>CarsServlet</servlet-name> - <servlet-class>org.apache.olingo.server.sample.CarsServlet</servlet-class> - <load-on-startup>1</load-on-startup> - </servlet> - - <servlet-mapping> - <servlet-name>CarsServlet</servlet-name> - <url-pattern>/cars.svc/*</url-pattern> - </servlet-mapping> - -</web-app> http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/samples/server/src/main/webapp/css/olingo.css ---------------------------------------------------------------------- diff --git a/samples/server/src/main/webapp/css/olingo.css b/samples/server/src/main/webapp/css/olingo.css deleted file mode 100644 index 5b9deec..0000000 --- a/samples/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 http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/samples/server/src/main/webapp/img/OlingoOrangeTM.png ---------------------------------------------------------------------- diff --git a/samples/server/src/main/webapp/img/OlingoOrangeTM.png b/samples/server/src/main/webapp/img/OlingoOrangeTM.png deleted file mode 100644 index 4878e8a..0000000 Binary files a/samples/server/src/main/webapp/img/OlingoOrangeTM.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/samples/server/src/main/webapp/index.jsp ---------------------------------------------------------------------- diff --git a/samples/server/src/main/webapp/index.jsp b/samples/server/src/main/webapp/index.jsp deleted file mode 100644 index 2940a76..0000000 --- a/samples/server/src/main/webapp/index.jsp +++ /dev/null @@ -1,56 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> - -<!-- - 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. ---> - -<!DOCTYPE html> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - <title>Apache Olingo - OData 4.0</title> - <link type="text/css" rel="stylesheet" href="css/olingo.css"> -</head> - -<body> - <div class="logo"> - <img height="40" src="img/OlingoOrangeTM.png" /> - </div> - <h1>Olingo OData 4.0</h1> - <hr> - <h2>Cars Sample Service</h2> - <ul> - <li><a href="cars.svc/">Service Document</a></li> - <li><a href="cars.svc/$metadata">Metadata</a></li> - <li>Entity Set: <a href="cars.svc/Cars">Cars</a></li> - <li>Entity: <a href="cars.svc/Cars(1)">Cars(1)</a></li> - <li>Primitive Property: <a href="cars.svc/Cars(1)/Price">Cars(1)/Price</a></li> - </ul> - <hr> - <div class="version"> - <% String version = "gen/version.html"; - try { - %> - <jsp:include page='<%=version%>' /> - <%} catch (Exception e) { - %> - <p>IDE Build</p> - <%}%> - </div> -</body> -</html>
