You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2015/02/17 10:53:16 UTC
[02/35] olingo-odata4 git commit: [OLINGO-575] Removed V4 server code
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/TokenValidator.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/TokenValidator.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/TokenValidator.java
deleted file mode 100644
index 4632eff..0000000
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/TokenValidator.java
+++ /dev/null
@@ -1,194 +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.core.uri.testutil;
-
-import org.antlr.v4.runtime.ANTLRInputStream;
-import org.antlr.v4.runtime.Token;
-import org.apache.olingo.server.core.uri.antlr.UriLexer;
-
-import java.util.List;
-
-import static org.junit.Assert.assertEquals;
-
-//TODO extend to test also exception which can occure while paring
-public class TokenValidator {
-
- private String input = null;
-
- private List<? extends Token> tokens = null;
- private Token curToken = null;
- private Exception curException = null;
-
- private int startMode;
- private int logLevel = 0;
-
- // --- Setup ---
-
- public TokenValidator log(final int logLevel) {
- this.logLevel = logLevel;
- return this;
- }
-
- // --- Execution ---
-
- public TokenValidator run(final String uri) {
- input = uri;
-
- tokens = parseInput(uri);
- if (logLevel > 0) {
- showTokens();
- }
-
- first();
- exFirst();
- logLevel = 0;
-
- return this;
- }
-
- // --- Navigation ---
-
- // navigate within the tokenlist
- public TokenValidator first() {
- try {
- curToken = tokens.get(0);
- } catch (IndexOutOfBoundsException ex) {
- curToken = null;
- }
- return this;
- }
-
- public TokenValidator last() {
- curToken = tokens.get(tokens.size() - 1);
- return this;
- }
-
- public TokenValidator at(final int index) {
- try {
- curToken = tokens.get(index);
- } catch (IndexOutOfBoundsException ex) {
- curToken = null;
- }
- return this;
- }
-
- public TokenValidator exLast() {
- // curException = exceptions.get(exceptions.size() - 1);
- return this;
- }
-
- // navigate within the exception list
- public TokenValidator exFirst() {
- try {
- // curException = exceptions.get(0);
- } catch (IndexOutOfBoundsException ex) {
- curException = null;
- }
- return this;
-
- }
-
- public TokenValidator exAt(final int index) {
- try {
- // curException = exceptions.get(index);
- } catch (IndexOutOfBoundsException ex) {
- curException = null;
- }
- return this;
- }
-
- // --- Validation ---
-
- public TokenValidator isText(final String expected) {
- assertEquals(expected, curToken.getText());
- return this;
- }
-
- public TokenValidator isAllText(final String expected) {
- String actual = "";
-
- for (Token curToken : tokens) {
- actual += curToken.getText();
- }
- assertEquals(expected, actual);
- return this;
- }
-
- public TokenValidator isAllInput() {
- String actual = "";
-
- for (Token curToken : tokens) {
- actual += curToken.getText();
- }
- assertEquals(input, actual);
- return this;
- }
-
- public TokenValidator isInput() {
- assertEquals(input, curToken.getText());
- return this;
- }
-
- public TokenValidator isType(final int expected) {
- assertEquals(UriLexer.tokenNames[expected], UriLexer.tokenNames[curToken.getType()]);
- return this;
- }
-
- public TokenValidator isExType(final Class<?> exClass) {
- assertEquals(exClass, curException.getClass());
- return this;
- }
-
- public void globalMode(final int mode) {
- startMode = mode;
- }
-
- // --- Helper ---
-
- private List<? extends Token> parseInput(final String input) {
- ANTLRInputStream inputStream = new ANTLRInputStream(input);
-
- UriLexer lexer = new UriLexerWithTrace(inputStream, logLevel, startMode);
- // lexer.addErrorListener(new ErrorCollector(this));
- return lexer.getAllTokens();
- }
-
- public TokenValidator showTokens() {
- boolean first = true;
- System.out.println("input: " + input);
- String nL = "\n";
- String out = "[" + nL;
- for (Token token : tokens) {
- if (!first) {
- out += ",";
- first = false;
- }
- int index = token.getType();
- if (index != -1) {
- out += "\"" + token.getText() + "\"" + " " + UriLexer.tokenNames[index] + nL;
- } else {
- out += "\"" + token.getText() + "\"" + " " + index + nL;
- }
- }
- out += ']';
- System.out.println("tokens: " + out);
- return this;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/UriLexerWithTrace.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/UriLexerWithTrace.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/UriLexerWithTrace.java
deleted file mode 100644
index 9005080..0000000
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/testutil/UriLexerWithTrace.java
+++ /dev/null
@@ -1,85 +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.core.uri.testutil;
-
-import org.antlr.v4.runtime.ANTLRInputStream;
-import org.antlr.v4.runtime.Token;
-import org.apache.olingo.server.core.uri.antlr.UriLexer;
-
-public class UriLexerWithTrace extends UriLexer {
- int logLevel = 0;
-
- public UriLexerWithTrace(final ANTLRInputStream antlrInputStream, final int logLevel) {
- super(antlrInputStream);
- this.logLevel = logLevel;
- }
-
- public UriLexerWithTrace(final ANTLRInputStream antlrInputStream, final int logLevel, final int mode) {
- super(antlrInputStream);
- super.mode(mode);
- this.logLevel = logLevel;
- }
-
- @Override
- public void emit(final Token token) {
- if (logLevel > 1) {
- String out = String.format("%1$-" + 20 + "s", token.getText());
-
- int tokenType = token.getType();
- if (tokenType == -1) {
- out += "-1/EOF";
- } else {
- out += UriLexer.tokenNames[tokenType];
- }
- System.out.println("Lexer.emit(...):" + out);
- }
-
- super.emit(token);
- }
-
- @Override
- public void pushMode(final int m) {
-
- String out = UriLexer.modeNames[_mode] + "-->";
-
- super.pushMode(m);
-
- out += UriLexer.modeNames[_mode];
-
- if (logLevel > 1) {
- System.out.println(out + " ");
- }
- }
-
- @Override
- public int popMode() {
-
- String out = UriLexer.modeNames[_mode] + "-->";
-
- int m = super.popMode();
-
- out += UriLexer.modeNames[_mode];
-
- if (logLevel > 1) {
- System.out.println(out + " ");
- }
-
- return m;
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/validator/UriValidatorTest.java
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/validator/UriValidatorTest.java b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/validator/UriValidatorTest.java
deleted file mode 100644
index bdde9ce..0000000
--- a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/validator/UriValidatorTest.java
+++ /dev/null
@@ -1,390 +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.core.uri.validator;
-
-import org.apache.olingo.commons.api.edm.Edm;
-import org.apache.olingo.commons.api.http.HttpMethod;
-import org.apache.olingo.server.api.uri.UriInfo;
-import org.apache.olingo.server.core.edm.provider.EdmProviderImpl;
-import org.apache.olingo.server.core.uri.parser.Parser;
-import org.apache.olingo.server.core.uri.parser.UriParserException;
-import org.apache.olingo.server.core.uri.parser.UriParserSemanticException;
-import org.apache.olingo.server.core.uri.parser.UriParserSyntaxException;
-import org.apache.olingo.server.core.uri.testutil.TestUriValidator;
-import org.apache.olingo.server.tecsvc.provider.ContainerProvider;
-import org.apache.olingo.server.tecsvc.provider.EdmTechProvider;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
-public class UriValidatorTest {
-
- private static final String URI_ALL = "$all";
- private static final String URI_BATCH = "$batch";
- private static final String URI_CROSSJOIN = "$crossjoin(ESAllPrim)";
- private static final String URI_ENTITY_ID = "/$entity";
- private static final String URI_METADATA = "$metadata";
- private static final String URI_SERVICE = "";
- private static final String URI_ENTITY_SET = "/ESAllPrim";
- private static final String URI_ENTITY_SET_COUNT = "/ESAllPrim/$count";
- private static final String URI_ENTITY = "/ESAllPrim(1)";
- private static final String URI_MEDIA_STREAM = "/ESMedia(1)/$value";
- private static final String URI_REFERENCES = "/ESAllPrim/$ref";
- private static final String URI_REFERENCE = "/ESAllPrim(1)/$ref";
- private static final String URI_PROPERTY_COMPLEX = "/ESCompComp(1)/PropertyComp";
- private static final String URI_PROPERTY_COMPLEX_COLLECTION =
- "/ESCompCollComp(1)/PropertyComp/CollPropertyComp";
- private static final String URI_PROPERTY_COMPLEX_COLLECTION_COUNT =
- "/ESCompCollComp(1)/PropertyComp/CollPropertyComp/$count";
- private static final String URI_PROPERTY_PRIMITIVE = "/ESAllPrim(1)/PropertyString";
- private static final String URI_PROPERTY_PRIMITIVE_COLLECTION = "/ESCollAllPrim(1)/CollPropertyString";
- private static final String URI_PROPERTY_PRIMITIVE_COLLECTION_COUNT =
- "/ESCollAllPrim(1)/CollPropertyString/$count";
- private static final String URI_PROPERTY_PRIMITIVE_VALUE = "/ESAllPrim(1)/PropertyString/$value";
- private static final String URI_SINGLETON = "/SI";
- private static final String URI_NAV_ENTITY = "/ESKeyNav(1)/NavPropertyETKeyNavOne";
- private static final String URI_NAV_ENTITY_SET = "/ESKeyNav(1)/NavPropertyETKeyNavMany";
-
- private static final String QO_FILTER = "$filter='1' eq '1'";
- private static final String QO_FORMAT = "$format=bla/bla";
- private static final String QO_EXPAND = "$expand=*";
- private static final String QO_ID = "$id=Products(0)";
- private static final String QO_COUNT = "$count=true";
- private static final String QO_ORDERBY = "$orderby=true";
- // private static final String QO_SEARCH = "$search='bla'";
- private static final String QO_SELECT = "$select=*";
- private static final String QO_SKIP = "$skip=3";
- private static final String QO_SKIPTOKEN = "$skiptoken=123";
- private static final String QO_LEVELS = "$expand=*($levels=1)";
- private static final String QO_TOP = "$top=1";
-
- private String[][] urisWithValidSystemQueryOptions = {
- { URI_ALL, QO_FILTER }, { URI_ALL, QO_FORMAT }, { URI_ALL, QO_EXPAND }, { URI_ALL, QO_COUNT },
- { URI_ALL, QO_ORDERBY }, /* { URI_ALL, QO_SEARCH }, */{ URI_ALL, QO_SELECT }, { URI_ALL, QO_SKIP },
- { URI_ALL, QO_SKIPTOKEN }, { URI_ALL, QO_LEVELS },
-
- { URI_CROSSJOIN, QO_FILTER }, { URI_CROSSJOIN, QO_FORMAT },
- { URI_CROSSJOIN, QO_EXPAND }, { URI_CROSSJOIN, QO_COUNT }, { URI_CROSSJOIN, QO_ORDERBY },
- /* { URI_CROSSJOIN, QO_SEARCH }, */{ URI_CROSSJOIN, QO_SELECT }, { URI_CROSSJOIN, QO_SKIP },
- { URI_CROSSJOIN, QO_SKIPTOKEN }, { URI_CROSSJOIN, QO_LEVELS }, { URI_CROSSJOIN, QO_TOP },
-
- { URI_ENTITY_ID, QO_ID, QO_FORMAT }, { URI_ENTITY_ID, QO_ID }, { URI_ENTITY_ID, QO_ID, QO_EXPAND },
- { URI_ENTITY_ID, QO_ID, QO_SELECT }, { URI_ENTITY_ID, QO_ID, QO_LEVELS },
-
- { URI_METADATA, QO_FORMAT },
-
- { URI_SERVICE, QO_FORMAT },
-
- { URI_ENTITY_SET, QO_FILTER }, { URI_ENTITY_SET, QO_FORMAT }, { URI_ENTITY_SET, QO_EXPAND },
- { URI_ENTITY_SET, QO_COUNT }, { URI_ENTITY_SET, QO_ORDERBY }, /* { URI_ENTITY_SET, QO_SEARCH }, */
- { URI_ENTITY_SET, QO_SELECT },
- { URI_ENTITY_SET, QO_SKIP }, { URI_ENTITY_SET, QO_SKIPTOKEN }, { URI_ENTITY_SET, QO_LEVELS },
- { URI_ENTITY_SET, QO_TOP },
-
- { URI_ENTITY_SET_COUNT, QO_FILTER }, /* { URI_ENTITY_SET_COUNT, QO_SEARCH }, */
-
- { URI_ENTITY, QO_FORMAT }, { URI_ENTITY, QO_EXPAND }, { URI_ENTITY, QO_SELECT }, { URI_ENTITY, QO_LEVELS },
-
- { URI_MEDIA_STREAM, QO_FORMAT },
-
- { URI_REFERENCES, QO_FILTER }, { URI_REFERENCES, QO_FORMAT }, { URI_REFERENCES, QO_ORDERBY },
- /* { URI_REFERENCES, QO_SEARCH }, */{ URI_REFERENCES, QO_SKIP }, { URI_REFERENCES, QO_SKIPTOKEN },
- { URI_REFERENCES, QO_TOP },
-
- { URI_REFERENCE, QO_FORMAT },
-
- { URI_PROPERTY_COMPLEX, QO_FORMAT }, { URI_PROPERTY_COMPLEX, QO_SELECT }, { URI_PROPERTY_COMPLEX, QO_EXPAND },
- { URI_PROPERTY_COMPLEX, QO_LEVELS },
-
- { URI_PROPERTY_COMPLEX_COLLECTION, QO_FILTER }, { URI_PROPERTY_COMPLEX_COLLECTION, QO_FORMAT },
- { URI_PROPERTY_COMPLEX_COLLECTION, QO_EXPAND }, { URI_PROPERTY_COMPLEX_COLLECTION, QO_COUNT },
- { URI_PROPERTY_COMPLEX_COLLECTION, QO_SKIP }, { URI_PROPERTY_COMPLEX_COLLECTION, QO_SKIPTOKEN },
- { URI_PROPERTY_COMPLEX_COLLECTION, QO_LEVELS }, { URI_PROPERTY_COMPLEX_COLLECTION, QO_TOP },
- { URI_PROPERTY_COMPLEX_COLLECTION, QO_ORDERBY },
-
- { URI_PROPERTY_COMPLEX_COLLECTION_COUNT, QO_FILTER }, /* { URI_PROPERTY_COMPLEX_COLLECTION_COUNT, QO_SEARCH }, */
-
- { URI_PROPERTY_PRIMITIVE, QO_FORMAT },
-
- { URI_PROPERTY_PRIMITIVE_COLLECTION, QO_FILTER }, { URI_PROPERTY_PRIMITIVE_COLLECTION, QO_FORMAT },
- { URI_PROPERTY_PRIMITIVE_COLLECTION, QO_ORDERBY }, { URI_PROPERTY_PRIMITIVE_COLLECTION, QO_SKIP },
- { URI_PROPERTY_PRIMITIVE_COLLECTION, QO_SKIPTOKEN }, { URI_PROPERTY_PRIMITIVE_COLLECTION, QO_TOP },
-
- { URI_PROPERTY_PRIMITIVE_COLLECTION_COUNT, QO_FILTER },
- /* { URI_PROPERTY_PRIMITIVE_COLLECTION_COUNT, QO_SEARCH }, */
-
- { URI_PROPERTY_PRIMITIVE_VALUE, QO_FORMAT },
-
- { URI_SINGLETON, QO_FORMAT }, { URI_SINGLETON, QO_EXPAND }, { URI_SINGLETON, QO_SELECT },
- { URI_SINGLETON, QO_LEVELS },
-
- { URI_NAV_ENTITY, QO_FORMAT }, { URI_NAV_ENTITY, QO_EXPAND }, { URI_NAV_ENTITY, QO_SELECT },
- { URI_NAV_ENTITY, QO_LEVELS },
-
- { URI_NAV_ENTITY_SET, QO_FILTER }, { URI_NAV_ENTITY_SET, QO_FORMAT }, { URI_NAV_ENTITY_SET, QO_EXPAND },
- { URI_NAV_ENTITY_SET, QO_COUNT }, { URI_NAV_ENTITY_SET, QO_ORDERBY },
- /* { URI_NAV_ENTITY_SET, QO_SEARCH }, */{ URI_NAV_ENTITY_SET, QO_SELECT }, { URI_NAV_ENTITY_SET, QO_SKIP },
- { URI_NAV_ENTITY_SET, QO_SKIPTOKEN }, { URI_NAV_ENTITY_SET, QO_LEVELS }, { URI_NAV_ENTITY_SET, QO_TOP },
-
- { "FINRTInt16()" },
- { "FICRTETKeyNav()" },
- { "FICRTESTwoKeyNavParam(ParameterInt16=1)" },
- { "FICRTCollString()" },
- { "FICRTCTTwoPrim()" },
- { "FICRTCollCTTwoPrim()" },
- { "FICRTETMedia()" },
-
- { "ESTwoKeyNav/olingo.odata.test1.BAESTwoKeyNavRTESTwoKeyNav" },
- { "ESAllPrim/olingo.odata.test1.BAESAllPrimRTETAllPrim" },
- { ContainerProvider.AIRT_COLL_STRING_TWO_PARAM },
- { ContainerProvider.AIRTET_TWO_KEY_TWO_PRIM_PARAM },
- { ContainerProvider.AIRT_STRING }
- };
-
- private String[][] urisWithNonValidSystemQueryOptions = {
- { URI_ALL, QO_ID }, { URI_ALL, QO_TOP },
-
- { URI_BATCH, QO_FILTER }, { URI_BATCH, QO_FORMAT }, { URI_BATCH, QO_ID }, { URI_BATCH, QO_EXPAND },
- { URI_BATCH, QO_COUNT }, { URI_BATCH, QO_ORDERBY }, /* { URI_BATCH, QO_SEARCH }, */{ URI_BATCH, QO_SELECT },
- { URI_BATCH, QO_SKIP }, { URI_BATCH, QO_SKIPTOKEN }, { URI_BATCH, QO_LEVELS }, { URI_BATCH, QO_TOP },
-
- { URI_CROSSJOIN, QO_ID },
-
- { URI_ENTITY_ID, QO_ID, QO_FILTER },
- { URI_ENTITY_ID, QO_ID, QO_COUNT }, { URI_ENTITY_ID, QO_ORDERBY }, /* { URI_ENTITY_ID, QO_SEARCH }, */
-
- { URI_ENTITY_ID, QO_ID, QO_SKIP }, { URI_ENTITY_ID, QO_ID, QO_SKIPTOKEN }, { URI_ENTITY_ID, QO_ID, QO_TOP },
-
- { URI_METADATA, QO_FILTER }, { URI_METADATA, QO_ID }, { URI_METADATA, QO_EXPAND },
- { URI_METADATA, QO_COUNT }, { URI_METADATA, QO_ORDERBY }, /* { URI_METADATA, QO_SEARCH }, */
- { URI_METADATA, QO_SELECT }, { URI_METADATA, QO_SKIP }, { URI_METADATA, QO_SKIPTOKEN },
- { URI_METADATA, QO_LEVELS }, { URI_METADATA, QO_TOP },
-
- { URI_SERVICE, QO_FILTER }, { URI_SERVICE, QO_ID }, { URI_SERVICE, QO_EXPAND }, { URI_SERVICE, QO_COUNT },
- { URI_SERVICE, QO_ORDERBY }, /* { URI_SERVICE, QO_SEARCH }, */{ URI_SERVICE, QO_SELECT },
- { URI_SERVICE, QO_SKIP }, { URI_SERVICE, QO_SKIPTOKEN }, { URI_SERVICE, QO_LEVELS }, { URI_SERVICE, QO_TOP },
-
- { URI_ENTITY_SET, QO_ID },
-
- { URI_ENTITY_SET_COUNT, QO_FORMAT }, { URI_ENTITY_SET_COUNT, QO_ID },
- { URI_ENTITY_SET_COUNT, QO_EXPAND }, { URI_ENTITY_SET_COUNT, QO_COUNT },
- { URI_ENTITY_SET_COUNT, QO_ORDERBY },
- { URI_ENTITY_SET_COUNT, QO_SELECT }, { URI_ENTITY_SET_COUNT, QO_SKIP }, { URI_ENTITY_SET_COUNT, QO_SKIPTOKEN },
- { URI_ENTITY_SET_COUNT, QO_LEVELS }, { URI_ENTITY_SET_COUNT, QO_TOP },
-
- { URI_ENTITY, QO_FILTER }, { URI_ENTITY, QO_ID }, { URI_ENTITY, QO_COUNT }, /* { URI_ENTITY, QO_ORDERBY }, */
- /* { URI_ENTITY, QO_SEARCH }, */{ URI_ENTITY, QO_SKIP }, { URI_ENTITY, QO_SKIPTOKEN }, { URI_ENTITY, QO_TOP },
-
- { URI_MEDIA_STREAM, QO_FILTER }, { URI_MEDIA_STREAM, QO_ID }, { URI_MEDIA_STREAM, QO_EXPAND },
- { URI_MEDIA_STREAM, QO_COUNT }, { URI_MEDIA_STREAM, QO_ORDERBY }, /* { URI_MEDIA_STREAM, QO_SEARCH }, */
- { URI_MEDIA_STREAM, QO_SELECT }, { URI_MEDIA_STREAM, QO_SKIP }, { URI_MEDIA_STREAM, QO_SKIPTOKEN },
- { URI_MEDIA_STREAM, QO_LEVELS }, { URI_MEDIA_STREAM, QO_TOP },
-
- { URI_REFERENCES, QO_ID }, { URI_REFERENCES, QO_EXPAND }, { URI_REFERENCES, QO_COUNT },
- { URI_REFERENCES, QO_SELECT }, { URI_REFERENCES, QO_LEVELS },
-
- { URI_REFERENCE, QO_FILTER }, { URI_REFERENCE, QO_ID }, { URI_REFERENCE, QO_EXPAND },
- { URI_REFERENCE, QO_COUNT }, { URI_REFERENCE, QO_ORDERBY }, /* { URI_REFERENCE, QO_SEARCH }, */
- { URI_REFERENCE, QO_SELECT }, { URI_REFERENCE, QO_SKIP }, { URI_REFERENCE, QO_SKIPTOKEN },
- { URI_REFERENCE, QO_LEVELS }, { URI_REFERENCE, QO_TOP },
-
- { URI_PROPERTY_COMPLEX, QO_FILTER }, { URI_PROPERTY_COMPLEX, QO_ID }, { URI_PROPERTY_COMPLEX, QO_COUNT },
- { URI_PROPERTY_COMPLEX, QO_ORDERBY }, /* { URI_PROPERTY_COMPLEX, QO_SEARCH }, */
- { URI_PROPERTY_COMPLEX, QO_SKIP }, { URI_PROPERTY_COMPLEX, QO_SKIPTOKEN }, { URI_PROPERTY_COMPLEX, QO_TOP },
-
- { URI_PROPERTY_COMPLEX_COLLECTION, QO_ID },
- /* { URI_PROPERTY_COMPLEX_COLLECTION, QO_SEARCH }, */{ URI_PROPERTY_COMPLEX_COLLECTION, QO_SELECT },
-
- { URI_PROPERTY_COMPLEX_COLLECTION_COUNT, QO_FORMAT },
- { URI_PROPERTY_COMPLEX_COLLECTION_COUNT, QO_ID }, { URI_PROPERTY_COMPLEX_COLLECTION_COUNT, QO_EXPAND },
- { URI_PROPERTY_COMPLEX_COLLECTION_COUNT, QO_COUNT }, { URI_PROPERTY_COMPLEX_COLLECTION_COUNT, QO_ORDERBY },
- { URI_PROPERTY_COMPLEX_COLLECTION_COUNT, QO_SELECT },
- { URI_PROPERTY_COMPLEX_COLLECTION_COUNT, QO_SKIP }, { URI_PROPERTY_COMPLEX_COLLECTION_COUNT, QO_SKIPTOKEN },
- { URI_PROPERTY_COMPLEX_COLLECTION_COUNT, QO_LEVELS }, { URI_PROPERTY_COMPLEX_COLLECTION_COUNT, QO_TOP },
-
- { URI_PROPERTY_PRIMITIVE, QO_FILTER }, { URI_PROPERTY_PRIMITIVE, QO_ID }, { URI_PROPERTY_PRIMITIVE, QO_EXPAND },
- { URI_PROPERTY_PRIMITIVE, QO_COUNT }, { URI_PROPERTY_PRIMITIVE, QO_ORDERBY },
- /* { URI_PROPERTY_PRIMITIVE, QO_SEARCH }, */{ URI_PROPERTY_PRIMITIVE, QO_SELECT },
- { URI_PROPERTY_PRIMITIVE, QO_SKIP }, { URI_PROPERTY_PRIMITIVE, QO_SKIPTOKEN },
- { URI_PROPERTY_PRIMITIVE, QO_LEVELS }, { URI_PROPERTY_PRIMITIVE, QO_TOP },
-
- { URI_PROPERTY_PRIMITIVE_COLLECTION, QO_ID }, { URI_PROPERTY_PRIMITIVE_COLLECTION, QO_EXPAND },
- { URI_PROPERTY_PRIMITIVE_COLLECTION, QO_COUNT }, /* { URI_PROPERTY_PRIMITIVE_COLLECTION, QO_SEARCH }, */
- { URI_PROPERTY_PRIMITIVE_COLLECTION, QO_SELECT }, { URI_PROPERTY_PRIMITIVE_COLLECTION, QO_LEVELS },
-
- { URI_PROPERTY_PRIMITIVE_COLLECTION_COUNT, QO_FORMAT },
- { URI_PROPERTY_PRIMITIVE_COLLECTION_COUNT, QO_ID }, { URI_PROPERTY_PRIMITIVE_COLLECTION_COUNT, QO_EXPAND },
- { URI_PROPERTY_PRIMITIVE_COLLECTION_COUNT, QO_COUNT },
- { URI_PROPERTY_PRIMITIVE_COLLECTION_COUNT, QO_ORDERBY },
- { URI_PROPERTY_PRIMITIVE_COLLECTION_COUNT, QO_SELECT }, { URI_PROPERTY_PRIMITIVE_COLLECTION_COUNT, QO_SKIP },
- { URI_PROPERTY_PRIMITIVE_COLLECTION_COUNT, QO_SKIPTOKEN },
- { URI_PROPERTY_PRIMITIVE_COLLECTION_COUNT, QO_LEVELS }, { URI_PROPERTY_PRIMITIVE_COLLECTION_COUNT, QO_TOP },
-
- { URI_PROPERTY_PRIMITIVE_VALUE, QO_FILTER }, { URI_PROPERTY_PRIMITIVE_VALUE, QO_ID },
- { URI_PROPERTY_PRIMITIVE_VALUE, QO_EXPAND }, { URI_PROPERTY_PRIMITIVE_VALUE, QO_COUNT },
- { URI_PROPERTY_PRIMITIVE_VALUE, QO_ORDERBY },/* { URI_PROPERTY_PRIMITIVE_VALUE, QO_SEARCH }, */
- { URI_PROPERTY_PRIMITIVE_VALUE, QO_SELECT }, { URI_PROPERTY_PRIMITIVE_VALUE, QO_SKIP },
- { URI_PROPERTY_PRIMITIVE_VALUE, QO_SKIPTOKEN }, { URI_PROPERTY_PRIMITIVE_VALUE, QO_LEVELS },
- { URI_PROPERTY_PRIMITIVE_VALUE, QO_TOP },
-
- { URI_SINGLETON, QO_FILTER }, { URI_SINGLETON, QO_ID }, { URI_SINGLETON, QO_COUNT },
- { URI_SINGLETON, QO_ORDERBY }, /* { URI_SINGLETON, QO_SEARCH }, */{ URI_SINGLETON, QO_SKIP },
- { URI_SINGLETON, QO_SKIPTOKEN }, { URI_SINGLETON, QO_TOP },
-
- { URI_NAV_ENTITY, QO_FILTER }, { URI_NAV_ENTITY, QO_ID }, { URI_NAV_ENTITY, QO_COUNT },
- { URI_NAV_ENTITY, QO_ORDERBY }, /* { URI_NAV_ENTITY, QO_SEARCH }, */{ URI_NAV_ENTITY, QO_SKIP },
- { URI_NAV_ENTITY, QO_SKIPTOKEN }, { URI_SINGLETON, QO_TOP },
-
- { URI_NAV_ENTITY_SET, QO_ID }
- };
-
- private static final Edm edm = new EdmProviderImpl(new EdmTechProvider());
-
- @Test
- public void validateForHttpMethods() throws Exception {
- final UriInfo uri = new Parser().parseUri(URI_ENTITY, null, null, edm);
- final UriValidator validator = new UriValidator();
-
- validator.validate(uri, HttpMethod.GET);
- validator.validate(uri, HttpMethod.POST);
- validator.validate(uri, HttpMethod.PUT);
- validator.validate(uri, HttpMethod.DELETE);
- validator.validate(uri, HttpMethod.PATCH);
- }
-
- @Test
- public void validateSelect() throws Exception {
- new TestUriValidator().setEdm(edm).run(URI_ENTITY, "$select=PropertyString");
- }
-
- @Test
- public void validateOrderBy() throws Exception {
- final TestUriValidator testUri = new TestUriValidator().setEdm(edm);
-
- testUri.run(URI_ENTITY_SET, "$orderby=PropertyString");
-
- testUri.runEx(URI_ENTITY, "$orderby=XXXX")
- .isExSemantic(UriParserSemanticException.MessageKeys.EXPRESSION_PROPERTY_NOT_IN_TYPE);
- }
-
- @Test
- public void validateCountInvalid() throws Exception {
- new TestUriValidator().setEdm(edm).runEx(URI_ENTITY_SET, "$count=foo")
- .isExSyntax(UriParserSyntaxException.MessageKeys.WRONG_VALUE_FOR_SYSTEM_QUERY_OPTION);
- }
-
- @Test
- public void validateTopInvalid() throws Exception {
- new TestUriValidator().setEdm(edm).runEx(URI_ENTITY_SET, "$top=foo")
- .isExSyntax(UriParserSyntaxException.MessageKeys.WRONG_VALUE_FOR_SYSTEM_QUERY_OPTION);
- }
-
- @Test
- public void validateSkipInvalid() throws Exception {
- new TestUriValidator().setEdm(edm).runEx(URI_ENTITY_SET, "$skip=foo")
- .isExSyntax(UriParserSyntaxException.MessageKeys.WRONG_VALUE_FOR_SYSTEM_QUERY_OPTION);
- }
-
- @Test
- public void validateDoubleSystemOptions() throws Exception {
- new TestUriValidator().setEdm(edm).runEx(URI_ENTITY_SET, "$skip=1&$skip=2")
- .isExSyntax(UriParserSyntaxException.MessageKeys.DOUBLE_SYSTEM_QUERY_OPTION);
- }
-
- @Test
- public void checkKeys() throws Exception {
- final TestUriValidator testUri = new TestUriValidator().setEdm(edm);
-
- testUri.run("ESTwoKeyNav(PropertyInt16=1, PropertyString='abc')");
-
- testUri.runEx("ESTwoKeyNav(xxx=1, yyy='abc')")
- .isExValidation(UriValidationException.MessageKeys.INVALID_KEY_PROPERTY);
- testUri.runEx("ESCollAllPrim(null)").isExValidation(UriValidationException.MessageKeys.INVALID_KEY_PROPERTY);
- testUri.runEx("ESAllPrim(PropertyInt16='1')")
- .isExValidation(UriValidationException.MessageKeys.INVALID_KEY_PROPERTY);
- testUri.runEx("ESAllPrim(12345678901234567890)")
- .isExValidation(UriValidationException.MessageKeys.INVALID_KEY_PROPERTY);
- testUri.runEx("ESTwoKeyNav(PropertyInt16=1,PropertyString=1)")
- .isExValidation(UriValidationException.MessageKeys.INVALID_KEY_PROPERTY);
- testUri.runEx("ESTwoKeyNav(PropertyInt16=1,PropertyInt16=1)")
- .isExValidation(UriValidationException.MessageKeys.DOUBLE_KEY_PROPERTY);
- }
-
- @Test
- public void checkValidSystemQueryOption() throws Exception {
- for (final String[] uriArray : urisWithValidSystemQueryOptions) {
- final String[] uri = constructUri(uriArray);
- try {
- new UriValidator().validate(
- new Parser().parseUri(uri[0], uri[1], null, edm),
- HttpMethod.GET);
- } catch (final UriParserException e) {
- fail("Failed for uri: " + uri[0] + '?' + uri[1]);
- } catch (final UriValidationException e) {
- fail("Failed for uri: " + uri[0] + '?' + uri[1]);
- }
- }
- }
-
- @Test
- public void checkNonValidSystemQueryOption() throws Exception {
- for (final String[] uriArray : urisWithNonValidSystemQueryOptions) {
- final String[] uri = constructUri(uriArray);
- validateWrong(uri[0], uri[1], HttpMethod.GET,
- UriValidationException.MessageKeys.SYSTEM_QUERY_OPTION_NOT_ALLOWED);
- }
- }
-
- @Test
- public void propertyOperations() throws Exception {
- validateWrong(URI_PROPERTY_PRIMITIVE_COLLECTION, null, HttpMethod.PATCH,
- UriValidationException.MessageKeys.UNSUPPORTED_HTTP_METHOD);
- validateWrong(URI_PROPERTY_COMPLEX_COLLECTION, null, HttpMethod.PATCH,
- UriValidationException.MessageKeys.UNSUPPORTED_HTTP_METHOD);
- validateWrong("ESKeyNav(1)/PropertyString", null, HttpMethod.DELETE,
- UriValidationException.MessageKeys.UNSUPPORTED_HTTP_METHOD);
- validateWrong("ESKeyNav(1)/PropertyString/$value", null, HttpMethod.DELETE,
- UriValidationException.MessageKeys.UNSUPPORTED_HTTP_METHOD);
- }
-
- private String[] constructUri(final String[] uriParameterArray) {
- final String path = uriParameterArray[0];
- String query = "";
- for (int i = 1; i < uriParameterArray.length; i++) {
- if (i > 1) {
- query += '&';
- }
- query += uriParameterArray[i];
- }
- return new String[] { path, query };
- }
-
- private void validateWrong(final String path, final String query, final HttpMethod method,
- final UriValidationException.MessageKeys expectedMessageKey) {
- try {
- new UriValidator().validate(new Parser().parseUri(path, query, null, edm), method);
- fail("Validation Exception not thrown: " + method + ' ' + path + '?' + query);
- } catch (final UriParserException e) {
- fail("Wrong Exception thrown: " + method + ' ' + path + '?' + query);
- } catch (final UriValidationException e) {
- assertEquals(expectedMessageKey, e.getMessageKey());
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/lib/server-test/src/test/resources/ESAllPrim.json
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/resources/ESAllPrim.json b/lib/server-test/src/test/resources/ESAllPrim.json
deleted file mode 100644
index 75a6a22..0000000
--- a/lib/server-test/src/test/resources/ESAllPrim.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "@odata.context" : "$metadata#ESAllPrim",
- "value" : [{
- "PropertyInt16" : 32767,
- "PropertyString" : "First Resource - positive values",
- "PropertyBoolean" : true,
- "PropertyByte" : 255,
- "PropertySByte" : 127,
- "PropertyInt32" : 2147483647,
- "PropertyInt64" : 9223372036854775807,
- "PropertySingle" : 1.79000000E+20,
- "PropertyDouble" : -1.7900000000000000E+19,
- "PropertyDecimal" : 34,
- "PropertyBinary" : "ASNFZ4mrze8=",
- "PropertyDate" : "2012-12-03",
- "PropertyDateTimeOffset" : "2012-12-03T07:16:23Z",
- "PropertyDuration" : "P0DT0H0M6S",
- "PropertyGuid" : "01234567-89ab-cdef-0123-456789abcdef",
- "PropertyTimeOfDay" : "03:26:05"
- }, {
- "PropertyInt16" : -32768,
- "PropertyString" : "Second Resource - negative values",
- "PropertyBoolean" : false,
- "PropertyByte" : 0,
- "PropertySByte" : -128,
- "PropertyInt32" : -2147483648,
- "PropertyInt64" : -9223372036854775808,
- "PropertySingle" : -1.79000000E+08,
- "PropertyDouble" : -1.7900000000000000E+05,
- "PropertyDecimal" : -34,
- "PropertyBinary" : "ASNFZ4mrze8=",
- "PropertyDate" : "2015-11-05",
- "PropertyDateTimeOffset" : "2005-12-03T07:17:08Z",
- "PropertyDuration" : "P0DT0H0M9S",
- "PropertyGuid" : "76543201-23ab-cdef-0123-456789dddfff",
- "PropertyTimeOfDay" : "23:49:14"
- }, {
- "PropertyInt16" : 0,
- "PropertyString" : "",
- "PropertyBoolean" : false,
- "PropertyByte" : 0,
- "PropertySByte" : 0,
- "PropertyInt32" : 0,
- "PropertyInt64" : 0,
- "PropertySingle" : 0.00000000E+00,
- "PropertyDouble" : 0.0000000000000000E+00,
- "PropertyDecimal" : 0,
- "PropertyBinary" : "",
- "PropertyDate" : "1970-01-01",
- "PropertyDateTimeOffset" : "2005-12-03T00:00:00Z",
- "PropertyDuration" : "P0DT0H0M0S",
- "PropertyGuid" : "76543201-23ab-cdef-0123-456789cccddd",
- "PropertyTimeOfDay" : "00:01:01"
- }
- ]
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/lib/server-test/src/test/resources/ESAllPrimWithCustomAnnotations.json
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/resources/ESAllPrimWithCustomAnnotations.json b/lib/server-test/src/test/resources/ESAllPrimWithCustomAnnotations.json
deleted file mode 100644
index 915a3f0..0000000
--- a/lib/server-test/src/test/resources/ESAllPrimWithCustomAnnotations.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "@odata.context" : "$metadata#ESAllPrim",
- "@custom.annotation" : "customValue",
- "value" : [{
- "PropertyInt16" : 32767,
- "PropertyString" : "First Resource - positive values",
- "PropertyBoolean" : true,
- "PropertyByte" : 255,
- "PropertySByte" : 127,
- "PropertyInt32" : 2147483647,
- "PropertyInt64" : 9223372036854775807,
- "PropertySingle" : 1.79000000E+20,
- "PropertyDouble" : -1.7900000000000000E+19,
- "PropertyDecimal" : 34,
- "PropertyBinary" : "ASNFZ4mrze8=",
- "PropertyDate" : "2012-12-03",
- "PropertyDateTimeOffset" : "2012-12-03T07:16:23Z",
- "PropertyDuration" : "P0DT0H0M6S",
- "PropertyGuid" : "01234567-89ab-cdef-0123-456789abcdef",
- "PropertyTimeOfDay" : "03:26:05"
- }, {
- "PropertyInt16" : -32768,
- "PropertyString" : "Second Resource - negative values",
- "PropertyBoolean" : false,
- "PropertyByte" : 0,
- "PropertySByte" : -128,
- "PropertyInt32" : -2147483648,
- "PropertyInt64" : -9223372036854775808,
- "PropertySingle" : -1.79000000E+08,
- "PropertyDouble" : -1.7900000000000000E+05,
- "PropertyDecimal" : -34,
- "PropertyBinary" : "ASNFZ4mrze8=",
- "PropertyDate" : "2015-11-05",
- "PropertyDateTimeOffset" : "2005-12-03T07:17:08Z",
- "PropertyDuration" : "P0DT0H0M9S",
- "PropertyGuid" : "76543201-23ab-cdef-0123-456789dddfff",
- "PropertyTimeOfDay" : "23:49:14"
- }, {
- "PropertyInt16" : 0,
- "PropertyString" : "",
- "PropertyBoolean" : false,
- "PropertyByte" : 0,
- "PropertySByte" : 0,
- "PropertyInt32" : 0,
- "PropertyInt64" : 0,
- "PropertySingle" : 0.00000000E+00,
- "PropertyDouble" : 0.0000000000000000E+00,
- "PropertyDecimal" : 0,
- "PropertyBinary" : "",
- "PropertyDate" : "1970-01-01",
- "PropertyDateTimeOffset" : "2005-12-03T00:00:00Z",
- "PropertyDuration" : "P0DT0H0M0S",
- "PropertyGuid" : "76543201-23ab-cdef-0123-456789cccddd",
- "PropertyTimeOfDay" : "00:01:01"
- }
- ]
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/lib/server-test/src/test/resources/ESAllPrimWithDoubleKey.json
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/resources/ESAllPrimWithDoubleKey.json b/lib/server-test/src/test/resources/ESAllPrimWithDoubleKey.json
deleted file mode 100644
index 6c12ca1..0000000
--- a/lib/server-test/src/test/resources/ESAllPrimWithDoubleKey.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "@odata.context" : "$metadata#ESAllPrim",
- "value" : [],
- "value" : [{
- "PropertyInt16" : 32767,
- "PropertyString" : "First Resource - positive values",
- "PropertyBoolean" : true,
- "PropertyByte" : 255,
- "PropertySByte" : 127,
- "PropertyInt32" : 2147483647,
- "PropertyInt64" : 9223372036854775807,
- "PropertySingle" : 1.79000000E+20,
- "PropertyDouble" : -1.7900000000000000E+19,
- "PropertyDecimal" : 34,
- "PropertyBinary" : "ASNFZ4mrze8=",
- "PropertyDate" : "2012-12-03",
- "PropertyDateTimeOffset" : "2012-12-03T07:16:23Z",
- "PropertyDuration" : "P0DT0H0M6S",
- "PropertyGuid" : "01234567-89ab-cdef-0123-456789abcdef",
- "PropertyTimeOfDay" : "03:26:05"
- }, {
- "PropertyInt16" : -32768,
- "PropertyString" : "Second Resource - negative values",
- "PropertyBoolean" : false,
- "PropertyByte" : 0,
- "PropertySByte" : -128,
- "PropertyInt32" : -2147483648,
- "PropertyInt64" : -9223372036854775808,
- "PropertySingle" : -1.79000000E+08,
- "PropertyDouble" : -1.7900000000000000E+05,
- "PropertyDecimal" : -34,
- "PropertyBinary" : "ASNFZ4mrze8=",
- "PropertyDate" : "2015-11-05",
- "PropertyDateTimeOffset" : "2005-12-03T07:17:08Z",
- "PropertyDuration" : "P0DT0H0M9S",
- "PropertyGuid" : "76543201-23ab-cdef-0123-456789dddfff",
- "PropertyTimeOfDay" : "23:49:14"
- }, {
- "PropertyInt16" : 0,
- "PropertyString" : "",
- "PropertyBoolean" : false,
- "PropertyByte" : 0,
- "PropertySByte" : 0,
- "PropertyInt32" : 0,
- "PropertyInt64" : 0,
- "PropertySingle" : 0.00000000E+00,
- "PropertyDouble" : 0.0000000000000000E+00,
- "PropertyDecimal" : 0,
- "PropertyBinary" : "",
- "PropertyDate" : "1970-01-01",
- "PropertyDateTimeOffset" : "2005-12-03T00:00:00Z",
- "PropertyDuration" : "P0DT0H0M0S",
- "PropertyGuid" : "76543201-23ab-cdef-0123-456789cccddd",
- "PropertyTimeOfDay" : "00:01:01"
- }
- ]
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/lib/server-test/src/test/resources/ESAllPrimWithODataAnnotations.json
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/resources/ESAllPrimWithODataAnnotations.json b/lib/server-test/src/test/resources/ESAllPrimWithODataAnnotations.json
deleted file mode 100644
index ce3ae40..0000000
--- a/lib/server-test/src/test/resources/ESAllPrimWithODataAnnotations.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "@odata.context" : "$metadata#ESAllPrim",
- "@odata.count" : 3,
- "@odata.nextLink" : "http://localhost:8080/nextLink",
- "@odata.deltaLink" : "http://localhost:8080/deltaLink",
- "value" : [{
- "PropertyInt16" : 32767,
- "PropertyString" : "First Resource - positive values",
- "PropertyBoolean" : true,
- "PropertyByte" : 255,
- "PropertySByte" : 127,
- "PropertyInt32" : 2147483647,
- "PropertyInt64" : 9223372036854775807,
- "PropertySingle" : 1.79000000E+20,
- "PropertyDouble" : -1.7900000000000000E+19,
- "PropertyDecimal" : 34,
- "PropertyBinary" : "ASNFZ4mrze8=",
- "PropertyDate" : "2012-12-03",
- "PropertyDateTimeOffset" : "2012-12-03T07:16:23Z",
- "PropertyDuration" : "P0DT0H0M6S",
- "PropertyGuid" : "01234567-89ab-cdef-0123-456789abcdef",
- "PropertyTimeOfDay" : "03:26:05"
- }, {
- "PropertyInt16" : -32768,
- "PropertyString" : "Second Resource - negative values",
- "PropertyBoolean" : false,
- "PropertyByte" : 0,
- "PropertySByte" : -128,
- "PropertyInt32" : -2147483648,
- "PropertyInt64" : -9223372036854775808,
- "PropertySingle" : -1.79000000E+08,
- "PropertyDouble" : -1.7900000000000000E+05,
- "PropertyDecimal" : -34,
- "PropertyBinary" : "ASNFZ4mrze8=",
- "PropertyDate" : "2015-11-05",
- "PropertyDateTimeOffset" : "2005-12-03T07:17:08Z",
- "PropertyDuration" : "P0DT0H0M9S",
- "PropertyGuid" : "76543201-23ab-cdef-0123-456789dddfff",
- "PropertyTimeOfDay" : "23:49:14"
- }, {
- "PropertyInt16" : 0,
- "PropertyString" : "",
- "PropertyBoolean" : false,
- "PropertyByte" : 0,
- "PropertySByte" : 0,
- "PropertyInt32" : 0,
- "PropertyInt64" : 0,
- "PropertySingle" : 0.00000000E+00,
- "PropertyDouble" : 0.0000000000000000E+00,
- "PropertyDecimal" : 0,
- "PropertyBinary" : "",
- "PropertyDate" : "1970-01-01",
- "PropertyDateTimeOffset" : "2005-12-03T00:00:00Z",
- "PropertyDuration" : "P0DT0H0M0S",
- "PropertyGuid" : "76543201-23ab-cdef-0123-456789cccddd",
- "PropertyTimeOfDay" : "00:01:01"
- }
- ]
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/lib/server-test/src/test/resources/ESCompCollComp.json
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/resources/ESCompCollComp.json b/lib/server-test/src/test/resources/ESCompCollComp.json
deleted file mode 100644
index fa02338..0000000
--- a/lib/server-test/src/test/resources/ESCompCollComp.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "@odata.context" : "$metadata#ESCompCollComp",
- "value" : [{
- "PropertyInt16" : 32767,
- "PropertyComp" : {
- "CollPropertyComp" : [{
- "PropertyInt16" : 555,
- "PropertyString" : "1 Test Complex in Complex Property"
- }, {
- "PropertyInt16" : 666,
- "PropertyString" : "2 Test Complex in Complex property"
- }, {
- "PropertyInt16" : 777,
- "PropertyString" : "3 Test Complex in Complex property"
- }
- ]
- }
- }, {
- "PropertyInt16" : 12345,
- "PropertyComp" : {
- "CollPropertyComp" : [{
- "PropertyInt16" : 888,
- "PropertyString" : "11 Test Complex in Complex property"
- }, {
- "PropertyInt16" : 999,
- "PropertyString" : "12 Test Complex in Complex property"
- }, {
- "PropertyInt16" : 0,
- "PropertyString" : "13 Test Complex in Complex property"
- }
- ]
- }
- }
- ]
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimMany.json
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimMany.json b/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimMany.json
deleted file mode 100644
index b15788f..0000000
--- a/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimMany.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "@odata.context" : "$metadata#ESAllPrim/$entity",
- "PropertyInt16" : 32767,
- "PropertyString" : "First Resource - positive values",
- "PropertyBoolean" : true,
- "PropertyByte" : 255,
- "PropertySByte" : 127,
- "PropertyInt32" : 2147483647,
- "PropertyInt64" : 9223372036854775807,
- "PropertySingle" : 1.79000000E+20,
- "PropertyDouble" : -1.7900000000000000E+19,
- "PropertyDecimal" : 34,
- "PropertyBinary" : "ASNFZ4mrze8=",
- "PropertyDate" : "2012-12-03",
- "PropertyDateTimeOffset" : "2012-12-03T07:16:23Z",
- "PropertyDuration" : "P0DT0H0M6S",
- "PropertyGuid" : "01234567-89ab-cdef-0123-456789abcdef",
- "PropertyTimeOfDay" : "03:26:05",
- "NavPropertyETTwoPrimMany" : [{
- "PropertyInt16" : -365,
- "PropertyString" : "Test String2"
- }
- ]
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimManyWithCustomAnnotations.json
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimManyWithCustomAnnotations.json b/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimManyWithCustomAnnotations.json
deleted file mode 100644
index edcc3ad..0000000
--- a/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimManyWithCustomAnnotations.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "@odata.context" : "$metadata#ESAllPrim/$entity",
- "PropertyInt16" : 32767,
- "PropertyString" : "First Resource - positive values",
- "PropertyBoolean" : true,
- "PropertyByte" : 255,
- "PropertySByte" : 127,
- "PropertyInt32" : 2147483647,
- "PropertyInt64" : 9223372036854775807,
- "PropertySingle" : 1.79000000E+20,
- "PropertyDouble" : -1.7900000000000000E+19,
- "PropertyDecimal" : 34,
- "PropertyBinary" : "ASNFZ4mrze8=",
- "PropertyDate" : "2012-12-03",
- "PropertyDateTimeOffset" : "2012-12-03T07:16:23Z",
- "PropertyDuration" : "P0DT0H0M6S",
- "PropertyGuid" : "01234567-89ab-cdef-0123-456789abcdef",
- "PropertyTimeOfDay" : "03:26:05",
- "NavPropertyETTwoPrimMany@custom.annotation" : "customValue",
- "NavPropertyETTwoPrimMany" : [{
- "PropertyInt16" : -365,
- "PropertyString" : "Test String2"
- }
- ]
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimManyWithODataAnnotations.json
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimManyWithODataAnnotations.json b/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimManyWithODataAnnotations.json
deleted file mode 100644
index 4cbf650..0000000
--- a/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimManyWithODataAnnotations.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "@odata.context" : "$metadata#ESAllPrim/$entity",
- "PropertyInt16" : 32767,
- "PropertyString" : "First Resource - positive values",
- "PropertyBoolean" : true,
- "PropertyByte" : 255,
- "PropertySByte" : 127,
- "PropertyInt32" : 2147483647,
- "PropertyInt64" : 9223372036854775807,
- "PropertySingle" : 1.79000000E+20,
- "PropertyDouble" : -1.7900000000000000E+19,
- "PropertyDecimal" : 34,
- "PropertyBinary" : "ASNFZ4mrze8=",
- "PropertyDate" : "2012-12-03",
- "PropertyDateTimeOffset" : "2012-12-03T07:16:23Z",
- "PropertyDuration" : "P0DT0H0M6S",
- "PropertyGuid" : "01234567-89ab-cdef-0123-456789abcdef",
- "PropertyTimeOfDay" : "03:26:05",
- "NavPropertyETTwoPrimMany@odata.context" : "http://localhost:8080/context",
- "NavPropertyETTwoPrimMany@odata.count" : 12,
- "NavPropertyETTwoPrimMany@odata.nextLink" : "http://localhost:8080/nextLink",
- "NavPropertyETTwoPrimMany" : [{
- "PropertyInt16" : -365,
- "PropertyString" : "Test String2"
- }
- ]
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimOne.json
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimOne.json b/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimOne.json
deleted file mode 100644
index a68a554..0000000
--- a/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimOne.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "@odata.context" : "$metadata#ESAllPrim/$entity",
- "PropertyInt16" : 32767,
- "PropertyString" : "First Resource - positive values",
- "PropertyBoolean" : true,
- "PropertyByte" : 255,
- "PropertySByte" : 127,
- "PropertyInt32" : 2147483647,
- "PropertyInt64" : 9223372036854775807,
- "PropertySingle" : 1.79000000E+20,
- "PropertyDouble" : -1.7900000000000000E+19,
- "PropertyDecimal" : 34,
- "PropertyBinary" : "ASNFZ4mrze8=",
- "PropertyDate" : "2012-12-03",
- "PropertyDateTimeOffset" : "2012-12-03T07:16:23Z",
- "PropertyDuration" : "P0DT0H0M6S",
- "PropertyGuid" : "01234567-89ab-cdef-0123-456789abcdef",
- "PropertyTimeOfDay" : "03:26:05",
- "NavPropertyETTwoPrimOne" : {
- "PropertyInt16" : 32767,
- "PropertyString" : "Test String4"
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimOneWithCustomAnnotations.json
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimOneWithCustomAnnotations.json b/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimOneWithCustomAnnotations.json
deleted file mode 100644
index 85c55e7..0000000
--- a/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimOneWithCustomAnnotations.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "@odata.context" : "$metadata#ESAllPrim/$entity",
- "PropertyInt16" : 32767,
- "PropertyString" : "First Resource - positive values",
- "PropertyBoolean" : true,
- "PropertyByte" : 255,
- "PropertySByte" : 127,
- "PropertyInt32" : 2147483647,
- "PropertyInt64" : 9223372036854775807,
- "PropertySingle" : 1.79000000E+20,
- "PropertyDouble" : -1.7900000000000000E+19,
- "PropertyDecimal" : 34,
- "PropertyBinary" : "ASNFZ4mrze8=",
- "PropertyDate" : "2012-12-03",
- "PropertyDateTimeOffset" : "2012-12-03T07:16:23Z",
- "PropertyDuration" : "P0DT0H0M6S",
- "PropertyGuid" : "01234567-89ab-cdef-0123-456789abcdef",
- "PropertyTimeOfDay" : "03:26:05",
- "NavPropertyETTwoPrimOne@custom.annotation" : "customValue",
- "NavPropertyETTwoPrimOne" : {
- "PropertyInt16" : 32767,
- "PropertyString" : "Test String4"
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimOneWithODataAnnotations.json
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimOneWithODataAnnotations.json b/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimOneWithODataAnnotations.json
deleted file mode 100644
index e778f58..0000000
--- a/lib/server-test/src/test/resources/EntityESAllPrimExpandedNavPropertyETTwoPrimOneWithODataAnnotations.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "@odata.context" : "$metadata#ESAllPrim/$entity",
- "PropertyInt16" : 32767,
- "PropertyString" : "First Resource - positive values",
- "PropertyBoolean" : true,
- "PropertyByte" : 255,
- "PropertySByte" : 127,
- "PropertyInt32" : 2147483647,
- "PropertyInt64" : 9223372036854775807,
- "PropertySingle" : 1.79000000E+20,
- "PropertyDouble" : -1.7900000000000000E+19,
- "PropertyDecimal" : 34,
- "PropertyBinary" : "ASNFZ4mrze8=",
- "PropertyDate" : "2012-12-03",
- "PropertyDateTimeOffset" : "2012-12-03T07:16:23Z",
- "PropertyDuration" : "P0DT0H0M6S",
- "PropertyGuid" : "01234567-89ab-cdef-0123-456789abcdef",
- "PropertyTimeOfDay" : "03:26:05",
- "NavPropertyETTwoPrimOne@odata.context" : "http://localhost:8080/context",
- "NavPropertyETTwoPrimOne@odata.count" : 12,
- "NavPropertyETTwoPrimOne@odata.nextLink" : "http://localhost:8080/nextLink",
- "NavPropertyETTwoPrimOne" : {
- "PropertyInt16" : 32767,
- "PropertyString" : "Test String4"
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/lib/server-test/src/test/resources/EntityETMixEnumDefCollComp.json
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/resources/EntityETMixEnumDefCollComp.json b/lib/server-test/src/test/resources/EntityETMixEnumDefCollComp.json
deleted file mode 100644
index c56a809..0000000
--- a/lib/server-test/src/test/resources/EntityETMixEnumDefCollComp.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "PropertyEnumString" : 2,
- "PropertyDefString" : "string",
- "CollPropertyEnumString" : [1, 2],
- "CollPropertyDefString" : ["string1", "string2"],
- "PropertyCompMixedEnumDef" : {
- "PropertyEnumString" : 2,
- "PropertyDefString" : "string",
- "CollPropertyEnumString" : [1, 2],
- "CollPropertyDefString" : ["string1", "string2"]
- },
- "CollPropertyCompMixedEnumDef" : [{
- "PropertyEnumString" : 2,
- "PropertyDefString" : "string",
- "CollPropertyEnumString" : [1, 2],
- "CollPropertyDefString" : ["string1", "string2"]
- }, {
- "PropertyEnumString" : 2,
- "PropertyDefString" : "string",
- "CollPropertyEnumString" : [1, 2],
- "CollPropertyDefString" : ["string1", "string2"]
- }
- ]
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/lib/server-test/src/test/resources/simplelogger.properties
----------------------------------------------------------------------
diff --git a/lib/server-test/src/test/resources/simplelogger.properties b/lib/server-test/src/test/resources/simplelogger.properties
deleted file mode 100644
index 2a3350c..0000000
--- a/lib/server-test/src/test/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/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 2cc979d..4cbfda1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
<groupId>org.apache.olingo</groupId>
<artifactId>odata-parent</artifactId>
- <version>4.0.0-beta-02</version>
+ <version>3.0.0-beta-01-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Olingo-OData</name>
@@ -35,7 +35,7 @@
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
- <version>14</version>
+ <version>16</version>
</parent>
<licenses>
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/samples/client/pom.xml
----------------------------------------------------------------------
diff --git a/samples/client/pom.xml b/samples/client/pom.xml
index bec3b14..aabde1d 100644
--- a/samples/client/pom.xml
+++ b/samples/client/pom.xml
@@ -31,7 +31,7 @@
<parent>
<groupId>org.apache.olingo</groupId>
<artifactId>odata-samples</artifactId>
- <version>4.0.0-beta-02</version>
+ <version>3.0.0-beta-01-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/samples/pom.xml
----------------------------------------------------------------------
diff --git a/samples/pom.xml b/samples/pom.xml
index fa90c00..8d801e6 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -31,11 +31,7 @@
<parent>
<groupId>org.apache.olingo</groupId>
<artifactId>odata-parent</artifactId>
- <version>4.0.0-beta-02</version>
+ <version>3.0.0-beta-01-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
-
- <modules>
- <module>server</module>
- </modules>
</project>
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/samples/server/pom.xml
----------------------------------------------------------------------
diff --git a/samples/server/pom.xml b/samples/server/pom.xml
deleted file mode 100644
index b15c7f1..0000000
--- a/samples/server/pom.xml
+++ /dev/null
@@ -1,76 +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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>odata-server-sample</artifactId>
- <packaging>war</packaging>
- <name>${project.artifactId}</name>
-
- <parent>
- <groupId>org.apache.olingo</groupId>
- <artifactId>odata-samples</artifactId>
- <version>4.0.0-beta-02</version>
- <relativePath>..</relativePath>
- </parent>
-
- <dependencies>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.olingo</groupId>
- <artifactId>odata-server-api</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.olingo</groupId>
- <artifactId>odata-server-core</artifactId>
- <version>${project.version}</version>
- <scope>runtime</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.olingo</groupId>
- <artifactId>odata-commons-api</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.olingo</groupId>
- <artifactId>odata-commons-core</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- <version>1.7.7</version>
- <scope>runtime</scope>
- </dependency>
- </dependencies>
-
-</project>
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/samples/server/src/main/java/org/apache/olingo/server/sample/CarsServlet.java
----------------------------------------------------------------------
diff --git a/samples/server/src/main/java/org/apache/olingo/server/sample/CarsServlet.java b/samples/server/src/main/java/org/apache/olingo/server/sample/CarsServlet.java
deleted file mode 100644
index f6a17dc..0000000
--- a/samples/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<EdmxReference>());
- 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);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/samples/server/src/main/java/org/apache/olingo/server/sample/data/DataProvider.java
----------------------------------------------------------------------
diff --git a/samples/server/src/main/java/org/apache/olingo/server/sample/data/DataProvider.java b/samples/server/src/main/java/org/apache/olingo/server/sample/data/DataProvider.java
deleted file mode 100644
index d59d251..0000000
--- a/samples/server/src/main/java/org/apache/olingo/server/sample/data/DataProvider.java
+++ /dev/null
@@ -1,167 +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.ArrayList;
-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.EntitySet;
-import org.apache.olingo.commons.api.data.Property;
-import org.apache.olingo.commons.api.data.ValueType;
-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.commons.core.data.EntityImpl;
-import org.apache.olingo.commons.core.data.EntitySetImpl;
-import org.apache.olingo.commons.core.data.PropertyImpl;
-import org.apache.olingo.server.api.uri.UriParameter;
-
-public class DataProvider {
-
- private Map<String, EntitySet> data;
-
- public DataProvider() {
- data = new HashMap<String, EntitySet>();
- data.put("Cars", createCars());
- data.put("Manufacturers", createManufacturers());
- }
-
- public EntitySet readAll(EdmEntitySet edmEntitySet) {
- return data.get(edmEntitySet.getName());
- }
-
- public Entity read(final EdmEntitySet edmEntitySet, final List<UriParameter> keys) throws DataProviderException {
- final EdmEntityType entityType = edmEntitySet.getEntityType();
- final EntitySet 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 EntitySet createCars() {
- EntitySet entitySet = new EntitySetImpl();
-
- entitySet.getEntities().add(new EntityImpl()
- .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 EntityImpl()
- .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 EntityImpl()
- .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 EntityImpl()
- .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 EntityImpl()
- .addProperty(createPrimitive("Id", 5))
- .addProperty(createPrimitive("Model", "F1 W02"))
- .addProperty(createPrimitive("ModelYear", "2011"))
- .addProperty(createPrimitive("Price", 167189.00))
- .addProperty(createPrimitive("Currency", "EUR")));
-
- return entitySet;
- }
-
- private EntitySet createManufacturers() {
- EntitySet entitySet = new EntitySetImpl();
-
- entitySet.getEntities().add(new EntityImpl()
- .addProperty(createPrimitive("Id", 1))
- .addProperty(createPrimitive("Name", "Star Powered Racing"))
- .addProperty(createAddress("Star Street 137", "Stuttgart", "70173", "Germany")));
-
- entitySet.getEntities().add(new EntityImpl()
- .addProperty(createPrimitive("Id", 2))
- .addProperty(createPrimitive("Name", "Horse Powered Racing"))
- .addProperty(createAddress("Horse Street 1", "Maranello", "41053", "Italy")));
-
- return entitySet;
- }
-
- private Property createAddress(final String street, final String city, final String zipCode, final String country) {
- List<Property> addressProperties = new ArrayList<Property>();
- addressProperties.add(createPrimitive("Street", street));
- addressProperties.add(createPrimitive("City", city));
- addressProperties.add(createPrimitive("ZipCode", zipCode));
- addressProperties.add(createPrimitive("Country", country));
- return new PropertyImpl(null, "Address", ValueType.COMPLEX, addressProperties);
- }
-
- private Property createPrimitive(final String name, final Object value) {
- return new PropertyImpl(null, name, ValueType.PRIMITIVE, value);
- }
-}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/f7a7b484/samples/server/src/main/java/org/apache/olingo/server/sample/edmprovider/CarsEdmProvider.java
----------------------------------------------------------------------
diff --git a/samples/server/src/main/java/org/apache/olingo/server/sample/edmprovider/CarsEdmProvider.java b/samples/server/src/main/java/org/apache/olingo/server/sample/edmprovider/CarsEdmProvider.java
deleted file mode 100644
index 8f1b248..0000000
--- a/samples/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.Target;
-import org.apache.olingo.server.api.edm.provider.ComplexType;
-import org.apache.olingo.server.api.edm.provider.EdmProvider;
-import org.apache.olingo.server.api.edm.provider.EntityContainer;
-import org.apache.olingo.server.api.edm.provider.EntityContainerInfo;
-import org.apache.olingo.server.api.edm.provider.EntitySet;
-import org.apache.olingo.server.api.edm.provider.EntityType;
-import org.apache.olingo.server.api.edm.provider.NavigationProperty;
-import org.apache.olingo.server.api.edm.provider.NavigationPropertyBinding;
-import org.apache.olingo.server.api.edm.provider.Property;
-import org.apache.olingo.server.api.edm.provider.PropertyRef;
-import org.apache.olingo.server.api.edm.provider.Schema;
-
-public class CarsEdmProvider extends EdmProvider {
-
- // 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 EntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException {
- if (ET_CAR.equals(entityTypeName)) {
- return new EntityType()
- .setName(ET_CAR.getName())
- .setKey(Arrays.asList(
- new PropertyRef().setPropertyName("Id")))
- .setProperties(
- Arrays.asList(
- new Property().setName("Id").setType(EdmPrimitiveTypeKind.Int16.getFullQualifiedName()),
- new Property().setName("Model").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()),
- new Property().setName("ModelYear").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName())
- .setMaxLength(4),
- new Property().setName("Price").setType(EdmPrimitiveTypeKind.Decimal.getFullQualifiedName())
- .setScale(2),
- new Property().setName("Currency").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName())
- .setMaxLength(3)
- )
- ).setNavigationProperties(Arrays.asList(
- new NavigationProperty().setName("Manufacturer").setType(ET_MANUFACTURER)
- )
- );
-
- } else if (ET_MANUFACTURER.equals(entityTypeName)) {
- return new EntityType()
- .setName(ET_MANUFACTURER.getName())
- .setKey(Arrays.asList(
- new PropertyRef().setPropertyName("Id")))
- .setProperties(Arrays.asList(
- new Property().setName("Id").setType(EdmPrimitiveTypeKind.Int16.getFullQualifiedName()),
- new Property().setName("Name").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()),
- new Property().setName("Address").setType(CT_ADDRESS))
- ).setNavigationProperties(Arrays.asList(
- new NavigationProperty().setName("Cars").setType(ET_CAR).setCollection(true)
- )
- );
- }
-
- return null;
- }
-
- public ComplexType getComplexType(final FullQualifiedName complexTypeName) throws ODataException {
- if (CT_ADDRESS.equals(complexTypeName)) {
- return new ComplexType().setName(CT_ADDRESS.getName()).setProperties(Arrays.asList(
- new Property().setName("Street").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()),
- new Property().setName("City").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()),
- new Property().setName("ZipCode").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()),
- new Property().setName("Country").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName())
- ));
- }
- return null;
- }
-
- @Override
- public EntitySet getEntitySet(final FullQualifiedName entityContainer, final String entitySetName)
- throws ODataException {
- if (CONTAINER_FQN.equals(entityContainer)) {
- if (ES_CARS_NAME.equals(entitySetName)) {
- return new EntitySet()
- .setName(ES_CARS_NAME)
- .setType(ET_CAR)
- .setNavigationPropertyBindings(
- Arrays.asList(
- new NavigationPropertyBinding().setPath("Manufacturer").setTarget(
- new Target().setTargetName(ES_MANUFACTURER_NAME).setEntityContainer(CONTAINER_FQN))));
- } else if (ES_MANUFACTURER_NAME.equals(entitySetName)) {
- return new EntitySet()
- .setName(ES_MANUFACTURER_NAME)
- .setType(ET_MANUFACTURER).setNavigationPropertyBindings(
- Arrays.asList(
- new NavigationPropertyBinding().setPath("Cars").setTarget(
- new Target().setTargetName(ES_CARS_NAME).setEntityContainer(CONTAINER_FQN))));
- }
- }
-
- return null;
- }
-
- @Override
- public List<Schema> getSchemas() throws ODataException {
- List<Schema> schemas = new ArrayList<Schema>();
- Schema schema = new Schema();
- schema.setNamespace(NAMESPACE);
- // EntityTypes
- List<EntityType> entityTypes = new ArrayList<EntityType>();
- entityTypes.add(getEntityType(ET_CAR));
- entityTypes.add(getEntityType(ET_MANUFACTURER));
- schema.setEntityTypes(entityTypes);
-
- // ComplexTypes
- List<ComplexType> complexTypes = new ArrayList<ComplexType>();
- complexTypes.add(getComplexType(CT_ADDRESS));
- schema.setComplexTypes(complexTypes);
-
- // EntityContainer
- schema.setEntityContainer(getEntityContainer());
- schemas.add(schema);
-
- return schemas;
- }
-
- @Override
- public EntityContainer getEntityContainer() throws ODataException {
- EntityContainer container = new EntityContainer();
- container.setName(CONTAINER_FQN.getName());
-
- // EntitySets
- List<EntitySet> entitySets = new ArrayList<EntitySet>();
- container.setEntitySets(entitySets);
- entitySets.add(getEntitySet(CONTAINER_FQN, ES_CARS_NAME));
- entitySets.add(getEntitySet(CONTAINER_FQN, ES_MANUFACTURER_NAME));
-
- return container;
- }
-
- @Override
- public EntityContainerInfo getEntityContainerInfo(final FullQualifiedName entityContainerName) throws ODataException {
- if (entityContainerName == null || CONTAINER_FQN.equals(entityContainerName)) {
- return new EntityContainerInfo().setContainerName(CONTAINER_FQN);
- }
- return null;
- }
-}