You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by il...@apache.org on 2014/07/23 12:21:23 UTC

[10/10] git commit: [OLINGO-363] pojogen now saves metadata information in the generated Service class, and proxy code fetches it from there

[OLINGO-363] pojogen now saves metadata information in the generated Service class, and proxy code fetches it from there


Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/1c5b33ea
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/1c5b33ea
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/1c5b33ea

Branch: refs/heads/master
Commit: 1c5b33ea5d657699781085e47b71a820a377ee63
Parents: c75c29c
Author: Francesco Chicchiriccò <--global>
Authored: Wed Jul 23 12:20:48 2014 +0200
Committer: Francesco Chicchiriccò <--global>
Committed: Wed Jul 23 12:20:48 2014 +0200

----------------------------------------------------------------------
 .../olingo/ext/proxy/AbstractService.java       | 37 +++++++-
 .../olingo/ext/pojogen/AbstractPOJOGenMojo.java | 43 +++++++--
 .../src/main/resources/service.vm               | 29 +++---
 .../olingo/fit/AbstractBaseTestITCase.java      | 16 ++--
 .../olingo/fit/CXFOAuth2HttpClientFactory.java  |  2 +-
 .../proxy/v3/ActionOverloadingTestITCase.java   |  1 -
 .../olingo/fit/proxy/v3/AsyncTestITCase.java    |  1 -
 .../fit/proxy/v3/EntityRetrieveTestITCase.java  |  1 -
 .../fit/proxy/v3/EntitySetTestITCase.java       |  1 -
 .../olingo/fit/proxy/v3/FilterTestITCase.java   |  1 -
 .../fit/proxy/v3/PrimitiveKeysTestITCase.java   |  1 -
 .../olingo/fit/proxy/v3/PropertyTestITCase.java |  1 -
 .../fit/proxy/v3/actionoverloading/Service.java | 30 +++---
 .../AllGeoCollectionTypesSet.java               |  1 -
 .../astoriadefaultservice/AllGeoTypesSet.java   |  1 -
 .../services/astoriadefaultservice/Car.java     |  1 -
 .../astoriadefaultservice/Computer.java         |  1 -
 .../astoriadefaultservice/ComputerDetail.java   |  1 -
 .../astoriadefaultservice/Customer.java         |  1 -
 .../astoriadefaultservice/CustomerInfo.java     |  1 -
 .../astoriadefaultservice/DefaultContainer.java |  1 -
 .../services/astoriadefaultservice/Driver.java  |  1 -
 .../astoriadefaultservice/LastLogin.java        |  1 -
 .../services/astoriadefaultservice/License.java |  1 -
 .../services/astoriadefaultservice/Login.java   |  1 -
 .../astoriadefaultservice/MappedEntityType.java |  1 -
 .../services/astoriadefaultservice/Message.java |  1 -
 .../MessageAttachment.java                      |  1 -
 .../services/astoriadefaultservice/Order.java   |  1 -
 .../astoriadefaultservice/OrderLine.java        |  1 -
 .../astoriadefaultservice/PageView.java         |  1 -
 .../services/astoriadefaultservice/Person.java  |  1 -
 .../astoriadefaultservice/PersonMetadata.java   |  1 -
 .../services/astoriadefaultservice/Product.java |  1 -
 .../astoriadefaultservice/ProductDetail.java    |  1 -
 .../astoriadefaultservice/ProductPhoto.java     |  1 -
 .../astoriadefaultservice/ProductReview.java    |  1 -
 .../astoriadefaultservice/RSAToken.java         |  1 -
 .../astoriadefaultservice/package-info.java     |  1 -
 .../astoriadefaultservice/types/Aliases.java    |  1 -
 .../types/AliasesCollection.java                |  1 -
 .../types/AllSpatialCollectionTypes.java        |  1 -
 .../AllSpatialCollectionTypesCollection.java    |  1 -
 .../types/AllSpatialCollectionTypes_Simple.java |  1 -
 ...SpatialCollectionTypes_SimpleCollection.java |  1 -
 .../types/AllSpatialTypes.java                  |  1 -
 .../types/AllSpatialTypesCollection.java        |  1 -
 .../astoriadefaultservice/types/AuditInfo.java  |  1 -
 .../types/AuditInfoCollection.java              |  1 -
 .../types/BackOrderLine.java                    |  1 -
 .../types/BackOrderLine2.java                   |  1 -
 .../types/BackOrderLine2Collection.java         |  1 -
 .../types/BackOrderLineCollection.java          |  1 -
 .../astoriadefaultservice/types/Car.java        |  1 -
 .../types/CarCollection.java                    |  1 -
 .../types/ComplexToCategory.java                |  1 -
 .../types/ComplexToCategoryCollection.java      |  1 -
 .../astoriadefaultservice/types/Computer.java   |  1 -
 .../types/ComputerCollection.java               |  1 -
 .../types/ComputerDetail.java                   |  1 -
 .../types/ComputerDetailCollection.java         |  1 -
 .../types/ConcurrencyInfo.java                  |  1 -
 .../types/ConcurrencyInfoCollection.java        |  1 -
 .../types/ContactDetails.java                   |  1 -
 .../types/ContactDetailsCollection.java         |  1 -
 .../astoriadefaultservice/types/Contractor.java |  1 -
 .../types/ContractorCollection.java             |  1 -
 .../astoriadefaultservice/types/Customer.java   |  1 -
 .../types/CustomerCollection.java               |  1 -
 .../types/CustomerInfo.java                     |  1 -
 .../types/CustomerInfoCollection.java           |  1 -
 .../astoriadefaultservice/types/Dimensions.java |  1 -
 .../types/DimensionsCollection.java             |  1 -
 .../types/DiscontinuedProduct.java              |  1 -
 .../types/DiscontinuedProductCollection.java    |  1 -
 .../astoriadefaultservice/types/Driver.java     |  1 -
 .../types/DriverCollection.java                 |  1 -
 .../astoriadefaultservice/types/Employee.java   |  1 -
 .../types/EmployeeCollection.java               |  1 -
 .../astoriadefaultservice/types/LastLogin.java  |  1 -
 .../types/LastLoginCollection.java              |  1 -
 .../astoriadefaultservice/types/License.java    |  1 -
 .../types/LicenseCollection.java                |  1 -
 .../astoriadefaultservice/types/Login.java      |  1 -
 .../types/LoginCollection.java                  |  1 -
 .../types/MappedEntityType.java                 |  1 -
 .../types/MappedEntityTypeCollection.java       |  1 -
 .../astoriadefaultservice/types/Message.java    |  1 -
 .../types/MessageAttachment.java                |  1 -
 .../types/MessageAttachmentCollection.java      |  1 -
 .../types/MessageCollection.java                |  1 -
 .../astoriadefaultservice/types/MessageKey.java |  1 -
 .../astoriadefaultservice/types/Order.java      |  1 -
 .../types/OrderCollection.java                  |  1 -
 .../astoriadefaultservice/types/OrderLine.java  |  1 -
 .../types/OrderLineCollection.java              |  1 -
 .../types/OrderLineKey.java                     |  1 -
 .../astoriadefaultservice/types/PageView.java   |  1 -
 .../types/PageViewCollection.java               |  1 -
 .../astoriadefaultservice/types/Person.java     |  1 -
 .../types/PersonCollection.java                 |  1 -
 .../types/PersonMetadata.java                   |  1 -
 .../types/PersonMetadataCollection.java         |  1 -
 .../astoriadefaultservice/types/Phone.java      |  1 -
 .../types/PhoneCollection.java                  |  1 -
 .../astoriadefaultservice/types/Product.java    |  1 -
 .../types/ProductCollection.java                |  1 -
 .../types/ProductDetail.java                    |  1 -
 .../types/ProductDetailCollection.java          |  1 -
 .../types/ProductPageView.java                  |  1 -
 .../types/ProductPageViewCollection.java        |  1 -
 .../types/ProductPhoto.java                     |  1 -
 .../types/ProductPhotoCollection.java           |  1 -
 .../types/ProductPhotoKey.java                  |  1 -
 .../types/ProductReview.java                    |  1 -
 .../types/ProductReviewCollection.java          |  1 -
 .../types/ProductReviewKey.java                 |  1 -
 .../astoriadefaultservice/types/RSAToken.java   |  1 -
 .../types/RSATokenCollection.java               |  1 -
 .../types/SpecialEmployee.java                  |  1 -
 .../types/SpecialEmployeeCollection.java        |  1 -
 .../types/package-info.java                     |  1 -
 .../olingo/fit/proxy/v3/opentype/Service.java   | 30 +++---
 .../opentypesservicev3/DefaultContainer.java    |  1 -
 .../odata/services/opentypesservicev3/Row.java  |  1 -
 .../services/opentypesservicev3/RowIndex.java   |  1 -
 .../opentypesservicev3/package-info.java        |  1 -
 .../types/ContactDetails.java                   |  1 -
 .../types/ContactDetailsCollection.java         |  1 -
 .../opentypesservicev3/types/IndexedRow.java    |  1 -
 .../types/IndexedRowCollection.java             |  1 -
 .../services/opentypesservicev3/types/Row.java  |  1 -
 .../opentypesservicev3/types/RowCollection.java |  1 -
 .../opentypesservicev3/types/RowIndex.java      |  1 -
 .../types/RowIndexCollection.java               |  1 -
 .../opentypesservicev3/types/package-info.java  |  1 -
 .../fit/proxy/v3/primitivekeys/Service.java     | 30 +++---
 .../primitivekeysservice/EdmBinarySet.java      |  1 -
 .../primitivekeysservice/EdmBooleanSet.java     |  1 -
 .../primitivekeysservice/EdmByteSet.java        |  1 -
 .../EdmDateTimeOffsetSet.java                   |  1 -
 .../primitivekeysservice/EdmDateTimeSet.java    |  1 -
 .../primitivekeysservice/EdmDecimalSet.java     |  1 -
 .../primitivekeysservice/EdmDoubleSet.java      |  1 -
 .../primitivekeysservice/EdmGuidSet.java        |  1 -
 .../primitivekeysservice/EdmInt16Set.java       |  1 -
 .../primitivekeysservice/EdmInt32Set.java       |  1 -
 .../primitivekeysservice/EdmInt64Set.java       |  1 -
 .../primitivekeysservice/EdmSingleSet.java      |  1 -
 .../primitivekeysservice/EdmStringSet.java      |  1 -
 .../primitivekeysservice/EdmTimeSet.java        |  1 -
 .../services/primitivekeysservice/Folders.java  |  1 -
 .../primitivekeysservice/TestContext.java       |  1 -
 .../primitivekeysservice/package-info.java      |  1 -
 .../primitivekeysservice/types/EdmBinary.java   |  1 -
 .../types/EdmBinaryCollection.java              |  1 -
 .../primitivekeysservice/types/EdmBoolean.java  |  1 -
 .../types/EdmBooleanCollection.java             |  1 -
 .../primitivekeysservice/types/EdmByte.java     |  1 -
 .../types/EdmByteCollection.java                |  1 -
 .../primitivekeysservice/types/EdmDateTime.java |  1 -
 .../types/EdmDateTimeCollection.java            |  1 -
 .../types/EdmDateTimeOffset.java                |  1 -
 .../types/EdmDateTimeOffsetCollection.java      |  1 -
 .../primitivekeysservice/types/EdmDecimal.java  |  1 -
 .../types/EdmDecimalCollection.java             |  1 -
 .../primitivekeysservice/types/EdmDouble.java   |  1 -
 .../types/EdmDoubleCollection.java              |  1 -
 .../primitivekeysservice/types/EdmGuid.java     |  1 -
 .../types/EdmGuidCollection.java                |  1 -
 .../primitivekeysservice/types/EdmInt16.java    |  1 -
 .../types/EdmInt16Collection.java               |  1 -
 .../primitivekeysservice/types/EdmInt32.java    |  1 -
 .../types/EdmInt32Collection.java               |  1 -
 .../primitivekeysservice/types/EdmInt64.java    |  1 -
 .../types/EdmInt64Collection.java               |  1 -
 .../primitivekeysservice/types/EdmSingle.java   |  1 -
 .../types/EdmSingleCollection.java              |  1 -
 .../primitivekeysservice/types/EdmString.java   |  1 -
 .../types/EdmStringCollection.java              |  1 -
 .../primitivekeysservice/types/EdmTime.java     |  1 -
 .../types/EdmTimeCollection.java                |  1 -
 .../primitivekeysservice/types/Folder.java      |  1 -
 .../types/FolderCollection.java                 |  1 -
 .../types/package-info.java                     |  1 -
 .../fit/proxy/v3/staticservice/Service.java     | 30 +++---
 .../AllGeoCollectionTypesSet.java               |  1 -
 .../astoriadefaultservice/AllGeoTypesSet.java   |  1 -
 .../services/astoriadefaultservice/Car.java     |  1 -
 .../astoriadefaultservice/Computer.java         |  1 -
 .../astoriadefaultservice/ComputerDetail.java   |  1 -
 .../astoriadefaultservice/Customer.java         |  1 -
 .../astoriadefaultservice/CustomerInfo.java     |  1 -
 .../astoriadefaultservice/DefaultContainer.java |  1 -
 .../services/astoriadefaultservice/Driver.java  |  1 -
 .../astoriadefaultservice/LastLogin.java        |  1 -
 .../services/astoriadefaultservice/License.java |  1 -
 .../services/astoriadefaultservice/Login.java   |  1 -
 .../astoriadefaultservice/MappedEntityType.java |  1 -
 .../services/astoriadefaultservice/Message.java |  1 -
 .../MessageAttachment.java                      |  1 -
 .../services/astoriadefaultservice/Order.java   |  1 -
 .../astoriadefaultservice/OrderLine.java        |  1 -
 .../astoriadefaultservice/PageView.java         |  1 -
 .../services/astoriadefaultservice/Person.java  |  1 -
 .../astoriadefaultservice/PersonMetadata.java   |  1 -
 .../services/astoriadefaultservice/Product.java |  1 -
 .../astoriadefaultservice/ProductDetail.java    |  1 -
 .../astoriadefaultservice/ProductPhoto.java     |  1 -
 .../astoriadefaultservice/ProductReview.java    |  1 -
 .../astoriadefaultservice/RSAToken.java         |  1 -
 .../astoriadefaultservice/package-info.java     |  1 -
 .../astoriadefaultservice/types/Aliases.java    |  1 -
 .../types/AliasesCollection.java                |  1 -
 .../types/AllSpatialCollectionTypes.java        |  1 -
 .../AllSpatialCollectionTypesCollection.java    |  1 -
 .../types/AllSpatialCollectionTypes_Simple.java |  1 -
 ...SpatialCollectionTypes_SimpleCollection.java |  1 -
 .../types/AllSpatialTypes.java                  |  1 -
 .../types/AllSpatialTypesCollection.java        |  1 -
 .../astoriadefaultservice/types/AuditInfo.java  |  1 -
 .../types/AuditInfoCollection.java              |  1 -
 .../types/BackOrderLine.java                    |  1 -
 .../types/BackOrderLine2.java                   |  1 -
 .../types/BackOrderLine2Collection.java         |  1 -
 .../types/BackOrderLineCollection.java          |  1 -
 .../astoriadefaultservice/types/Car.java        |  1 -
 .../types/CarCollection.java                    |  1 -
 .../types/ComplexToCategory.java                |  1 -
 .../types/ComplexToCategoryCollection.java      |  1 -
 .../types/ComplexWithAllPrimitiveTypes.java     |  1 -
 .../ComplexWithAllPrimitiveTypesCollection.java |  1 -
 .../astoriadefaultservice/types/Computer.java   |  1 -
 .../types/ComputerCollection.java               |  1 -
 .../types/ComputerDetail.java                   |  1 -
 .../types/ComputerDetailCollection.java         |  1 -
 .../types/ConcurrencyInfo.java                  |  1 -
 .../types/ConcurrencyInfoCollection.java        |  1 -
 .../types/ContactDetails.java                   |  1 -
 .../types/ContactDetailsCollection.java         |  1 -
 .../astoriadefaultservice/types/Contractor.java |  1 -
 .../types/ContractorCollection.java             |  1 -
 .../astoriadefaultservice/types/Customer.java   |  1 -
 .../types/CustomerCollection.java               |  1 -
 .../types/CustomerInfo.java                     |  1 -
 .../types/CustomerInfoCollection.java           |  1 -
 .../astoriadefaultservice/types/Dimensions.java |  1 -
 .../types/DimensionsCollection.java             |  1 -
 .../types/DiscontinuedProduct.java              |  1 -
 .../types/DiscontinuedProductCollection.java    |  1 -
 .../astoriadefaultservice/types/Driver.java     |  1 -
 .../types/DriverCollection.java                 |  1 -
 .../astoriadefaultservice/types/Employee.java   |  1 -
 .../types/EmployeeCollection.java               |  1 -
 .../astoriadefaultservice/types/LastLogin.java  |  1 -
 .../types/LastLoginCollection.java              |  1 -
 .../astoriadefaultservice/types/License.java    |  1 -
 .../types/LicenseCollection.java                |  1 -
 .../astoriadefaultservice/types/Login.java      |  1 -
 .../types/LoginCollection.java                  |  1 -
 .../types/MappedEntityType.java                 |  1 -
 .../types/MappedEntityTypeCollection.java       |  1 -
 .../astoriadefaultservice/types/Message.java    |  1 -
 .../types/MessageAttachment.java                |  1 -
 .../types/MessageAttachmentCollection.java      |  1 -
 .../types/MessageCollection.java                |  1 -
 .../astoriadefaultservice/types/MessageKey.java |  1 -
 .../astoriadefaultservice/types/Order.java      |  1 -
 .../types/OrderCollection.java                  |  1 -
 .../astoriadefaultservice/types/OrderLine.java  |  1 -
 .../types/OrderLineCollection.java              |  1 -
 .../types/OrderLineKey.java                     |  1 -
 .../astoriadefaultservice/types/PageView.java   |  1 -
 .../types/PageViewCollection.java               |  1 -
 .../astoriadefaultservice/types/Person.java     |  1 -
 .../types/PersonCollection.java                 |  1 -
 .../types/PersonMetadata.java                   |  1 -
 .../types/PersonMetadataCollection.java         |  1 -
 .../astoriadefaultservice/types/Phone.java      |  1 -
 .../types/PhoneCollection.java                  |  1 -
 .../astoriadefaultservice/types/Product.java    |  1 -
 .../types/ProductCollection.java                |  1 -
 .../types/ProductDetail.java                    |  1 -
 .../types/ProductDetailCollection.java          |  1 -
 .../types/ProductPageView.java                  |  1 -
 .../types/ProductPageViewCollection.java        |  1 -
 .../types/ProductPhoto.java                     |  1 -
 .../types/ProductPhotoCollection.java           |  1 -
 .../types/ProductPhotoKey.java                  |  1 -
 .../types/ProductReview.java                    |  1 -
 .../types/ProductReviewCollection.java          |  1 -
 .../types/ProductReviewKey.java                 |  1 -
 .../astoriadefaultservice/types/RSAToken.java   |  1 -
 .../types/RSATokenCollection.java               |  1 -
 .../types/SpecialEmployee.java                  |  1 -
 .../types/SpecialEmployeeCollection.java        |  1 -
 .../types/package-info.java                     |  1 -
 .../fit/proxy/v4/APIBasicDesignTestITCase.java  |  9 +-
 .../olingo/fit/proxy/v4/AsyncTestITCase.java    |  1 -
 .../proxy/v4/AuthEntityCreateTestITCase.java    |  1 -
 .../proxy/v4/AuthEntityRetrieveTestITCase.java  |  1 -
 .../fit/proxy/v4/EntityRetrieveTestITCase.java  |  1 -
 .../fit/proxy/v4/EntitySetTestITCase.java       |  1 -
 .../olingo/fit/proxy/v4/FilterTestITCase.java   |  1 -
 .../fit/proxy/v4/KeyAsSegmentTestITCase.java    |  1 -
 ...TransactionalAuthEntityCreateTestITCase.java |  1 -
 .../NonTransactionalEntityCreateTestITCase.java |  1 -
 .../NonTransactionalEntityUpdateTestITCase.java |  1 -
 .../NonTransactionalMediaEntityTestITCase.java  |  1 -
 .../olingo/fit/proxy/v4/OpenTypeTestITCase.java |  1 -
 .../olingo/fit/proxy/v4/PropertyTestITCase.java |  1 -
 .../fit/proxy/v4/SingletonTestITCase.java       |  1 -
 .../v4/UnauthorizedEntityCreateTestITCase.java  |  1 -
 .../olingo/fit/proxy/v4/demo/Service.java       | 30 +++---
 .../proxy/v4/demo/odatademo/Advertisements.java |  1 -
 .../fit/proxy/v4/demo/odatademo/Categories.java |  1 -
 .../proxy/v4/demo/odatademo/DemoService.java    |  1 -
 .../proxy/v4/demo/odatademo/PersonDetails.java  |  1 -
 .../fit/proxy/v4/demo/odatademo/Persons.java    |  1 -
 .../proxy/v4/demo/odatademo/ProductDetails.java |  1 -
 .../fit/proxy/v4/demo/odatademo/Products.java   |  1 -
 .../fit/proxy/v4/demo/odatademo/Suppliers.java  |  1 -
 .../proxy/v4/demo/odatademo/package-info.java   |  1 -
 .../proxy/v4/demo/odatademo/types/Address.java  |  1 -
 .../demo/odatademo/types/AddressCollection.java |  1 -
 .../v4/demo/odatademo/types/Advertisement.java  |  1 -
 .../types/AdvertisementCollection.java          |  1 -
 .../proxy/v4/demo/odatademo/types/Category.java |  1 -
 .../odatademo/types/CategoryCollection.java     |  1 -
 .../proxy/v4/demo/odatademo/types/Customer.java |  1 -
 .../odatademo/types/CustomerCollection.java     |  1 -
 .../proxy/v4/demo/odatademo/types/Employee.java |  1 -
 .../odatademo/types/EmployeeCollection.java     |  1 -
 .../demo/odatademo/types/FeaturedProduct.java   |  1 -
 .../types/FeaturedProductCollection.java        |  1 -
 .../proxy/v4/demo/odatademo/types/Person.java   |  1 -
 .../demo/odatademo/types/PersonCollection.java  |  1 -
 .../v4/demo/odatademo/types/PersonDetail.java   |  1 -
 .../odatademo/types/PersonDetailCollection.java |  1 -
 .../proxy/v4/demo/odatademo/types/Product.java  |  1 -
 .../demo/odatademo/types/ProductCollection.java |  1 -
 .../v4/demo/odatademo/types/ProductDetail.java  |  1 -
 .../types/ProductDetailCollection.java          |  1 -
 .../proxy/v4/demo/odatademo/types/Supplier.java |  1 -
 .../odatademo/types/SupplierCollection.java     |  1 -
 .../v4/demo/odatademo/types/package-info.java   |  1 -
 .../olingo/fit/proxy/v4/opentype/Service.java   | 30 +++---
 .../opentypesservicev4/DefaultContainer.java    |  1 -
 .../odata/services/opentypesservicev4/Row.java  |  1 -
 .../services/opentypesservicev4/RowIndex.java   |  1 -
 .../opentypesservicev4/package-info.java        |  1 -
 .../opentypesservicev4/types/AccountInfo.java   |  1 -
 .../types/AccountInfoCollection.java            |  1 -
 .../opentypesservicev4/types/Color.java         |  1 -
 .../types/ContactDetails.java                   |  1 -
 .../types/ContactDetailsCollection.java         |  1 -
 .../opentypesservicev4/types/IndexedRow.java    |  1 -
 .../types/IndexedRowCollection.java             |  1 -
 .../services/opentypesservicev4/types/Row.java  |  1 -
 .../opentypesservicev4/types/RowCollection.java |  1 -
 .../opentypesservicev4/types/RowIndex.java      |  1 -
 .../types/RowIndexCollection.java               |  1 -
 .../opentypesservicev4/types/package-info.java  |  1 -
 .../fit/proxy/v4/staticservice/Service.java     | 30 +++---
 .../services/odatawcfservice/Accounts.java      |  1 -
 .../odata/services/odatawcfservice/Boss.java    |  1 -
 .../odata/services/odatawcfservice/Company.java |  1 -
 .../services/odatawcfservice/Customers.java     |  1 -
 .../odatawcfservice/DefaultStoredPI.java        |  1 -
 .../services/odatawcfservice/Departments.java   |  1 -
 .../services/odatawcfservice/Employees.java     |  1 -
 .../odatawcfservice/InMemoryEntities.java       |  1 -
 .../services/odatawcfservice/LabourUnion.java   |  1 -
 .../services/odatawcfservice/OrderDetails.java  |  1 -
 .../odata/services/odatawcfservice/Orders.java  |  1 -
 .../odata/services/odatawcfservice/People.java  |  1 -
 .../odatawcfservice/ProductDetails.java         |  1 -
 .../odatawcfservice/ProductReviews.java         |  1 -
 .../services/odatawcfservice/Products.java      |  1 -
 .../services/odatawcfservice/PublicCompany.java |  1 -
 .../services/odatawcfservice/StoredPIs.java     |  1 -
 .../odatawcfservice/SubscriptionTemplates.java  |  1 -
 .../services/odatawcfservice/VipCustomer.java   |  1 -
 .../services/odatawcfservice/package-info.java  |  1 -
 .../odatawcfservice/types/AccessLevel.java      |  1 -
 .../services/odatawcfservice/types/Account.java |  1 -
 .../types/AccountCollection.java                |  1 -
 .../odatawcfservice/types/AccountInfo.java      |  1 -
 .../types/AccountInfoCollection.java            |  1 -
 .../services/odatawcfservice/types/Address.java |  1 -
 .../types/AddressCollection.java                |  1 -
 .../services/odatawcfservice/types/Asset.java   |  1 -
 .../odatawcfservice/types/AssetCollection.java  |  1 -
 .../services/odatawcfservice/types/Club.java    |  1 -
 .../odatawcfservice/types/ClubCollection.java   |  1 -
 .../services/odatawcfservice/types/Color.java   |  1 -
 .../services/odatawcfservice/types/Company.java |  1 -
 .../odatawcfservice/types/CompanyAddress.java   |  1 -
 .../types/CompanyAddressCollection.java         |  1 -
 .../odatawcfservice/types/CompanyCategory.java  |  1 -
 .../types/CompanyCollection.java                |  1 -
 .../odatawcfservice/types/CreditCardPI.java     |  1 -
 .../types/CreditCardPICollection.java           |  1 -
 .../odatawcfservice/types/CreditRecord.java     |  1 -
 .../types/CreditRecordCollection.java           |  1 -
 .../odatawcfservice/types/Customer.java         |  1 -
 .../types/CustomerCollection.java               |  1 -
 .../odatawcfservice/types/Department.java       |  1 -
 .../types/DepartmentCollection.java             |  1 -
 .../odatawcfservice/types/Employee.java         |  1 -
 .../types/EmployeeCollection.java               |  1 -
 .../odatawcfservice/types/GiftCard.java         |  1 -
 .../types/GiftCardCollection.java               |  1 -
 .../odatawcfservice/types/HomeAddress.java      |  1 -
 .../types/HomeAddressCollection.java            |  1 -
 .../services/odatawcfservice/types/IsBoss.java  |  1 -
 .../odatawcfservice/types/LabourUnion.java      |  1 -
 .../types/LabourUnionCollection.java            |  1 -
 .../services/odatawcfservice/types/Order.java   |  1 -
 .../odatawcfservice/types/OrderCollection.java  |  1 -
 .../odatawcfservice/types/OrderDetail.java      |  1 -
 .../types/OrderDetailCollection.java            |  1 -
 .../odatawcfservice/types/OrderDetailKey.java   |  1 -
 .../types/PaymentInstrument.java                |  1 -
 .../types/PaymentInstrumentCollection.java      |  1 -
 .../services/odatawcfservice/types/Person.java  |  1 -
 .../odatawcfservice/types/PersonCollection.java |  1 -
 .../services/odatawcfservice/types/Product.java |  1 -
 .../types/ProductCollection.java                |  1 -
 .../odatawcfservice/types/ProductDetail.java    |  1 -
 .../types/ProductDetailCollection.java          |  1 -
 .../odatawcfservice/types/ProductDetailKey.java |  1 -
 .../odatawcfservice/types/ProductReview.java    |  1 -
 .../types/ProductReviewCollection.java          |  1 -
 .../odatawcfservice/types/ProductReviewKey.java |  1 -
 .../odatawcfservice/types/PublicCompany.java    |  1 -
 .../types/PublicCompanyCollection.java          |  1 -
 .../odatawcfservice/types/Statement.java        |  1 -
 .../types/StatementCollection.java              |  1 -
 .../odatawcfservice/types/StoredPI.java         |  1 -
 .../types/StoredPICollection.java               |  1 -
 .../odatawcfservice/types/Subscription.java     |  1 -
 .../types/SubscriptionCollection.java           |  1 -
 .../odatawcfservice/types/package-info.java     |  1 -
 .../apache/olingo/fit/tecsvc/TecSvcConst.java   | 16 ++--
 .../olingo/fit/tecsvc/client/BasicITCase.java   | 24 ++---
 .../olingo/fit/tecsvc/http/BasicHttpITCase.java | 16 ++--
 .../olingo/fit/tecsvc/http/PingITCase.java      | 16 ++--
 .../olingo/fit/v3/AbstractTestITCase.java       | 16 ++--
 .../fit/v3/ActionOverloadingTestITCase.java     | 16 ++--
 .../apache/olingo/fit/v3/AsyncTestITCase.java   | 16 ++--
 .../fit/v3/AuthEntityRetrieveTestITCase.java    | 16 ++--
 .../apache/olingo/fit/v3/BatchTestITCase.java   | 16 ++--
 .../apache/olingo/fit/v3/CountTestITCase.java   | 16 ++--
 .../olingo/fit/v3/EntityCreateTestITCase.java   | 16 ++--
 .../olingo/fit/v3/EntityRetrieveTestITCase.java | 16 ++--
 .../olingo/fit/v3/EntitySetTestITCase.java      | 16 ++--
 .../olingo/fit/v3/EntityUpdateTestITCase.java   | 16 ++--
 .../apache/olingo/fit/v3/ErrorTestITCase.java   | 16 ++--
 .../olingo/fit/v3/FilterFactoryTestITCase.java  | 16 ++--
 .../apache/olingo/fit/v3/FilterTestITCase.java  | 16 ++--
 .../apache/olingo/fit/v3/InvokeTestITCase.java  | 16 ++--
 .../olingo/fit/v3/KeyAsSegmentTestITCase.java   | 16 ++--
 .../apache/olingo/fit/v3/LinkTestITCase.java    | 16 ++--
 .../olingo/fit/v3/MediaEntityTestITCase.java    | 16 ++--
 .../olingo/fit/v3/MetadataTestITCase.java       | 16 ++--
 .../olingo/fit/v3/OpenTypeTestITCase.java       | 16 ++--
 .../olingo/fit/v3/PrimitiveKeysTestITCase.java  | 16 ++--
 .../fit/v3/PropertyRetrieveTestITCase.java      | 16 ++--
 .../olingo/fit/v3/PropertyTestITCase.java       | 16 ++--
 .../olingo/fit/v3/PropertyValueTestITCase.java  | 16 ++--
 .../olingo/fit/v3/QueryOptionsTestITCase.java   | 16 ++--
 .../fit/v3/ServiceDocumentTestITCase.java       | 16 ++--
 .../v3/XHTTPMethodEntityUpdateTestITCase.java   | 16 ++--
 .../v3/XHTTPMethodPropertyUpdateTestITCase.java | 16 ++--
 .../olingo/fit/v4/AbstractTestITCase.java       | 16 ++--
 .../apache/olingo/fit/v4/AsyncTestITCase.java   | 16 ++--
 .../olingo/fit/v4/AuthBatchTestITCase.java      | 31 ++++---
 .../apache/olingo/fit/v4/BatchTestITCase.java   | 16 ++--
 .../fit/v4/BoundOperationInvokeTestITCase.java  | 16 ++--
 .../olingo/fit/v4/ConformanceTestITCase.java    | 16 ++--
 .../apache/olingo/fit/v4/DeltaTestITCase.java   | 16 ++--
 .../olingo/fit/v4/DerivedTypeTestITCase.java    | 16 ++--
 .../olingo/fit/v4/EntityCreateTestITCase.java   | 16 ++--
 .../olingo/fit/v4/EntityRetrieveTestITCase.java | 16 ++--
 .../olingo/fit/v4/EntitySetTestITCase.java      | 16 ++--
 .../olingo/fit/v4/EntityUpdateTestITCase.java   | 16 ++--
 .../olingo/fit/v4/ErrorResponseTestITCase.java  | 16 ++--
 .../olingo/fit/v4/FilterFactoryTestITCase.java  | 16 ++--
 .../fit/v4/JSONFormatConformanceTestITCase.java | 16 ++--
 .../olingo/fit/v4/KeyAsSegmentTestITCase.java   | 16 ++--
 .../olingo/fit/v4/MediaEntityTestITCase.java    | 16 ++--
 .../olingo/fit/v4/MetadataTestITCase.java       | 48 +++++-----
 .../apache/olingo/fit/v4/OAuth2TestITCase.java  |  2 +-
 .../olingo/fit/v4/OpenTypeTestITCase.java       | 16 ++--
 .../fit/v4/OperationImportInvokeTestITCase.java | 16 ++--
 .../olingo/fit/v4/PropertyTestITCase.java       | 16 ++--
 .../olingo/fit/v4/PropertyValueTestITCase.java  | 16 ++--
 .../olingo/fit/v4/QueryOptionsTestITCase.java   | 16 ++--
 .../fit/v4/ServiceDocumentTestITCase.java       | 16 ++--
 .../olingo/fit/v4/SingletonTestITCase.java      | 16 ++--
 .../request/retrieve/EdmMetadataRequest.java    |  3 +
 .../request/retrieve/XMLMetadataRequest.java    |  6 +-
 .../apache/olingo/client/api/edm/xml/Named.java |  4 +-
 .../olingo/client/api/edm/xml/XMLMetadata.java  |  8 --
 .../olingo/client/core/ODataClientFactory.java  | 17 +++-
 .../retrieve/EdmMetadataRequestImpl.java        | 97 ++++++++++++--------
 .../retrieve/v3/XMLMetadataRequestImpl.java     | 28 ++----
 .../retrieve/v4/XMLMetadataRequestImpl.java     | 56 +++++------
 .../core/edm/xml/AbstractAnnotations.java       |  2 +
 .../core/edm/xml/AbstractComplexType.java       |  2 +
 .../core/edm/xml/AbstractDataServices.java      |  2 +
 .../client/core/edm/xml/AbstractEdmItem.java    |  5 +-
 .../client/core/edm/xml/AbstractEdmx.java       |  2 +
 .../core/edm/xml/AbstractEntityContainer.java   |  2 +
 .../client/core/edm/xml/AbstractEntitySet.java  |  2 +
 .../client/core/edm/xml/AbstractEntityType.java |  2 +
 .../client/core/edm/xml/AbstractEnumType.java   |  2 +
 .../client/core/edm/xml/AbstractMember.java     |  2 +
 .../edm/xml/AbstractNavigationProperty.java     |  2 +
 .../client/core/edm/xml/AbstractParameter.java  |  2 +
 .../client/core/edm/xml/AbstractProperty.java   |  2 +
 .../client/core/edm/xml/AbstractSchema.java     |  2 +
 .../core/edm/xml/AbstractXMLMetadata.java       | 54 +++--------
 .../client/core/edm/xml/EntityKeyImpl.java      |  2 +
 .../client/core/edm/xml/OnDeleteImpl.java       |  2 +
 .../client/core/edm/xml/PropertyRefImpl.java    |  2 +
 .../client/core/edm/xml/v3/AnnotationsImpl.java |  2 +
 .../core/edm/xml/v3/AssociationEndImpl.java     |  2 +
 .../client/core/edm/xml/v3/AssociationImpl.java |  2 +
 .../core/edm/xml/v3/AssociationSetEndImpl.java  |  2 +
 .../core/edm/xml/v3/AssociationSetImpl.java     |  2 +
 .../client/core/edm/xml/v3/ComplexTypeImpl.java |  2 +
 .../core/edm/xml/v3/DataServicesImpl.java       |  2 +
 .../olingo/client/core/edm/xml/v3/EdmxImpl.java |  2 +
 .../core/edm/xml/v3/EntityContainerImpl.java    |  2 +
 .../client/core/edm/xml/v3/EntitySetImpl.java   |  3 +
 .../client/core/edm/xml/v3/EntityTypeImpl.java  |  2 +
 .../client/core/edm/xml/v3/EnumTypeImpl.java    |  2 +
 .../core/edm/xml/v3/FunctionImportImpl.java     |  2 +
 .../client/core/edm/xml/v3/MemberImpl.java      |  3 +
 .../core/edm/xml/v3/NavigationPropertyImpl.java |  2 +
 .../client/core/edm/xml/v3/ParameterImpl.java   |  2 +
 .../client/core/edm/xml/v3/PropertyImpl.java    |  2 +
 .../core/edm/xml/v3/PropertyValueImpl.java      |  2 +
 .../edm/xml/v3/ReferentialConstraintImpl.java   |  2 +
 .../xml/v3/ReferentialConstraintRoleImpl.java   |  2 +
 .../client/core/edm/xml/v3/SchemaImpl.java      |  2 +
 .../core/edm/xml/v3/TypeAnnotationImpl.java     |  2 +
 .../client/core/edm/xml/v3/UsingImpl.java       |  2 +
 .../core/edm/xml/v3/ValueAnnotationImpl.java    |  2 +
 .../client/core/edm/xml/v3/ValueTermImpl.java   |  2 +
 .../client/core/edm/xml/v3/XMLMetadataImpl.java |  2 +
 .../core/edm/xml/v4/AbstractAnnotatable.java    |  2 +
 .../client/core/edm/xml/v4/ActionImpl.java      |  2 +
 .../core/edm/xml/v4/ActionImportImpl.java       |  2 +
 .../client/core/edm/xml/v4/AnnotationImpl.java  |  2 +
 .../client/core/edm/xml/v4/AnnotationsImpl.java |  2 +
 .../client/core/edm/xml/v4/ComplexTypeImpl.java |  2 +
 .../core/edm/xml/v4/DataServicesImpl.java       |  2 +
 .../olingo/client/core/edm/xml/v4/EdmxImpl.java |  2 +
 .../core/edm/xml/v4/EntityContainerImpl.java    |  2 +
 .../client/core/edm/xml/v4/EntitySetImpl.java   |  2 +
 .../client/core/edm/xml/v4/EntityTypeImpl.java  |  2 +
 .../client/core/edm/xml/v4/EnumTypeImpl.java    |  2 +
 .../client/core/edm/xml/v4/FunctionImpl.java    |  2 +
 .../core/edm/xml/v4/FunctionImportImpl.java     |  2 +
 .../core/edm/xml/v4/IncludeAnnotationsImpl.java |  2 +
 .../client/core/edm/xml/v4/IncludeImpl.java     |  2 +
 .../client/core/edm/xml/v4/MemberImpl.java      |  2 +
 .../xml/v4/NavigationPropertyBindingImpl.java   |  2 +
 .../core/edm/xml/v4/NavigationPropertyImpl.java |  2 +
 .../client/core/edm/xml/v4/ParameterImpl.java   |  2 +
 .../client/core/edm/xml/v4/PropertyImpl.java    |  2 +
 .../client/core/edm/xml/v4/ReferenceImpl.java   |  2 +
 .../edm/xml/v4/ReferentialConstraintImpl.java   |  2 +
 .../client/core/edm/xml/v4/ReturnTypeImpl.java  |  2 +
 .../client/core/edm/xml/v4/SchemaImpl.java      |  2 +
 .../client/core/edm/xml/v4/SingletonImpl.java   |  2 +
 .../olingo/client/core/edm/xml/v4/TermImpl.java |  2 +
 .../core/edm/xml/v4/TypeDefinitionImpl.java     |  2 +
 .../client/core/edm/xml/v4/XMLMetadataImpl.java |  2 +
 ...tAnnotatableDynamicAnnotationExpression.java |  2 +
 .../AbstractAnnotationExpression.java           |  2 +
 .../AbstractDynamicAnnotationExpression.java    |  2 +
 .../AbstractElementOrAttributeExpression.java   |  2 +
 .../xml/v4/annotation/AnnotationPathImpl.java   |  3 +
 .../core/edm/xml/v4/annotation/ApplyImpl.java   |  2 +
 .../core/edm/xml/v4/annotation/CastImpl.java    |  2 +
 .../edm/xml/v4/annotation/CollectionImpl.java   |  2 +
 .../ConstantAnnotationExpressionImpl.java       |  2 +
 .../core/edm/xml/v4/annotation/IfImpl.java      |  2 +
 .../core/edm/xml/v4/annotation/IsOfImpl.java    |  2 +
 .../xml/v4/annotation/LabeledElementImpl.java   |  2 +
 .../annotation/LabeledElementReferenceImpl.java |  3 +
 .../annotation/NavigationPropertyPathImpl.java  |  3 +
 .../core/edm/xml/v4/annotation/NotImpl.java     |  2 +
 .../core/edm/xml/v4/annotation/NullImpl.java    |  3 +
 .../core/edm/xml/v4/annotation/PathImpl.java    |  3 +
 .../edm/xml/v4/annotation/PropertyPathImpl.java |  3 +
 .../xml/v4/annotation/PropertyValueImpl.java    |  2 +
 .../core/edm/xml/v4/annotation/RecordImpl.java  |  2 +
 ...ParamsOpDynamicAnnotationExpressionImpl.java |  2 +
 .../core/edm/xml/v4/annotation/UrlRefImpl.java  |  2 +
 .../core/serialization/AbstractODataBinder.java |  2 +-
 .../core/serialization/v4/ODataBinderImpl.java  |  2 +-
 .../core/v3/EdmEnabledODataClientImpl.java      |  3 +-
 .../core/v4/EdmEnabledODataClientImpl.java      |  3 +-
 .../olingo/client/core/v4/EntityTest.java       |  2 +-
 .../olingo/client/core/v4/MetadataTest.java     | 14 +--
 .../olingo/commons/api/data/ContextURL.java     | 22 +++--
 .../apache/olingo/commons/api/edm/geo/SRID.java | 15 +--
 .../core/serialization/ContextURLParser.java    |  9 +-
 613 files changed, 1062 insertions(+), 1212 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/AbstractService.java
