You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by sk...@apache.org on 2014/03/10 10:02:21 UTC
[05/51] [abbrv] [partial] [OLINGO-192] rename java packages
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/MethodCall.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/MethodCall.java b/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/MethodCall.java
deleted file mode 100644
index 8b072ba..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/MethodCall.java
+++ /dev/null
@@ -1,29 +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.odata4.server.api.uri.queryoption.expression;
-
-import java.util.List;
-
-public interface MethodCall extends Expression {
-
- public MethodCallKind getMethod();
-
- public List<Expression> getParameters();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/MethodCallKind.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/MethodCallKind.java b/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/MethodCallKind.java
deleted file mode 100644
index ae2b637..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/MethodCallKind.java
+++ /dev/null
@@ -1,58 +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.odata4.server.api.uri.queryoption.expression;
-
-public enum MethodCallKind {
- CONTAINS("contains"), STARTSWITH("startswith"), ENDSWITH("endswith"), LENGTH("length"),
- INDEXOF("indexof"), SUBSTRING("substring"), TOLOWER("tolower"), TOUPPER("toupper"), TRIM("trim"),
- CONCAT("concat"),
-
- YEAR("year"), MONTH("month"), DAY("day"), HOUR("hour"), MINUTE("minute"), SECOND("second"),
- FRACTIONALSECONDS("fractionalseconds"), TOTALSECONDS("totalseconds"), DATE("date"), TIME("time"),
- TOTALOFFSETMINUTES("totaloffsetminutes"), MINDATETIME("mindatetime"), MAXDATETIME("maxdatetime"), NOW("now"),
-
- ROUND("round"), FLOOR("floor"),
-
- CEILING("ceiling"), GEODISTANCE("geo.distance"), GEOLENGTH("geo.length"), GEOINTERSECTS("geo.intersects"),
- CAST("cast"),
- ISOF("isof");
-
- private String syntax;
-
- private MethodCallKind(final String syntax) {
- this.syntax = syntax;
- }
-
- @Override
- public String toString() {
- return syntax;
- }
-
-
- public static MethodCallKind get(final String method) {
- for (MethodCallKind op : MethodCallKind.values()) {
-
- if (op.toString().equals(method)) {
- return op;
- }
- }
- return null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/TypeLiteral.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/TypeLiteral.java b/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/TypeLiteral.java
deleted file mode 100644
index 8114198..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/TypeLiteral.java
+++ /dev/null
@@ -1,27 +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.odata4.server.api.uri.queryoption.expression;
-
-import org.apache.olingo.odata4.commons.api.edm.EdmType;
-
-public interface TypeLiteral extends Expression {
-
- public EdmType getType();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/UnaryOperator.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/UnaryOperator.java b/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/UnaryOperator.java
deleted file mode 100644
index cf409b2..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/UnaryOperator.java
+++ /dev/null
@@ -1,27 +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.odata4.server.api.uri.queryoption.expression;
-
-public interface UnaryOperator extends Expression {
-
- public Expression getOperand();
-
- public UnaryOperatorKind getOperator();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/UnaryOperatorKind.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/UnaryOperatorKind.java b/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/UnaryOperatorKind.java
deleted file mode 100644
index 181fd59..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/UnaryOperatorKind.java
+++ /dev/null
@@ -1,44 +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.odata4.server.api.uri.queryoption.expression;
-
-public enum UnaryOperatorKind {
- MINUS("-"), NOT("not");
-
- private String syntax;
-
- private UnaryOperatorKind(final String syntax) {
- this.syntax = syntax;
- }
-
- @Override
- public String toString() {
- return syntax;
- }
-
- public static UnaryOperatorKind get(final String operator) {
- for (UnaryOperatorKind op : UnaryOperatorKind.values()) {
- if (op.toString().equals(operator)) {
- return op;
- }
- }
- return null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/VisitableExression.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/VisitableExression.java b/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/VisitableExression.java
deleted file mode 100644
index b8a04f8..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/expression/VisitableExression.java
+++ /dev/null
@@ -1,47 +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.odata4.server.api.uri.queryoption.expression;
-
-import org.apache.olingo.odata4.commons.api.ODataApplicationException;
-
-public interface VisitableExression {
-
- /**
- * Method {@link #accept(ExpressionVisitor)} is called when traversing the expression tree. This method is invoked on
- * each expression used as node in an expression tree. The implementations should
- * behave as follows:
- * <li>Call accept on all sub nodes and store the returned Objects which are of the generic type T
- * <li>Call the appropriate method on the {@link ExpressionVisitor} instance and provide the stored return objects
- * to that instance
- * <li>Return the object which should be passed to the processing algorithm of the parent expression node
- * <br>
- * <br>
- * @param visitor
- * Object (implementing {@link ExpressionVisitor}) whose methods are called during traversing a
- * expression node of the expression tree.
- * @return
- * Object of type T which should be passed to the processing algorithm of the parent expression node
- * @throws ExpressionVisitException
- * Exception occurred the OData library while traversing the tree
- * @throws ODataApplicationException
- * Exception thrown by the application who implemented the visitor
- */
- <T> T accept(ExpressionVisitor<T> visitor) throws ExpressionVisitException, ODataApplicationException;
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchBinary.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchBinary.java b/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchBinary.java
deleted file mode 100644
index f702eff..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchBinary.java
+++ /dev/null
@@ -1,29 +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.odata4.server.api.uri.queryoption.search;
-
-public interface SearchBinary extends SearchExpression {
-
- SearchBinaryOperatorKind getOperator();
-
- SearchExpression getLeftOperand();
-
- SearchExpression getRightOperand();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchBinaryOperatorKind.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchBinaryOperatorKind.java b/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchBinaryOperatorKind.java
deleted file mode 100644
index 1ce795c..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchBinaryOperatorKind.java
+++ /dev/null
@@ -1,45 +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.odata4.server.api.uri.queryoption.search;
-
-public enum SearchBinaryOperatorKind {
- // and/or
- AND("and"), OR("or");
-
- private String syntax;
-
- private SearchBinaryOperatorKind(final String syntax) {
- this.syntax = syntax;
- }
-
- @Override
- public String toString() {
- return syntax;
- }
-
- public static SearchBinaryOperatorKind get(final String operator) {
- for (SearchBinaryOperatorKind op : SearchBinaryOperatorKind.values()) {
- if (op.toString().equals(operator)) {
- return op;
- }
- }
- return null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchExpression.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchExpression.java b/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchExpression.java
deleted file mode 100644
index 1f14154..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchExpression.java
+++ /dev/null
@@ -1,23 +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.odata4.server.api.uri.queryoption.search;
-
-public interface SearchExpression {
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchTerm.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchTerm.java b/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchTerm.java
deleted file mode 100644
index 1c0939a..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchTerm.java
+++ /dev/null
@@ -1,25 +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.odata4.server.api.uri.queryoption.search;
-
-public interface SearchTerm extends SearchExpression {
-
- String getSearchTerm();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchUnary.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchUnary.java b/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchUnary.java
deleted file mode 100644
index 63757d6..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchUnary.java
+++ /dev/null
@@ -1,25 +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.odata4.server.api.uri.queryoption.search;
-
-public interface SearchUnary {
-
- SearchExpression getOperand();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchUnaryOperatorKind.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchUnaryOperatorKind.java b/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchUnaryOperatorKind.java
deleted file mode 100644
index 4f3efff..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/odata4/server/api/uri/queryoption/search/SearchUnaryOperatorKind.java
+++ /dev/null
@@ -1,43 +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.odata4.server.api.uri.queryoption.search;
-
-public enum SearchUnaryOperatorKind {
- NOT("not");
-
- private String syntax;
-
- private SearchUnaryOperatorKind(final String syntax) {
- this.syntax = syntax;
- }
-
- @Override
- public String toString() {
- return syntax;
- }
-
- public static SearchUnaryOperatorKind get(final String operator) {
- for (SearchUnaryOperatorKind op : SearchUnaryOperatorKind.values()) {
- if (op.toString().equals(operator)) {
- return op;
- }
- }
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Action.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Action.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Action.java
new file mode 100644
index 0000000..e040a70
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Action.java
@@ -0,0 +1,54 @@
+/*
+ * 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.api.edm.provider;
+
+import java.util.List;
+
+public class Action extends Operation {
+
+ @Override
+ public Action setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ @Override
+ public Action setBound(final boolean isBound) {
+ this.isBound = isBound;
+ return this;
+ }
+
+ @Override
+ public Action setEntitySetPath(final EntitySetPath entitySetPath) {
+ this.entitySetPath = entitySetPath;
+ return this;
+ }
+
+ @Override
+ public Action setParameters(final List<Parameter> parameters) {
+ this.parameters = parameters;
+ return this;
+ }
+
+ @Override
+ public Action setReturnType(final ReturnType returnType) {
+ this.returnType = returnType;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/ActionImport.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/ActionImport.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/ActionImport.java
new file mode 100644
index 0000000..c7e44b9
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/ActionImport.java
@@ -0,0 +1,48 @@
+/*
+ * 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.api.edm.provider;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.api.edm.Target;
+
+public class ActionImport extends OperationImport {
+
+ private FullQualifiedName action;
+
+ @Override
+ public ActionImport setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ @Override
+ public ActionImport setEntitySet(final Target entitySet) {
+ this.entitySet = entitySet;
+ return this;
+ }
+
+ public FullQualifiedName getAction() {
+ return action;
+ }
+
+ public ActionImport setAction(final FullQualifiedName action) {
+ this.action = action;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/AliasInfo.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/AliasInfo.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/AliasInfo.java
new file mode 100644
index 0000000..ec7a753
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/AliasInfo.java
@@ -0,0 +1,45 @@
+/*
+ * 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.api.edm.provider;
+
+public class AliasInfo {
+
+ private String namespace;
+
+ private String alias;
+
+ public String getNamespace() {
+ return namespace;
+ }
+
+ public AliasInfo setNamespace(final String namespace) {
+ this.namespace = namespace;
+ return this;
+ }
+
+ public String getAlias() {
+ return alias;
+ }
+
+ public AliasInfo setAlias(final String alias) {
+ this.alias = alias;
+ return this;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Annotation.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Annotation.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Annotation.java
new file mode 100644
index 0000000..6498190
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Annotation.java
@@ -0,0 +1,72 @@
+/*
+ * 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.api.edm.provider;
+
+import java.util.List;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public class Annotation {
+
+ private FullQualifiedName term;
+
+ // Target should be a target path
+// private String targetPath;
+ private String qualifier;
+
+ private Expression expression;
+
+ private List<Annotation> annotation;
+
+ public FullQualifiedName getTerm() {
+ return term;
+ }
+
+ public Annotation setTerm(final FullQualifiedName term) {
+ this.term = term;
+ return this;
+ }
+
+ public String getQualifier() {
+ return qualifier;
+ }
+
+ public Annotation setQualifier(final String qualifier) {
+ this.qualifier = qualifier;
+ return this;
+ }
+
+ public Expression getExpression() {
+ return expression;
+ }
+
+ public Annotation setExpression(final Expression expression) {
+ this.expression = expression;
+ return this;
+ }
+
+ public List<Annotation> getAnnotation() {
+ return annotation;
+ }
+
+ public Annotation setAnnotation(final List<Annotation> annotation) {
+ this.annotation = annotation;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/BindingTarget.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/BindingTarget.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/BindingTarget.java
new file mode 100644
index 0000000..876164c
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/BindingTarget.java
@@ -0,0 +1,60 @@
+/*
+ * 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.api.edm.provider;
+
+import java.util.List;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public abstract class BindingTarget {
+
+ protected String name;
+
+ protected FullQualifiedName type;
+
+ protected List<NavigationPropertyBinding> navigationPropertyBindings;
+
+ public String getName() {
+ return name;
+ }
+
+ public BindingTarget setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ public FullQualifiedName getType() {
+ return type;
+ }
+
+ public BindingTarget setType(final FullQualifiedName type) {
+ this.type = type;
+ return this;
+ }
+
+ public List<NavigationPropertyBinding> getNavigationPropertyBindings() {
+ return navigationPropertyBindings;
+ }
+
+ public BindingTarget setNavigationPropertyBindings(final List<NavigationPropertyBinding> navigationPropertyBindings) {
+ this.navigationPropertyBindings = navigationPropertyBindings;
+ return this;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/ComplexType.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/ComplexType.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/ComplexType.java
new file mode 100644
index 0000000..c164ab4
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/ComplexType.java
@@ -0,0 +1,62 @@
+/*
+ * 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.api.edm.provider;
+
+import java.util.List;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public class ComplexType extends StructuredType {
+
+ @Override
+ public ComplexType setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ @Override
+ public ComplexType setOpenType(final boolean isOpenType) {
+ this.isOpenType = isOpenType;
+ return this;
+ }
+
+ @Override
+ public ComplexType setBaseType(final FullQualifiedName baseType) {
+ this.baseType = baseType;
+ return this;
+ }
+
+ @Override
+ public ComplexType setAbstract(final boolean isAbstract) {
+ this.isAbstract = isAbstract;
+ return this;
+ }
+
+ @Override
+ public ComplexType setProperties(final List<Property> properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ @Override
+ public ComplexType setNavigationProperties(final List<NavigationProperty> navigationProperties) {
+ this.navigationProperties = navigationProperties;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EdmProvider.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EdmProvider.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EdmProvider.java
new file mode 100644
index 0000000..ae58c52
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EdmProvider.java
@@ -0,0 +1,182 @@
+/*
+ * 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.api.edm.provider;
+
+import java.util.List;
+
+import org.apache.olingo.commons.api.ODataException;
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public abstract class EdmProvider {
+
+ /**
+ * This method should return an {@link EnumType} or <b>null</b> if nothing is found
+ *
+ * @param enumTypeName
+ * @return {@link EnumType} for given name
+ * @throws ODataException
+ */
+ public EnumType getEnumType(final FullQualifiedName enumTypeName) throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return an {@link TypeDefinition} or <b>null</b> if nothing is found
+ *
+ * @param typeDefinitionName
+ * @return {@link TypeDefinition} for given name
+ * @throws ODataException
+ */
+ public TypeDefinition getTypeDefinition(final FullQualifiedName typeDefinitionName) throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return an {@link EntityType} or <b>null</b> if nothing is found
+ *
+ * @param entityTypeName
+ * @return {@link EntityType} for the given name
+ * @throws ODataException
+ */
+ public EntityType getEntityType(final FullQualifiedName entityTypeName) throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return a {@link ComplexType} or <b>null</b> if nothing is found
+ *
+ * @param complexTypeName
+ * @return {@link StructuralType} for the given name
+ * @throws ODataException
+ */
+ public ComplexType getComplexType(final FullQualifiedName complexTypeName) throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return a list of all {@link Action} for the FullQualifiedname or <b>null</b> if nothing is found
+ *
+ * @param actionName
+ * @return List of {@link Action} or null
+ * @throws ODataException
+ */
+ public List<Action> getActions(final FullQualifiedName actionName) throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return a list of all {@link Function} for the FullQualifiedname or <b>null</b> if nothing is
+ * found
+ *
+ * @param functionName
+ * @return List of {@link Function} or null
+ * @throws ODataException
+ */
+ public List<Function> getFunctions(final FullQualifiedName functionName) throws ODataException {
+ return null;
+ }
+
+ // TODO: document
+ public Term getTerm(final FullQualifiedName termName) throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return an {@link EntitySet} or <b>null</b> if nothing is found
+ *
+ * @param entityContainer this EntitySet is contained in
+ * @param entitySetName
+ * @return {@link EntitySet} for the given container and entityset name
+ * @throws ODataException
+ */
+ public EntitySet getEntitySet(final FullQualifiedName entityContainer, final String entitySetName)
+ throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return an {@link Singleton} or <b>null</b> if nothing is found
+ *
+ * @param entityContainer this Singleton is contained in
+ * @param singletonName
+ * @return {@link Singleton} for given container and singleton name
+ * @throws ODataException
+ */
+ public Singleton getSingleton(final FullQualifiedName entityContainer, final String singletonName)
+ throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return an {@link ActionImport} or <b>null</b> if nothing is found
+ *
+ * @param entityContainer this ActionImport is contained in
+ * @param actionImportName
+ * @return {@link ActionImport} for the given container and ActionImport name
+ * @throws ODataException
+ */
+ public ActionImport getActionImport(final FullQualifiedName entityContainer, final String actionImportName)
+ throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return a {@link FunctionImport} or <b>null</b> if nothing is found
+ *
+ * @param entityContainer this FunctionImport is contained in
+ * @param functionImportName
+ * @return {@link FunctionImport} for the given container name and function import name
+ * @throws ODataException
+ */
+ public FunctionImport getFunctionImport(final FullQualifiedName entityContainer, final String functionImportName)
+ throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return an {@link EntityContainerInfo} or <b>null</b> if nothing is found
+ *
+ * @param entityContainerName (null for default container)
+ * @return {@link EntityContainerInfo} for the given name
+ * @throws ODataException
+ */
+ public EntityContainerInfo getEntityContainerInfo(final FullQualifiedName entityContainerName) throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return a list of all namespaces which have an alias
+ *
+ * @return List of alias info
+ * @throws ODataException
+ */
+ public List<AliasInfo> getAliasInfos() throws ODataException {
+ return null;
+ }
+
+ /**
+ * This method should return a collection of all {@link Schema}
+ *
+ * @return List<{@link Schema}>
+ * @throws ODataException
+ */
+ public List<Schema> getSchemas() throws ODataException {
+ return null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntityContainer.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntityContainer.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntityContainer.java
new file mode 100644
index 0000000..43e41e3
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntityContainer.java
@@ -0,0 +1,93 @@
+/*
+ * 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.api.edm.provider;
+
+import java.util.List;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public class EntityContainer {
+
+ private String name;
+
+ private FullQualifiedName extendsContainer;
+
+ private List<EntitySet> entitySets;
+
+ private List<ActionImport> actionImports;
+
+ private List<FunctionImport> functionImports;
+
+ private List<Singleton> singletons;
+
+ // Annotations
+ public String getName() {
+ return name;
+ }
+
+ public EntityContainer setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ public FullQualifiedName getExtendsContainer() {
+ return extendsContainer;
+ }
+
+ public EntityContainer setExtendsContainer(final FullQualifiedName extendsContainer) {
+ this.extendsContainer = extendsContainer;
+ return this;
+ }
+
+ public List<EntitySet> getEntitySets() {
+ return entitySets;
+ }
+
+ public EntityContainer setEntitySets(final List<EntitySet> entitySets) {
+ this.entitySets = entitySets;
+ return this;
+ }
+
+ public List<ActionImport> getActionImports() {
+ return actionImports;
+ }
+
+ public EntityContainer setActionImports(final List<ActionImport> actionImports) {
+ this.actionImports = actionImports;
+ return this;
+ }
+
+ public List<FunctionImport> getFunctionImports() {
+ return functionImports;
+ }
+
+ public EntityContainer setFunctionImports(final List<FunctionImport> functionImports) {
+ this.functionImports = functionImports;
+ return this;
+ }
+
+ public List<Singleton> getSingletons() {
+ return singletons;
+ }
+
+ public EntityContainer setSingletons(final List<Singleton> singletons) {
+ this.singletons = singletons;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntityContainerInfo.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntityContainerInfo.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntityContainerInfo.java
new file mode 100644
index 0000000..f46401e
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntityContainerInfo.java
@@ -0,0 +1,47 @@
+/*
+ * 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.api.edm.provider;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public class EntityContainerInfo {
+
+ private FullQualifiedName containerName;
+
+ private FullQualifiedName extendsContainer;
+
+ public FullQualifiedName getContainerName() {
+ return containerName;
+ }
+
+ public EntityContainerInfo setContainerName(final FullQualifiedName containerName) {
+ this.containerName = containerName;
+ return this;
+ }
+
+ public FullQualifiedName getExtendsContainer() {
+ return extendsContainer;
+ }
+
+ public EntityContainerInfo setExtendsContainer(final FullQualifiedName extendsContainer) {
+ this.extendsContainer = extendsContainer;
+ return this;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntitySet.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntitySet.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntitySet.java
new file mode 100644
index 0000000..f02633b
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntitySet.java
@@ -0,0 +1,55 @@
+/*
+ * 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.api.edm.provider;
+
+import java.util.List;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public class EntitySet extends BindingTarget {
+
+ private boolean includeInServiceDocument;
+
+ @Override
+ public EntitySet setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ @Override
+ public EntitySet setNavigationPropertyBindings(final List<NavigationPropertyBinding> navigationPropertyBindings) {
+ this.navigationPropertyBindings = navigationPropertyBindings;
+ return this;
+ }
+
+ @Override
+ public EntitySet setType(final FullQualifiedName entityType) {
+ type = entityType;
+ return this;
+ }
+
+ public boolean isIncludeInServiceDocument() {
+ return includeInServiceDocument;
+ }
+
+ public EntitySet setIncludeInServiceDocument(final boolean includeInServiceDocument) {
+ this.includeInServiceDocument = includeInServiceDocument;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntitySetPath.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntitySetPath.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntitySetPath.java
new file mode 100644
index 0000000..d9380a9
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntitySetPath.java
@@ -0,0 +1,45 @@
+/*
+ * 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.api.edm.provider;
+
+//TODO: Do we really need this class?
+public class EntitySetPath {
+
+ private String bindingParameter;
+
+ private String path;
+
+ public String getBindingParameter() {
+ return bindingParameter;
+ }
+
+ public EntitySetPath setBindingParameter(final String bindingParameter) {
+ this.bindingParameter = bindingParameter;
+ return this;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public EntitySetPath setPath(final String path) {
+ this.path = path;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntityType.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntityType.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntityType.java
new file mode 100644
index 0000000..84888e5
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EntityType.java
@@ -0,0 +1,84 @@
+/*
+ * 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.api.edm.provider;
+
+import java.util.List;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public class EntityType extends StructuredType {
+
+ private List<PropertyRef> key;
+
+ private boolean hasStream;
+
+ public boolean hasStream() {
+ return hasStream;
+ }
+
+ public EntityType setHasStream(final boolean hasStream) {
+ this.hasStream = hasStream;
+ return this;
+ }
+
+ public List<PropertyRef> getKey() {
+ return key;
+ }
+
+ public EntityType setKey(final List<PropertyRef> key) {
+ this.key = key;
+ return this;
+ }
+
+ @Override
+ public EntityType setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ @Override
+ public EntityType setOpenType(final boolean isOpenType) {
+ this.isOpenType = isOpenType;
+ return this;
+ }
+
+ @Override
+ public EntityType setBaseType(final FullQualifiedName baseType) {
+ this.baseType = baseType;
+ return this;
+ }
+
+ @Override
+ public EntityType setAbstract(final boolean isAbstract) {
+ this.isAbstract = isAbstract;
+ return this;
+ }
+
+ @Override
+ public EntityType setProperties(final List<Property> properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ @Override
+ public EntityType setNavigationProperties(final List<NavigationProperty> navigationProperties) {
+ this.navigationProperties = navigationProperties;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EnumMember.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EnumMember.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EnumMember.java
new file mode 100644
index 0000000..5bd9445
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EnumMember.java
@@ -0,0 +1,49 @@
+/*
+ * 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.api.edm.provider;
+
+import org.apache.olingo.commons.api.edm.EdmMember;
+
+public class EnumMember implements EdmMember {
+
+ private String name;
+
+ private String value;
+
+ // Annotations?
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ public EnumMember setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ @Override
+ public String getValue() {
+ return value;
+ }
+
+ public EnumMember setValue(final String value) {
+ this.value = value;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EnumType.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EnumType.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EnumType.java
new file mode 100644
index 0000000..0d48cc0
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/EnumType.java
@@ -0,0 +1,73 @@
+/*
+ * 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.api.edm.provider;
+
+import java.util.List;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public class EnumType {
+
+ private String name;
+
+ private boolean isFlags;
+
+ // Underlying Type can only be primitve...
+ private FullQualifiedName underlyingType;
+
+ private List<EnumMember> members;
+
+ // Facets
+ // Annotations?
+ public String getName() {
+ return name;
+ }
+
+ public EnumType setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ public boolean isFlags() {
+ return isFlags;
+ }
+
+ public EnumType setFlags(final boolean isFlags) {
+ this.isFlags = isFlags;
+ return this;
+ }
+
+ public FullQualifiedName getUnderlyingType() {
+ return underlyingType;
+ }
+
+ public EnumType setUnderlyingType(final FullQualifiedName underlyingType) {
+ this.underlyingType = underlyingType;
+ return this;
+ }
+
+ public List<EnumMember> getMembers() {
+ return members;
+ }
+
+ public EnumType setMembers(final List<EnumMember> members) {
+ this.members = members;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Expression.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Expression.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Expression.java
new file mode 100644
index 0000000..c225467
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Expression.java
@@ -0,0 +1,24 @@
+/*
+ * 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.api.edm.provider;
+
+//TODO: Expression implementation
+public class Expression {
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Function.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Function.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Function.java
new file mode 100644
index 0000000..0166562
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Function.java
@@ -0,0 +1,65 @@
+/*
+ * 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.api.edm.provider;
+
+import java.util.List;
+
+public class Function extends Operation {
+
+ private boolean isComposable;
+
+ public boolean isComposable() {
+ return isComposable;
+ }
+
+ public Function setComposable(final boolean isComposable) {
+ this.isComposable = isComposable;
+ return this;
+ }
+
+ @Override
+ public Function setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ @Override
+ public Function setBound(final boolean isBound) {
+ this.isBound = isBound;
+ return this;
+ }
+
+ @Override
+ public Function setEntitySetPath(final EntitySetPath entitySetPath) {
+ this.entitySetPath = entitySetPath;
+ return this;
+ }
+
+ @Override
+ public Function setParameters(final List<Parameter> parameters) {
+ this.parameters = parameters;
+ return this;
+ }
+
+ @Override
+ public Function setReturnType(final ReturnType returnType) {
+ this.returnType = returnType;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/FunctionImport.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/FunctionImport.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/FunctionImport.java
new file mode 100644
index 0000000..f9e4217
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/FunctionImport.java
@@ -0,0 +1,64 @@
+/*
+ * 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.api.edm.provider;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.api.edm.Target;
+
+public class FunctionImport extends OperationImport {
+
+ private FullQualifiedName function;
+
+ private boolean includeInServiceDocument;
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public FunctionImport setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ @Override
+ public FunctionImport setEntitySet(final Target entitySet) {
+ this.entitySet = entitySet;
+ return this;
+ }
+
+ public FullQualifiedName getFunction() {
+ return function;
+ }
+
+ public FunctionImport setFunction(final FullQualifiedName function) {
+ this.function = function;
+ return this;
+ }
+
+ public boolean isIncludeInServiceDocument() {
+ return includeInServiceDocument;
+ }
+
+ public FunctionImport setIncludeInServiceDocument(final boolean includeInServiceDocument) {
+ this.includeInServiceDocument = includeInServiceDocument;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Mapping.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Mapping.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Mapping.java
new file mode 100644
index 0000000..7d23e9b
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Mapping.java
@@ -0,0 +1,96 @@
+/*
+ * 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.api.edm.provider;
+
+import org.apache.olingo.commons.api.edm.EdmMapping;
+
+public class Mapping implements EdmMapping {
+
+ private String value;
+
+ private Object object;
+
+ private String mediaResourceSourceKey;
+
+ private String mediaResourceMimeTypeKey;
+
+ @Override
+ public String getInternalName() {
+ return value;
+ }
+
+ @Override
+ public Object getObject() {
+ return object;
+ }
+
+ @Override
+ public String getMediaResourceSourceKey() {
+ return mediaResourceSourceKey;
+ }
+
+ @Override
+ public String getMediaResourceMimeTypeKey() {
+ return mediaResourceMimeTypeKey;
+ }
+
+ /**
+ * Sets the value for this {@link Mapping}.
+ *
+ * @param value
+ * @return {@link Mapping} for method chaining
+ */
+ public Mapping setInternalName(final String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Sets an object. This method can be used by a provider to set whatever it wants to associate with this.
+ *
+ * @param object
+ * @return {@link Mapping} for method chaining
+ */
+ public Mapping setObject(final Object object) {
+ this.object = object;
+ return this;
+ }
+
+ /**
+ * Sets the key for the resource source key which is used for the lookup in the data map
+ *
+ * @param mediaResourceSourceKey under which the source can be found in the data map
+ * @return {@link Mapping} for method chaining
+ */
+ public Mapping setMediaResourceSourceKey(final String mediaResourceSourceKey) {
+ this.mediaResourceSourceKey = mediaResourceSourceKey;
+ return this;
+ }
+
+ /**
+ * Sets the key for the resource mime type key which is used for the lookup in the data map
+ *
+ * @param mediaResourceMimeTypeKey under which the mime type can be found in the data map
+ * @return {@link Mapping} for method chaining
+ */
+ public Mapping setMediaResourceMimeTypeKey(final String mediaResourceMimeTypeKey) {
+ this.mediaResourceMimeTypeKey = mediaResourceMimeTypeKey;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/NavigationProperty.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/NavigationProperty.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/NavigationProperty.java
new file mode 100644
index 0000000..4e3a824
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/NavigationProperty.java
@@ -0,0 +1,118 @@
+/*
+ * 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.api.edm.provider;
+
+import java.util.List;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+import org.apache.olingo.commons.api.edm.constants.EdmOnDelete;
+
+public class NavigationProperty {
+
+ private String name;
+
+ private FullQualifiedName type;
+
+ private boolean isCollection;
+
+ private String partner;
+
+ private boolean containsTarget;
+
+ private List<ReferentialConstraint> referentialConstraints;
+
+ // Facets
+ private Boolean nullable;
+
+ // Refactor this onDelete
+ private EdmOnDelete onDelete;
+
+//Annotations?
+ public String getName() {
+ return name;
+ }
+
+ public boolean isCollection() {
+ return isCollection;
+ }
+
+ public NavigationProperty setCollection(final boolean isCollection) {
+ this.isCollection = isCollection;
+ return this;
+ }
+
+ public NavigationProperty setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ public FullQualifiedName getType() {
+ return type;
+ }
+
+ public NavigationProperty setType(final FullQualifiedName type) {
+ this.type = type;
+ return this;
+ }
+
+ public String getPartner() {
+ return partner;
+ }
+
+ public NavigationProperty setPartner(final String partner) {
+ this.partner = partner;
+ return this;
+ }
+
+ public boolean isContainsTarget() {
+ return containsTarget;
+ }
+
+ public NavigationProperty setContainsTarget(final boolean containsTarget) {
+ this.containsTarget = containsTarget;
+ return this;
+ }
+
+ public List<ReferentialConstraint> getReferentialConstraints() {
+ return referentialConstraints;
+ }
+
+ public NavigationProperty setReferentialConstraints(final List<ReferentialConstraint> referentialConstraints) {
+ this.referentialConstraints = referentialConstraints;
+ return this;
+ }
+
+ public Boolean getNullable() {
+ return nullable;
+ }
+
+ public NavigationProperty setNullable(final Boolean nullable) {
+ this.nullable = nullable;
+ return this;
+ }
+
+ public EdmOnDelete getOnDelete() {
+ return onDelete;
+ }
+
+ public NavigationProperty setOnDelete(final EdmOnDelete onDelete) {
+ this.onDelete = onDelete;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/NavigationPropertyBinding.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/NavigationPropertyBinding.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/NavigationPropertyBinding.java
new file mode 100644
index 0000000..9195ea4
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/NavigationPropertyBinding.java
@@ -0,0 +1,46 @@
+/*
+ * 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.api.edm.provider;
+
+import org.apache.olingo.commons.api.edm.Target;
+
+public class NavigationPropertyBinding {
+
+ private String path;
+
+ private Target target;
+
+ public String getPath() {
+ return path;
+ }
+
+ public NavigationPropertyBinding setPath(final String path) {
+ this.path = path;
+ return this;
+ }
+
+ public Target getTarget() {
+ return target;
+ }
+
+ public NavigationPropertyBinding setTarget(final Target target) {
+ this.target = target;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Operation.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Operation.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Operation.java
new file mode 100644
index 0000000..6235b2f
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Operation.java
@@ -0,0 +1,81 @@
+/*
+ * 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.api.edm.provider;
+
+import java.util.List;
+
+public abstract class Operation {
+
+ protected String name;
+
+ protected boolean isBound;
+
+ // Do we need EntitySetPath as a class?
+ protected EntitySetPath entitySetPath;
+
+ protected List<Parameter> parameters;
+
+ protected ReturnType returnType;
+
+ // Annotations?
+ public String getName() {
+ return name;
+ }
+
+ public Operation setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ public boolean isBound() {
+ return isBound;
+ }
+
+ public Operation setBound(final boolean isBound) {
+ this.isBound = isBound;
+ return this;
+ }
+
+ public EntitySetPath getEntitySetPath() {
+ return entitySetPath;
+ }
+
+ public Operation setEntitySetPath(final EntitySetPath entitySetPath) {
+ this.entitySetPath = entitySetPath;
+ return this;
+ }
+
+ public List<Parameter> getParameters() {
+ return parameters;
+ }
+
+ public Operation setParameters(final List<Parameter> parameters) {
+ this.parameters = parameters;
+ return this;
+ }
+
+ public ReturnType getReturnType() {
+ return returnType;
+ }
+
+ public Operation setReturnType(final ReturnType returnType) {
+ this.returnType = returnType;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/OperationImport.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/OperationImport.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/OperationImport.java
new file mode 100644
index 0000000..dfa7e04
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/OperationImport.java
@@ -0,0 +1,47 @@
+/*
+ * 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.api.edm.provider;
+
+import org.apache.olingo.commons.api.edm.Target;
+
+public abstract class OperationImport {
+
+ protected String name;
+
+ protected Target entitySet;
+
+ // Annotations?
+ public String getName() {
+ return name;
+ }
+
+ public OperationImport setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ public Target getEntitySet() {
+ return entitySet;
+ }
+
+ public OperationImport setEntitySet(final Target entitySet) {
+ this.entitySet = entitySet;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Parameter.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Parameter.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Parameter.java
new file mode 100644
index 0000000..c972cb8
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Parameter.java
@@ -0,0 +1,113 @@
+/*
+ * 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.api.edm.provider;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public class Parameter {
+
+ private String name;
+
+ private FullQualifiedName type;
+
+ private boolean isCollection;
+
+ private Mapping mapping;
+
+ // Facets?
+ private Boolean nullable;
+
+ private Integer maxLength;
+
+ private Integer precision;
+
+ private Integer scale;
+
+ public String getName() {
+ return name;
+ }
+
+ public Parameter setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ public FullQualifiedName getType() {
+ return type;
+ }
+
+ public Parameter setType(final FullQualifiedName type) {
+ this.type = type;
+ return this;
+ }
+
+ public boolean isCollection() {
+ return isCollection;
+ }
+
+ public Parameter setCollection(final boolean isCollection) {
+ this.isCollection = isCollection;
+ return this;
+ }
+
+ public Boolean getNullable() {
+ return nullable;
+ }
+
+ public Parameter setNullable(final Boolean nullable) {
+ this.nullable = nullable;
+ return this;
+ }
+
+ public Integer getMaxLength() {
+ return maxLength;
+ }
+
+ public Parameter setMaxLength(final Integer maxLength) {
+ this.maxLength = maxLength;
+ return this;
+ }
+
+ public Integer getPrecision() {
+ return precision;
+ }
+
+ public Parameter setPrecision(final Integer precision) {
+ this.precision = precision;
+ return this;
+ }
+
+ public Integer getScale() {
+ return scale;
+ }
+
+ public Parameter setScale(final Integer scale) {
+ this.scale = scale;
+ return this;
+ }
+
+ public Mapping getMapping() {
+ return mapping;
+ }
+
+ public Parameter setMapping(final Mapping mapping) {
+ this.mapping = mapping;
+ return this;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/897db8ef/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Property.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Property.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Property.java
new file mode 100644
index 0000000..68ec702
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/edm/provider/Property.java
@@ -0,0 +1,148 @@
+/*
+ * 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.api.edm.provider;
+
+import org.apache.olingo.commons.api.edm.FullQualifiedName;
+
+public class Property {
+
+ private String name;
+
+ // Can be simple or complex
+ private FullQualifiedName type;
+
+ private boolean collection;
+
+ // TODO: Mimetype and mapping what here
+ private String mimeType;
+
+ private Mapping mapping;
+
+ // Facets
+ private String defaultValue;
+
+ private Boolean nullable;
+
+ private Integer maxLength;
+
+ private Integer precision;
+
+ private Integer scale;
+
+ private Boolean unicode;
+
+ public String getName() {
+ return name;
+ }
+
+ public Property setName(final String name) {
+ this.name = name;
+ return this;
+ }
+
+ public FullQualifiedName getType() {
+ return type;
+ }
+
+ public Property setType(final FullQualifiedName type) {
+ this.type = type;
+ return this;
+ }
+
+ public boolean isCollection() {
+ return collection;
+ }
+
+ public Property setCollection(final boolean isCollection) {
+ collection = isCollection;
+ return this;
+ }
+
+ public String getDefaultValue() {
+ return defaultValue;
+ }
+
+ public Property setDefaultValue(final String defaultValue) {
+ this.defaultValue = defaultValue;
+ return this;
+ }
+
+ public Boolean getNullable() {
+ return nullable;
+ }
+
+ public Property setNullable(final Boolean nullable) {
+ this.nullable = nullable;
+ return this;
+ }
+
+ public Integer getMaxLength() {
+ return maxLength;
+ }
+
+ public Property setMaxLength(final Integer maxLength) {
+ this.maxLength = maxLength;
+ return this;
+ }
+
+ public Integer getPrecision() {
+ return precision;
+ }
+
+ public Property setPrecision(final Integer precision) {
+ this.precision = precision;
+ return this;
+ }
+
+ public Integer getScale() {
+ return scale;
+ }
+
+ public Property setScale(final Integer scale) {
+ this.scale = scale;
+ return this;
+ }
+
+ public Boolean isUnicode() {
+ return unicode;
+ }
+
+ public Property setUnicode(final Boolean isUnicode) {
+ unicode = isUnicode;
+ return this;
+ }
+
+ public String getMimeType() {
+ return mimeType;
+ }
+
+ public Property setMimeType(final String mimeType) {
+ this.mimeType = mimeType;
+ return this;
+ }
+
+ public Mapping getMapping() {
+ return mapping;
+ }
+
+ public Property setMapping(final Mapping mapping) {
+ this.mapping = mapping;
+ return this;
+ }
+}