You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2013/12/28 15:18:26 UTC
[28/31] [OLINGO-99] Re-factor Package Names. Following are the changes
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/mapping/JPAEntityTypesMapType.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/mapping/JPAEntityTypesMapType.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/mapping/JPAEntityTypesMapType.java
new file mode 100644
index 0000000..7a72e08
--- /dev/null
+++ b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/mapping/JPAEntityTypesMapType.java
@@ -0,0 +1,89 @@
+/*******************************************************************************
+ * 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.odata2.jpa.processor.api.model.mapping;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * <p>
+ * Java class for JPAEntityTypesMapType complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
+ *
+ * <pre>
+ * <complexType name="JPAEntityTypesMapType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="JPAEntityType"
+ * type="{http://www.apache.org/olingo/odata2/jpa/processor/api/model/mapping}JPAEntityTypeMapType"
+ * maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "JPAEntityTypesMapType", propOrder = { "jpaEntityType" })
+public class JPAEntityTypesMapType {
+
+ @XmlElement(name = "JPAEntityType")
+ protected List<JPAEntityTypeMapType> jpaEntityType;
+
+ /**
+ * Gets the value of the jpaEntityType property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a
+ * snapshot. Therefore any modification you make to the returned list will
+ * be present inside the JAXB object. This is why there is not a
+ * <CODE>set</CODE> method for the jpaEntityType property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getJPAEntityType().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link JPAEntityTypeMapType }
+ *
+ *
+ */
+ public List<JPAEntityTypeMapType> getJPAEntityType() {
+ if (jpaEntityType == null) {
+ jpaEntityType = new ArrayList<JPAEntityTypeMapType>();
+ }
+ return jpaEntityType;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/mapping/JPAPersistenceUnitMapType.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/mapping/JPAPersistenceUnitMapType.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/mapping/JPAPersistenceUnitMapType.java
new file mode 100644
index 0000000..22260ea
--- /dev/null
+++ b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/mapping/JPAPersistenceUnitMapType.java
@@ -0,0 +1,157 @@
+/*******************************************************************************
+ * 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.odata2.jpa.processor.api.model.mapping;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ *
+ * By default Java Persistence Unit name is taken as EDM schema name. This can
+ * be overriden using JPAPersistenceUnitMapType.
+ *
+ *
+ * <p>
+ * Java class for JPAPersistenceUnitMapType complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
+ *
+ * <pre>
+ * <complexType name="JPAPersistenceUnitMapType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="EDMSchemaNamespace" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * <element name="JPAEntityTypes"
+ * type="{http://www.apache.org/olingo/odata2/jpa/processor/api/model/mapping}JPAEntityTypesMapType"/>
+ * <element name="JPAEmbeddableTypes"
+ * type="{http://www.apache.org/olingo/odata2/jpa/processor/api/model/mapping}JPAEmbeddableTypesMapType"/>
+ * </sequence>
+ * <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "JPAPersistenceUnitMapType",
+ propOrder = { "edmSchemaNamespace", "jpaEntityTypes", "jpaEmbeddableTypes" })
+public class JPAPersistenceUnitMapType {
+
+ @XmlElement(name = "EDMSchemaNamespace")
+ protected String edmSchemaNamespace;
+ @XmlElement(name = "JPAEntityTypes", required = true)
+ protected JPAEntityTypesMapType jpaEntityTypes;
+ @XmlElement(name = "JPAEmbeddableTypes", required = true)
+ protected JPAEmbeddableTypesMapType jpaEmbeddableTypes;
+ @XmlAttribute(name = "name", required = true)
+ protected String name;
+
+ /**
+ * Gets the value of the edmSchemaNamespace property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getEDMSchemaNamespace() {
+ return edmSchemaNamespace;
+ }
+
+ /**
+ * Sets the value of the edmSchemaNamespace property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setEDMSchemaNamespace(final String value) {
+ edmSchemaNamespace = value;
+ }
+
+ /**
+ * Gets the value of the jpaEntityTypes property.
+ *
+ * @return possible object is {@link JPAEntityTypesMapType }
+ *
+ */
+ public JPAEntityTypesMapType getJPAEntityTypes() {
+ return jpaEntityTypes;
+ }
+
+ /**
+ * Sets the value of the jpaEntityTypes property.
+ *
+ * @param value
+ * allowed object is {@link JPAEntityTypesMapType }
+ *
+ */
+ public void setJPAEntityTypes(final JPAEntityTypesMapType value) {
+ jpaEntityTypes = value;
+ }
+
+ /**
+ * Gets the value of the jpaEmbeddableTypes property.
+ *
+ * @return possible object is {@link JPAEmbeddableTypesMapType }
+ *
+ */
+ public JPAEmbeddableTypesMapType getJPAEmbeddableTypes() {
+ return jpaEmbeddableTypes;
+ }
+
+ /**
+ * Sets the value of the jpaEmbeddableTypes property.
+ *
+ * @param value
+ * allowed object is {@link JPAEmbeddableTypesMapType }
+ *
+ */
+ public void setJPAEmbeddableTypes(final JPAEmbeddableTypesMapType value) {
+ jpaEmbeddableTypes = value;
+ }
+
+ /**
+ * Gets the value of the name property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setName(final String value) {
+ name = value;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/mapping/JPARelationshipMapType.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/mapping/JPARelationshipMapType.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/mapping/JPARelationshipMapType.java
new file mode 100644
index 0000000..25a2f95
--- /dev/null
+++ b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/mapping/JPARelationshipMapType.java
@@ -0,0 +1,175 @@
+/*******************************************************************************
+ * 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.odata2.jpa.processor.api.model.mapping;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+/**
+ *
+ * The default name for EDM navigation property is derived from JPA relationship
+ * name. This can be overriden using JPARelationshipMapType.
+ *
+ *
+ * <p>
+ * Java class for JPARelationshipMapType complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained within
+ * this class.
+ *
+ * <pre>
+ * <complexType name="JPARelationshipMapType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="JPARelationship" maxOccurs="unbounded" minOccurs="0">
+ * <complexType>
+ * <simpleContent>
+ * <extension base="<http://www.w3.org/2001/XMLSchema>string">
+ * <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * </element>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "JPARelationshipMapType", propOrder = { "jpaRelationship" })
+public class JPARelationshipMapType {
+
+ @XmlElement(name = "JPARelationship")
+ protected List<JPARelationshipMapType.JPARelationship> jpaRelationship;
+
+ /**
+ * Gets the value of the jpaRelationship property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list, not a
+ * snapshot. Therefore any modification you make to the returned list will
+ * be present inside the JAXB object. This is why there is not a
+ * <CODE>set</CODE> method for the jpaRelationship property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ *
+ * <pre>
+ * getJPARelationship().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list {@link JPARelationshipMapType.JPARelationship }
+ *
+ *
+ */
+ public List<JPARelationshipMapType.JPARelationship> getJPARelationship() {
+ if (jpaRelationship == null) {
+ jpaRelationship = new ArrayList<JPARelationshipMapType.JPARelationship>();
+ }
+ return jpaRelationship;
+ }
+
+ /**
+ * <p>
+ * Java class for anonymous complex type.
+ *
+ * <p>
+ * The following schema fragment specifies the expected content contained
+ * within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <simpleContent>
+ * <extension base="<http://www.w3.org/2001/XMLSchema>string">
+ * <attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * </extension>
+ * </simpleContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "", propOrder = { "value" })
+ public static class JPARelationship {
+
+ @XmlValue
+ protected String value;
+ @XmlAttribute(name = "name", required = true)
+ protected String name;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setValue(final String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the name property.
+ *
+ * @return possible object is {@link String }
+ *
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Sets the value of the name property.
+ *
+ * @param value
+ * allowed object is {@link String }
+ *
+ */
+ public void setName(final String value) {
+ name = value;
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/mapping/package-info.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/mapping/package-info.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/mapping/package-info.java
new file mode 100644
index 0000000..45a7c3f
--- /dev/null
+++ b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/mapping/package-info.java
@@ -0,0 +1,28 @@
+/*******************************************************************************
+ * 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.
+ ******************************************************************************/
+/**
+ * <h3>OData JPA Processor API Library - Mapping Model</h3>
+ * The JPA EDM Mapping model (XML document) is represented as JAXB annotated Java Classes.
+ *
+ *
+ */
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.apache.org/olingo/odata2/jpa/processor/api/model/mapping",
+ elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package org.apache.olingo.odata2.jpa.processor.api.model.mapping;
+
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/package-info.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/package-info.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/package-info.java
new file mode 100644
index 0000000..c519179
--- /dev/null
+++ b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/model/package-info.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * 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.
+ ******************************************************************************/
+/**
+ * <h3>OData JPA Processor API Library - JPA EDM Model</h3>
+ * The library provides a set of views over the JPA/EDM element containers.
+ * The views can used to access the elements that form EDM.
+ *
+ *
+ */
+package org.apache.olingo.odata2.jpa.processor.api.model;
+
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/package-info.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/package-info.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/package-info.java
new file mode 100644
index 0000000..7cafb84
--- /dev/null
+++ b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/jpa/processor/api/package-info.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * 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.
+ ******************************************************************************/
+/**
+ * <h3>OData JPA Processor API Library</h3>
+ * The library provides a way for the developers to create an OData Service from a Java Persistence Model.
+ * The library supports Java Persistence 2.0 and is dependent on OData library.
+ *
+ * To create an OData service from JPA models
+ * <ol><li>extend the service factory class {@link org.apache.olingo.odata2.jpa.processor.api.ODataJPAServiceFactory}
+ * and implement the methods</li>
+ * <li>define a JAX-RS servlet in web.xml and configure the service factory as servlet init parameter.
+ * <p><b>See Also:</b>{@link org.apache.olingo.odata2.jpa.processor.api.ODataJPAServiceFactory}</li></ol>
+ *
+ *
+ */
+package org.apache.olingo.odata2.jpa.processor.api;
+
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/ODataJPAContext.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/ODataJPAContext.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/ODataJPAContext.java
deleted file mode 100644
index 9974434..0000000
--- a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/ODataJPAContext.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-package org.apache.olingo.odata2.processor.api.jpa;
-
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-
-import org.apache.olingo.odata2.api.edm.provider.EdmProvider;
-import org.apache.olingo.odata2.api.processor.ODataContext;
-import org.apache.olingo.odata2.api.processor.ODataProcessor;
-import org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmExtension;
-
-/**
- * This class does the compilation of context objects required for OData JPA
- * Runtime. The context object should be properly initialized with values else
- * the behavior of processor and EDM provider can result in exception.
- *
- * Following are the mandatory parameter to be set into the context object
- * <ol>
- * <li>Persistence Unit Name</li>
- * <li>An instance of Java Persistence Entity Manager Factory</li>
- * </ol>
- *
- * <br>
- * @org.apache.olingo.odata2.DoNotImplement
- * @see org.apache.olingo.odata2.processor.api.jpa.factory.ODataJPAFactory
- * @see org.apache.olingo.odata2.processor.api.jpa.factory.ODataJPAAccessFactory
- *
- */
-public interface ODataJPAContext {
-
- /**
- * The method gets the Java Persistence Unit Name set into the context.
- *
- * @return Java Persistence Unit Name
- */
- public String getPersistenceUnitName();
-
- /**
- * The method sets the Java Persistence Unit Name into the context.
- *
- * @param pUnitName
- * is the Java Persistence Unit Name.
- *
- */
- public void setPersistenceUnitName(String pUnitName);
-
- /**
- * The method gets the OData Processor for JPA from the context.
- *
- * @return OData JPA Processor
- */
- public ODataProcessor getODataProcessor();
-
- /**
- * The method sets the OData Processor for JPA into the context.
- *
- * @param processor
- * is the specific implementation of {@link org.apache.olingo.odata2.processor.api.jpa.ODataJPAProcessor} for
- * processing OData service requests.
- */
- public void setODataProcessor(ODataProcessor processor);
-
- /**
- * The method gets the EDM provider for JPA from the context.
- *
- * @return EDM provider
- */
- public EdmProvider getEdmProvider();
-
- /**
- * The method sets EDM provider into the context
- *
- * @param edmProvider
- * is the specific implementation of {@link org.apache.olingo.odata2.api.edm.provider.EdmProvider} for
- * transforming Java persistence models to Entity Data Model
- *
- */
- public void setEdmProvider(EdmProvider edmProvider);
-
- /**
- * The method gets the Java Persistence Entity Manager factory from the
- * context. <br>
- * <b>CAUTION:-</b> Don't use the Entity Manager Factory to instantiate
- * Entity Managers. Instead get reference to Entity Manager using
- * {@link org.apache.olingo.odata2.processor.api.jpa.ODataJPAContext#getEntityManager()}
- *
- * @return an instance of Java Persistence Entity Manager Factory
- */
- public EntityManagerFactory getEntityManagerFactory();
-
- /**
- * The method sets the Java Persistence Entity Manager factory into the
- * context.
- *
- * @param emf
- * is of type {@link javax.persistence.EntityManagerFactory}
- *
- */
- public void setEntityManagerFactory(EntityManagerFactory emf);
-
- /**
- * The method gets OData Context into the context.
- *
- * @return OData Context
- */
- public ODataContext getODataContext();
-
- /**
- * The method sets OData context into the context.
- *
- * @param ctx
- * is an OData context of type {@link org.apache.olingo.odata2.api.processor.ODataContext}
- */
- public void setODataContext(ODataContext ctx);
-
- /**
- * The method sets the JPA EDM mapping model name into the context. JPA EDM
- * mapping model is an XML document based on JPAEDMMappingModel.xsd
- *
- * @param name
- * is the name of JPA EDM mapping model
- */
- public void setJPAEdmMappingModel(String name);
-
- /**
- * The method gets the JPA EDM mapping model name from the context.
- *
- * @return name of JPA EDM mapping model
- */
- public String getJPAEdmMappingModel();
-
- /**
- * The method returns an instance of type entity manager. The entity manager
- * thus returns a single persistence context for the current OData request.
- * Hence all entities that are accessed within JPA processor are managed by
- * single entity manager.
- *
- * @return an instance of type {@link javax.persistence.EntityManager}
- */
- public EntityManager getEntityManager();
-
- /**
- * The method sets the JPA Edm Extension instance into the context. There
- * can be at most only one extension for a context. Invoking the method
- * several times overwrites already set extension instance in the context.
- *
- * @param jpaEdmExtension
- * is an instance of type {@link org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmExtension}
- *
- */
- public void setJPAEdmExtension(JPAEdmExtension jpaEdmExtension);
-
- /**
- * The method returns the JPA Edm Extension instance set into the context.
- *
- * @return an instance of type
- * {@link org.apache.olingo.odata2.processor.api.jpa.model.mapping.JPAEmbeddableTypeMapType}
- */
- public JPAEdmExtension getJPAEdmExtension();
-
- /**
- * The method sets into the context whether the library should consider default naming for
- * <ul><li>EdmProperty</li>
- * <li>EdmComplexProperty</li>
- * <li>EdmNavigationProperty</li></ul>
- *
- * @param defaultNaming is a boolean value that indicates if set to
- * <ul><li>true - default naming is considered in case no mapping is provided.</li>
- * <li>false - default naming is not considered in case no mapping is provided. The
- * name provided in JPA Entity Model is considered.</li>
- * </ul>
- */
- public void setDefaultNaming(boolean defaultNaming);
-
- /**
- * The method returns whether the library should consider default naming for
- * <ul><li>EdmProperty</li>
- * <li>EdmComplexProperty</li>
- * <li>EdmNavigationProperty</li></ul>
- *
- * @return
- * <ul><li>true - default naming is considered in case no mapping is provided.</li>
- * <li>false - default naming is not considered in case no mapping is provided. The
- * name provided in JPA Entity Model is considered.</li>
- * </ul>
- */
- public boolean getDefaultNaming();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/ODataJPAProcessor.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/ODataJPAProcessor.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/ODataJPAProcessor.java
deleted file mode 100644
index 441d38e..0000000
--- a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/ODataJPAProcessor.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-package org.apache.olingo.odata2.processor.api.jpa;
-
-import org.apache.olingo.odata2.api.processor.ODataSingleProcessor;
-import org.apache.olingo.odata2.processor.api.jpa.access.JPAProcessor;
-import org.apache.olingo.odata2.processor.api.jpa.exception.ODataJPAException;
-import org.apache.olingo.odata2.processor.api.jpa.factory.ODataJPAFactory;
-
-/**
- * Extend this class and implement an OData JPA processor if the default
- * behavior of OData JPA Processor library has to be overwritten.
- *
- *
- *
- *
- */
-public abstract class ODataJPAProcessor extends ODataSingleProcessor {
-
- /**
- * An instance of {@link org.apache.olingo.odata2.processor.api.jpa.ODataJPAContext} object
- */
- protected ODataJPAContext oDataJPAContext;
-
- /**
- * An instance of {@link org.apache.olingo.odata2.processor.api.jpa.access.JPAProcessor}. The
- * instance is created using {@link org.apache.olingo.odata2.processor.api.jpa.factory.JPAAccessFactory}.
- */
- protected JPAProcessor jpaProcessor;
-
- public ODataJPAContext getOdataJPAContext() {
- return oDataJPAContext;
- }
-
- public void setOdataJPAContext(final ODataJPAContext odataJPAContext) {
- oDataJPAContext = odataJPAContext;
- }
-
- /**
- * Constructor
- *
- * @param oDataJPAContext
- * non null OData JPA Context object
- */
- public ODataJPAProcessor(final ODataJPAContext oDataJPAContext) {
- if (oDataJPAContext == null) {
- throw new IllegalArgumentException(ODataJPAException.ODATA_JPACTX_NULL);
- }
- this.oDataJPAContext = oDataJPAContext;
- jpaProcessor = ODataJPAFactory.createFactory().getJPAAccessFactory().getJPAProcessor(this.oDataJPAContext);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/ODataJPAServiceFactory.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/ODataJPAServiceFactory.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/ODataJPAServiceFactory.java
deleted file mode 100644
index 4968107..0000000
--- a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/ODataJPAServiceFactory.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-package org.apache.olingo.odata2.processor.api.jpa;
-
-import org.apache.olingo.odata2.api.ODataCallback;
-import org.apache.olingo.odata2.api.ODataService;
-import org.apache.olingo.odata2.api.ODataServiceFactory;
-import org.apache.olingo.odata2.api.edm.provider.EdmProvider;
-import org.apache.olingo.odata2.api.exception.ODataException;
-import org.apache.olingo.odata2.api.processor.ODataContext;
-import org.apache.olingo.odata2.api.processor.ODataErrorCallback;
-import org.apache.olingo.odata2.api.processor.ODataSingleProcessor;
-import org.apache.olingo.odata2.processor.api.jpa.exception.ODataJPAErrorCallback;
-import org.apache.olingo.odata2.processor.api.jpa.exception.ODataJPARuntimeException;
-import org.apache.olingo.odata2.processor.api.jpa.factory.ODataJPAAccessFactory;
-import org.apache.olingo.odata2.processor.api.jpa.factory.ODataJPAFactory;
-
-/**
- * <p>
- * Extend this factory class and create own instance of {@link org.apache.olingo.odata2.api.ODataService} that
- * transforms Java Persistence
- * Models into an OData Service. The factory class instantiates instances of
- * type {@link org.apache.olingo.odata2.api.edm.provider.EdmProvider} and
- * {@link org.apache.olingo.odata2.api.processor.ODataSingleProcessor}. The OData
- * JPA Processor library provides a default implementation for EdmProvider and
- * OData Single Processor.
- * </p>
- * <p>
- * The factory implementation is passed as servlet init parameter to a JAX-RS
- * runtime which will instantiate a {@link org.apache.olingo.odata2.api.ODataService} implementation using this factory.
- * </p>
- *
- * <p>
- * <b>Mandatory:</b> Implement the abstract method initializeODataJPAContext. Fill
- * {@link org.apache.olingo.odata2.processor.api.jpa.ODataJPAContext} with context
- * values.
- * </p>
- *
- * <b>Sample Configuration:</b>
- *
- * <pre> {@code
- * <servlet>
- * <servlet-name>ReferenceScenarioServlet</servlet-name>
- * <servlet-class>org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet</servlet-class>
- * <init-param>
- * <param-name>javax.ws.rs.Application</param-name>
- * <param-value>org.apache.olingo.odata2.core.rest.ODataApplication</param-value>
- * </init-param>
- * <init-param>
- * <param-name>org.apache.olingo.odata2.processor.factory</param-name>
- * <param-value>foo.bar.sample.processor.SampleProcessorFactory</param-value>
- * </init-param>
- * <init-param>
- * <param-name>org.apache.olingo.odata2.path.split</param-name>
- * <param-value>2</param-value>
- * </init-param>
- * <load-on-startup>1</load-on-startup>
- * </servlet>
- * } </pre>
- */
-
-public abstract class ODataJPAServiceFactory extends ODataServiceFactory {
-
- private ODataJPAContext oDataJPAContext;
- private ODataContext oDataContext;
- private boolean setDetailErrors = false;
-
- /**
- * Creates an OData Service based on the values set in
- * {@link org.apache.olingo.odata2.processor.api.jpa.ODataJPAContext} and
- * {@link org.apache.olingo.odata2.api.processor.ODataContext}.
- */
- @Override
- public final ODataService createService(final ODataContext ctx) throws ODataException {
-
- oDataContext = ctx;
-
- // Initialize OData JPA Context
- oDataJPAContext = initializeODataJPAContext();
-
- validatePreConditions();
-
- ODataJPAFactory factory = ODataJPAFactory.createFactory();
- ODataJPAAccessFactory accessFactory = factory.getODataJPAAccessFactory();
-
- // OData JPA Processor
- if (oDataJPAContext.getODataContext() == null) {
- oDataJPAContext.setODataContext(ctx);
- }
-
- ODataSingleProcessor odataJPAProcessor = accessFactory.createODataProcessor(oDataJPAContext);
-
- // OData Entity Data Model Provider based on JPA
- EdmProvider edmProvider = accessFactory.createJPAEdmProvider(oDataJPAContext);
-
- return createODataSingleProcessorService(edmProvider, odataJPAProcessor);
- }
-
- private void validatePreConditions() throws ODataJPARuntimeException {
-
- if (oDataJPAContext.getEntityManagerFactory() == null) {
- throw ODataJPARuntimeException.throwException(ODataJPARuntimeException.ENTITY_MANAGER_NOT_INITIALIZED, null);
- }
-
- }
-
- /**
- * Implement this method and initialize OData JPA Context. It is mandatory
- * to set an instance of type {@link javax.persistence.EntityManagerFactory} into the context. An exception of type
- * {@link org.apache.olingo.odata2.processor.api.jpa.exception.ODataJPARuntimeException} is thrown if
- * EntityManagerFactory is not initialized. <br>
- * <br>
- * <b>Sample Code:</b> <code>
- * <p>public class JPAReferenceServiceFactory extends ODataJPAServiceFactory{</p>
- *
- * <blockquote>private static final String PUNIT_NAME = "punit";
- * <br>
- * public ODataJPAContext initializeODataJPAContext() {
- * <blockquote>ODataJPAContext oDataJPAContext = this.getODataJPAContext();
- * <br>
- * EntityManagerFactory emf = Persistence.createEntityManagerFactory(PUNIT_NAME);
- * <br>
- * oDataJPAContext.setEntityManagerFactory(emf);
- * oDataJPAContext.setPersistenceUnitName(PUNIT_NAME);
- * <br> return oDataJPAContext;</blockquote>
- * }</blockquote>
- * } </code>
- * <p>
- *
- * @return an instance of type {@link org.apache.olingo.odata2.processor.api.jpa.ODataJPAContext}
- * @throws ODataJPARuntimeException
- */
- public abstract ODataJPAContext initializeODataJPAContext() throws ODataJPARuntimeException;
-
- /**
- * @return an instance of type {@link ODataJPAContext}
- * @throws ODataJPARuntimeException
- */
- public final ODataJPAContext getODataJPAContext() throws ODataJPARuntimeException {
- if (oDataJPAContext == null) {
- oDataJPAContext = ODataJPAFactory.createFactory().getODataJPAAccessFactory().createODataJPAContext();
- }
- if (oDataContext != null) {
- oDataJPAContext.setODataContext(oDataContext);
- }
- return oDataJPAContext;
-
- }
-
- /**
- * The method sets the context whether a detail error message should be thrown
- * or a less detail error message should be thrown by the library.
- * @param setDetailErrors takes
- * <ul><li>true - to indicate that library should throw a detailed error message</li>
- * <li>false - to indicate that library should not throw a detailed error message</li>
- * </ul>
- *
- */
- protected void setDetailErrors(final boolean setDetailErrors) {
- this.setDetailErrors = setDetailErrors;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public <T extends ODataCallback> T getCallback(final Class<? extends ODataCallback> callbackInterface) {
- if (setDetailErrors == true) {
- if (callbackInterface.isAssignableFrom(ODataErrorCallback.class)) {
- return (T) new ODataJPAErrorCallback();
- }
- }
- return null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAEdmBuilder.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAEdmBuilder.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAEdmBuilder.java
deleted file mode 100644
index 110a1f1..0000000
--- a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAEdmBuilder.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-package org.apache.olingo.odata2.processor.api.jpa.access;
-
-import org.apache.olingo.odata2.processor.api.jpa.exception.ODataJPAModelException;
-import org.apache.olingo.odata2.processor.api.jpa.exception.ODataJPARuntimeException;
-
-/**
- * JPAEdmBuilder interface provides methods for building elements of an Entity Data Model (EDM) from
- * a Java Persistence Model.
- *
- *
- *
- */
-public interface JPAEdmBuilder {
- /**
- * The Method builds EDM Elements by transforming JPA MetaModel. The method
- * processes EDM JPA Containers which could be accessed using the following
- * views,
- * <ul>
- * <li> {@link org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmAssociationSetView} </li>
- * <li> {@link org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmAssociationView}</li>
- * <li> {@link org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmBaseView}</li>
- * <li> {@link org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmComplexPropertyView} </li>
- * <li> {@link org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmComplexTypeView}</li>
- * <li> {@link org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmEntityContainerView} </li>
- * <li> {@link org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmEntitySetView}</li>
- * <li> {@link org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmEntityTypeView}</li>
- * <li> {@link org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmKeyView}</li>
- * <li> {@link org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmModelView}</li>
- * <li> {@link org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmNavigationPropertyView} </li>
- * <li> {@link org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmPropertyView}</li>
- * <li> {@link org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmReferentialConstraintRoleView} </li>
- * <li> {@link org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmReferentialConstraintView} </li>
- * <li> {@link org.apache.olingo.odata2.processor.api.jpa.model.JPAEdmSchemaView}</li>
- * </ul>
- *
- * @throws ODataJPARuntimeException
- **/
- public void build() throws ODataJPAModelException, ODataJPARuntimeException;
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAEdmMappingModelAccess.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAEdmMappingModelAccess.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAEdmMappingModelAccess.java
deleted file mode 100644
index 216db55..0000000
--- a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAEdmMappingModelAccess.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-package org.apache.olingo.odata2.processor.api.jpa.access;
-
-import org.apache.olingo.odata2.processor.api.jpa.model.mapping.JPAEdmMappingModel;
-
-/**
- * Interface provides methods to access JPA EDM mapping model.
- *
- *
- * @see JPAEdmMappingModel
- *
- */
-public interface JPAEdmMappingModelAccess {
-
- /**
- * The method searches and loads the mapping model stored in <file>.xml
- * file into the java object {@link org.apache.olingo.odata2.processor.api.jpa.model.mapping.JPAEdmMappingModel} . The
- * name of the file is set into ODataJPAContext method.
- *
- * @see org.apache.olingo.odata2.processor.api.jpa.ODataJPAContext#setJPAEdmMappingModel(String)
- */
- public void loadMappingModel();
-
- /**
- * The method returns if there exists a mapping model.
- *
- * @return true - if there exists a mapping model for the OData service else
- * false
- */
- public boolean isMappingModelExists();
-
- /**
- * The method returns a JPA EDM mapping model Java object. The mapping model
- * in XML files is un-marshaled into the Java object.
- *
- * @return an instance of type {@link org.apache.olingo.odata2.processor.api.jpa.model.mapping.JPAEdmMappingModel}
- */
- public JPAEdmMappingModel getJPAEdmMappingModel();
-
- /**
- * The method returns EDM Schema namespace for the persistence unit name
- *
- * @param persistenceUnitName
- * is the Java persistence unit name
- * @return EDM schema name space mapped to Java persistence unit name or
- * null if no mapping is available
- */
- public String mapJPAPersistenceUnit(String persistenceUnitName);
-
- /**
- * The method returns EDM entity type name for the Java persistence entity
- * type name
- *
- * @param jpaEntityTypeName
- * is the Java persistence entity type name
- * @return EDM entity type name mapped to Java persistence entity type name
- * or null if no mapping is available
- */
- public String mapJPAEntityType(String jpaEntityTypeName);
-
- /**
- * The method returns EDM entity set name for the Java persistence entity
- * type name
- *
- * @param jpaEntityTypeName
- * is the Java persistence entity type name
- * @return EDM entity set name mapped to Java persistence entity type name
- * or null if no mapping is available
- */
- public String mapJPAEntitySet(String jpaEntityTypeName);
-
- /**
- * The method returns EDM property name for the Java persistence entity
- * attribute name.
- *
- * @param jpaEntityTypeName
- * is the Java persistence entity type name
- * @param jpaAttributeName
- * is the Java persistence attribute name
- * @return EDM property name mapped to Java persistence attribute name or
- * null if no mapping is available
- */
- public String mapJPAAttribute(String jpaEntityTypeName, String jpaAttributeName);
-
- /**
- * The method returns EDM navigation property name for the Java persistence
- * entity relationship name.
- *
- * @param jpaEntityTypeName
- * is the Java persistence entity type name
- * @param jpaRelationshipName
- * is the Java persistence relationship name
- * @return EDM navigation property name mapped to Java persistence entity
- * relationship name or null if no mapping is available
- */
- public String mapJPARelationship(String jpaEntityTypeName, String jpaRelationshipName);
-
- /**
- * The method returns EDM complex type name for the Java embeddable type
- * name.
- *
- * @param jpaEmbeddableTypeName
- * is the Java persistence embeddable type name
- * @return EDM complex type name mapped to Java persistence entity
- * relationship name or null if no mapping is available
- */
- public String mapJPAEmbeddableType(String jpaEmbeddableTypeName);
-
- /**
- * The method returns EDM property name for the Java persistence embeddable
- * type's attribute name.
- *
- * @param jpaEmbeddableTypeName
- * is the Java persistence
- * @param jpaAttributeName
- * is the Java persistence attribute name
- * @return EDM property name mapped to Java persistence attribute name or
- * null if no mapping is available
- */
- public String mapJPAEmbeddableTypeAttribute(String jpaEmbeddableTypeName, String jpaAttributeName);
-
- /**
- * The method returns whether the JPA Entity should be excluded from EDM
- * model
- *
- * @param jpaEntityTypeName
- * is the name of JPA Entity Type
- * @return <b>true</b> - if JPA Entity should be excluded<br>
- * <b>false</b> - if JPA Entity should be not be excluded
- *
- */
- public boolean checkExclusionOfJPAEntityType(String jpaEntityTypeName);
-
- /**
- * The method returns whether the JPA Attribute should be excluded from EDM
- * Entity Type
- *
- * @param jpaEntityTypeName
- * is the name of JPA Entity Type
- * @param jpaAttributeName
- * is the name of JPA attribute
- * @return <b>true</b> - if JPA attribute should be excluded<br>
- * <b>false</b> - if JPA attribute should be not be excluded
- *
- */
- public boolean checkExclusionOfJPAAttributeType(String jpaEntityTypeName, String jpaAttributeName);
-
- /**
- * The method returns whether the JPA Embeddable Type should be excluded
- * from EDM model
- *
- * @param jpaEmbeddableTypeName
- * is the name of JPA Embeddable Type
- * @return <b>true</b> - if JPA Embeddable Type should be excluded<br>
- * <b>false</b> - if JPA Embeddable Type should be not be excluded
- *
- */
- public boolean checkExclusionOfJPAEmbeddableType(String jpaEmbeddableTypeName);
-
- /**
- * The method returns whether the JPA Embeddable Attribute Type should be
- * excluded from EDM model
- *
- * @param jpaEmbeddableTypeName
- * is the name of JPA Embeddable Attribute Type
- * @param jpaAttributeName
- * is the name of JPA Attribute name
- * @return <b>true</b> - if JPA Embeddable Attribute Type should be excluded<br>
- * <b>false</b> - if JPA Embeddable Attribute Type should be not be
- * excluded
- *
- */
- public boolean checkExclusionOfJPAEmbeddableAttributeType(String jpaEmbeddableTypeName, String jpaAttributeName);
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAFunction.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAFunction.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAFunction.java
deleted file mode 100644
index 648a09c..0000000
--- a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAFunction.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-package org.apache.olingo.odata2.processor.api.jpa.access;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Type;
-
-/**
- * A container for JPA Functions. A JPA function can be
- * <ol>
- * <li>Property Access method</li>
- * <li>Custom Operation (Annotated with EDM Annotation FunctionImport)</li>
- * </ol>
- *
- *
- *
- */
-public class JPAFunction {
-
- private Method function;
- private Class<?>[] parameterTypes;
- private Type returnType;
- private Object[] args;
-
- public JPAFunction(final Method function, final Class<?>[] parameterTypes, final Type returnType,
- final Object[] args) {
- this.function = function;
- this.parameterTypes = parameterTypes;
- this.returnType = returnType;
- this.args = args;
- }
-
- /**
- * The method returns the Java method.
- *
- * @return an instance of {@link java.lang.reflect.Method}
- */
- public Method getFunction() {
- return function;
- }
-
- /**
- * The method returns the parameter types for the Java method.
- *
- * @return an array of type {@link java.lang.Class}
- */
- public Class<?>[] getParameterTypes() {
- return parameterTypes;
- }
-
- /**
- * The method returns the return type for the Java method.
- *
- * @return an instance of {@link java.lang.reflect.Type}
- */
- public Type getReturnType() {
- return returnType;
- }
-
- /**
- * The method returns an array of arguments for invoking the Java method.
- *
- * @return an array of Objects
- */
- public Object[] getArguments() {
- return args;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAJoinClause.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAJoinClause.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAJoinClause.java
deleted file mode 100644
index f0a4c8d..0000000
--- a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAJoinClause.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-package org.apache.olingo.odata2.processor.api.jpa.access;
-
-/**
- * A container for Java Persistence Join Clause that can be used for building
- * JPQL statements. The container has two main elements <b>
- * <ol>
- * <li>Java Persistence Entity -</li> is the source entity participating in the
- * join. <br>
- * <li>Java Persistence Entity Relationship -</li> is the entity relationship of
- * the source entity participating in the join.
- * </ol>
- * </b>
- *
- *
- *
- */
-public class JPAJoinClause {
-
- /**
- * Enumerated list of possible Joins in JPQL
- * <ol>
- * <li>LEFT - left outer join</li>
- * <li>FETCH - enable fetching of an association as a side effect of the
- * execution of a query</li>
- * <li>INNER - inner join
- * </ol>
- *
- *
- *
- */
- public enum JOIN {
- LEFT, FETCH, INNER
- }
-
- private String entityName;
- private String entityAlias;
- private String entityRelationShip;
- private String entityRelationShipAlias;
- private JOIN joinType;
- private String joinCondition;
-
- /**
- * The method returns Java Persistence Entity participating in the join.
- *
- * @return an entity name
- */
- public String getEntityName() {
- return entityName;
- }
-
- /**
- * The method returns Java Persistence Entity alias name participating in
- * the join.
- *
- * @return a entity alias name
- */
- public String getEntityAlias() {
- return entityAlias;
- }
-
- /**
- * The method returns Java Persistence Entity Relationship name
- * participating in the join.
- *
- * @return entity alias relationship
- */
- public String getEntityRelationShip() {
- return entityRelationShip;
- }
-
- /**
- * The method returns Java Persistence Entity Relationship Alias name
- * participating in the join.
- *
- * @return entity entity relationship alias
- */
- public String getEntityRelationShipAlias() {
- return entityRelationShipAlias;
- }
-
- /**
- * Constructor for creating elements of JPA Join Clause container.
- *
- * @param entityName
- * is the name of the JPA entity participating in the join
- * @param entityAlias
- * is the alias for the JPA entity participating in the join
- * @param entityRelationShip
- * is the name of the JPA entity relationship participating in
- * the join
- * @param entityRelationShipAlias
- * is the alias name of the JPA entity relationship participating
- * in the join
- * @param joinCondition
- * is the condition on which the joins should occur
- * @param joinType
- * is the type of join {@link org.apache.olingo.odata2.processor.api.jpa.access.JPAJoinClause.JOIN} to execute
- */
- public JPAJoinClause(final String entityName, final String entityAlias, final String entityRelationShip,
- final String entityRelationShipAlias, final String joinCondition, final JOIN joinType) {
-
- this.entityName = entityName;
- this.entityAlias = entityAlias;
- this.entityRelationShip = entityRelationShip;
- this.entityRelationShipAlias = entityRelationShipAlias;
- this.joinCondition = joinCondition;
- this.joinType = joinType;
- }
-
- /**
- * The method returns a join condition that can be used for building JPQL
- * join statements.
- *
- * @return a join condition
- */
- public String getJoinCondition() {
- return joinCondition;
- }
-
- /**
- * The method returns the type of {@link org.apache.olingo.odata2.processor.api.jpa.access.JPAJoinClause.JOIN} that
- * can be used for building JPQL join statements.
- *
- * @return join type
- */
- public JOIN getJoinType() {
- return joinType;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAMethodContext.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAMethodContext.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAMethodContext.java
deleted file mode 100644
index fd44200..0000000
--- a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAMethodContext.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-package org.apache.olingo.odata2.processor.api.jpa.access;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.olingo.odata2.processor.api.jpa.exception.ODataJPAModelException;
-import org.apache.olingo.odata2.processor.api.jpa.exception.ODataJPARuntimeException;
-import org.apache.olingo.odata2.processor.api.jpa.factory.ODataJPAFactory;
-import org.apache.olingo.odata2.processor.api.jpa.jpql.JPQLContextType;
-
-/**
- * The abstract class is a compilation of objects required for building specific
- * instances of JPA Method Context. Extend this class to implement specific
- * implementations of JPQL context types (Create,Update,Function). A JPA method
- * Context is constructed from an OData request. Depending on OData
- * CUD/FunctionImport operation performed on an Entity, a corresponding JPA
- * method context object is built. The object thus built can be used for
- * executing operations on JPA Entity/Custom processor objects. <br>
- * A default implementation is provided by the library.
- *
- *
- * @see org.apache.olingo.odata2.processor.api.jpa.access.JPAMethodContextView
- * @see org.apache.olingo.odata2.processor.api.jpa.jpql.JPQLContextType
- *
- */
-
-public abstract class JPAMethodContext implements JPAMethodContextView {
-
- protected Object enclosingObject;
- protected ArrayList<JPAFunction> jpaFunction;
-
- @Override
- /**
- * The method returns list of JPA functions that can be executed on the
- * enclosing object.
- *
- * @return an instance of list of JPA Function
- */
- public Object getEnclosingObject() {
- return enclosingObject;
- }
-
- @Override
- /**
- * The method returns list of JPA functions that can be executed on the
- * enclosing object.
- *
- * @return an instance of list of JPA Function
- */
- public List<JPAFunction> getJPAFunctionList() {
- return jpaFunction;
- }
-
- protected void setEnclosingObject(final Object enclosingObject) {
- this.enclosingObject = enclosingObject;
- }
-
- protected void setJpaFunction(final List<JPAFunction> jpaFunctionList) {
- jpaFunction = (ArrayList<JPAFunction>) jpaFunctionList;
- }
-
- /**
- * the method instantiates an instance of type JPAMethodContextBuilder.
- *
- * @param contextType
- * indicates the type of JPQLContextBuilder to instantiate.
- * @param resultsView
- * is the OData request view
- * @return {@link org.apache.olingo.odata2.processor.api.jpa.access.JPAMethodContext.JPAMethodContextBuilder}
- *
- * @throws ODataJPARuntimeException
- */
- public final static JPAMethodContextBuilder
- createBuilder(final JPQLContextType contextType, final Object resultsView) throws ODataJPARuntimeException {
- return JPAMethodContextBuilder.create(contextType, resultsView);
- }
-
- /**
- * The abstract class is extended by specific JPA Method Context Builder to
- * build JPA Method Context types.
- *
- *
- *
- */
- public static abstract class JPAMethodContextBuilder {
-
- /**
- * Implement this method to build JPAMethodContext
- *
- * @return an instance of type JPAMethodContext
- * @throws ODataJPAModelException
- * @throws ODataJPARuntimeException
- */
- public abstract JPAMethodContext build() throws ODataJPAModelException, ODataJPARuntimeException;
-
- protected JPAMethodContextBuilder() {}
-
- private static JPAMethodContextBuilder create(final JPQLContextType contextType, final Object resultsView)
- throws ODataJPARuntimeException {
- JPAMethodContextBuilder contextBuilder =
- ODataJPAFactory.createFactory().getJPQLBuilderFactory().getJPAMethodContextBuilder(contextType);
-
- if (contextBuilder == null) {
- throw ODataJPARuntimeException.throwException(ODataJPARuntimeException.ERROR_JPQLCTXBLDR_CREATE, null);
- }
- contextBuilder.setResultsView(resultsView);
- return contextBuilder;
- }
-
- protected abstract void setResultsView(Object resultsView);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAMethodContextView.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAMethodContextView.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAMethodContextView.java
deleted file mode 100644
index fb057a0..0000000
--- a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAMethodContextView.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-package org.apache.olingo.odata2.processor.api.jpa.access;
-
-import java.util.List;
-
-/**
- * The interface provides view on JPA Method Context. JPA Method context can be
- * used to access custom operations or JPA Entity property access methods.
- *
- *
- *
- */
-public interface JPAMethodContextView {
- /**
- * The method returns an instance of Object on which the methods/custom
- * operations can be executed.
- *
- * @return instance of enclosing object for the method
- */
- public Object getEnclosingObject();
-
- /**
- * The method returns list of JPA functions that can be executed on the
- * enclosing object.
- *
- * @return an instance of list of JPA Function
- */
- public List<JPAFunction> getJPAFunctionList();
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAProcessor.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAProcessor.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAProcessor.java
deleted file mode 100644
index af9b77d..0000000
--- a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/JPAProcessor.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-package org.apache.olingo.odata2.processor.api.jpa.access;
-
-import java.io.InputStream;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.olingo.odata2.api.uri.info.DeleteUriInfo;
-import org.apache.olingo.odata2.api.uri.info.GetEntityCountUriInfo;
-import org.apache.olingo.odata2.api.uri.info.GetEntityLinkUriInfo;
-import org.apache.olingo.odata2.api.uri.info.GetEntitySetCountUriInfo;
-import org.apache.olingo.odata2.api.uri.info.GetEntitySetLinksUriInfo;
-import org.apache.olingo.odata2.api.uri.info.GetEntitySetUriInfo;
-import org.apache.olingo.odata2.api.uri.info.GetEntityUriInfo;
-import org.apache.olingo.odata2.api.uri.info.GetFunctionImportUriInfo;
-import org.apache.olingo.odata2.api.uri.info.PostUriInfo;
-import org.apache.olingo.odata2.api.uri.info.PutMergePatchUriInfo;
-import org.apache.olingo.odata2.processor.api.jpa.exception.ODataJPAModelException;
-import org.apache.olingo.odata2.processor.api.jpa.exception.ODataJPARuntimeException;
-
-/**
- * The interface provides methods for processing OData Requests for Create, Read, Update, Delete operations.
- * Pass the OData request or parsed OData request (Map of properties) as request.
- * A JPA entity is returned as a response.
- *
- */
-public interface JPAProcessor {
- /**
- * Processes OData request for querying an Entity Set. The method returns
- * list of Objects of type representing JPA Entity Types.
- *
- * @param <T>
- * Template parameter representing Java Persistence Entity Type.
- * <p>
- * <b>Note:-</b> Default parameter is Object.
- * </p>
- *
- * @param requestView
- * is an OData request for querying an entity set
- * <p>
- * @return list of objects representing JPA entity types
- **/
- public <T> List<T> process(GetEntitySetUriInfo requestView)
- throws ODataJPAModelException, ODataJPARuntimeException;
-
- /**
- * Processes OData request for reading an Entity. The method returns an
- * Object of type representing JPA Entity Type.
- *
- * @param <T>
- * Template parameter representing Java Persistence Entity Type.
- * <p>
- * <b>Note:-</b> Default parameter is Object.
- * </p>
- *
- * @param requestView
- * OData request for reading an entity
- *
- * <p>
- * @return object representing JPA entity type
- **/
- public <T> Object process(GetEntityUriInfo requestView)
- throws ODataJPAModelException, ODataJPARuntimeException;
-
- /**
- * Processes OData request for fetching Entity count. The method returns JPA Entity count
- *
- * @param requestView
- * OData request for counting an entity set
- * @return long value representing count of JPA entity set
- *
- * @throws ODataJPAModelException
- * @throws ODataJPARuntimeException
- */
-
- public long process(GetEntitySetCountUriInfo requestView)
- throws ODataJPAModelException, ODataJPARuntimeException;
-
- /**
- * Processes OData request for fetching Entity count. The method returns count of target entity.
- * This is specific to situation where cardinality is 1:1
- *
- * @param resultsView
- * OData request for counting target entity.
- * @return long value representing count of JPA entity
- *
- * @throws ODataJPAModelException
- * @throws ODataJPARuntimeException
- */
- public long process(GetEntityCountUriInfo resultsView)
- throws ODataJPAModelException, ODataJPARuntimeException;
-
- /**
- * Processes OData request for executing custom operations. The method
- * returns a List of Object. The list contains one entry if the the custom
- * operations return type has multiplicity of ONE.
- *
- * @param requestView
- * OData request for executing function import
- * @return result of executing function import
- * @throws ODataJPAModelException
- * @throws ODataJPARuntimeException
- */
- public List<Object> process(GetFunctionImportUriInfo requestView)
- throws ODataJPAModelException, ODataJPARuntimeException;
-
- /**
- * Processes OData request for executing $links OData command for N:1 relation.
- * The method returns an Object of type representing OData entity.
- *
- * @param uriParserResultView
- * OData request for Entity Link URI
- * @return an object representing JPA entity
- * @throws ODataJPAModelException
- * @throws ODataJPARuntimeException
- */
- public Object process(GetEntityLinkUriInfo uriParserResultView)
- throws ODataJPAModelException, ODataJPARuntimeException;
-
- /**
- * Processes OData request for executing $links OData command for N:1 relation.
- * The method returns an Object of type representing OData entity.
- *
- * @param uriParserResultView
- * OData request for Entity Set Link URI
- * @return a list of object representing JPA entities
- * @throws ODataJPAModelException
- * @throws ODataJPARuntimeException
- */
- public <T> List<T> process(GetEntitySetLinksUriInfo uriParserResultView)
- throws ODataJPAModelException, ODataJPARuntimeException;
-
- /**
- * Processes OData request for creating Entity. The method returns an Object
- * which is created. A Null reference implies object was not created.
- *
- * @param createView
- * @param content
- * @param requestContentType
- * @return Created Object
- *
- * @throws ODataJPAModelException
- * @throws ODataJPARuntimeException
- */
-
- public <T> List<T> process(PostUriInfo createView, InputStream content,
- String requestContentType) throws ODataJPAModelException,
- ODataJPARuntimeException;
-
- /**
- * Processes OData request for creating Entity. The method expects a parsed OData request which is a Map of
- * properties.
- * The method returns an Object that is created. A Null reference implies object was not created.
- *
- * @param createView
- * @param content
- * @return Created Object
- *
- * @throws ODataJPAModelException
- * @throws ODataJPARuntimeException
- */
-
- public <T> List<T> process(PostUriInfo createView, Map<String, Object> content) throws ODataJPAModelException,
- ODataJPARuntimeException;
-
- /**
- * Processes OData request for updating Entity. The method returns an Object
- * which is updated. A Null reference implies object was not created.
- *
- * @param updateView
- * @param content
- * @param requestContentType
- * @return Deleted Object
- *
- * @throws ODataJPAModelException
- * @throws ODataJPARuntimeException
- */
- public <T> Object process(PutMergePatchUriInfo updateView,
- InputStream content, String requestContentType)
- throws ODataJPAModelException, ODataJPARuntimeException;
-
- /**
- * Processes OData request for updating Entity. The method returns an Object
- * which is updated. A Null reference implies object was not created.
- *
- * @param updateView
- * @param content
- * @return Deleted Object
- *
- * @throws ODataJPAModelException
- * @throws ODataJPARuntimeException
- */
- public <T> Object process(PutMergePatchUriInfo updateView, Map<String, Object> content)
- throws ODataJPAModelException, ODataJPARuntimeException;
-
- /**
- * Processes OData request for deleting Entity. The method returns an Object
- * which is deleted. A Null reference implies object was not created.
- *
- * @param deleteuriInfo
- * @param contentType
- * @return Deleted Object
- *
- * @throws ODataJPAModelException
- * @throws ODataJPARuntimeException
- */
- public Object process(DeleteUriInfo deleteuriInfo, String contentType)
- throws ODataJPAModelException, ODataJPARuntimeException;
-
- /**
- * Process OData request for creating Links. The OData request should contain
- * $links OData command.
- *
- * @param uriParserResultView
- * OData request for creating Links
- * @param content
- * @param requestContentType
- * @param contentType
- *
- * @throws ODataJPARuntimeException
- * @throws ODataJPAModelException
- */
- public void process(PostUriInfo uriParserResultView,
- InputStream content, String requestContentType, String contentType)
- throws ODataJPARuntimeException, ODataJPAModelException;
-
- /**
- * Process OData request for updating Links. The OData request should contain
- * $links OData command.
- *
- * @param uriParserResultView
- * OData request for updating Links
- * @param content
- * @param requestContentType
- * @param contentType
- *
- * @throws ODataJPARuntimeException
- * @throws ODataJPAModelException
- */
- public void process(PutMergePatchUriInfo uriParserResultView,
- InputStream content, String requestContentType, String contentType)
- throws ODataJPARuntimeException, ODataJPAModelException;
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/package-info.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/package-info.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/package-info.java
deleted file mode 100644
index 38671c1..0000000
--- a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/access/package-info.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-/**
- * <h3>OData JPA Processor API Library - Java Persistence Access</h3>
- * The library provides a set of APIs to access Java Persistence Models and Data.
- *
- *
- */
-package org.apache.olingo.odata2.processor.api.jpa.access;
-
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/exception/ODataJPAErrorCallback.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/exception/ODataJPAErrorCallback.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/exception/ODataJPAErrorCallback.java
deleted file mode 100644
index 9f78af0..0000000
--- a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/exception/ODataJPAErrorCallback.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-package org.apache.olingo.odata2.processor.api.jpa.exception;
-
-import org.apache.olingo.odata2.api.ep.EntityProvider;
-import org.apache.olingo.odata2.api.exception.ODataApplicationException;
-import org.apache.olingo.odata2.api.processor.ODataErrorCallback;
-import org.apache.olingo.odata2.api.processor.ODataErrorContext;
-import org.apache.olingo.odata2.api.processor.ODataResponse;
-
-public class ODataJPAErrorCallback implements ODataErrorCallback {
-
- @Override
- public ODataResponse handleError(final ODataErrorContext context) throws ODataApplicationException {
-
- final String SEPARATOR = " : ";
-
- Throwable t = context.getException();
- if (t instanceof ODataJPAException) {
- StringBuilder errorBuilder = new StringBuilder();
- errorBuilder.append(t.getCause().getClass().toString());
- errorBuilder.append(SEPARATOR);
- errorBuilder.append(t.getCause().getMessage());
- context.setInnerError(errorBuilder.toString());
- }
- return EntityProvider.writeErrorDocument(context);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/63b621a8/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/exception/ODataJPAException.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/exception/ODataJPAException.java b/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/exception/ODataJPAException.java
deleted file mode 100644
index 3347ee0..0000000
--- a/odata2-jpa-processor/jpa-api/src/main/java/org/apache/olingo/odata2/processor/api/jpa/exception/ODataJPAException.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- ******************************************************************************/
-package org.apache.olingo.odata2.processor.api.jpa.exception;
-
-import java.util.Locale;
-
-import org.apache.olingo.odata2.api.exception.MessageReference;
-import org.apache.olingo.odata2.api.exception.ODataException;
-
-/**
- * The exception class is the base of OData JPA exceptions. The class also
- * provides non localized error texts that can be used for raising OData JPA
- * exceptions with non localized error texts.
- *
- *
- *
- */
-public abstract class ODataJPAException extends ODataException {
-
- protected MessageReference messageReference;
-
- public static final String ODATA_JPACTX_NULL = "OData JPA Context cannot be null";
-
- private static final long serialVersionUID = -6884673558124441214L;
- protected static final Locale DEFAULT_LOCALE = Locale.ENGLISH;
-
- protected ODataJPAException(final String localizedMessage, final Throwable e, final MessageReference msgRef) {
- super(localizedMessage, e);
- messageReference = msgRef;
- }
-
- /**
- * The method creates a Reference to Message Object {@link org.apache.olingo.odata2.api.exception.MessageReference} .
- * The message
- * text key is derived out of parameters clazz.messageReferenceKey.
- *
- * @param clazz
- * is name of the class extending {@link org.apache.olingo.odata2.processor.api.jpa.exception.ODataJPAException}
- * @param messageReferenceKey
- * is the key of the message
- * @return an instance of type {@link org.apache.olingo.odata2.api.exception.MessageReference}
- */
- protected static MessageReference createMessageReference(final Class<? extends ODataJPAException> clazz,
- final String messageReferenceKey) {
- return MessageReference.create(clazz, messageReferenceKey);
- }
-
- public MessageReference getMessageReference() {
- return messageReference;
- }
-
-}