----------------------------------------------------------------------
diff --git a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/AbstractService.java b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/AbstractService.java
index 46c836f..73d7f3d 100644
--- a/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/AbstractService.java
+++ b/ext/client-proxy/src/main/java/org/apache/olingo/ext/proxy/AbstractService.java
@@ -18,16 +18,27 @@
  */
 package org.apache.olingo.ext.proxy;
 
+import java.io.ObjectInputStream;
 import java.lang.reflect.Proxy;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.zip.GZIPInputStream;
+import org.apache.commons.io.IOUtils;
 import org.apache.olingo.client.api.CommonEdmEnabledODataClient;
+import org.apache.olingo.client.api.edm.xml.XMLMetadata;
+import org.apache.olingo.client.core.ODataClientFactory;
+import org.apache.olingo.client.core.edm.EdmClientImpl;
+import org.apache.olingo.commons.api.edm.Edm;
+import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.olingo.ext.proxy.api.AbstractTerm;
 import org.apache.olingo.ext.proxy.api.PersistenceManager;
 import org.apache.olingo.ext.proxy.commons.EntityContainerInvocationHandler;
 import org.apache.olingo.ext.proxy.commons.NonTransactionalPersistenceManagerImpl;
 import org.apache.olingo.ext.proxy.commons.TransactionalPersistenceManagerImpl;
 import org.apache.olingo.ext.proxy.context.Context;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Entry point for proxy mode, gives access to entity container instances.
