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:21 UTC

[07/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/SubscriptionTemplates.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/SubscriptionTemplates.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/SubscriptionTemplates.java
new file mode 100644
index 0000000..3a21caf
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/SubscriptionTemplates.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;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.AbstractEntitySet;
+import org.apache.olingo.fit.proxy.staticservice.odatawcfservice.types.Subscription;
+import org.apache.olingo.fit.proxy.staticservice.odatawcfservice.types.SubscriptionCollection;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+@org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "SubscriptionTemplates",
+    container = "Microsoft.Test.OData.Services.ODataWCFService.InMemoryEntities")
+public interface SubscriptionTemplates
+    extends
+    org.apache.olingo.ext.proxy.api.EntitySet<Subscription, SubscriptionCollection>,
+    org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<SubscriptionTemplates>,
+    AbstractEntitySet<Subscription, java.lang.Integer, SubscriptionCollection> {
+
+  Operations operations();
+
+  interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+    // 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/package-info.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/package-info.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/package-info.java
new file mode 100644
index 0000000..1eab18a
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * 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;
+

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccessLevel.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccessLevel.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccessLevel.java
new file mode 100644
index 0000000..29188ba
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccessLevel.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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.ODataWCFService")
+@org.apache.olingo.ext.proxy.api.annotations.EnumType(name = "AccessLevel",
+    underlyingType = EdmPrimitiveTypeKind.Int32,
+    isFlags = true)
+public enum AccessLevel {
+  None(0),
+  Read(1),
+  Write(2),
+  Execute(4),
+  ReadWrite(3);
+
+  private java.lang.Integer value;
+
+  public java.lang.Integer getValue() {
+    return value;
+  }
+
+  private AccessLevel(final java.lang.Integer value) {
+    this.value = value;
+  }
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Account.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Account.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Account.java
new file mode 100644
index 0000000..e52b984
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Account.java
@@ -0,0 +1,226 @@
+/*
+ * 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.OperationType;
+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 = "Account",
+    openType = false,
+    hasStream = false,
+    isAbstract = false)
+public interface Account
+    extends org.apache.olingo.ext.proxy.api.Annotatable,
+    org.apache.olingo.ext.proxy.api.EntityType<Account>, org.apache.olingo.ext.proxy.api.StructuredQuery<Account> {
+
+  @Key
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "AccountID",
+      type = "Edm.Int32",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.Integer getAccountID();
+
+  void setAccountID(java.lang.Integer _accountID);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Country",
+      type = "Edm.String",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.String getCountry();
+
+  void setCountry(java.lang.String _country);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "AccountInfo",
+      type = "Microsoft.Test.OData.Services.ODataWCFService.AccountInfo",
+      nullable = true,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  AccountInfo
+      getAccountInfo();
+
+      void
+      setAccountInfo(
+          AccountInfo _accountInfo);
+
+  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "MyGiftCard",
+      type = "Microsoft.Test.OData.Services.ODataWCFService.GiftCard",
+      targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+      targetContainer = "",
+      targetEntitySet = "",
+      containsTarget = true)
+  GiftCard
+      getMyGiftCard();
+
+      void
+      setMyGiftCard(
+          GiftCard _myGiftCard);
+
+  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "AvailableSubscriptionTemplatess",
+      type = "Microsoft.Test.OData.Services.ODataWCFService.Subscription",
+      targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+      targetContainer = "InMemoryEntities",
+      targetEntitySet = "SubscriptionTemplates",
+      containsTarget = false)
+  SubscriptionCollection
+      getAvailableSubscriptionTemplatess();
+
+      void
+      setAvailableSubscriptionTemplatess(
+          SubscriptionCollection _availableSubscriptionTemplatess);
+
+  Operations operations();
+
+  interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+
+    @org.apache.olingo.ext.proxy.api.annotations.Operation(
+        name = "GetDefaultPI",
+        type = OperationType.FUNCTION,
+        isComposable = false,
+        referenceType = PaymentInstrument.class,
+        returnType = "Microsoft.Test.OData.Services.ODataWCFService.PaymentInstrument")
+        org.apache.olingo.ext.proxy.api.StructuredInvoker<PaymentInstrument>
+        getDefaultPI(
+        );
+
+    @org.apache.olingo.ext.proxy.api.annotations.Operation(
+        name = "GetAccountInfo",
+        type = OperationType.FUNCTION,
+        isComposable = true,
+        referenceType = AccountInfo.class,
+        returnType = "Microsoft.Test.OData.Services.ODataWCFService.AccountInfo")
+    AccountInfoComposableInvoker
+        getAccountInfo(
+        );
+
+    @org.apache.olingo.ext.proxy.api.annotations.Operation(
+        name = "RefreshDefaultPI",
+        type = OperationType.ACTION,
+        referenceType = PaymentInstrument.class,
+        returnType = "Microsoft.Test.OData.Services.ODataWCFService.PaymentInstrument")
+        org.apache.olingo.ext.proxy.api.StructuredInvoker<PaymentInstrument>
+        refreshDefaultPI(
+            @Parameter(name = "newDate", type = "Edm.DateTimeOffset", nullable = true) java.sql.Timestamp newDate
+        );
+
+  }
+
+  Annotations annotations();
+
+  interface Annotations {
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "AccountID",
+        type = "Edm.Int32")
+    org.apache.olingo.ext.proxy.api.Annotatable getAccountIDAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Country",
+        type = "Edm.String")
+    org.apache.olingo.ext.proxy.api.Annotatable getCountryAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "AccountInfo",
+        type = "Microsoft.Test.OData.Services.ODataWCFService.AccountInfo")
+    org.apache.olingo.ext.proxy.api.Annotatable getAccountInfoAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "MyGiftCard",
+        type = "Microsoft.Test.OData.Services.ODataWCFService.GiftCard")
+    org.apache.olingo.ext.proxy.api.Annotatable getMyGiftCardAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "MyPaymentInstruments",
+        type = "Microsoft.Test.OData.Services.ODataWCFService.PaymentInstrument")
+    org.apache.olingo.ext.proxy.api.Annotatable getMyPaymentInstrumentsAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "ActiveSubscriptions",
+        type = "Microsoft.Test.OData.Services.ODataWCFService.Subscription")
+    org.apache.olingo.ext.proxy.api.Annotatable getActiveSubscriptionsAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(
+        name = "AvailableSubscriptionTemplatess",
+        type = "Microsoft.Test.OData.Services.ODataWCFService.Subscription")
+    org.apache.olingo.ext.proxy.api.Annotatable getAvailableSubscriptionTemplatessAnnotations();
+  }
+
+  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "MyPaymentInstruments",
+      type = "Microsoft.Test.OData.Services.ODataWCFService.Subscription",
+      targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+      targetContainer = "InMemoryEntities",
+      targetEntitySet = "SubscriptionTemplates",
+      containsTarget = true)
+      Account.MyPaymentInstruments
+      getMyPaymentInstruments();
+
+      void
+      setMyPaymentInstruments(
+          Account.MyPaymentInstruments _myPaymentInstruments);
+
+  @org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "MyPaymentInstruments", contained = true)
+  interface MyPaymentInstruments
+      extends
+      org.apache.olingo.ext.proxy.api.EntitySet<PaymentInstrument, PaymentInstrumentCollection>,
+      org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<MyPaymentInstruments>,
+  AbstractEntitySet<PaymentInstrument, java.lang.Integer, PaymentInstrumentCollection> {
+    // No additional methods needed for now.
+  }
+
+  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "ActiveSubscriptions",
+      type = "java.lang.Integer",
+      targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+      targetContainer = "InMemoryEntities",
+      targetEntitySet = "SubscriptionTemplates",
+      containsTarget = true)
+      Account.ActiveSubscriptions
+      getActiveSubscriptions();
+
+      void
+      setActiveSubscriptions(
+          Account.ActiveSubscriptions _activeSubscriptions);
+
+  @org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "ActiveSubscriptions", contained = true)
+  interface ActiveSubscriptions
+      extends
+      org.apache.olingo.ext.proxy.api.EntitySet<Subscription, SubscriptionCollection>,
+      org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<ActiveSubscriptions>,
+  AbstractEntitySet<Subscription, java.lang.Integer, SubscriptionCollection> {
+    // 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/AccountCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountCollection.java
new file mode 100644
index 0000000..079aca1
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountCollection.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 AccountCollection
+    extends
+    org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<AccountCollection>,
+org.apache.olingo.ext.proxy.api.EntityCollection<Account, AccountCollection, AccountCollection> {
+
+  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/AccountCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountCollectionComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountCollectionComposableInvoker.java
new file mode 100644
index 0000000..99fd326
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountCollectionComposableInvoker.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 AccountCollectionComposableInvoker
+    extends
+    org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<AccountCollection, AccountCollection.Operations> {
+
+  @Override
+  AccountCollectionComposableInvoker select(String... select);
+
+  @Override
+  AccountCollectionComposableInvoker 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/AccountComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountComposableInvoker.java
new file mode 100644
index 0000000..ba2c80d
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountComposableInvoker.java
@@ -0,0 +1,156 @@
+/*
+ * 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 AccountComposableInvoker
+    extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<Account, Account.Operations>
+{
+
+  @Override
+  AccountComposableInvoker select(String... select);
+
+  @Override
+  AccountComposableInvoker expand(String... expand);
+
+  @Key
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "AccountID",
+      type = "Edm.Int32",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.Integer getAccountID();
+
+  void setAccountID(java.lang.Integer _accountID);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Country",
+      type = "Edm.String",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.String getCountry();
+
+  void setCountry(java.lang.String _country);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "AccountInfo",
+      type = "Microsoft.Test.OData.Services.ODataWCFService.AccountInfo",
+      nullable = true,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  AccountInfo
+      getAccountInfo();
+
+      void
+      setAccountInfo(
+          AccountInfo _accountInfo);
+
+  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "MyGiftCard",
+      type = "Microsoft.Test.OData.Services.ODataWCFService.GiftCard",
+      targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+      targetContainer = "",
+      targetEntitySet = "",
+      containsTarget = true)
+  GiftCard
+      getMyGiftCard();
+
+      void
+      setMyGiftCard(
+          GiftCard _myGiftCard);
+
+  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "AvailableSubscriptionTemplatess",
+      type = "Microsoft.Test.OData.Services.ODataWCFService.Subscription",
+      targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+      targetContainer = "InMemoryEntities",
+      targetEntitySet = "SubscriptionTemplates",
+      containsTarget = false)
+  SubscriptionCollection
+      getAvailableSubscriptionTemplatess();
+
+      void
+      setAvailableSubscriptionTemplatess(
+          SubscriptionCollection _availableSubscriptionTemplatess);
+
+  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "MyPaymentInstruments",
+      type = "Microsoft.Test.OData.Services.ODataWCFService.Subscription",
+      targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+      targetContainer = "InMemoryEntities",
+      targetEntitySet = "SubscriptionTemplates",
+      containsTarget = true)
+      Account.MyPaymentInstruments
+      getMyPaymentInstruments();
+
+      void
+      setMyPaymentInstruments(
+          Account.MyPaymentInstruments _myPaymentInstruments);
+
+  @org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "MyPaymentInstruments", contained = true)
+  interface MyPaymentInstruments
+      extends
+      org.apache.olingo.ext.proxy.api.EntitySet<PaymentInstrument, PaymentInstrumentCollection>,
+      org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<MyPaymentInstruments>,
+  AbstractEntitySet<PaymentInstrument, java.lang.Integer, PaymentInstrumentCollection> {
+    // No additional methods needed for now.
+  }
+
+  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "ActiveSubscriptions",
+      type = "java.lang.Integer",
+      targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+      targetContainer = "InMemoryEntities",
+      targetEntitySet = "SubscriptionTemplates",
+      containsTarget = true)
+      Account.ActiveSubscriptions
+      getActiveSubscriptions();
+
+      void
+      setActiveSubscriptions(
+          Account.ActiveSubscriptions _activeSubscriptions);
+
+  @org.apache.olingo.ext.proxy.api.annotations.EntitySet(name = "ActiveSubscriptions", contained = true)
+  interface ActiveSubscriptions
+      extends
+      org.apache.olingo.ext.proxy.api.EntitySet<Subscription, SubscriptionCollection>,
+      org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<ActiveSubscriptions>,
+  AbstractEntitySet<Subscription, java.lang.Integer, SubscriptionCollection> {
+    // 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/AccountInfo.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountInfo.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountInfo.java
new file mode 100644
index 0000000..9a45be3
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountInfo.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.fit.proxy.staticservice.odatawcfservice.types;
+
+// CHECKSTYLE:OFF (Maven checkstyle)
+import org.apache.olingo.ext.proxy.api.AbstractOpenType;
+import org.apache.olingo.ext.proxy.api.Annotatable;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.ODataWCFService")
+@org.apache.olingo.ext.proxy.api.annotations.ComplexType(name = "AccountInfo",
+    isOpenType = true,
+    isAbstract = false)
+public interface AccountInfo
+    extends org.apache.olingo.ext.proxy.api.ComplexType<AccountInfo>,
+    org.apache.olingo.ext.proxy.api.StructuredQuery<AccountInfo>, AbstractOpenType {
+
+  @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);
+
+  Annotations annotations();
+
+  interface Annotations {
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "FirstName",
+        type = "Edm.String")
+    Annotatable getFirstNameAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "LastName",
+        type = "Edm.String")
+    Annotatable getLastNameAnnotations();
+
+  }
+
+  Operations operations();
+
+  interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+    //
+  }
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountInfoCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountInfoCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountInfoCollection.java
new file mode 100644
index 0000000..1c5e354
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountInfoCollection.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 AccountInfoCollection
+    extends
+    org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<AccountInfoCollection>,
+org.apache.olingo.ext.proxy.api.ComplexCollection<AccountInfo, AccountInfoCollection, AccountInfoCollection> {
+
+  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/AccountInfoCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountInfoCollectionComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountInfoCollectionComposableInvoker.java
new file mode 100644
index 0000000..734030b
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountInfoCollectionComposableInvoker.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 AccountInfoCollectionComposableInvoker
+    extends
+    org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<AccountInfoCollection, AccountInfoCollection.Operations> {
+
+  @Override
+  AccountInfoCollectionComposableInvoker select(String... select);
+
+  @Override
+  AccountInfoCollectionComposableInvoker 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/AccountInfoComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountInfoComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountInfoComposableInvoker.java
new file mode 100644
index 0000000..03317c8
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AccountInfoComposableInvoker.java
@@ -0,0 +1,66 @@
+/*
+ * 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.AbstractOpenType;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+public interface AccountInfoComposableInvoker
+    extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<AccountInfo, AccountInfo.Operations>
+    , AbstractOpenType {
+
+  @Override
+  AccountInfoComposableInvoker select(String... select);
+
+  @Override
+  AccountInfoComposableInvoker expand(String... expand);
+
+  @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);
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Address.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Address.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Address.java
new file mode 100644
index 0000000..066d4db
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Address.java
@@ -0,0 +1,102 @@
+/*
+ * 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.Annotatable;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.ODataWCFService")
+@org.apache.olingo.ext.proxy.api.annotations.ComplexType(name = "Address",
+    isOpenType = false,
+    isAbstract = false)
+public interface Address
+    extends org.apache.olingo.ext.proxy.api.ComplexType<Address>,
+    org.apache.olingo.ext.proxy.api.StructuredQuery<Address> {
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Street",
+      type = "Edm.String",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.String getStreet();
+
+  void setStreet(java.lang.String _street);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "City",
+      type = "Edm.String",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.String getCity();
+
+  void setCity(java.lang.String _city);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "PostalCode",
+      type = "Edm.String",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.String getPostalCode();
+
+  void setPostalCode(java.lang.String _postalCode);
+
+  Annotations annotations();
+
+  interface Annotations {
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Street",
+        type = "Edm.String")
+    Annotatable getStreetAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "City",
+        type = "Edm.String")
+    Annotatable getCityAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "PostalCode",
+        type = "Edm.String")
+    Annotatable getPostalCodeAnnotations();
+
+  }
+
+  Operations operations();
+
+  interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+    // 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/AddressCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AddressCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AddressCollection.java
new file mode 100644
index 0000000..a9d464f
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AddressCollection.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 AddressCollection
+    extends
+    org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<AddressCollection>,
+org.apache.olingo.ext.proxy.api.ComplexCollection<Address, AddressCollection, AddressCollection> {
+
+  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/AddressCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AddressCollectionComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AddressCollectionComposableInvoker.java
new file mode 100644
index 0000000..b44e1d1
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AddressCollectionComposableInvoker.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 AddressCollectionComposableInvoker
+    extends
+    org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<AddressCollection, AddressCollection.Operations> {
+
+  @Override
+  AddressCollectionComposableInvoker select(String... select);
+
+  @Override
+  AddressCollectionComposableInvoker 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/AddressComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AddressComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AddressComposableInvoker.java
new file mode 100644
index 0000000..74fc63b
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AddressComposableInvoker.java
@@ -0,0 +1,78 @@
+/*
+ * 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 AddressComposableInvoker
+    extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<Address, Address.Operations>
+{
+
+  @Override
+  AddressComposableInvoker select(String... select);
+
+  @Override
+  AddressComposableInvoker expand(String... expand);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Street",
+      type = "Edm.String",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.String getStreet();
+
+  void setStreet(java.lang.String _street);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "City",
+      type = "Edm.String",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.String getCity();
+
+  void setCity(java.lang.String _city);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "PostalCode",
+      type = "Edm.String",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.String getPostalCode();
+
+  void setPostalCode(java.lang.String _postalCode);
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Asset.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Asset.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Asset.java
new file mode 100644
index 0000000..611dd70
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Asset.java
@@ -0,0 +1,105 @@
+/*
+ * 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)
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.ODataWCFService")
+@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "Asset",
+    openType = false,
+    hasStream = false,
+    isAbstract = false)
+public interface Asset
+    extends org.apache.olingo.ext.proxy.api.Annotatable,
+    org.apache.olingo.ext.proxy.api.EntityType<Asset>, org.apache.olingo.ext.proxy.api.StructuredQuery<Asset> {
+
+  @Key
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "AssetID",
+      type = "Edm.Int32",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.Integer getAssetID();
+
+  void setAssetID(java.lang.Integer _assetID);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+      type = "Edm.String",
+      nullable = true,
+      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 = "Number",
+      type = "Edm.Int32",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.Integer getNumber();
+
+  void setNumber(java.lang.Integer _number);
+
+  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 = "AssetID",
+        type = "Edm.Int32")
+    org.apache.olingo.ext.proxy.api.Annotatable getAssetIDAnnotations();
+
+    @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 = "Number",
+        type = "Edm.Int32")
+    org.apache.olingo.ext.proxy.api.Annotatable getNumberAnnotations();
+
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AssetCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AssetCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AssetCollection.java
new file mode 100644
index 0000000..c3255c5
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AssetCollection.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 AssetCollection
+    extends
+    org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<AssetCollection>,
+org.apache.olingo.ext.proxy.api.EntityCollection<Asset, AssetCollection, AssetCollection> {
+
+  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/AssetCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AssetCollectionComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AssetCollectionComposableInvoker.java
new file mode 100644
index 0000000..0335145
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AssetCollectionComposableInvoker.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 AssetCollectionComposableInvoker
+    extends
+    org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<AssetCollection, AssetCollection.Operations> {
+
+  @Override
+  AssetCollectionComposableInvoker select(String... select);
+
+  @Override
+  AssetCollectionComposableInvoker 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/AssetComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AssetComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AssetComposableInvoker.java
new file mode 100644
index 0000000..b32b38c
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/AssetComposableInvoker.java
@@ -0,0 +1,82 @@
+/*
+ * 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 AssetComposableInvoker
+    extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<Asset, Asset.Operations>
+{
+
+  @Override
+  AssetComposableInvoker select(String... select);
+
+  @Override
+  AssetComposableInvoker expand(String... expand);
+
+  @Key
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "AssetID",
+      type = "Edm.Int32",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.Integer getAssetID();
+
+  void setAssetID(java.lang.Integer _assetID);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+      type = "Edm.String",
+      nullable = true,
+      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 = "Number",
+      type = "Edm.Int32",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.Integer getNumber();
+
+  void setNumber(java.lang.Integer _number);
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Club.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Club.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Club.java
new file mode 100644
index 0000000..3eb4fee
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Club.java
@@ -0,0 +1,86 @@
+/*
+ * 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)
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.ODataWCFService")
+@org.apache.olingo.ext.proxy.api.annotations.EntityType(name = "Club",
+    openType = false,
+    hasStream = false,
+    isAbstract = false)
+public interface Club
+    extends org.apache.olingo.ext.proxy.api.Annotatable,
+    org.apache.olingo.ext.proxy.api.EntityType<Club>, org.apache.olingo.ext.proxy.api.StructuredQuery<Club> {
+
+  @Key
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ClubID",
+      type = "Edm.Int32",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.Integer getClubID();
+
+  void setClubID(java.lang.Integer _clubID);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+      type = "Edm.String",
+      nullable = true,
+      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);
+
+  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 = "ClubID",
+        type = "Edm.Int32")
+    org.apache.olingo.ext.proxy.api.Annotatable getClubIDAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Name",
+        type = "Edm.String")
+    org.apache.olingo.ext.proxy.api.Annotatable getNameAnnotations();
+
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ClubCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ClubCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ClubCollection.java
new file mode 100644
index 0000000..0149fda
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ClubCollection.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 ClubCollection
+    extends
+    org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<ClubCollection>,
+org.apache.olingo.ext.proxy.api.EntityCollection<Club, ClubCollection, ClubCollection> {
+
+  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/ClubCollectionComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ClubCollectionComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ClubCollectionComposableInvoker.java
new file mode 100644
index 0000000..c9864ef
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ClubCollectionComposableInvoker.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 ClubCollectionComposableInvoker
+    extends
+    org.apache.olingo.ext.proxy.api.StructuredCollectionComposableInvoker<ClubCollection, ClubCollection.Operations> {
+
+  @Override
+  ClubCollectionComposableInvoker select(String... select);
+
+  @Override
+  ClubCollectionComposableInvoker 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/ClubComposableInvoker.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ClubComposableInvoker.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ClubComposableInvoker.java
new file mode 100644
index 0000000..8726766
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/ClubComposableInvoker.java
@@ -0,0 +1,67 @@
+/*
+ * 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 ClubComposableInvoker
+    extends org.apache.olingo.ext.proxy.api.StructuredComposableInvoker<Club, Club.Operations>
+{
+
+  @Override
+  ClubComposableInvoker select(String... select);
+
+  @Override
+  ClubComposableInvoker expand(String... expand);
+
+  @Key
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "ClubID",
+      type = "Edm.Int32",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.Integer getClubID();
+
+  void setClubID(java.lang.Integer _clubID);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+      type = "Edm.String",
+      nullable = true,
+      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);
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Color.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Color.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Color.java
new file mode 100644
index 0000000..746e662
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Color.java
@@ -0,0 +1,44 @@
+/*
+ * 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.commons.api.edm.EdmPrimitiveTypeKind;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.ODataWCFService")
+@org.apache.olingo.ext.proxy.api.annotations.EnumType(name = "Color",
+    underlyingType = EdmPrimitiveTypeKind.Int32,
+    isFlags = false)
+public enum Color {
+  Red(1),
+  Green(2),
+  Blue(4);
+
+  private java.lang.Integer value;
+
+  public java.lang.Integer getValue() {
+    return value;
+  }
+
+  private Color(final java.lang.Integer value) {
+    this.value = value;
+  }
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Company.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Company.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Company.java
new file mode 100644
index 0000000..2669036
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/Company.java
@@ -0,0 +1,232 @@
+/*
+ * 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.AbstractOpenType;
+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 = "Company",
+    openType = true,
+    hasStream = false,
+    isAbstract = false)
+public interface Company
+    extends org.apache.olingo.ext.proxy.api.Annotatable,
+    org.apache.olingo.ext.proxy.api.EntityType<Company>, org.apache.olingo.ext.proxy.api.StructuredQuery<Company>,
+    AbstractOpenType {
+
+  @Key
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "CompanyID",
+      type = "Edm.Int32",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.Integer getCompanyID();
+
+  void setCompanyID(java.lang.Integer _companyID);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "CompanyCategory",
+      type = "Microsoft.Test.OData.Services.ODataWCFService.CompanyCategory",
+      nullable = true,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  CompanyCategory
+      getCompanyCategory();
+
+      void
+      setCompanyCategory(
+          CompanyCategory _companyCategory);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Revenue",
+      type = "Edm.Int64",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.Long getRevenue();
+
+  void setRevenue(java.lang.Long _revenue);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Name",
+      type = "Edm.String",
+      nullable = true,
+      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 = "Address",
+      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 getAddress();
+
+      void
+      setAddress(
+          Address _address);
+
+  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Employees",
+      type = "Microsoft.Test.OData.Services.ODataWCFService.Employee",
+      targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+      targetContainer = "InMemoryEntities",
+      targetEntitySet = "Employees",
+      containsTarget = false)
+  EmployeeCollection
+      getEmployees();
+
+      void
+      setEmployees(
+          EmployeeCollection _employees);
+
+  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "VipCustomer",
+      type = "Microsoft.Test.OData.Services.ODataWCFService.Customer",
+      targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+      targetContainer = "InMemoryEntities",
+      targetEntitySet = "VipCustomer",
+      containsTarget = false)
+  Customer
+      getVipCustomer();
+
+      void
+      setVipCustomer(
+          Customer _vipCustomer);
+
+  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "Departments",
+      type = "Microsoft.Test.OData.Services.ODataWCFService.Department",
+      targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+      targetContainer = "InMemoryEntities",
+      targetEntitySet = "Departments",
+      containsTarget = false)
+  DepartmentCollection
+      getDepartments();
+
+      void
+      setDepartments(
+          DepartmentCollection _departments);
+
+  @org.apache.olingo.ext.proxy.api.annotations.NavigationProperty(name = "CoreDepartment",
+      type = "Microsoft.Test.OData.Services.ODataWCFService.Department",
+      targetSchema = "Microsoft.Test.OData.Services.ODataWCFService",
+      targetContainer = "InMemoryEntities",
+      targetEntitySet = "Departments",
+      containsTarget = false)
+  Department
+      getCoreDepartment();
+
+      void
+      setCoreDepartment(
+          Department _coreDepartment);
+
+  Operations operations();
+
+  interface Operations extends org.apache.olingo.ext.proxy.api.Operations {
+
+    @org.apache.olingo.ext.proxy.api.annotations.Operation(name = "GetEmployeesCount",
+        type = OperationType.FUNCTION,
+        isComposable = false,
+        referenceType = java.lang.Integer.class, returnType = "Edm.Int32")
+    org.apache.olingo.ext.proxy.api.Invoker<java.lang.Integer> getEmployeesCount(
+        );
+
+    @org.apache.olingo.ext.proxy.api.annotations.Operation(name = "IncreaseRevenue",
+        type = OperationType.ACTION,
+        referenceType = java.lang.Long.class, returnType = "Edm.Int64")
+    org.apache.olingo.ext.proxy.api.Invoker<java.lang.Long> increaseRevenue(
+        @Parameter(name = "IncreaseValue", type = "Edm.Int64", nullable = true) java.lang.Long increaseValue
+        );
+
+  }
+
+  Annotations annotations();
+
+  interface Annotations {
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "CompanyID",
+        type = "Edm.Int32")
+    org.apache.olingo.ext.proxy.api.Annotatable getCompanyIDAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "CompanyCategory",
+        type = "Microsoft.Test.OData.Services.ODataWCFService.CompanyCategory")
+    org.apache.olingo.ext.proxy.api.Annotatable getCompanyCategoryAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Revenue",
+        type = "Edm.Int64")
+    org.apache.olingo.ext.proxy.api.Annotatable getRevenueAnnotations();
+
+    @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 = "Address",
+        type = "Microsoft.Test.OData.Services.ODataWCFService.Address")
+    org.apache.olingo.ext.proxy.api.Annotatable getAddressAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Employees",
+        type = "Microsoft.Test.OData.Services.ODataWCFService.Employee")
+    org.apache.olingo.ext.proxy.api.Annotatable getEmployeesAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "VipCustomer",
+        type = "Microsoft.Test.OData.Services.ODataWCFService.Customer")
+    org.apache.olingo.ext.proxy.api.Annotatable getVipCustomerAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "Departments",
+        type = "Microsoft.Test.OData.Services.ODataWCFService.Department")
+    org.apache.olingo.ext.proxy.api.Annotatable getDepartmentsAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForNavigationProperty(name = "CoreDepartment",
+        type = "Microsoft.Test.OData.Services.ODataWCFService.Department")
+    org.apache.olingo.ext.proxy.api.Annotatable getCoreDepartmentAnnotations();
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/d16d2b9c/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/CompanyAddress.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/CompanyAddress.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/CompanyAddress.java
new file mode 100644
index 0000000..2055816
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/CompanyAddress.java
@@ -0,0 +1,136 @@
+/*
+ * 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.Annotatable;
+
+// CHECKSTYLE:ON (Maven checkstyle)
+
+@org.apache.olingo.ext.proxy.api.annotations.Namespace("Microsoft.Test.OData.Services.ODataWCFService")
+@org.apache.olingo.ext.proxy.api.annotations.ComplexType(name = "CompanyAddress",
+    isOpenType = false,
+    isAbstract = false,
+    baseType = "Microsoft.Test.OData.Services.ODataWCFService.Address")
+public interface CompanyAddress
+    extends Address {
+
+  @Override
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "Street",
+      type = "Edm.String",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.String getStreet();
+
+  @Override
+  void setStreet(java.lang.String _street);
+
+  @Override
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "City",
+      type = "Edm.String",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.String getCity();
+
+  @Override
+  void setCity(java.lang.String _city);
+
+  @Override
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "PostalCode",
+      type = "Edm.String",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.String getPostalCode();
+
+  @Override
+  void setPostalCode(java.lang.String _postalCode);
+
+  @org.apache.olingo.ext.proxy.api.annotations.Property(name = "CompanyName",
+      type = "Edm.String",
+      nullable = false,
+      defaultValue = "",
+      maxLenght = Integer.MAX_VALUE,
+      fixedLenght = false,
+      precision = 0,
+      scale = 0,
+      unicode = true,
+      collation = "",
+      srid = "")
+  java.lang.String getCompanyName();
+
+  void setCompanyName(java.lang.String _companyName);
+
+  @Override
+  Annotations annotations();
+
+  interface Annotations
+      extends
+          Address.Annotations {
+
+    @Override
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "Street",
+        type = "Edm.String")
+    Annotatable getStreetAnnotations();
+
+    @Override
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "City",
+        type = "Edm.String")
+    Annotatable getCityAnnotations();
+
+    @Override
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "PostalCode",
+        type = "Edm.String")
+    Annotatable getPostalCodeAnnotations();
+
+    @org.apache.olingo.ext.proxy.api.annotations.AnnotationsForProperty(name = "CompanyName",
+        type = "Edm.String")
+    Annotatable getCompanyNameAnnotations();
+
+  }
+
+  @Override
+  Operations operations();
+
+  interface Operations
+      extends
+          Address.Operations {
+    // 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/CompanyAddressCollection.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/CompanyAddressCollection.java b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/CompanyAddressCollection.java
new file mode 100644
index 0000000..7a14796
--- /dev/null
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/staticservice/odatawcfservice/types/CompanyAddressCollection.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 CompanyAddressCollection
+    extends
+    org.apache.olingo.ext.proxy.api.StructuredCollectionQuery<CompanyAddressCollection>,
+org.apache.olingo.ext.proxy.api.ComplexCollection<CompanyAddress, CompanyAddressCollection, CompanyAddressCollection> {
+
+  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();
+}