Return-Path: X-Original-To: apmail-olingo-commits-archive@minotaur.apache.org Delivered-To: apmail-olingo-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 4884011810 for ; Wed, 14 May 2014 23:24:22 +0000 (UTC) Received: (qmail 39924 invoked by uid 500); 10 May 2014 22:00:54 -0000 Delivered-To: apmail-olingo-commits-archive@olingo.apache.org Received: (qmail 9998 invoked by uid 500); 10 May 2014 21:58:45 -0000 Mailing-List: contact commits-help@olingo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@olingo.apache.org Delivered-To: mailing list commits@olingo.apache.org Received: (qmail 63730 invoked by uid 99); 10 May 2014 21:56:26 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 10 May 2014 21:56:25 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 4AC3B95376A; Fri, 9 May 2014 12:44:18 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sklevenz@apache.org To: commits@olingo.apache.org Date: Fri, 09 May 2014 12:44:19 -0000 Message-Id: <427ce9c167944d5aa9e93b8f128d8088@git.apache.org> In-Reply-To: <494fc81d5b2e436e82037ae4e1220cce@git.apache.org> References: <494fc81d5b2e436e82037ae4e1220cce@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [2/5] [OLINGO-266] ref package refactoring http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/70a989ce/lib/server-ref/src/main/java/org/apache/olingo/server/ref/provider/FunctionProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-ref/src/main/java/org/apache/olingo/server/ref/provider/FunctionProvider.java b/lib/server-ref/src/main/java/org/apache/olingo/server/ref/provider/FunctionProvider.java new file mode 100644 index 0000000..606d751 --- /dev/null +++ b/lib/server-ref/src/main/java/org/apache/olingo/server/ref/provider/FunctionProvider.java @@ -0,0 +1,852 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.olingo.server.ref.provider; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.apache.olingo.commons.api.ODataException; +import org.apache.olingo.commons.api.edm.FullQualifiedName; +import org.apache.olingo.server.api.edm.provider.Function; +import org.apache.olingo.server.api.edm.provider.Parameter; +import org.apache.olingo.server.api.edm.provider.ReturnType; + +public class FunctionProvider { + + // Bound Functions + public static final FullQualifiedName nameBFCCollCTPrimCompRTESAllPrim = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCCollCTPrimCompRTESAllPrim"); + + public static final FullQualifiedName nameBFCCollStringRTESTwoKeyNav = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCCollStringRTESTwoKeyNav"); + + public static final FullQualifiedName nameBFCCTPrimCompRTESBaseTwoKeyNav = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCCTPrimCompRTESBaseTwoKeyNav"); + + public static final FullQualifiedName nameBFCCTPrimCompRTESTwoKeyNav = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCCTPrimCompRTESTwoKeyNav"); + + public static final FullQualifiedName nameBFCCTPrimCompRTESTwoKeyNavParam = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCCTPrimCompRTESTwoKeyNavParam"); + + public static final FullQualifiedName nameBFCCTPrimCompRTETTwoKeyNavParam = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCCTPrimCompRTETTwoKeyNavParam"); + + public static final FullQualifiedName nameBFCESAllPrimRTCTAllPrim = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCESAllPrimRTCTAllPrim"); + + public static final FullQualifiedName nameBFCESBaseTwoKeyNavRTESBaseTwoKey = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCESBaseTwoKeyNavRTESBaseTwoKey"); + + public static final FullQualifiedName nameBFCESKeyNavRTETKeyNav = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCESKeyNavRTETKeyNav"); + + public static final FullQualifiedName nameBFCESKeyNavRTETKeyNavParam = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCESKeyNavRTETKeyNavParam"); + + public static final FullQualifiedName nameBFCESTwoKeyNavRTCollCTTwoPrim = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTCollCTTwoPrim"); + + public static final FullQualifiedName nameBFCESTwoKeyNavRTCollString = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTCollString"); + + public static final FullQualifiedName nameBFCESTwoKeyNavRTCTTwoPrim = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTCTTwoPrim"); + + public static final FullQualifiedName nameBFCESTwoKeyNavRTESTwoKeyNav = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTESTwoKeyNav"); + + public static final FullQualifiedName nameBFCESTwoKeyNavRTString = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTString"); + + public static final FullQualifiedName nameBFCESTwoKeyNavRTStringParam = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTStringParam"); + + public static final FullQualifiedName nameBFCESTwoKeyNavRTTwoKeyNav = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCESTwoKeyNavRTTwoKeyNav"); + + public static final FullQualifiedName nameBFCETBaseTwoKeyNavRTESBaseTwoKey = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCETBaseTwoKeyNavRTESBaseTwoKey"); + + public static final FullQualifiedName nameBFCETBaseTwoKeyNavRTESTwoKeyNav = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCETBaseTwoKeyNavRTESTwoKeyNav"); + + public static final FullQualifiedName nameBFCETBaseTwoKeyNavRTETTwoKeyNav = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCETBaseTwoKeyNavRTETTwoKeyNav"); + + public static final FullQualifiedName nameBFCETKeyNavRTETKeyNav = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCETKeyNavRTETKeyNav"); + + public static final FullQualifiedName nameBFCETTwoKeyNavRTCTTwoPrim = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCETTwoKeyNavRTCTTwoPrim"); + + public static final FullQualifiedName nameBFCETTwoKeyNavRTESTwoKeyNav = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCETTwoKeyNavRTESTwoKeyNav"); + + public static final FullQualifiedName nameBFCETTwoKeyNavRTETTwoKeyNav = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCETTwoKeyNavRTETTwoKeyNav"); + + public static final FullQualifiedName nameBFCSINavRTESTwoKeyNav = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCSINavRTESTwoKeyNav"); + + public static final FullQualifiedName nameBFCStringRTESTwoKeyNav = + new FullQualifiedName(SchemaProvider.nameSpace, "BFCStringRTESTwoKeyNav"); + + public static final FullQualifiedName nameBFESTwoKeyNavRTESTwoKeyNav = + new FullQualifiedName(SchemaProvider.nameSpace, "BFESTwoKeyNavRTESTwoKeyNav"); + + // Unbound Functions + public static final FullQualifiedName nameUFCRTCollCTTwoPrim = + new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCollCTTwoPrim"); + public static final FullQualifiedName nameUFCRTCollCTTwoPrimParam = + new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCollCTTwoPrimParam"); + public static final FullQualifiedName nameUFCRTCollString = new FullQualifiedName(SchemaProvider.nameSpace, + "UFCRTCollString"); + public static final FullQualifiedName nameUFCRTCollStringTwoParam = + new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCollStringTwoParam"); + public static final FullQualifiedName nameUFCRTCTAllPrimTwoParam = + new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCTAllPrimTwoParam"); + public static final FullQualifiedName nameUFCRTCTTwoPrim = new FullQualifiedName(SchemaProvider.nameSpace, + "UFCRTCTTwoPrim"); + public static final FullQualifiedName nameUFCRTCTTwoPrimParam = + new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTCTTwoPrimParam"); + public static final FullQualifiedName nameUFCRTESMixPrimCollCompTwoParam = + new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTESMixPrimCollCompTwoParam"); + public static final FullQualifiedName nameUFCRTESTwoKeyNavParam = + new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTESTwoKeyNavParam"); + public static final FullQualifiedName nameUFCRTETAllPrimTwoParam = + new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTETAllPrimTwoParam"); + public static final FullQualifiedName nameUFCRTETKeyNav = new FullQualifiedName(SchemaProvider.nameSpace, + "UFCRTETKeyNav"); + public static final FullQualifiedName nameUFCRTETMedia = new FullQualifiedName(SchemaProvider.nameSpace, + "UFCRTETMedia"); + + public static final FullQualifiedName nameUFCRTETTwoKeyNavParam = + new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTETTwoKeyNavParam"); + + public static final FullQualifiedName nameUFCRTETTwoKeyNavParamCTTwoPrim = + new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTETTwoKeyNavParamCTTwoPrim"); + + public static final FullQualifiedName nameUFCRTString = + new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTString"); + + public static final FullQualifiedName nameUFCRTStringTwoParam = + new FullQualifiedName(SchemaProvider.nameSpace, "UFCRTStringTwoParam"); + + public static final FullQualifiedName nameUFNRTESMixPrimCollCompTwoParam = + new FullQualifiedName(SchemaProvider.nameSpace, "UFNRTESMixPrimCollCompTwoParam"); + public static final FullQualifiedName nameUFNRTInt16 = + new FullQualifiedName(SchemaProvider.nameSpace, "UFNRTInt16"); + + public static final FullQualifiedName nameUFNRTCollCTNavFiveProp = new FullQualifiedName(SchemaProvider.nameSpace, + "UFNRTCollCTNavFiveProp"); + + public static final FullQualifiedName nameBFCESTwoKeyNavRTCTNavFiveProp = new FullQualifiedName( + SchemaProvider.nameSpace, "BFCESTwoKeyNavRTCTNavFiveProp"); + + public static final FullQualifiedName nameBFCESTwoKeyNavRTCollCTNavFiveProp = new FullQualifiedName( + SchemaProvider.nameSpace, "BFCESTwoKeyNavRTCollCTNavFiveProp"); + + public List getFunctions(final FullQualifiedName functionName) throws ODataException { + + if (functionName.equals(nameUFNRTInt16)) { + return Arrays.asList( + new Function() + .setName("UFNRTInt16") + .setParameters(new ArrayList()) + .setReturnType( + new ReturnType().setType(PropertyProvider.nameInt16)) + ); + + } else if (functionName.equals(nameUFCRTETKeyNav)) { + return Arrays.asList( + new Function() + .setName("UFCRTETKeyNav") + .setParameters(new ArrayList()) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false)) + ); + + } else if (functionName.equals(nameUFCRTETTwoKeyNavParam)) { + return Arrays.asList( + new Function() + .setName("UFCRTETTwoKeyNavParam") + .setParameters(Arrays.asList( + new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false) + ) + ); + + } else if (functionName.equals(nameUFCRTETTwoKeyNavParamCTTwoPrim)) { + return Arrays.asList( + new Function() + .setName("UFCRTETTwoKeyNavParamCTTwoPrim") + .setParameters(Arrays.asList( + new Parameter().setName("ParameterCTTwoPrim").setType(ComplexTypeProvider.nameCTTwoPrim) + .setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false) + ) + ); + + } else if (functionName.equals(nameUFCRTStringTwoParam)) { + return Arrays.asList( + new Function() + .setName("UFCRTStringTwoParam") + .setParameters(Arrays.asList( + new Parameter() + .setName("ParameterInt16") + .setType(PropertyProvider.nameInt16) + .setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(PropertyProvider.nameString).setNullable(false)), + new Function() + .setName("UFCRTStringTwoParam") + .setParameters(Arrays.asList( + new Parameter() + .setName("ParameterString") + .setType(PropertyProvider.nameString) + .setNullable(false), + new Parameter() + .setName("ParameterInt16") + .setType(PropertyProvider.nameInt16) + .setNullable(false))) + .setComposable(true) + .setReturnType(new ReturnType().setType(PropertyProvider.nameString).setNullable(false)) + + ); + + } else if (functionName.equals(nameUFCRTESTwoKeyNavParam)) { + return Arrays.asList( + new Function() + .setName("UFCRTESTwoKeyNavParam") + .setParameters(Arrays.asList( + new Parameter() + .setName("ParameterInt16") + .setType(PropertyProvider.nameInt16) + .setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false)) + ); + + } else if (functionName.equals(nameUFCRTString)) { + return Arrays.asList( + new Function() + .setName("UFCRTString") + + .setComposable(true) + .setParameters(new ArrayList()) + .setComposable(true) + .setReturnType( + new ReturnType().setType(PropertyProvider.nameString).setNullable(false) + ) + ); + + } else if (functionName.equals(nameUFCRTCollStringTwoParam)) { + return Arrays.asList( + new Function() + .setName("UFCRTCollStringTwoParam") + .setParameters(Arrays.asList( + new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(false), + new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(PropertyProvider.nameString).setCollection(true).setNullable(false)) + ); + + } else if (functionName.equals(nameUFCRTCollString)) { + return Arrays.asList( + new Function() + .setName("UFCRTCollString") + .setParameters(new ArrayList()) + .setComposable(true) + .setReturnType( + new ReturnType().setType(PropertyProvider.nameString).setCollection(true).setNullable(false)) + ); + + } else if (functionName.equals(nameUFCRTCTAllPrimTwoParam)) { + return Arrays.asList( + new Function() + .setName("UFCRTCTAllPrimTwoParam") + .setParameters(Arrays.asList( + new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(false), + new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(ComplexTypeProvider.nameCTAllPrim).setNullable(false)) + ); + + } else if (functionName.equals(nameUFCRTCTTwoPrimParam)) { + return Arrays.asList( + new Function() + .setName("UFCRTCTTwoPrimParam") + .setParameters(Arrays.asList( + new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false), + new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(true))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false)) + ); + } else if (functionName.equals(nameUFCRTCollCTTwoPrimParam)) { + return Arrays.asList( + new Function() + .setName("UFCRTCollCTTwoPrimParam") + .setParameters(Arrays.asList( + new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false), + new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(true))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true).setNullable(false)) + ); + + } else if (functionName.equals(nameUFCRTCTTwoPrim)) { + return Arrays.asList( + new Function() + .setName("UFCRTCTTwoPrim") + .setParameters(new ArrayList()) + .setComposable(true) + .setReturnType( + new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false)) + ); + + } else if (functionName.equals(nameUFCRTCollCTTwoPrim)) { + return Arrays.asList( + new Function() + .setName("UFCRTCollCTTwoPrim") + .setComposable(true) + .setParameters(new ArrayList()) + .setReturnType( + new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true).setNullable(false)) + ); + + } else if (functionName.equals(nameUFCRTETMedia)) { + return Arrays.asList( + new Function() + .setName("UFCRTETMedia") + .setParameters(new ArrayList()) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETMedia).setNullable(false)) + ); + + } else if (functionName.equals(nameUFNRTESMixPrimCollCompTwoParam)) { + return Arrays.asList( + new Function() + .setName("UFNRTESMixPrimCollCompTwoParam") + .setParameters(Arrays.asList( + new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(false), + new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false))) + .setComposable(false) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETMixPrimCollComp).setCollection(true) + .setNullable(false)) + ); + + } else if (functionName.equals(nameUFCRTETAllPrimTwoParam)) { + return Arrays.asList( + new Function() + .setName("UFCRTETAllPrimTwoParam") + .setParameters(Arrays.asList( + new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(false), + new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETAllPrim).setNullable(false)) + ); + + } else if (functionName.equals(nameUFCRTESMixPrimCollCompTwoParam)) { + return Arrays.asList( + new Function() + .setName("UFCRTESMixPrimCollCompTwoParam") + .setParameters(Arrays.asList( + new Parameter().setName("ParameterString").setType(PropertyProvider.nameString).setNullable(false), + new Parameter().setName("ParameterInt16").setType(PropertyProvider.nameInt16).setNullable(false) + )) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETMixPrimCollComp).setCollection(true) + .setNullable(false)) + ); + + } else if (functionName.equals(nameUFNRTCollCTNavFiveProp)) { + return Arrays.asList( + new Function() + .setName("UFNRTCollCTNavFiveProp") + .setReturnType( + new ReturnType().setType(ComplexTypeProvider.nameCTNavFiveProp).setCollection(true)) + ); + } else if (functionName.equals(nameBFCESTwoKeyNavRTESTwoKeyNav)) { + return Arrays + .asList( + new Function() + .setName("BFCESTwoKeyNavRTESTwoKeyNav") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) + .setNullable(false)), + + new Function() + .setName("BFCESTwoKeyNavRTESTwoKeyNav") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false), + new Parameter().setName("ParameterString").setType(PropertyProvider.nameString) + .setCollection(false).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) + .setNullable(false)), + new Function() + .setName("BFCESTwoKeyNavRTESTwoKeyNav") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav) + .setCollection(true).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) + .setNullable(false)), + new Function() + .setName("BFCESTwoKeyNavRTESTwoKeyNav") + .setBound(true) + .setParameters( + Arrays.asList(new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav) + .setCollection(true).setNullable(false), + new Parameter().setName("ParameterString").setType(PropertyProvider.nameString) + .setCollection(false).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true) + .setNullable(false)) + ); + + } else if (functionName.equals(nameBFCStringRTESTwoKeyNav)) { + return Arrays.asList( + new Function().setName("BFCStringRTESTwoKeyNav") + .setBound(true) + .setParameters(Arrays.asList( + new Parameter().setName("BindingParam").setType(PropertyProvider.nameString).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false)) + ); + + } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTETTwoKeyNav)) { + return Arrays.asList( + new Function() + .setName("BFCETBaseTwoKeyNavRTETTwoKeyNav") + .setBound(true) + .setParameters(Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav) + .setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false) + ) + ); + + } else if (functionName.equals(nameBFCESBaseTwoKeyNavRTESBaseTwoKey)) { + return Arrays.asList( + new Function() + .setName("BFCESBaseTwoKeyNavRTESBaseTwoKey") + .setBound(true) + .setParameters(Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav) + .setCollection(true).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true) + .setNullable(false)) + ); + + } else if (functionName.equals(nameBFCESAllPrimRTCTAllPrim)) { + return Arrays.asList( + new Function() + .setName("BFCESAllPrimRTCTAllPrim") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETAllPrim) + .setCollection(true).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(ComplexTypeProvider.nameCTAllPrim).setNullable(false)) + ); + + } else if (functionName.equals(nameBFCESTwoKeyNavRTCTTwoPrim)) { + return Arrays.asList( + new Function() + .setName("BFCESTwoKeyNavRTCTTwoPrim") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false)) + ); + + } else if (functionName.equals(nameBFCESTwoKeyNavRTCollCTTwoPrim)) { + return Arrays.asList( + new Function() + .setName("BFCESTwoKeyNavRTCollCTTwoPrim") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setCollection(true).setNullable(false)) + ); + + } else if (functionName.equals(nameBFCESTwoKeyNavRTString)) { + return Arrays.asList( + new Function() + .setName("BFCESTwoKeyNavRTString") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(PropertyProvider.nameString).setNullable(false)) + ); + + } else if (functionName.equals(nameBFCESTwoKeyNavRTCollString)) { + return Arrays.asList( + new Function() + .setName("BFCESTwoKeyNavRTCollString") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(PropertyProvider.nameString).setCollection(true).setNullable(false)) + ); + + } else if (functionName.equals(nameBFCETTwoKeyNavRTESTwoKeyNav)) { + return Arrays.asList( + new Function() + .setName("BFCETTwoKeyNavRTESTwoKeyNav") + .setBound(true) + .setParameters(Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false)) + ); + + } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTESTwoKeyNav)) { + return Arrays.asList( + new Function() + .setName("BFCETBaseTwoKeyNavRTESTwoKeyNav") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav) + .setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false)) + ); + + } else if (functionName.equals(nameBFCSINavRTESTwoKeyNav)) { + return Arrays.asList( + new Function() + .setName("BFCSINavRTESTwoKeyNav") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav).setNullable( + false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false)) + ); + + } else if (functionName.equals(nameBFCETBaseTwoKeyNavRTESBaseTwoKey)) { + return Arrays.asList( + new Function() + .setName("BFCETBaseTwoKeyNavRTESBaseTwoKey") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETBaseTwoKeyNav) + .setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true).setNullable( + false)) + ); + + } else if (functionName.equals(nameBFCCollStringRTESTwoKeyNav)) { + return Arrays.asList( + new Function() + .setName("BFCCollStringRTESTwoKeyNav") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(PropertyProvider.nameString).setCollection(true) + .setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false)) + ); + + } else if (functionName.equals(nameBFCCTPrimCompRTESTwoKeyNav)) { + return Arrays.asList( + new Function() + .setName("BFCCTPrimCompRTESTwoKeyNav") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp).setNullable( + false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false)) + ); + + } else if (functionName.equals(nameBFCCTPrimCompRTESBaseTwoKeyNav)) { + return Arrays.asList( + new Function() + .setName("BFCCTPrimCompRTESBaseTwoKeyNav") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp).setNullable( + false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETBaseTwoKeyNav).setCollection(true).setNullable( + false)) + ); + + } else if (functionName.equals(nameBFCCollCTPrimCompRTESAllPrim)) { + return Arrays.asList( + new Function() + .setName("BFCCollCTPrimCompRTESAllPrim") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp) + .setCollection(true).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETAllPrim).setCollection(true).setNullable(false)) + ); + + } else if (functionName.equals(nameBFCESTwoKeyNavRTTwoKeyNav)) { + return Arrays.asList( + new Function() + .setName("BFCESTwoKeyNavRTTwoKeyNav") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)) + ); + + } else if (functionName.equals(nameBFCESKeyNavRTETKeyNav)) { + return Arrays + .asList( + new Function() + .setName("BFCESKeyNavRTETKeyNav") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav).setCollection( + true).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false)) + ); + + } else if (functionName.equals(nameBFCETKeyNavRTETKeyNav)) { + return Arrays.asList( + new Function() + .setName("BFCETKeyNavRTETKeyNav") + .setBound(true) + .setParameters(Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false)) + ); + } else if (functionName.equals(nameBFESTwoKeyNavRTESTwoKeyNav)) { + return Arrays.asList( + new Function() + .setName("BFESTwoKeyNavRTESTwoKeyNav") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false)) + + ); + + } else if (functionName.equals(nameBFCETTwoKeyNavRTETTwoKeyNav)) { + return Arrays.asList( + new Function() + .setName("BFCETTwoKeyNavRTETTwoKeyNav") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav).setNullable( + false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false)) + ); + + } else if (functionName.equals(nameBFCETTwoKeyNavRTCTTwoPrim)) { + return Arrays.asList( + new Function() + .setName("BFCETTwoKeyNavRTCTTwoPrim") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav).setNullable( + false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(ComplexTypeProvider.nameCTTwoPrim).setNullable(false)) + ); + } else if (functionName.equals(nameBFCESTwoKeyNavRTCTNavFiveProp)) { + return Arrays.asList( + new Function() + .setName("BFCESTwoKeyNavRTCTNavFiveProp") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(ComplexTypeProvider.nameCTNavFiveProp).setNullable(false)) + ); + } else if (functionName.equals(nameBFCESTwoKeyNavRTCollCTNavFiveProp)) { + return Arrays.asList( + new Function() + .setName("BFCESTwoKeyNavRTCollCTNavFiveProp") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(ComplexTypeProvider.nameCTNavFiveProp).setCollection(true) + .setNullable(false)) + ); + } else if (functionName.equals(nameBFCESTwoKeyNavRTStringParam)) { + return Arrays.asList( + new Function() + .setName("BFCESTwoKeyNavRTStringParam") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true).setNullable(false), + new Parameter().setName("ParameterComplex").setType(ComplexTypeProvider.nameCTTwoPrim) + .setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(PropertyProvider.nameString).setNullable(false)) + ); + + } else if (functionName.equals(nameBFCESKeyNavRTETKeyNavParam)) { + return Arrays.asList( + new Function() + .setName("BFCESKeyNavRTETKeyNavParam") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(EntityTypeProvider.nameETKeyNav).setCollection( + true).setNullable(false), + new Parameter().setName("ParameterString").setType(PropertyProvider.nameString) + .setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETKeyNav).setNullable(false)) + ); + } else if (functionName.equals(nameBFCCTPrimCompRTETTwoKeyNavParam)) { + return Arrays.asList( + new Function() + .setName("BFCCTPrimCompRTETTwoKeyNavParam") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp).setNullable( + false), + new Parameter().setName("ParameterString").setType(PropertyProvider.nameString) + .setNullable(false))) + .setComposable(true) + .setReturnType(new ReturnType() + .setType(EntityTypeProvider.nameETTwoKeyNav).setNullable(false) + ) + ); + } else if (functionName.equals(nameBFCCTPrimCompRTESTwoKeyNavParam)) { + return Arrays.asList( + new Function() + .setName("BFCCTPrimCompRTESTwoKeyNavParam") + .setBound(true) + .setParameters( + Arrays.asList( + new Parameter().setName("BindingParam").setType(ComplexTypeProvider.nameCTPrimComp).setNullable( + false), + new Parameter().setName("ParameterString").setType(PropertyProvider.nameString) + .setNullable(false))) + .setComposable(true) + .setReturnType( + new ReturnType().setType(EntityTypeProvider.nameETTwoKeyNav).setCollection(true).setNullable(false)) + ); + } + + return null; + } + +} http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/70a989ce/lib/server-ref/src/main/java/org/apache/olingo/server/ref/provider/PropertyProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-ref/src/main/java/org/apache/olingo/server/ref/provider/PropertyProvider.java b/lib/server-ref/src/main/java/org/apache/olingo/server/ref/provider/PropertyProvider.java new file mode 100644 index 0000000..92b8d6e --- /dev/null +++ b/lib/server-ref/src/main/java/org/apache/olingo/server/ref/provider/PropertyProvider.java @@ -0,0 +1,590 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.olingo.server.ref.provider; + +import org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind; +import org.apache.olingo.commons.api.edm.FullQualifiedName; +import org.apache.olingo.server.api.edm.provider.NavigationProperty; +import org.apache.olingo.server.api.edm.provider.Property; + +public class PropertyProvider { + + // Primitive Type Names + public static final FullQualifiedName nameBinary = EdmPrimitiveTypeKind.Binary.getFullQualifiedName(); + public static final FullQualifiedName nameBoolean = EdmPrimitiveTypeKind.Boolean.getFullQualifiedName(); + public static final FullQualifiedName nameByte = EdmPrimitiveTypeKind.Byte.getFullQualifiedName(); + + public static final FullQualifiedName nameDate = EdmPrimitiveTypeKind.Date.getFullQualifiedName(); + public static final FullQualifiedName nameDateTimeOffset = + EdmPrimitiveTypeKind.DateTimeOffset.getFullQualifiedName(); + + public static final FullQualifiedName nameDecimal = EdmPrimitiveTypeKind.Decimal.getFullQualifiedName(); + public static final FullQualifiedName nameDouble = EdmPrimitiveTypeKind.Double.getFullQualifiedName(); + public static final FullQualifiedName nameDuration = EdmPrimitiveTypeKind.Duration.getFullQualifiedName(); + + public static final FullQualifiedName nameGuid = EdmPrimitiveTypeKind.Guid.getFullQualifiedName(); + public static final FullQualifiedName nameInt16 = EdmPrimitiveTypeKind.Int16.getFullQualifiedName(); + public static final FullQualifiedName nameInt32 = EdmPrimitiveTypeKind.Int32.getFullQualifiedName(); + public static final FullQualifiedName nameInt64 = EdmPrimitiveTypeKind.Int64.getFullQualifiedName(); + + public static final FullQualifiedName nameSByte = EdmPrimitiveTypeKind.SByte.getFullQualifiedName(); + public static final FullQualifiedName nameSingle = EdmPrimitiveTypeKind.Single.getFullQualifiedName(); + + public static final FullQualifiedName nameString = EdmPrimitiveTypeKind.String.getFullQualifiedName(); + public static final FullQualifiedName nameTimeOfDay = EdmPrimitiveTypeKind.TimeOfDay.getFullQualifiedName(); + + // Primitive Properties -------------------------------------------------------------------------------------------- + public static final Property collPropertyBinary = new Property() + .setName("CollPropertyBinary") + .setType(nameBinary) + .setCollection(true); + + public static final Property collPropertyBinary_ExplicitNullable = new Property() + .setName("CollPropertyBinary") + .setType(nameBinary) + .setNullable(true) + .setCollection(true); + + public static final Property collPropertyBoolean = new Property() + .setName("CollPropertyBoolean") + .setType(nameBoolean) + .setCollection(true); + + public static final Property collPropertyBoolean_ExplicitNullable = new Property() + .setName("CollPropertyBoolean") + .setType(nameBoolean) + .setNullable(true) + .setCollection(true); + + public static final Property collPropertyByte = new Property() + .setName("CollPropertyByte") + .setType(nameByte) + .setCollection(true); + + public static final Property collPropertyByte_ExplicitNullable = new Property() + .setName("CollPropertyByte") + .setType(nameByte) + .setNullable(true) + .setCollection(true); + + public static final Property collPropertyDate = new Property() + .setName("CollPropertyDate") + .setType(nameDate) + .setCollection(true); + + public static final Property collPropertyDate_ExplicitNullable = new Property() + .setName("CollPropertyDate") + .setType(nameDate) + .setNullable(true) + .setCollection(true); + + public static final Property collPropertyDateTimeOffset = new Property() + .setName("CollPropertyDateTimeOffset") + .setType(nameDateTimeOffset) + .setCollection(true); + + public static final Property collPropertyDateTimeOffset_ExplicitNullable = new Property() + .setName("CollPropertyDateTimeOffset") + .setType(nameDateTimeOffset) + .setNullable(true) + .setCollection(true); + + public static final Property collPropertyDecimal = new Property() + .setName("CollPropertyDecimal") + .setType(nameDecimal) + .setCollection(true); + + public static final Property collPropertyDecimal_ExplicitNullable = new Property() + .setName("CollPropertyDecimal") + .setType(nameDecimal) + .setNullable(true) + .setCollection(true); + + public static final Property collPropertyDouble = new Property() + .setName("CollPropertyDouble") + .setType(nameDouble) + .setCollection(true); + + public static final Property collPropertyDouble_ExplicitNullable = new Property() + .setName("CollPropertyDouble") + .setType(nameDouble) + .setNullable(true) + .setCollection(true); + + public static final Property collPropertyDuration = new Property() + .setName("CollPropertyDuration") + .setType(nameDuration) + .setCollection(true); + + public static final Property collPropertyDuration_ExplicitNullable = new Property() + .setName("CollPropertyDuration") + .setType(nameDuration) + .setNullable(true) + .setCollection(true); + + public static final Property collPropertyGuid = new Property() + .setName("CollPropertyGuid") + .setType(nameGuid) + .setCollection(true); + + public static final Property collPropertyGuid_ExplicitNullable = new Property() + .setName("CollPropertyGuid") + .setType(nameGuid) + .setNullable(true) + .setCollection(true); + + public static final Property collPropertyInt16 = new Property() + .setName("CollPropertyInt16") + .setType(nameInt16) + .setCollection(true); + + public static final Property collPropertyInt16_ExplicitNullable = new Property() + .setName("CollPropertyInt16") + .setType(nameInt16) + .setNullable(true) + .setCollection(true); + + public static final Property collPropertyInt32 = new Property() + .setName("CollPropertyInt32") + .setType(nameInt32) + .setCollection(true); + + public static final Property collPropertyInt32_ExplicitNullable = new Property() + .setName("CollPropertyInt32") + .setType(nameInt32) + .setNullable(true) + .setCollection(true); + + public static final Property collPropertyInt64 = new Property() + .setName("CollPropertyInt64") + .setType(nameInt64) + .setCollection(true); + + public static final Property collPropertyInt64_ExplicitNullable = new Property() + .setName("CollPropertyInt64") + .setType(nameInt64) + .setNullable(true) + .setCollection(true); + + public static final Property collPropertySByte = new Property() + .setName("CollPropertySByte") + .setType(nameSByte) + .setCollection(true); + + public static final Property collPropertySByte_ExplicitNullable = new Property() + .setName("CollPropertySByte") + .setType(nameSByte) + .setNullable(true) + .setCollection(true); + + public static final Property collPropertySingle = new Property() + .setName("CollPropertySingle") + .setType(nameSingle) + .setCollection(true); + + public static final Property collPropertySingle_ExplicitNullable = new Property() + .setName("CollPropertySingle") + .setType(nameSingle) + .setNullable(true) + .setCollection(true); + + public static final Property collPropertyString = new Property() + .setName("CollPropertyString") + .setType(nameString) + .setCollection(true); + + public static final Property collPropertyString_ExplicitNullable = new Property() + .setName("CollPropertyString") + .setType(nameString) + .setNullable(true) + .setCollection(true); + + public static final Property collPropertyTimeOfDay = new Property() + .setName("CollPropertyTimeOfDay") + .setType(nameTimeOfDay) + .setCollection(true); + + public static final Property collPropertyTimeOfDay_ExplicitNullable = new Property() + .setName("CollPropertyTimeOfDay") + .setType(nameTimeOfDay) + .setNullable(true) + .setCollection(true); + + public static final Property propertyBinary = new Property() + .setName("PropertyBinary") + .setType(nameBinary); + + public static final Property propertyBinary_NotNullable = new Property() + .setName("PropertyBinary") + .setType(nameBinary) + .setNullable(false); + + public static final Property propertyBinary_ExplicitNullable = new Property() + .setName("PropertyBinary") + .setType(nameBinary) + .setNullable(true); + + public static final Property propertyBoolean = new Property() + .setName("PropertyBoolean") + .setType(nameBoolean); + + public static final Property propertyBoolean_NotNullable = new Property() + .setName("PropertyBoolean") + .setType(nameBoolean) + .setNullable(false); + + public static final Property propertyBoolean_ExplicitNullable = new Property() + .setName("PropertyBoolean") + .setType(nameBoolean) + .setNullable(true); + + public static final Property propertyByte = new Property() + .setName("PropertyByte") + .setType(nameByte); + + public static final Property propertyByte_NotNullable = new Property() + .setName("PropertyByte") + .setType(nameByte) + .setNullable(false); + + public static final Property propertyByte_ExplicitNullable = new Property() + .setName("PropertyByte") + .setType(nameByte) + .setNullable(true); + + public static final Property propertyDate = new Property() + .setName("PropertyDate") + .setType(nameDate); + + public static final Property propertyDate_NotNullable = new Property() + .setName("PropertyDate") + .setType(nameDate) + .setNullable(false); + + public static final Property propertyDate_ExplicitNullable = new Property() + .setName("PropertyDate") + .setType(nameDate) + .setNullable(true); + + public static final Property propertyDateTimeOffset = new Property() + .setName("PropertyDateTimeOffset") + .setType(nameDateTimeOffset); + + public static final Property propertyDateTimeOffset_NotNullable = new Property() + .setName("PropertyDateTimeOffset") + .setType(nameDateTimeOffset) + .setNullable(false); + + public static final Property propertyDateTimeOffset_ExplicitNullable = new Property() + .setName("PropertyDateTimeOffset") + .setType(nameDateTimeOffset) + .setNullable(true); + + public static final Property propertyDecimal = new Property() + .setName("PropertyDecimal") + .setType(nameDecimal); + + public static final Property propertyDecimal_NotNullable = new Property() + .setName("PropertyDecimal") + .setType(nameDecimal) + .setNullable(false); + + public static final Property propertyDecimal_ExplicitNullable = new Property() + .setName("PropertyDecimal") + .setType(nameDecimal) + .setNullable(true); + + public static final Property propertyDouble = new Property() + .setName("PropertyDouble") + .setType(nameDouble); + + public static final Property propertyDouble_NotNullable = new Property() + .setName("PropertyDouble") + .setType(nameDouble) + .setNullable(false); + + public static final Property propertyDouble_ExplicitNullable = new Property() + .setName("PropertyDouble") + .setType(nameDouble) + .setNullable(true); + + public static final Property propertyDuration = new Property() + .setName("PropertyDuration") + .setType(nameDuration); + + public static final Property propertyDuration_NotNullable = new Property() + .setName("PropertyDuration") + .setType(nameDuration) + .setNullable(false); + + public static final Property propertyDuration_ExplicitNullable = new Property() + .setName("PropertyDuration") + .setType(nameDuration) + .setNullable(true); + + public static final Property propertyGuid = new Property() + .setName("PropertyGuid") + .setType(nameGuid); + + public static final Property propertyGuid_NotNullable = new Property() + .setName("PropertyGuid") + .setType(nameGuid) + .setNullable(false); + + public static final Property propertyGuid_ExplicitNullable = new Property() + .setName("PropertyGuid") + .setType(nameGuid) + .setNullable(true); + + public static final Property propertyInt16 = new Property() + .setName("PropertyInt16") + .setType(nameInt16); + + public static final Property propertyInt16_NotNullable = new Property() + .setName("PropertyInt16") + .setType(nameInt16) + .setNullable(false); + + public static final Property propertyInt16_ExplicitNullable = new Property() + .setName("PropertyInt16") + .setType(nameInt16) + .setNullable(true); + + public static final Property propertyInt32 = new Property() + .setName("PropertyInt32") + .setType(nameInt32); + + public static final Property propertyInt32_NotNullable = new Property() + .setName("PropertyInt32") + .setType(nameInt32) + .setNullable(false); + + public static final Property propertyInt32_ExplicitNullable = new Property() + .setName("PropertyInt32") + .setType(nameInt32) + .setNullable(true); + + public static final Property propertyInt64 = new Property() + .setName("PropertyInt64") + .setType(nameInt64); + + public static final Property propertyInt64_NotNullable = new Property() + .setName("PropertyInt64") + .setType(nameInt64) + .setNullable(false); + + public static final Property propertyInt64_ExplicitNullable = new Property() + .setName("PropertyInt64") + .setType(nameInt64) + .setNullable(true); + + public static final Property propertySByte = new Property() + .setName("PropertySByte") + .setType(nameSByte); + + public static final Property propertySByte_NotNullable = new Property() + .setName("PropertySByte") + .setType(nameSByte) + .setNullable(false); + + public static final Property propertySByte_ExplicitNullable = new Property() + .setName("PropertySByte") + .setType(nameSByte) + .setNullable(true); + + public static final Property propertySingle = new Property() + .setName("PropertySingle") + .setType(nameSingle); + + public static final Property propertySingle_NotNullable = new Property() + .setName("PropertySingle") + .setType(nameSingle) + .setNullable(false); + + public static final Property propertySingle_ExplicitNullable = new Property() + .setName("PropertySingle") + .setType(nameSingle) + .setNullable(true); + + public static final Property propertyString = new Property() + .setName("PropertyString") + .setType(nameString); + + public static final Property propertyString_NotNullable = new Property() + .setName("PropertyString") + .setType(nameString) + .setNullable(false); + + public static final Property propertyString_ExplicitNullable = new Property() + .setName("PropertyString") + .setType(nameString) + .setNullable(true); + + public static final Property propertyTimeOfDay = new Property() + .setName("PropertyTimeOfDay") + .setType(nameTimeOfDay); + + public static final Property propertyTimeOfDay_NotNullable = new Property() + .setName("PropertyTimeOfDay") + .setType(nameTimeOfDay) + .setNullable(false); + + public static final Property propertyTimeOfDay_ExplicitNullable = new Property() + .setName("PropertyTimeOfDay") + .setType(nameTimeOfDay) + .setNullable(true); + + /* + * TODO add propertyStream + * Property propertyStream = new Property() + * .setName("PropertyStream") + * .setType(EdmStream.getFullQualifiedName()); + */ + + // Complex Properties ---------------------------------------------------------------------------------------------- + public static final Property collPropertyComplex_CTPrimComp = new Property() + .setName("CollPropertyComplex") + .setType(ComplexTypeProvider.nameCTPrimComp) + .setCollection(true); + + public static final Property collPropertyComplex_CTTwoPrim = new Property() + .setName("CollPropertyComplex") + .setType(ComplexTypeProvider.nameCTTwoPrim) + .setCollection(true); + + public static final Property propertyComplex_CTAllPrim = new Property() + .setName("PropertyComplex") + .setType(ComplexTypeProvider.nameCTAllPrim); + + public static final Property propertyComplex_CTCollAllPrim = new Property() + .setName("PropertyComplex") + .setType(ComplexTypeProvider.nameCTCollAllPrim); + + public static final Property propertyComplex_CTCompCollComp = new Property() + .setName("PropertyComplex") + .setType(ComplexTypeProvider.nameCTCompCollComp); + + public static final Property propertyComplex_CTCompComp = new Property() + .setName("PropertyComplex") + .setType(ComplexTypeProvider.nameCTCompComp); + + public static final Property propertyComplex_CTNavFiveProp = new Property() + .setName("PropertyComplex") + .setType(ComplexTypeProvider.nameCTNavFiveProp); + + public static final Property propertyComplex_CTPrimComp_NotNullable = new Property() + .setName("PropertyComplex") + .setType(ComplexTypeProvider.nameCTPrimComp) + .setNullable(false); + + public static final Property propertyComplex_CTTwoPrim = new Property() + .setName("PropertyComplex") + .setType(ComplexTypeProvider.nameCTTwoPrim); + + public static final Property propertyComplexAllPrim_CTAllPrim = new Property() + .setName("PropertyComplexAllPrim") + .setType(ComplexTypeProvider.nameCTAllPrim); + + public static final Property propertyComplexComplex_CTCompComp = new Property() + .setName("PropertyComplexComplex") + .setType(ComplexTypeProvider.nameCTCompComp); + + public static final Property propertyComplexEnum_CTPrimEnum_NotNullable = new Property() + .setName("PropertyComplexEnum") + .setType(ComplexTypeProvider.nameCTPrimEnum) + .setNullable(false); + + public static final Property propertyComplexTwoPrim_CTTwoPrim = new Property() + .setName("PropertyComplexTwoPrim") + .setType(ComplexTypeProvider.nameCTTwoPrim); + + public static final Property propertyMixedPrimCollComp_CTMixPrimCollComp = new Property() + .setName("PropertyMixedPrimCollComp") + .setType(ComplexTypeProvider.nameCTMixPrimCollComp); + + // Navigation Properties ------------------------------------------------------------------------------------------- + public static final NavigationProperty collectionNavPropertyETKeyNavMany_ETKeyNav = new NavigationProperty() + .setName("NavPropertyETKeyNavMany") + .setType(EntityTypeProvider.nameETKeyNav) + .setCollection(true); + + public static final NavigationProperty collectionNavPropertyETMediaMany_ETMedia = new NavigationProperty() + .setName("NavPropertyETMediaMany") + .setType(EntityTypeProvider.nameETMedia) + .setCollection(true); + + public static final NavigationProperty collectionNavPropertyETTwoKeyNavMany_ETTwoKeyNav = new NavigationProperty() + .setName("NavPropertyETTwoKeyNavMany") + .setType(EntityTypeProvider.nameETTwoKeyNav) + .setCollection(true) + .setPartner("NavPropertyETKeyNavOne"); + + public static final NavigationProperty collectionNavPropertyETTwoKeyNavOne_ETTwoKeyNav = new NavigationProperty() + .setName("NavPropertyETTwoKeyNavOne") + .setType(EntityTypeProvider.nameETTwoKeyNav); + + public static final NavigationProperty collectionNavPropertyETTwoPrimMany_ETTwoPrim = new NavigationProperty() + .setName("NavPropertyETTwoPrimMany") + .setType(EntityTypeProvider.nameETTwoPrim) + .setCollection(true) + .setNullable(false); + + public static final NavigationProperty collectionNavPropertyETAllPrimMany_ETAllPrim = new NavigationProperty() + .setName("NavPropertyETAllPrimMany") + .setType(EntityTypeProvider.nameETAllPrim) + .setCollection(true); + + public static final NavigationProperty navPropertyETKeyNavOne_ETKeyNav = new NavigationProperty() + .setName("NavPropertyETKeyNavOne") + .setType(EntityTypeProvider.nameETKeyNav); + + public static final NavigationProperty navPropertyETMediaOne_ETMedia = new NavigationProperty() + .setName("NavPropertyETMediaOne") + .setType(EntityTypeProvider.nameETMedia); + + public static final NavigationProperty navPropertyETKeyPrimNavOne_ETKeyPrimNav = new NavigationProperty() + .setName("NavPropertyETKeyPrimNavOne") + .setType(EntityTypeProvider.nameETKeyPrimNav); + + public static final NavigationProperty navPropertyETTwoKeyNavOne_ETTwoKeyNav_NotNullable = new NavigationProperty() + .setName("NavPropertyETTwoKeyNavOne") + .setType(EntityTypeProvider.nameETTwoKeyNav) + .setNullable(false); + + public static final NavigationProperty navPropertyETTwoKeyNavOne_ETTwoKeyNav = new NavigationProperty() + .setName("NavPropertyETTwoKeyNavOne") + .setType(EntityTypeProvider.nameETTwoKeyNav); + + public static final NavigationProperty navPropertyETTwoPrimOne_ETTwoPrim = new NavigationProperty() + .setName("NavPropertyETTwoPrimOne") + .setType(EntityTypeProvider.nameETTwoPrim) + .setNullable(false); + + public static final NavigationProperty navPropertyETAllPrimOne_ETAllPrim = new NavigationProperty() + .setName("NavPropertyETAllPrimOne") + .setType(EntityTypeProvider.nameETAllPrim); + + // EnumProperties -------------------------------------------------------------------------------------------------- + public static final Property propertyEnumString_ENString = new Property() + .setName("PropertyEnumString") + .setType(EnumTypeProvider.nameENString); + + // TypeDefinition Properties --------------------------------------------------------------------------------------- + +} http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/70a989ce/lib/server-ref/src/main/java/org/apache/olingo/server/ref/provider/SchemaProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-ref/src/main/java/org/apache/olingo/server/ref/provider/SchemaProvider.java b/lib/server-ref/src/main/java/org/apache/olingo/server/ref/provider/SchemaProvider.java new file mode 100644 index 0000000..c4fa3ae --- /dev/null +++ b/lib/server-ref/src/main/java/org/apache/olingo/server/ref/provider/SchemaProvider.java @@ -0,0 +1,250 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.olingo.server.ref.provider; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.olingo.commons.api.ODataException; +import org.apache.olingo.server.api.edm.provider.Action; +import org.apache.olingo.server.api.edm.provider.ActionImport; +import org.apache.olingo.server.api.edm.provider.ComplexType; +import org.apache.olingo.server.api.edm.provider.EntityContainer; +import org.apache.olingo.server.api.edm.provider.EntitySet; +import org.apache.olingo.server.api.edm.provider.EntityType; +import org.apache.olingo.server.api.edm.provider.EnumType; +import org.apache.olingo.server.api.edm.provider.Function; +import org.apache.olingo.server.api.edm.provider.FunctionImport; +import org.apache.olingo.server.api.edm.provider.Schema; +import org.apache.olingo.server.api.edm.provider.Singleton; + +public class SchemaProvider { + + private EdmTechProvider prov; + + public static final String nameSpace = "com.sap.odata.test1"; + + public SchemaProvider(final EdmTechProvider prov) { + this.prov = prov; + } + + public List getSchemas() throws ODataException { + List schemas = new ArrayList(); + Schema schema = new Schema(); + schema.setNamespace("com.sap.odata.test1"); + schema.setAlias("Namespace1_Alias"); + schemas.add(schema); + // EnumTypes + List enumTypes = new ArrayList(); + schema.setEnumTypes(enumTypes); + enumTypes.add(prov.getEnumType(EnumTypeProvider.nameENString)); + // EntityTypes + List entityTypes = new ArrayList(); + schema.setEntityTypes(entityTypes); + + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETAllPrim)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCollAllPrim)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoPrim)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETMixPrimCollComp)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoKeyTwoPrim)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETBase)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoBase)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETAllKey)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCompAllPrim)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCompCollAllPrim)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCompComp)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCompCollComp)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETMedia)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETFourKeyAlias)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETServerSidePaging)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETAllNullable)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETKeyNav)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoKeyNav)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETBaseTwoKeyNav)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETTwoBaseTwoKeyNav)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETCompMixPrimCollComp)); + entityTypes.add(prov.getEntityType(EntityTypeProvider.nameETKeyPrimNav)); + + // ComplexTypes + List complexType = new ArrayList(); + schema.setComplexTypes(complexType); + complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTPrim)); + complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTAllPrim)); + complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTCollAllPrim)); + complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTTwoPrim)); + complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTMixPrimCollComp)); + complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTBase)); + complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTTwoBase)); + complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTCompComp)); + complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTCompCollComp)); + complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTPrimComp)); + complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTNavFiveProp)); + complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTPrimEnum)); + complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTBasePrimCompNav)); + complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTTwoBasePrimCompNav)); + complexType.add(prov.getComplexType(ComplexTypeProvider.nameCTCompNav)); + + // TypeDefinitions + + // Actions + List actions = new ArrayList(); + schema.setActions(actions); + actions.addAll(prov.getActions(ActionProvider.nameBAETTwoKeyNavRTETTwoKeyNav)); + actions.addAll(prov.getActions(ActionProvider.nameBAESAllPrimRTETAllPrim)); + actions.addAll(prov.getActions(ActionProvider.nameBAESTwoKeyNavRTESTwoKeyNav)); + actions.addAll(prov.getActions(ActionProvider.nameBAETBaseTwoKeyNavRTETBaseTwoKeyNav)); + actions.addAll(prov.getActions(ActionProvider.nameBAETTwoBaseTwoKeyNavRTETBaseTwoKeyNav)); + actions.addAll(prov.getActions(ActionProvider.nameUARTPrimParam)); + actions.addAll(prov.getActions(ActionProvider.nameUARTPrimCollParam)); + actions.addAll(prov.getActions(ActionProvider.nameUARTCompParam)); + actions.addAll(prov.getActions(ActionProvider.nameUARTCompCollParam)); + actions.addAll(prov.getActions(ActionProvider.nameUARTETParam)); + actions.addAll(prov.getActions(ActionProvider.nameUARTESParam)); + + // Functions + List functions = new ArrayList(); + schema.setFunctions(functions); + + functions.addAll(prov.getFunctions(FunctionProvider.nameUFNRTInt16)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETKeyNav)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETTwoKeyNavParam)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETTwoKeyNavParamCTTwoPrim)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTStringTwoParam)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTESTwoKeyNavParam)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTString)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCollStringTwoParam)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCollString)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCTAllPrimTwoParam)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCTTwoPrimParam)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCollCTTwoPrimParam)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCTTwoPrim)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTCollCTTwoPrim)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETMedia)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFNRTESMixPrimCollCompTwoParam)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTETAllPrimTwoParam)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFCRTESMixPrimCollCompTwoParam)); + functions.addAll(prov.getFunctions(FunctionProvider.nameUFNRTCollCTNavFiveProp)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTESTwoKeyNav)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCStringRTESTwoKeyNav)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETBaseTwoKeyNavRTETTwoKeyNav)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESBaseTwoKeyNavRTESBaseTwoKey)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESAllPrimRTCTAllPrim)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTCTTwoPrim)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTCollCTTwoPrim)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTString)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTCollString)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETTwoKeyNavRTESTwoKeyNav)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETBaseTwoKeyNavRTESTwoKeyNav)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCSINavRTESTwoKeyNav)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETBaseTwoKeyNavRTESBaseTwoKey)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCollStringRTESTwoKeyNav)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCTPrimCompRTESTwoKeyNav)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCTPrimCompRTESBaseTwoKeyNav)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCollCTPrimCompRTESAllPrim)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTTwoKeyNav)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESKeyNavRTETKeyNav)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETKeyNavRTETKeyNav)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFESTwoKeyNavRTESTwoKeyNav)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETTwoKeyNavRTETTwoKeyNav)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCETTwoKeyNavRTCTTwoPrim)); + + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTCTNavFiveProp)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTCollCTNavFiveProp)); + + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESTwoKeyNavRTStringParam)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCESKeyNavRTETKeyNavParam)); + functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCTPrimCompRTETTwoKeyNavParam)); + // functions.addAll(prov.getFunctions(FunctionProvider.nameBFCCTPrimCompRTESTwoKeyNavParam)); + + // EntityContainer + EntityContainer container = new EntityContainer(); + schema.setEntityContainer(container); + container.setName(ContainerProvider.nameContainer.getName()); + + // EntitySets + List entitySets = new ArrayList(); + container.setEntitySets(entitySets); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESAllPrim")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCollAllPrim")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoPrim")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESMixPrimCollComp")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESBase")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoBase")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoKeyTwoPrim")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESBaseTwoKeyTwoPrim")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoBaseTwoKeyTwoPrim")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESAllKey")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCompAllPrim")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCompCollAllPrim")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCompComp")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCompCollComp")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESMedia")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESKeyTwoKeyComp")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESInvisible")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESServerSidePaging")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESAllNullable")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESKeyNav")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESTwoKeyNav")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESBaseTwoKeyNav")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESCompMixPrimCollComp")); + entitySets.add(prov.getEntitySet(ContainerProvider.nameContainer, "ESFourKeyAlias")); + + // Singletons + List singletons = new ArrayList(); + container.setSingletons(singletons); + singletons.add(prov.getSingleton(ContainerProvider.nameContainer, "SI")); + singletons.add(prov.getSingleton(ContainerProvider.nameContainer, "SINav")); + singletons.add(prov.getSingleton(ContainerProvider.nameContainer, "SIMedia")); + + // ActionImports + List actionImports = new ArrayList(); + container.setActionImports(actionImports); + actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTPrimParam")); + actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTPrimCollParam")); + actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTCompParam")); + actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTCompCollParam")); + actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTETParam")); + actionImports.add(prov.getActionImport(ContainerProvider.nameContainer, "AIRTETCollAllPrimParam")); + + // FunctionImports + List functionImports = new ArrayList(); + container.setFunctionImports(functionImports); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FINRTInt16")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FINInvisibleRTInt16")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FINInvisible2RTInt16")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTETKeyNav")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTETTwoKeyNavParam")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTStringTwoParam")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCollStringTwoParam")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCTAllPrimTwoParam")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTESMixPrimCollCompTwoParam")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FINRTESMixPrimCollCompTwoParam")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCollCTTwoPrim")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTETMedia")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCTTwoPrimParam")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCTTwoPrim")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCollString")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTString")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTESTwoKeyNavParam")); + functionImports.add(prov.getFunctionImport(ContainerProvider.nameContainer, "FICRTCollCTTwoPrimParam")); + + return schemas; + } + +} http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/70a989ce/lib/server-ref/src/main/java/org/apache/olingo/server/ref/provider/TypeDefinitionProvider.java ---------------------------------------------------------------------- diff --git a/lib/server-ref/src/main/java/org/apache/olingo/server/ref/provider/TypeDefinitionProvider.java b/lib/server-ref/src/main/java/org/apache/olingo/server/ref/provider/TypeDefinitionProvider.java new file mode 100644 index 0000000..0cc566a --- /dev/null +++ b/lib/server-ref/src/main/java/org/apache/olingo/server/ref/provider/TypeDefinitionProvider.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.olingo.server.ref.provider; + +import org.apache.olingo.commons.api.edm.FullQualifiedName; +import org.apache.olingo.server.api.edm.provider.TypeDefinition; + +public class TypeDefinitionProvider { + + public TypeDefinition getTypeDefinition(final FullQualifiedName typeDefinitionName) { + return null; + } + +} http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/70a989ce/lib/server-ref/src/main/webapp/WEB-INF/web.xml ---------------------------------------------------------------------- diff --git a/lib/server-ref/src/main/webapp/WEB-INF/web.xml b/lib/server-ref/src/main/webapp/WEB-INF/web.xml index cc7de77..b828a8e 100644 --- a/lib/server-ref/src/main/webapp/WEB-INF/web.xml +++ b/lib/server-ref/src/main/webapp/WEB-INF/web.xml @@ -30,7 +30,7 @@ ODataServlet - org.apache.olingo.ref.ReferenceServlet + org.apache.olingo.server.ref.ReferenceServlet 1 http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/70a989ce/lib/server-ref/src/test/java/org/apache/olingo/server/core/serializer/json/ServiceDocumentTest.java ---------------------------------------------------------------------- diff --git a/lib/server-ref/src/test/java/org/apache/olingo/server/core/serializer/json/ServiceDocumentTest.java b/lib/server-ref/src/test/java/org/apache/olingo/server/core/serializer/json/ServiceDocumentTest.java index 4bf5a99..8713348 100644 --- a/lib/server-ref/src/test/java/org/apache/olingo/server/core/serializer/json/ServiceDocumentTest.java +++ b/lib/server-ref/src/test/java/org/apache/olingo/server/core/serializer/json/ServiceDocumentTest.java @@ -28,6 +28,7 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.List; +import org.apache.commons.io.IOUtils; import org.apache.olingo.commons.api.edm.Edm; import org.apache.olingo.commons.api.edm.EdmEntityContainer; import org.apache.olingo.commons.api.edm.EdmEntitySet; @@ -36,7 +37,6 @@ import org.apache.olingo.commons.api.edm.EdmSingleton; import org.apache.olingo.server.api.ODataServer; import org.apache.olingo.server.api.serializer.ODataFormat; import org.apache.olingo.server.api.serializer.ODataSerializer; -import org.apache.olingo.server.core.testutil.StringUtils; import org.junit.Before; import org.junit.Test; @@ -116,7 +116,7 @@ public class ServiceDocumentTest { InputStream result = serializer.serviceDocument(edm, serviceRoot); assertNotNull(result); - String jsonString = StringUtils.inputStreamToString(result, true); + String jsonString = IOUtils.toString(result); assertTrue(jsonString.contains("entitySetName1")); assertTrue(jsonString.contains("entitySetName2")); http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/70a989ce/lib/server-ref/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java ---------------------------------------------------------------------- diff --git a/lib/server-ref/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java b/lib/server-ref/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java index 6a19364..7d3dee5 100644 --- a/lib/server-ref/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java +++ b/lib/server-ref/src/test/java/org/apache/olingo/server/core/serializer/xml/MetadataDocumentTest.java @@ -22,11 +22,13 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; +import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import org.apache.commons.io.IOUtils; import org.apache.olingo.commons.api.ODataException; import org.apache.olingo.commons.api.ODataRuntimeException; import org.apache.olingo.commons.api.edm.Edm; @@ -56,8 +58,7 @@ import org.apache.olingo.server.api.edm.provider.TypeDefinition; import org.apache.olingo.server.api.serializer.ODataFormat; import org.apache.olingo.server.api.serializer.ODataSerializer; import org.apache.olingo.server.core.edm.provider.EdmProviderImpl; -import org.apache.olingo.server.core.testutil.StringUtils; -import org.apache.olingo.server.core.testutil.techprovider.EdmTechProvider; +import org.apache.olingo.server.ref.provider.EdmTechProvider; import org.junit.Test; public class MetadataDocumentTest { @@ -76,12 +77,13 @@ public class MetadataDocumentTest { } @Test - public void writeMetadataWithLocalTestEdm() { + public void writeMetadataWithLocalTestEdm() throws Exception { ODataSerializer serializer = ODataServer.newInstance().getSerializer(ODataFormat.XML); Edm edm = new EdmProviderImpl(new TestMetadataProvider()); InputStream metadata = serializer.metadataDocument(edm); assertNotNull(metadata); - String metadataString = StringUtils.inputStreamToString(metadata, false); + + String metadataString = IOUtils.toString(metadata); assertTrue(metadataString .contains(""));