|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.olingo.odata2.api.ODataServiceFactory
org.apache.olingo.odata2.jpa.processor.api.ODataJPAServiceFactory
public abstract class ODataJPAServiceFactory
Extend this factory class and create own instance of ODataService that
transforms Java Persistence
Models into an OData Service. The factory class instantiates instances of
type EdmProvider and
ODataSingleProcessor. The OData
JPA Processor library provides a default implementation for EdmProvider and
OData Single Processor.
The factory implementation is passed as servlet init parameter to a JAX-RS
runtime which will instantiate a ODataService implementation using this factory.
Mandatory: Implement the abstract method initializeODataJPAContext. Fill
ODataJPAContext with context
values.
<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>
| Field Summary |
|---|
| Fields inherited from class org.apache.olingo.odata2.api.ODataServiceFactory |
|---|
FACTORY_CLASSLOADER_LABEL, FACTORY_LABEL, PATH_SPLIT_LABEL |
| Constructor Summary | |
|---|---|
ODataJPAServiceFactory()
|
|
| Method Summary | ||
|---|---|---|
ODataService |
createService(ODataContext ctx)
Creates an OData Service based on the values set in ODataJPAContext and
ODataContext. |
|
|
getCallback(Class<? extends ODataCallback> callbackInterface)
|
|
ODataJPAContext |
getODataJPAContext()
|
|
abstract ODataJPAContext |
initializeODataJPAContext()
Implement this method and initialize OData JPA Context. |
|
protected void |
setDetailErrors(boolean setDetailErrors)
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. |
|
protected void |
setOnWriteJPAContent(OnJPAWriteContent onJPAWriteContent)
The methods sets the context with a callback implementation for JPA provider specific content. |
|
| Methods inherited from class org.apache.olingo.odata2.api.ODataServiceFactory |
|---|
createODataSingleProcessorService |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ODataJPAServiceFactory()
| Method Detail |
|---|
public final ODataService createService(ODataContext ctx)
throws ODataException
ODataJPAContext and
ODataContext.
createService in class ODataServiceFactoryODataException
public abstract ODataJPAContext initializeODataJPAContext()
throws ODataJPARuntimeException
EntityManagerFactory into the context. An exception of type
ODataJPARuntimeException is thrown if
EntityManagerFactory is not initialized.
public class JPAReferenceServiceFactory extends ODataJPAServiceFactory{
private static final String PUNIT_NAME = "punit";
public ODataJPAContext initializeODataJPAContext() {
ODataJPAContext oDataJPAContext = this.getODataJPAContext();
EntityManagerFactory emf = Persistence.createEntityManagerFactory(PUNIT_NAME);
oDataJPAContext.setEntityManagerFactory(emf);
oDataJPAContext.setPersistenceUnitName(PUNIT_NAME);
return oDataJPAContext;
}
}
ODataJPAContext
ODataJPARuntimeException
public final ODataJPAContext getODataJPAContext()
throws ODataJPARuntimeException
ODataJPAContext
ODataJPARuntimeExceptionprotected void setDetailErrors(boolean setDetailErrors)
setDetailErrors - takes
protected void setOnWriteJPAContent(OnJPAWriteContent onJPAWriteContent)
OnJPAWriteContent
onJPAWriteContent - is an instance of type
OnJPAWriteContentpublic <T extends ODataCallback> T getCallback(Class<? extends ODataCallback> callbackInterface)
getCallback in class ODataServiceFactory
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||