You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2016/08/12 11:48:18 UTC
[04/14] olingo-odata4 git commit: [OLINGO-1004] Remove another
microsoft from test package name
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/OrderDetailCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/OrderDetailCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/OrderDetailCollection.java
new file mode 100644
index 0000000..806ae26
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/OrderDetailCollection.java
@@ -0,0 +1,41 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import java.util.Collection;
+// CHECKSTYLE:ON (Maven checkstyle)
+
+import org.apache.olingo.ext.proxy.api.AbstractTerm;
+
+public interface OrderDetailCollection
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<OrderDetailCollection>,
+org.apache.olingo.ext.proxy.api.EntityCollection<OrderDetail, OrderDetailCollection, OrderDetailCollection> {
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+ // No additional methods needed for now.
+ }
+
+ Object getAnnotation(Class<? extends AbstractTerm> term);
+
+ Collection<Class<? extends AbstractTerm>> getAnnotationTerms();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/OrderDetailCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/OrderDetailCollectionComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/OrderDetailCollectionComposableInvoker.java
new file mode 100644
index 0000000..457d815
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/OrderDetailCollectionComposableInvoker.java
@@ -0,0 +1,32 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+
+public interface OrderDetailCollectionComposableInvoker
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<OrderDetailCollection, OrderDetailCollection.Operations> {
+
+ @Override
+ OrderDetailCollectionComposableInvoker select(String... select);
+
+ @Override
+ OrderDetailCollectionComposableInvoker expand(String... expand);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/OrderDetailComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/OrderDetailComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/OrderDetailComposableInvoker.java
new file mode 100644
index 0000000..1a812f2
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/OrderDetailComposableInvoker.java
@@ -0,0 +1,139 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+public interface OrderDetailComposableInvoker
+ extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<OrderDetail, OrderDetail.Operations>
+{
+
+ @Override
+ OrderDetailComposableInvoker select(String... select);
+
+ @Override
+ OrderDetailComposableInvoker expand(String... expand);
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "OrderID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getOrderID();
+
+ void setOrderID(java.lang.Integer _orderID);
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ProductID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getProductID();
+
+ void setProductID(java.lang.Integer _productID);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "OrderPlaced",
+ type = "Edm.DateTimeOffset",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.sql.Timestamp getOrderPlaced();
+
+ void setOrderPlaced(java.sql.Timestamp _orderPlaced);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Quantity",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getQuantity();
+
+ void setQuantity(java.lang.Integer _quantity);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "UnitPrice",
+ type = "Edm.Single",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Float getUnitPrice();
+
+ void setUnitPrice(java.lang.Float _unitPrice);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "ProductOrdered",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Product",
+ targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+ targetContainer = "InMemoryEntities",
+ targetEntitySet = "Products",
+ containsTarget = false)
+ ProductCollection
+ getProductOrdered();
+
+ void
+ setProductOrdered(
+ ProductCollection _productOrdered);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "AssociatedOrder",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Order",
+ targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+ targetContainer = "InMemoryEntities",
+ targetEntitySet = "Orders",
+ containsTarget = false)
+ Order
+ getAssociatedOrder();
+
+ void
+ setAssociatedOrder(
+ Order _associatedOrder);
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/OrderDetailKey.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/OrderDetailKey.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/OrderDetailKey.java
new file mode 100644
index 0000000..26bede7
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/OrderDetailKey.java
@@ -0,0 +1,53 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.AbstractEntityKey;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
+
+@org.apache.olingo.ext.proxy.api.annotations.CompoundKey
+public class OrderDetailKey extends AbstractEntityKey {
+
+ private static final long serialVersionUID = -4068508671802176607L;
+
+ private java.lang.Integer _orderID;
+
+ @CompoundKeyElement(name = "OrderID", position = 0)
+ public java.lang.Integer getOrderID() {
+ return _orderID;
+ }
+
+ public void setOrderID(final java.lang.Integer _orderID) {
+ this._orderID = _orderID;
+ }
+
+ private java.lang.Integer _productID;
+
+ @CompoundKeyElement(name = "ProductID", position = 1)
+ public java.lang.Integer getProductID() {
+ return _productID;
+ }
+
+ public void setProductID(final java.lang.Integer _productID) {
+ this._productID = _productID;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PaymentInstrument.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PaymentInstrument.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PaymentInstrument.java
new file mode 100644
index 0000000..d0012f1
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PaymentInstrument.java
@@ -0,0 +1,165 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+// CHECKSTYLE:ON (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.ODataWCFService")
+@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "PaymentInstrument",
+ openType = false,
+ hasStream = false,
+ isAbstract = false)
+public interface PaymentInstrument
+ extends org.apache.olingo.ext.proxy.api.Annotatable,
+ org.apache.olingo.ext.proxy.api.EntityType<PaymentInstrument>,
+ org.apache.olingo.ext.proxy.api.StructuredQuery<PaymentInstrument> {
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "PaymentInstrumentID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getPaymentInstrumentID();
+
+ void setPaymentInstrumentID(java.lang.Integer _paymentInstrumentID);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "FriendlyName",
+ type = "Edm.String",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getFriendlyName();
+
+ void setFriendlyName(java.lang.String _friendlyName);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "CreatedDate",
+ type = "Edm.DateTimeOffset",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.sql.Timestamp getCreatedDate();
+
+ void setCreatedDate(java.sql.Timestamp _createdDate);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "TheStoredPI",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.StoredPI",
+ targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+ targetContainer = "InMemoryEntities",
+ targetEntitySet = "StoredPIs",
+ containsTarget = false)
+ StoredPI
+ getTheStoredPI();
+
+ void
+ setTheStoredPI(
+ StoredPI _theStoredPI);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "BackupStoredPI",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.StoredPI",
+ targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+ targetContainer = "InMemoryEntities",
+ targetEntitySet = "StoredPIs",
+ containsTarget = false)
+ StoredPI
+ getBackupStoredPI();
+
+ void
+ setBackupStoredPI(
+ StoredPI _backupStoredPI);
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+ // No additional methods needed for now.
+ }
+
+ Annotations annotations();
+
+ interface Annotations {
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "PaymentInstrumentID",
+ type = "Edm.Int32")
+ org.apache.olingo.ext.proxy.api.Annotatable getPaymentInstrumentIDAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "FriendlyName",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getFriendlyNameAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "CreatedDate",
+ type = "Edm.DateTimeOffset")
+ org.apache.olingo.ext.proxy.api.Annotatable getCreatedDateAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "TheStoredPI",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.StoredPI")
+ org.apache.olingo.ext.proxy.api.Annotatable getTheStoredPIAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "BillingStatements",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Statement")
+ org.apache.olingo.ext.proxy.api.Annotatable getBillingStatementsAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "BackupStoredPI",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.StoredPI")
+ org.apache.olingo.ext.proxy.api.Annotatable getBackupStoredPIAnnotations();
+ }
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "BillingStatements",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.StoredPI",
+ targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+ targetContainer = "InMemoryEntities",
+ targetEntitySet = "StoredPIs",
+ containsTarget = true)
+ PaymentInstrument.BillingStatements
+ getBillingStatements();
+
+ void
+ setBillingStatements(
+ PaymentInstrument.BillingStatements _billingStatements);
+
+ @org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "BillingStatements", contained = true)
+ interface BillingStatements
+ extends
+ org.apache.olingo.ext.proxy.api.EntitySet<Statement, StatementCollection>,
+ org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<BillingStatements>,
+ AbstractEntitySet<Statement, java.lang.Integer, StatementCollection> {
+ // No additional methods needed for now.
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PaymentInstrumentCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PaymentInstrumentCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PaymentInstrumentCollection.java
new file mode 100644
index 0000000..86383c1
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PaymentInstrumentCollection.java
@@ -0,0 +1,41 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import java.util.Collection;
+// CHECKSTYLE:ON (Maven checkstyle)
+
+import org.apache.olingo.ext.proxy.api.AbstractTerm;
+
+public interface PaymentInstrumentCollection
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<PaymentInstrumentCollection>,
+org.apache.olingo.ext.proxy.api.EntityCollection<PaymentInstrument, PaymentInstrumentCollection, PaymentInstrumentCollection> {
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+ // No additional methods needed for now.
+ }
+
+ Object getAnnotation(Class<? extends AbstractTerm> term);
+
+ Collection<Class<? extends AbstractTerm>> getAnnotationTerms();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PaymentInstrumentCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PaymentInstrumentCollectionComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PaymentInstrumentCollectionComposableInvoker.java
new file mode 100644
index 0000000..7a9138a
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PaymentInstrumentCollectionComposableInvoker.java
@@ -0,0 +1,32 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+
+public interface PaymentInstrumentCollectionComposableInvoker
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<PaymentInstrumentCollection, PaymentInstrumentCollection.Operations> {
+
+ @Override
+ PaymentInstrumentCollectionComposableInvoker select(String... select);
+
+ @Override
+ PaymentInstrumentCollectionComposableInvoker expand(String... expand);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PaymentInstrumentComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PaymentInstrumentComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PaymentInstrumentComposableInvoker.java
new file mode 100644
index 0000000..504d5b7
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PaymentInstrumentComposableInvoker.java
@@ -0,0 +1,132 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+public interface PaymentInstrumentComposableInvoker
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<PaymentInstrument, PaymentInstrument.Operations>
+{
+
+ @Override
+ PaymentInstrumentComposableInvoker select(String... select);
+
+ @Override
+ PaymentInstrumentComposableInvoker expand(String... expand);
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "PaymentInstrumentID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getPaymentInstrumentID();
+
+ void setPaymentInstrumentID(java.lang.Integer _paymentInstrumentID);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "FriendlyName",
+ type = "Edm.String",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getFriendlyName();
+
+ void setFriendlyName(java.lang.String _friendlyName);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "CreatedDate",
+ type = "Edm.DateTimeOffset",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.sql.Timestamp getCreatedDate();
+
+ void setCreatedDate(java.sql.Timestamp _createdDate);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "TheStoredPI",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.StoredPI",
+ targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+ targetContainer = "InMemoryEntities",
+ targetEntitySet = "StoredPIs",
+ containsTarget = false)
+ StoredPI
+ getTheStoredPI();
+
+ void
+ setTheStoredPI(
+ StoredPI _theStoredPI);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "BackupStoredPI",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.StoredPI",
+ targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+ targetContainer = "InMemoryEntities",
+ targetEntitySet = "StoredPIs",
+ containsTarget = false)
+ StoredPI
+ getBackupStoredPI();
+
+ void
+ setBackupStoredPI(
+ StoredPI _backupStoredPI);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "BillingStatements",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.StoredPI",
+ targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+ targetContainer = "InMemoryEntities",
+ targetEntitySet = "StoredPIs",
+ containsTarget = true)
+ PaymentInstrument.BillingStatements
+ getBillingStatements();
+
+ void
+ setBillingStatements(
+ PaymentInstrument.BillingStatements _billingStatements);
+
+ @org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "BillingStatements", contained = true)
+ interface BillingStatements
+ extends
+ org.apache.olingo.ext.proxy.api.EntitySet<Statement, StatementCollection>,
+ org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<BillingStatements>,
+ AbstractEntitySet<Statement, java.lang.Integer, StatementCollection> {
+ // No additional methods needed for now.
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Person.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Person.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Person.java
new file mode 100644
index 0000000..b185e0f
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Person.java
@@ -0,0 +1,240 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.OperationType;
+// CHECKSTYLE:ON (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+import org.apache.olingo.ext.proxy.api.annotations.Parameter;
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.ODataWCFService")
+@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "Person",
+ openType = false,
+ hasStream = false,
+ isAbstract = false)
+public interface Person
+ extends org.apache.olingo.ext.proxy.api.Annotatable,
+ org.apache.olingo.ext.proxy.api.EntityType<Person>, org.apache.olingo.ext.proxy.api.StructuredQuery<Person> {
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "PersonID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getPersonID();
+
+ void setPersonID(java.lang.Integer _personID);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "FirstName",
+ type = "Edm.String",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getFirstName();
+
+ void setFirstName(java.lang.String _firstName);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "LastName",
+ type = "Edm.String",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getLastName();
+
+ void setLastName(java.lang.String _lastName);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "MiddleName",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getMiddleName();
+
+ void setMiddleName(java.lang.String _middleName);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "HomeAddress",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Address",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ Address
+ getHomeAddress();
+
+ void
+ setHomeAddress(
+ Address _homeAddress);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Home",
+ type = "Edm.GeographyPoint",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ org.apache.olingo.commons.api.edm.geo.Point getHome();
+
+ void setHome(org.apache.olingo.commons.api.edm.geo.Point _home);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Numbers",
+ type = "Edm.String",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> getNumbers();
+
+ void setNumbers(org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> _numbers);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Emails",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> getEmails();
+
+ void setEmails(org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> _emails);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Parent",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Person",
+ targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+ targetContainer = "InMemoryEntities",
+ targetEntitySet = "People",
+ containsTarget = false)
+ Person getParent();
+
+ void setParent(
+ Person _parent);
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+
+ @org.apache.olingo.ext.proxy.api.annotations.Operation(
+ name = "GetHomeAddress",
+ type = OperationType.FUNCTION,
+ isComposable = true,
+ referenceType = HomeAddress.class,
+ returnType = "Microsoft.Test.OData.Services.ODataWCFService.HomeAddress")
+ HomeAddressComposableInvoker
+ getHomeAddress(
+ );
+
+ @org.apache.olingo.ext.proxy.api.annotations.Operation(
+ name = "ResetAddress",
+ type = OperationType.ACTION,
+ referenceType = Person.class,
+ returnType = "Microsoft.Test.OData.Services.ODataWCFService.Person")
+ org.apache.olingo.ext.proxy.api.StructuredInvoker<Person>
+ resetAddress(
+ @Parameter(name = "addresses", type = "Collection(Microsoft.Test.OData.Services.ODataWCFService.Address)",
+ nullable = false) AddressCollection addresses,
+ @Parameter(name = "index", type = "Edm.Int32", nullable = false) java.lang.Integer index
+ );
+
+ }
+
+ Annotations annotations();
+
+ interface Annotations {
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "PersonID",
+ type = "Edm.Int32")
+ org.apache.olingo.ext.proxy.api.Annotatable getPersonIDAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "FirstName",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getFirstNameAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "LastName",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getLastNameAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "MiddleName",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getMiddleNameAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "HomeAddress",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Address")
+ org.apache.olingo.ext.proxy.api.Annotatable getHomeAddressAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Home",
+ type = "Edm.GeographyPoint")
+ org.apache.olingo.ext.proxy.api.Annotatable getHomeAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Numbers",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getNumbersAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Emails",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getEmailsAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Parent",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Person")
+ org.apache.olingo.ext.proxy.api.Annotatable getParentAnnotations();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PersonCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PersonCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PersonCollection.java
new file mode 100644
index 0000000..3665b7f
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PersonCollection.java
@@ -0,0 +1,41 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import java.util.Collection;
+// CHECKSTYLE:ON (Maven checkstyle)
+
+import org.apache.olingo.ext.proxy.api.AbstractTerm;
+
+public interface PersonCollection
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<PersonCollection>,
+org.apache.olingo.ext.proxy.api.EntityCollection<Person, PersonCollection, PersonCollection> {
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+ // No additional methods needed for now.
+ }
+
+ Object getAnnotation(Class<? extends AbstractTerm> term);
+
+ Collection<Class<? extends AbstractTerm>> getAnnotationTerms();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PersonCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PersonCollectionComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PersonCollectionComposableInvoker.java
new file mode 100644
index 0000000..3e717b2
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PersonCollectionComposableInvoker.java
@@ -0,0 +1,32 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+
+public interface PersonCollectionComposableInvoker
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<PersonCollection, PersonCollection.Operations> {
+
+ @Override
+ PersonCollectionComposableInvoker select(String... select);
+
+ @Override
+ PersonCollectionComposableInvoker expand(String... expand);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PersonComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PersonComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PersonComposableInvoker.java
new file mode 100644
index 0000000..bd24277
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/PersonComposableInvoker.java
@@ -0,0 +1,171 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+public interface PersonComposableInvoker
+ extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<Person, Person.Operations>
+{
+
+ @Override
+ PersonComposableInvoker select(String... select);
+
+ @Override
+ PersonComposableInvoker expand(String... expand);
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "PersonID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getPersonID();
+
+ void setPersonID(java.lang.Integer _personID);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "FirstName",
+ type = "Edm.String",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getFirstName();
+
+ void setFirstName(java.lang.String _firstName);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "LastName",
+ type = "Edm.String",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getLastName();
+
+ void setLastName(java.lang.String _lastName);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "MiddleName",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getMiddleName();
+
+ void setMiddleName(java.lang.String _middleName);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "HomeAddress",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Address",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ Address
+ getHomeAddress();
+
+ void
+ setHomeAddress(
+ Address _homeAddress);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Home",
+ type = "Edm.GeographyPoint",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ org.apache.olingo.commons.api.edm.geo.Point getHome();
+
+ void setHome(org.apache.olingo.commons.api.edm.geo.Point _home);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Numbers",
+ type = "Edm.String",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> getNumbers();
+
+ void setNumbers(org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> _numbers);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Emails",
+ type = "Edm.String",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> getEmails();
+
+ void setEmails(org.apache.olingo.ext.proxy.api.PrimitiveCollection<java.lang.String> _emails);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Parent",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Person",
+ targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+ targetContainer = "InMemoryEntities",
+ targetEntitySet = "People",
+ containsTarget = false)
+ Person getParent();
+
+ void setParent(
+ Person _parent);
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Product.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Product.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Product.java
new file mode 100644
index 0000000..f80f6e0
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Product.java
@@ -0,0 +1,266 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.OperationType;
+// CHECKSTYLE:ON (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+import org.apache.olingo.ext.proxy.api.annotations.Parameter;
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.ODataWCFService")
+@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "Product",
+ openType = false,
+ hasStream = false,
+ isAbstract = false)
+public interface Product
+ extends org.apache.olingo.ext.proxy.api.Annotatable,
+ org.apache.olingo.ext.proxy.api.EntityType<Product>, org.apache.olingo.ext.proxy.api.StructuredQuery<Product> {
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ProductID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getProductID();
+
+ void setProductID(java.lang.Integer _productID);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+ type = "Edm.String",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getName();
+
+ void setName(java.lang.String _name);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "QuantityPerUnit",
+ type = "Edm.String",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getQuantityPerUnit();
+
+ void setQuantityPerUnit(java.lang.String _quantityPerUnit);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "UnitPrice",
+ type = "Edm.Single",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Float getUnitPrice();
+
+ void setUnitPrice(java.lang.Float _unitPrice);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "QuantityInStock",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getQuantityInStock();
+
+ void setQuantityInStock(java.lang.Integer _quantityInStock);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Discontinued",
+ type = "Edm.Boolean",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Boolean getDiscontinued();
+
+ void setDiscontinued(java.lang.Boolean _discontinued);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "UserAccess",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.AccessLevel",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ AccessLevel
+ getUserAccess();
+
+ void
+ setUserAccess(
+ AccessLevel _userAccess);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "SkinColor",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Color",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ Color getSkinColor();
+
+ void
+ setSkinColor(
+ Color _skinColor);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "CoverColors",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Color",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ org.apache.olingo.ext.proxy.api.PrimitiveCollection<Color>
+ getCoverColors();
+
+ void
+ setCoverColors(
+ org.apache.olingo.ext.proxy.api.PrimitiveCollection<Color> _coverColors);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Details",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.ProductDetail",
+ targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+ targetContainer = "InMemoryEntities",
+ targetEntitySet = "ProductDetails",
+ containsTarget = false)
+ ProductDetailCollection
+ getDetails();
+
+ void
+ setDetails(
+ ProductDetailCollection _details);
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+
+ @org.apache.olingo.ext.proxy.api.annotations.Operation(
+ name = "GetProductDetails",
+ type = OperationType.FUNCTION,
+ isComposable = true,
+ referenceType = ProductDetailCollection.class,
+ returnType = "Collection(Microsoft.Test.OData.Services.ODataWCFService.ProductDetail)")
+ ProductDetailCollectionComposableInvoker
+ getProductDetails(
+ @Parameter(name = "count", type = "Edm.Int32", nullable = true) java.lang.Integer count
+ );
+
+ @org.apache.olingo.ext.proxy.api.annotations.Operation(
+ name = "AddAccessRight",
+ type = OperationType.ACTION,
+ referenceType = AccessLevel.class,
+ returnType = "Microsoft.Test.OData.Services.ODataWCFService.AccessLevel")
+ org.apache.olingo.ext.proxy.api.Invoker<AccessLevel>
+ addAccessRight(
+ @Parameter(name = "accessRight", type = "Microsoft.Test.OData.Services.ODataWCFService.AccessLevel",
+ nullable = true) AccessLevel accessRight
+ );
+
+ }
+
+ Annotations annotations();
+
+ interface Annotations {
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ProductID",
+ type = "Edm.Int32")
+ org.apache.olingo.ext.proxy.api.Annotatable getProductIDAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Name",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getNameAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "QuantityPerUnit",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getQuantityPerUnitAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "UnitPrice",
+ type = "Edm.Single")
+ org.apache.olingo.ext.proxy.api.Annotatable getUnitPriceAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "QuantityInStock",
+ type = "Edm.Int32")
+ org.apache.olingo.ext.proxy.api.Annotatable getQuantityInStockAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Discontinued",
+ type = "Edm.Boolean")
+ org.apache.olingo.ext.proxy.api.Annotatable getDiscontinuedAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "UserAccess",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.AccessLevel")
+ org.apache.olingo.ext.proxy.api.Annotatable getUserAccessAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "SkinColor",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Color")
+ org.apache.olingo.ext.proxy.api.Annotatable getSkinColorAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "CoverColors",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Color")
+ org.apache.olingo.ext.proxy.api.Annotatable getCoverColorsAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Details",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.ProductDetail")
+ org.apache.olingo.ext.proxy.api.Annotatable getDetailsAnnotations();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductCollection.java
new file mode 100644
index 0000000..346e528
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductCollection.java
@@ -0,0 +1,53 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import java.util.Collection;
+// CHECKSTYLE:ON (Maven checkstyle)
+
+import org.apache.olingo.ext.proxy.api.AbstractTerm;
+import org.apache.olingo.ext.proxy.api.OperationType;
+import org.apache.olingo.ext.proxy.api.annotations.Parameter;
+
+public interface ProductCollection
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<ProductCollection>,
+org.apache.olingo.ext.proxy.api.EntityCollection<Product, ProductCollection, ProductCollection> {
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+
+ @org.apache.olingo.ext.proxy.api.annotations.Operation(
+ name = "Discount",
+ type = OperationType.ACTION,
+ referenceType = ProductCollection.class,
+ returnType = "Collection(Microsoft.Test.OData.Services.ODataWCFService.Product)")
+ org.apache.olingo.ext.proxy.api.StructuredCollectionInvoker<ProductCollection>
+ discount(
+ @Parameter(name = "percentage", type = "Edm.Int32", nullable = false) java.lang.Integer percentage
+ );
+
+ }
+
+ Object getAnnotation(Class<? extends AbstractTerm> term);
+
+ Collection<Class<? extends AbstractTerm>> getAnnotationTerms();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductCollectionComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductCollectionComposableInvoker.java
new file mode 100644
index 0000000..2832885
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductCollectionComposableInvoker.java
@@ -0,0 +1,32 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+
+public interface ProductCollectionComposableInvoker
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<ProductCollection, ProductCollection.Operations> {
+
+ @Override
+ ProductCollectionComposableInvoker select(String... select);
+
+ @Override
+ ProductCollectionComposableInvoker expand(String... expand);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductComposableInvoker.java
new file mode 100644
index 0000000..268f564
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductComposableInvoker.java
@@ -0,0 +1,193 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+public interface ProductComposableInvoker
+ extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<Product, Product.Operations>
+{
+
+ @Override
+ ProductComposableInvoker select(String... select);
+
+ @Override
+ ProductComposableInvoker expand(String... expand);
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ProductID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getProductID();
+
+ void setProductID(java.lang.Integer _productID);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+ type = "Edm.String",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getName();
+
+ void setName(java.lang.String _name);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "QuantityPerUnit",
+ type = "Edm.String",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getQuantityPerUnit();
+
+ void setQuantityPerUnit(java.lang.String _quantityPerUnit);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "UnitPrice",
+ type = "Edm.Single",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Float getUnitPrice();
+
+ void setUnitPrice(java.lang.Float _unitPrice);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "QuantityInStock",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getQuantityInStock();
+
+ void setQuantityInStock(java.lang.Integer _quantityInStock);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Discontinued",
+ type = "Edm.Boolean",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Boolean getDiscontinued();
+
+ void setDiscontinued(java.lang.Boolean _discontinued);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "UserAccess",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.AccessLevel",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ AccessLevel
+ getUserAccess();
+
+ void
+ setUserAccess(
+ AccessLevel _userAccess);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "SkinColor",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Color",
+ nullable = true,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ Color getSkinColor();
+
+ void
+ setSkinColor(
+ Color _skinColor);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "CoverColors",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Color",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ org.apache.olingo.ext.proxy.api.PrimitiveCollection<Color>
+ getCoverColors();
+
+ void
+ setCoverColors(
+ org.apache.olingo.ext.proxy.api.PrimitiveCollection<Color> _coverColors);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Details",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.ProductDetail",
+ targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+ targetContainer = "InMemoryEntities",
+ targetEntitySet = "ProductDetails",
+ containsTarget = false)
+ ProductDetailCollection
+ getDetails();
+
+ void
+ setDetails(
+ ProductDetailCollection _details);
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetail.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetail.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetail.java
new file mode 100644
index 0000000..d34f68c
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetail.java
@@ -0,0 +1,172 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.OperationType;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+import org.apache.olingo.ext.proxy.api.annotations.KeyRef;
+
+@KeyRef(ProductDetailKey.class)
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.ODataWCFService")
+@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "ProductDetail",
+ openType = false,
+ hasStream = false,
+ isAbstract = false)
+public interface ProductDetail
+ extends org.apache.olingo.ext.proxy.api.Annotatable,
+ org.apache.olingo.ext.proxy.api.EntityType<ProductDetail>,
+ org.apache.olingo.ext.proxy.api.StructuredQuery<ProductDetail> {
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ProductID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getProductID();
+
+ void setProductID(java.lang.Integer _productID);
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ProductDetailID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getProductDetailID();
+
+ void setProductDetailID(java.lang.Integer _productDetailID);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ProductName",
+ type = "Edm.String",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getProductName();
+
+ void setProductName(java.lang.String _productName);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Description",
+ type = "Edm.String",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getDescription();
+
+ void setDescription(java.lang.String _description);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "RelatedProduct",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Product",
+ targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+ targetContainer = "InMemoryEntities",
+ targetEntitySet = "Products",
+ containsTarget = false)
+ Product
+ getRelatedProduct();
+
+ void
+ setRelatedProduct(
+ Product _relatedProduct);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Reviews",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.ProductReview",
+ targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+ targetContainer = "InMemoryEntities",
+ targetEntitySet = "ProductReviews",
+ containsTarget = false)
+ ProductReviewCollection
+ getReviews();
+
+ void
+ setReviews(
+ ProductReviewCollection _reviews);
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+
+ @org.apache.olingo.ext.proxy.api.annotations.Operation(
+ name = "GetRelatedProduct",
+ type = OperationType.FUNCTION,
+ isComposable = true,
+ referenceType = Product.class,
+ returnType = "Microsoft.Test.OData.Services.ODataWCFService.Product")
+ ProductComposableInvoker
+ getRelatedProduct(
+ );
+
+ }
+
+ Annotations annotations();
+
+ interface Annotations {
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ProductID",
+ type = "Edm.Int32")
+ org.apache.olingo.ext.proxy.api.Annotatable getProductIDAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ProductDetailID",
+ type = "Edm.Int32")
+ org.apache.olingo.ext.proxy.api.Annotatable getProductDetailIDAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "ProductName",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getProductNameAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Description",
+ type = "Edm.String")
+ org.apache.olingo.ext.proxy.api.Annotatable getDescriptionAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "RelatedProduct",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Product")
+ org.apache.olingo.ext.proxy.api.Annotatable getRelatedProductAnnotations();
+
+ @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Reviews",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.ProductReview")
+ org.apache.olingo.ext.proxy.api.Annotatable getReviewsAnnotations();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetailCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetailCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetailCollection.java
new file mode 100644
index 0000000..2bd3fd7
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetailCollection.java
@@ -0,0 +1,41 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import java.util.Collection;
+// CHECKSTYLE:ON (Maven checkstyle)
+
+import org.apache.olingo.ext.proxy.api.AbstractTerm;
+
+public interface ProductDetailCollection
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<ProductDetailCollection>,
+org.apache.olingo.ext.proxy.api.EntityCollection<ProductDetail, ProductDetailCollection, ProductDetailCollection> {
+
+ Operations operations();
+
+ interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+ // No additional methods needed for now.
+ }
+
+ Object getAnnotation(Class<? extends AbstractTerm> term);
+
+ Collection<Class<? extends AbstractTerm>> getAnnotationTerms();
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetailCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetailCollectionComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetailCollectionComposableInvoker.java
new file mode 100644
index 0000000..033c9c7
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetailCollectionComposableInvoker.java
@@ -0,0 +1,32 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+
+public interface ProductDetailCollectionComposableInvoker
+ extends
+ org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<ProductDetailCollection, ProductDetailCollection.Operations> {
+
+ @Override
+ ProductDetailCollectionComposableInvoker select(String... select);
+
+ @Override
+ ProductDetailCollectionComposableInvoker expand(String... expand);
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetailComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetailComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetailComposableInvoker.java
new file mode 100644
index 0000000..0045fc9
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetailComposableInvoker.java
@@ -0,0 +1,124 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.Key;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+public interface ProductDetailComposableInvoker
+ extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<ProductDetail, ProductDetail.Operations>
+{
+
+ @Override
+ ProductDetailComposableInvoker select(String... select);
+
+ @Override
+ ProductDetailComposableInvoker expand(String... expand);
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ProductID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getProductID();
+
+ void setProductID(java.lang.Integer _productID);
+
+ @Key
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ProductDetailID",
+ type = "Edm.Int32",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.Integer getProductDetailID();
+
+ void setProductDetailID(java.lang.Integer _productDetailID);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ProductName",
+ type = "Edm.String",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getProductName();
+
+ void setProductName(java.lang.String _productName);
+
+ @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Description",
+ type = "Edm.String",
+ nullable = false,
+ defaultValue = "",
+ maxLenght = Integer.MAX_VALUE,
+ fixedLenght = false,
+ precision = 0,
+ scale = 0,
+ unicode = true,
+ collation = "",
+ srid = "")
+ java.lang.String getDescription();
+
+ void setDescription(java.lang.String _description);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "RelatedProduct",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.Product",
+ targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+ targetContainer = "InMemoryEntities",
+ targetEntitySet = "Products",
+ containsTarget = false)
+ Product
+ getRelatedProduct();
+
+ void
+ setRelatedProduct(
+ Product _relatedProduct);
+
+ @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Reviews",
+ type = "Microsoft.Test.OData.Services.ODataWCFService.ProductReview",
+ targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+ targetContainer = "InMemoryEntities",
+ targetEntitySet = "ProductReviews",
+ containsTarget = false)
+ ProductReviewCollection
+ getReviews();
+
+ void
+ setReviews(
+ ProductReviewCollection _reviews);
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetailKey.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetailKey.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetailKey.java
new file mode 100644
index 0000000..c6fd5b4
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ProductDetailKey.java
@@ -0,0 +1,53 @@
+/*
+ * 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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.AbstractEntityKey;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.annotations.CompoundKeyElement;
+
+@org.apache.olingo.ext.proxy.api.annotations.CompoundKey
+public class ProductDetailKey extends AbstractEntityKey {
+
+ private static final long serialVersionUID = -6268946147639590355L;
+
+ private java.lang.Integer _productID;
+
+ @CompoundKeyElement(name = "ProductID", position = 0)
+ public java.lang.Integer getProductID() {
+ return _productID;
+ }
+
+ public void setProductID(final java.lang.Integer _productID) {
+ this._productID = _productID;
+ }
+
+ private java.lang.Integer _productDetailID;
+
+ @CompoundKeyElement(name = "ProductDetailID", position = 1)
+ public java.lang.Integer getProductDetailID() {
+ return _productDetailID;
+ }
+
+ public void setProductDetailID(final java.lang.Integer _productDetailID) {
+ this._productDetailID = _productDetailID;
+ }
+}