@@ -36,6 +47,8 @@ import org.apache.olingo.ext.proxy.context.Context;
  */
 public abstract class AbstractService<C extends CommonEdmEnabledODataClient<?>> {
 
+  protected static final Logger LOG = LoggerFactory.getLogger(AbstractService.class);
+
   private final Map<Class<?>, Object> ENTITY_CONTAINERS = new ConcurrentHashMap<Class<?>, Object>();
 
   private final CommonEdmEnabledODataClient<?> client;
@@ -46,8 +59,28 @@ public abstract class AbstractService<C extends CommonEdmEnabledODataClient<?>>
 
   private PersistenceManager persistenceManager;
 
-  protected AbstractService(final CommonEdmEnabledODataClient<?> client, final boolean transactional) {
-    this.client = client;
+  protected AbstractService(final String compressedMetadata,
+          final ODataServiceVersion version, final String serviceRoot, final boolean transactional) {
+
+    GZIPInputStream gzis = null;
+    ObjectInputStream ois = null;
+    XMLMetadata metadata = null;
+    try {
+      gzis = new GZIPInputStream(IOUtils.toInputStream(compressedMetadata, "UTF-8"));
+      ois = new ObjectInputStream(gzis);
+      metadata = (XMLMetadata) ois.readObject();
+    } catch (Exception e) {
+      LOG.error("While deserializing compressed metadata", e);
+    } finally {
+      IOUtils.closeQuietly(ois);
+      IOUtils.closeQuietly(gzis);
+    }
+
+    final Edm edm = metadata == null ? null : new EdmClientImpl(version, metadata.getSchemaByNsOrAlias());
+    this.client = version.compareTo(ODataServiceVersion.V40) < 0
+            ? ODataClientFactory.getEdmEnabledV3(serviceRoot, edm)
+            : ODataClientFactory.getEdmEnabledV4(serviceRoot, edm);
+    this.client.getConfiguration().setDefaultPubFormat(ODataFormat.JSON_FULL_METADATA);
     this.transactional = transactional;
     this.context = new Context();
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractPOJOGenMojo.java
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractPOJOGenMojo.java b/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractPOJOGenMojo.java
index 9b90cbb..438aa1c 100644
--- a/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractPOJOGenMojo.java
+++ b/ext/pojogen-maven-plugin/src/main/java/org/apache/olingo/ext/pojogen/AbstractPOJOGenMojo.java
@@ -18,11 +18,13 @@
  */
 package org.apache.olingo.ext.pojogen;
 
+import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileWriter;
 import java.io.IOException;
+import java.io.ObjectOutputStream;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -30,13 +32,19 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.zip.GZIPOutputStream;
+import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.apache.commons.lang3.tuple.Pair;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.olingo.client.api.CommonODataClient;
+import org.apache.olingo.client.api.communication.request.retrieve.EdmMetadataRequest;
+import org.apache.olingo.client.api.edm.xml.XMLMetadata;
 import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.EdmComplexType;
 import org.apache.olingo.commons.api.edm.EdmEntityContainer;
@@ -47,6 +55,7 @@ import org.apache.olingo.commons.api.edm.EdmSchema;
 import org.apache.olingo.commons.api.edm.EdmSingleton;
 import org.apache.olingo.commons.api.edm.EdmTerm;
 import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
+import org.apache.olingo.commons.api.format.ODataFormat;
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.app.Velocity;
@@ -189,7 +198,7 @@ public abstract class AbstractPOJOGenMojo extends AbstractMojo {
 
   protected abstract CommonODataClient<?> getClient();
 
-  private Edm getEdm() throws FileNotFoundException {
+  private Pair<XMLMetadata, Edm> getMetadata() throws FileNotFoundException {
     if (StringUtils.isEmpty(serviceRootURL) && StringUtils.isEmpty(localEdm)) {
       throw new IllegalArgumentException("Must provide either serviceRootURL or localEdm");
     }
@@ -197,22 +206,26 @@ public abstract class AbstractPOJOGenMojo extends AbstractMojo {
       throw new IllegalArgumentException("Must provide either serviceRootURL or localEdm, not both");
     }
 
+    XMLMetadata metadata = null;
     Edm edm = null;
     if (StringUtils.isNotEmpty(serviceRootURL)) {
-      edm = getClient().getRetrieveRequestFactory().getMetadataRequest(serviceRootURL).execute().getBody();
+      final EdmMetadataRequest req = getClient().getRetrieveRequestFactory().getMetadataRequest(serviceRootURL);
+      metadata = req.getXMLMetadata();
+      edm = req.execute().getBody();
     } else if (StringUtils.isNotEmpty(localEdm)) {
       final FileInputStream fis = new FileInputStream(FileUtils.getFile(localEdm));
       try {
-        edm = getClient().getReader().readMetadata(fis);
+        metadata = getClient().getDeserializer(ODataFormat.XML).toMetadata(fis);
+        edm = getClient().getReader().readMetadata(metadata.getSchemaByNsOrAlias());
       } finally {
         IOUtils.closeQuietly(fis);
       }
     }
 
-    if (edm == null) {
+    if (metadata == null || edm == null) {
       throw new IllegalStateException("Metadata not found");
     }
-    return edm;
+    return new ImmutablePair<XMLMetadata, Edm>(metadata, edm);
   }
 
   @Override
@@ -226,9 +239,9 @@ public abstract class AbstractPOJOGenMojo extends AbstractMojo {
     Velocity.addProperty("class.resource.loader.class", ClasspathResourceLoader.class.getName());
 
     try {
-      final Edm edm = getEdm();
+      final Pair<XMLMetadata, Edm> metadata = getMetadata();
 
-      for (EdmSchema schema : edm.getSchemas()) {
+      for (EdmSchema schema : metadata.getRight().getSchemas()) {
         namespaces.add(schema.getNamespace().toLowerCase());
       }
 
@@ -238,8 +251,8 @@ public abstract class AbstractPOJOGenMojo extends AbstractMojo {
 
       final Map<String, Object> objs = new HashMap<String, Object>();
 
-      for (EdmSchema schema : edm.getSchemas()) {
-        createUtility(edm, schema, basePackage);
+      for (EdmSchema schema : metadata.getRight().getSchemas()) {
+        createUtility(metadata.getRight(), schema, basePackage);
 
         // write package-info for the base package
         final String schemaPath = utility.getNamespace().toLowerCase().replace('.', File.separatorChar);
@@ -346,7 +359,19 @@ public abstract class AbstractPOJOGenMojo extends AbstractMojo {
         }
       }
 
+      final ByteArrayOutputStream baos = new ByteArrayOutputStream();
+      final GZIPOutputStream gzos = new GZIPOutputStream(baos);
+      final ObjectOutputStream oos = new ObjectOutputStream(gzos);
+      try {
+        oos.writeObject(metadata.getLeft());
+      } finally {
+        oos.close();
+        gzos.close();
+        baos.close();
+      }
+
       objs.clear();
+      objs.put("metadata", new String(Base64.encodeBase64(baos.toByteArray()), "UTF-8"));
       objs.put("complexTypes", complexTypeNames);
       objs.put("enumTypes", enumTypeNames);
       objs.put("terms", termNames);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/ext/pojogen-maven-plugin/src/main/resources/service.vm
----------------------------------------------------------------------
diff --git a/ext/pojogen-maven-plugin/src/main/resources/service.vm b/ext/pojogen-maven-plugin/src/main/resources/service.vm
index 1d07715..ca411f3 100644
--- a/ext/pojogen-maven-plugin/src/main/resources/service.vm
+++ b/ext/pojogen-maven-plugin/src/main/resources/service.vm
@@ -24,26 +24,28 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import org.apache.olingo.client.api.CommonEdmEnabledODataClient;
-import org.apache.olingo.client.core.ODataClientFactory;
-import org.apache.olingo.commons.api.format.ODataFormat;
+import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
 import org.apache.olingo.ext.proxy.api.AbstractTerm;
 import org.apache.olingo.ext.proxy.AbstractService;
 
 public class Service<C extends CommonEdmEnabledODataClient<?>> extends AbstractService<C> {
 
+  //CHECKSTYLE:OFF (Maven checkstyle)
+  private static final String COMPRESSED_METADATA = "$metadata";
+  //CHECKSTYLE:ON (Maven checkstyle)
+
   private static final Map<String, Service<?>> SERVICES = new ConcurrentHashMap<String, Service<?>>();
 
   @SuppressWarnings("unchecked")
   private static <C extends CommonEdmEnabledODataClient<?>> Service<C> getInstance(
-          final C client, final boolean transactional) {
+          final ODataServiceVersion version, final String serviceRoot, final boolean transactional) {
 
-    if (!SERVICES.containsKey(client.getServiceRoot())) {
-      client.getConfiguration().setDefaultPubFormat(ODataFormat.JSON_FULL_METADATA);
-      final Service<C> instance = new Service<C>(client, transactional);
-      SERVICES.put(client.getServiceRoot(), instance);
+    if (!SERVICES.containsKey(serviceRoot)) {
+      final Service<C> instance = new Service<C>(COMPRESSED_METADATA, version, serviceRoot, transactional);
+      SERVICES.put(serviceRoot, instance);
     }
 
-    return (Service<C>) SERVICES.get(client.getServiceRoot());
+    return (Service<C>) SERVICES.get(serviceRoot);
   }
 
   /**
@@ -68,7 +70,7 @@ public class Service<C extends CommonEdmEnabledODataClient<?>> extends AbstractS
   public static Service<org.apache.olingo.client.api.v3.EdmEnabledODataClient> getV3(
           final String serviceRoot, final boolean transactional) {
 
-    return getInstance(ODataClientFactory.getEdmEnabledV3(serviceRoot), transactional);
+    return getInstance(ODataServiceVersion.V30, serviceRoot, transactional);
   }
 
   /**
@@ -93,16 +95,19 @@ public class Service<C extends CommonEdmEnabledODataClient<?>> extends AbstractS
   public static Service<org.apache.olingo.client.api.v4.EdmEnabledODataClient> getV4(
           final String serviceRoot, final boolean transactional) {
 
-    return getInstance(ODataClientFactory.getEdmEnabledV4(serviceRoot), transactional);
+    return getInstance(ODataServiceVersion.V40, serviceRoot, transactional);
   }
+
   private final Map<String, Class<?>> complexTypes = new HashMap<String, Class<?>>();
 
   private final Map<String, Class<?>> enumTypes = new HashMap<String, Class<?>>();
 
   private final Map<String, Class<? extends AbstractTerm>> terms = new HashMap<String, Class<? extends AbstractTerm>>();
 
-  public Service(final CommonEdmEnabledODataClient<?> client, final boolean transactional) {
-    super(client, transactional);
+  public Service(final String compressedMetadata,
+          final ODataServiceVersion version, final String serviceRoot, final boolean transactional) {
+
+    super(compressedMetadata, version, serviceRoot, transactional);
 
     //CHECKSTYLE:OFF (Maven checkstyle)
 #foreach ($complexType in $complexTypes.entrySet())

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/AbstractBaseTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/AbstractBaseTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/AbstractBaseTestITCase.java
index 9ba4a52..0e2d1d5 100644
--- a/fit/src/test/java/org/apache/olingo/fit/AbstractBaseTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/AbstractBaseTestITCase.java
@@ -1,18 +1,18 @@
-/*
+/* 
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * 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
- * 
+ * 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
+ * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/CXFOAuth2HttpClientFactory.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/CXFOAuth2HttpClientFactory.java b/fit/src/test/java/org/apache/olingo/fit/CXFOAuth2HttpClientFactory.java
index 28ff3d8..d35b6b0 100644
--- a/fit/src/test/java/org/apache/olingo/fit/CXFOAuth2HttpClientFactory.java
+++ b/fit/src/test/java/org/apache/olingo/fit/CXFOAuth2HttpClientFactory.java
@@ -1,4 +1,4 @@
-/*
+/* 
  * 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

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/ActionOverloadingTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/ActionOverloadingTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/ActionOverloadingTestITCase.java
index 39c3922..aaadccd 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/ActionOverloadingTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/ActionOverloadingTestITCase.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3;
 
 import static org.junit.Assert.assertEquals;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AsyncTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AsyncTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AsyncTestITCase.java
index a7c74cf..a622be0 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AsyncTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/AsyncTestITCase.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3;
 
 import org.apache.olingo.ext.proxy.api.AsyncCall;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java
index 3b0e396..ecbfca0 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntityRetrieveTestITCase.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntitySetTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntitySetTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntitySetTestITCase.java
index 14b7c1c..aa3a66c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntitySetTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/EntitySetTestITCase.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3;
 
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Car;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/FilterTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/FilterTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/FilterTestITCase.java
index dc9d615..aea7c0d 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/FilterTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/FilterTestITCase.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3;
 
 import org.apache.olingo.ext.proxy.api.Sort;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PrimitiveKeysTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PrimitiveKeysTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PrimitiveKeysTestITCase.java
index aa5e73a..5b227e1 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PrimitiveKeysTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PrimitiveKeysTestITCase.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3;
 
 import static org.junit.Assert.assertEquals;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PropertyTestITCase.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PropertyTestITCase.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PropertyTestITCase.java
index 9778ba3..0041103 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PropertyTestITCase.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/PropertyTestITCase.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3;
 
 import org.apache.olingo.fit.proxy.v3.staticservice.microsoft.test.odata.services.astoriadefaultservice.types.Driver;

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/Service.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/Service.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/Service.java
index d06fcfe..babc2fe 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/Service.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/Service.java
@@ -16,33 +16,34 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading;
 
 import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import org.apache.olingo.client.api.CommonEdmEnabledODataClient;
-import org.apache.olingo.client.core.ODataClientFactory;
-import org.apache.olingo.commons.api.format.ODataFormat;
+import org.apache.olingo.commons.api.edm.constants.ODataServiceVersion;
 import org.apache.olingo.ext.proxy.api.AbstractTerm;
 import org.apache.olingo.ext.proxy.AbstractService;
 
 public class Service<C extends CommonEdmEnabledODataClient<?>> extends AbstractService<C> {
 
+  //CHECKSTYLE:OFF (Maven checkstyle)
+  private static final String COMPRESSED_METADATA = "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";
+  //CHECKSTYLE:ON (Maven checkstyle)
+
   private static final Map<String, Service<?>> SERVICES = new ConcurrentHashMap<String, Service<?>>();
 
   @SuppressWarnings("unchecked")
   private static <C extends CommonEdmEnabledODataClient<?>> Service<C> getInstance(
-          final C client, final boolean transactional) {
+          final ODataServiceVersion version, final String serviceRoot, final boolean transactional) {
 
-    if (!SERVICES.containsKey(client.getServiceRoot())) {
-      client.getConfiguration().setDefaultPubFormat(ODataFormat.JSON_FULL_METADATA);
-      final Service<C> instance = new Service<C>(client, transactional);
-      SERVICES.put(client.getServiceRoot(), instance);
+    if (!SERVICES.containsKey(serviceRoot)) {
+      final Service<C> instance = new Service<C>(COMPRESSED_METADATA, version, serviceRoot, transactional);
+      SERVICES.put(serviceRoot, instance);
     }
 
-    return (Service<C>) SERVICES.get(client.getServiceRoot());
+    return (Service<C>) SERVICES.get(serviceRoot);
   }
 
   /**
@@ -67,7 +68,7 @@ public class Service<C extends CommonEdmEnabledODataClient<?>> extends AbstractS
   public static Service<org.apache.olingo.client.api.v3.EdmEnabledODataClient> getV3(
           final String serviceRoot, final boolean transactional) {
 
-    return getInstance(ODataClientFactory.getEdmEnabledV3(serviceRoot), transactional);
+    return getInstance(ODataServiceVersion.V30, serviceRoot, transactional);
   }
 
   /**
@@ -92,16 +93,19 @@ public class Service<C extends CommonEdmEnabledODataClient<?>> extends AbstractS
   public static Service<org.apache.olingo.client.api.v4.EdmEnabledODataClient> getV4(
           final String serviceRoot, final boolean transactional) {
 
-    return getInstance(ODataClientFactory.getEdmEnabledV4(serviceRoot), transactional);
+    return getInstance(ODataServiceVersion.V40, serviceRoot, transactional);
   }
+
   private final Map<String, Class<?>> complexTypes = new HashMap<String, Class<?>>();
 
   private final Map<String, Class<?>> enumTypes = new HashMap<String, Class<?>>();
 
   private final Map<String, Class<? extends AbstractTerm>> terms = new HashMap<String, Class<? extends AbstractTerm>>();
 
-  public Service(final CommonEdmEnabledODataClient<?> client, final boolean transactional) {
-    super(client, transactional);
+  public Service(final String compressedMetadata,
+          final ODataServiceVersion version, final String serviceRoot, final boolean transactional) {
+
+    super(compressedMetadata, version, serviceRoot, transactional);
 
     //CHECKSTYLE:OFF (Maven checkstyle)
     complexTypes.put("Microsoft.Test.OData.Services.AstoriaDefaultService.ComplexToCategory", org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice.types.ComplexToCategory.class);

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java
index f595a57..38c0e13 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoCollectionTypesSet.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java
index 42fc888..edb78e3 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/AllGeoTypesSet.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Car.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Car.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Car.java
index 28f2d7f..aa100bb 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Car.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Car.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Computer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Computer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Computer.java
index f74c0a9..25052ce 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Computer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Computer.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java
index 59445f0..f2ff49c 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/ComputerDetail.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Customer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Customer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Customer.java
index e459c4d..352d4f3 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Customer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Customer.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java
index d57b53a..4d559e7 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/CustomerInfo.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
index cdbcaf7..4fd9ac3 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/DefaultContainer.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Driver.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Driver.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Driver.java
index d471150..28f3901 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Driver.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Driver.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java
index 1905216..00dc59e 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/LastLogin.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/License.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/License.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/License.java
index b7f2d54..c8bc411 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/License.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/License.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Login.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Login.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Login.java
index 2e79ecd..00a9082 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Login.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Login.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/MappedEntityType.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/MappedEntityType.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/MappedEntityType.java
index 7c40885..4edcfb9 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/MappedEntityType.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/MappedEntityType.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Message.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Message.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Message.java
index a436d12..9627d85 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Message.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Message.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/MessageAttachment.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/MessageAttachment.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/MessageAttachment.java
index 5c572de..5306d92 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/MessageAttachment.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/MessageAttachment.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Order.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Order.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Order.java
index d506a2b..96e3b45 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Order.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/Order.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)

http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/1c5b33ea/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/OrderLine.java
----------------------------------------------------------------------
diff --git a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/OrderLine.java b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/OrderLine.java
index b2352c3..f48a33f 100644
--- a/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/OrderLine.java
+++ b/fit/src/test/java/org/apache/olingo/fit/proxy/v3/actionoverloading/microsoft/test/odata/services/astoriadefaultservice/OrderLine.java
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.olingo.fit.proxy.v3.actionoverloading.microsoft.test.odata.services.astoriadefaultservice;
 
 //CHECKSTYLE:OFF (Maven checkstyle)