[JAVA-9814] Cleanup apache-olingo module
This commit is contained in:
parent
9b8a5a0fa7
commit
694041bc87
|
@ -27,3 +27,4 @@ HELP.md
|
||||||
|
|
||||||
### VS Code ###
|
### VS Code ###
|
||||||
.vscode/
|
.vscode/
|
||||||
|
|
|
@ -4,15 +4,15 @@ This following table contains test URLs that can be used with the Olingo V2 demo
|
||||||
|
|
||||||
| URL | Description |
|
| URL | Description |
|
||||||
|------------------------------------------|-------------------------------------------------|
|
|------------------------------------------|-------------------------------------------------|
|
||||||
| `http://localhost:8180/odata/$metadata` | fetch OData metadata document |
|
| `http://localhost:8080/odata/$metadata` | fetch OData metadata document |
|
||||||
| `http://localhost:8180/odata/CarMakers?$top=10&$skip=10` | Get 10 entities starting at offset 10 |
|
| `http://localhost:8080/odata/CarMakers?$top=10&$skip=10` | Get 10 entities starting at offset 10 |
|
||||||
| `http://localhost:8180/odata/CarMakers?$count` | Return total count of entities in this set |
|
| `http://localhost:8080/odata/CarMakers?$count` | Return total count of entities in this set |
|
||||||
| `http://localhost:8180/odata/CarMakers?$filter=startswith(Name,'B')` | Return entities where the *Name* property starts with 'B' |
|
| `http://localhost:8080/odata/CarMakers?$filter=startswith(Name,'B')` | Return entities where the *Name* property starts with 'B' |
|
||||||
| `http://localhost:8180/odata/CarModels?$filter=Year eq 2008 and CarMakerDetails/Name eq 'BWM'` | Return *CarModel* entities where the *Name* property of its maker starts with 'B' |
|
| `http://localhost:8080/odata/CarModels?$filter=Year eq 2008 and CarMakerDetails/Name eq 'BWM'` | Return *CarModel* entities where the *Name* property of its maker starts with 'B' |
|
||||||
| `http://localhost:8180/odata/CarModels(1L)?$expand=CarMakerDetails` | Return the *CarModel* with primary key '1', along with its maker|
|
| `http://localhost:8080/odata/CarModels(1L)?$expand=CarMakerDetails` | Return the *CarModel* with primary key '1', along with its maker|
|
||||||
| `http://localhost:8180/odata/CarModels(1L)?$select=Name,Sku` | Return the *CarModel* with primary key '1', returing only its *Name* and *Sku* properties |
|
| `http://localhost:8080/odata/CarModels(1L)?$select=Name,Sku` | Return the *CarModel* with primary key '1', returing only its *Name* and *Sku* properties |
|
||||||
| `http://localhost:8180/odata/CarModels?$orderBy=Name asc,Sku desc` | Return *CarModel* entities, ordered by the their *Name* and *Sku* properties |
|
| `http://localhost:8080/odata/CarModels?$orderBy=Name asc,Sku desc` | Return *CarModel* entities, ordered by the their *Name* and *Sku* properties |
|
||||||
| `http://localhost:8180/odata/CarModels?$format=json` | Return *CarModel* entities, using a JSON representation|
|
| `http://localhost:8080/odata/CarModels?$format=json` | Return *CarModel* entities, using a JSON representation|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,16 +3,16 @@
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>com.baeldung.examples.olingo2</groupId>
|
<groupId>com.baeldung.examples.olingo</groupId>
|
||||||
<artifactId>olingo2</artifactId>
|
<artifactId>apache-olingo</artifactId>
|
||||||
<name>olingo2</name>
|
<name>apache-olingo</name>
|
||||||
<description>Sample Olingo 2 Project</description>
|
<description>Sample Apache Olingo Project</description>
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>com.baeldung</groupId>
|
<groupId>com.baeldung</groupId>
|
||||||
<artifactId>parent-boot-2</artifactId>
|
<artifactId>parent-boot-2</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
<relativePath>../../parent-boot-2</relativePath>
|
<relativePath>../parent-boot-2</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.olingo</groupId>
|
<groupId>org.apache.olingo</groupId>
|
||||||
<artifactId>olingo-odata2-core</artifactId>
|
<artifactId>olingo-odata2-core</artifactId>
|
||||||
<version>${olingo2.version}</version>
|
<version>${olingo.version}</version>
|
||||||
<!-- Avoid jax-rs version conflict by excluding Olingo's version -->
|
<!-- Avoid jax-rs version conflict by excluding Olingo's version -->
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
|
@ -55,12 +55,12 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.olingo</groupId>
|
<groupId>org.apache.olingo</groupId>
|
||||||
<artifactId>olingo-odata2-jpa-processor-core</artifactId>
|
<artifactId>olingo-odata2-jpa-processor-core</artifactId>
|
||||||
<version>${olingo2.version}</version>
|
<version>${olingo.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.olingo</groupId>
|
<groupId>org.apache.olingo</groupId>
|
||||||
<artifactId>olingo-odata2-jpa-processor-ref</artifactId>
|
<artifactId>olingo-odata2-jpa-processor-ref</artifactId>
|
||||||
<version>${olingo2.version}</version>
|
<version>${olingo.version}</version>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
<groupId>org.eclipse.persistence</groupId>
|
<groupId>org.eclipse.persistence</groupId>
|
||||||
|
@ -80,7 +80,7 @@
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<olingo2.version>2.0.11</olingo2.version>
|
<olingo.version>2.0.11</olingo.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
</project>
|
</project>
|
|
@ -27,11 +27,6 @@ import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
/**
|
|
||||||
* ODataJPAServiceFactory implementation for our sample domain
|
|
||||||
* @author Philippe
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@Component
|
@Component
|
||||||
public class CarsODataJPAServiceFactory extends ODataJPAServiceFactory {
|
public class CarsODataJPAServiceFactory extends ODataJPAServiceFactory {
|
||||||
|
|
||||||
|
@ -44,7 +39,7 @@ public class CarsODataJPAServiceFactory extends ODataJPAServiceFactory {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method will be called by Olingo on every request to
|
* This method will be called by Olingo on every request to
|
||||||
* initialize the ODataJPAContext that will be used.
|
* initialize the ODataJPAContext that will be used.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ODataJPAContext initializeODataJPAContext() throws ODataJPARuntimeException {
|
public ODataJPAContext initializeODataJPAContext() throws ODataJPARuntimeException {
|
||||||
|
@ -54,14 +49,14 @@ public class CarsODataJPAServiceFactory extends ODataJPAServiceFactory {
|
||||||
ODataContext octx = ctx.getODataContext();
|
ODataContext octx = ctx.getODataContext();
|
||||||
HttpServletRequest request = (HttpServletRequest)octx.getParameter(ODataContext.HTTP_SERVLET_REQUEST_OBJECT);
|
HttpServletRequest request = (HttpServletRequest)octx.getParameter(ODataContext.HTTP_SERVLET_REQUEST_OBJECT);
|
||||||
EntityManager em = (EntityManager)request.getAttribute(JerseyConfig.EntityManagerFilter.EM_REQUEST_ATTRIBUTE);
|
EntityManager em = (EntityManager)request.getAttribute(JerseyConfig.EntityManagerFilter.EM_REQUEST_ATTRIBUTE);
|
||||||
|
|
||||||
// Here we're passing the EM that was created by the EntityManagerFilter (see JerseyConfig)
|
// Here we're passing the EM that was created by the EntityManagerFilter (see JerseyConfig)
|
||||||
ctx.setEntityManager(new EntityManagerWrapper(em));
|
ctx.setEntityManager(new EntityManagerWrapper(em));
|
||||||
ctx.setPersistenceUnitName("default");
|
ctx.setPersistenceUnitName("default");
|
||||||
|
|
||||||
// We're managing the EM's lifecycle, so we must inform Olingo that it should not
|
// We're managing the EM's lifecycle, so we must inform Olingo that it should not
|
||||||
// try to manage transactions and/or persistence sessions
|
// try to manage transactions and/or persistence sessions
|
||||||
ctx.setContainerManaged(true);
|
ctx.setContainerManaged(true);
|
||||||
return ctx;
|
return ctx;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
package com.baeldung.examples.olingo2;
|
package com.baeldung.examples.olingo2;
|
||||||
|
|
||||||
import java.io.IOException;
|
import org.apache.olingo.odata2.api.ODataServiceFactory;
|
||||||
|
import org.apache.olingo.odata2.core.rest.ODataRootLocator;
|
||||||
|
import org.apache.olingo.odata2.core.rest.app.ODataApplication;
|
||||||
|
import org.glassfish.jersey.server.ResourceConfig;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.persistence.EntityManager;
|
import javax.persistence.EntityManager;
|
||||||
import javax.persistence.EntityManagerFactory;
|
import javax.persistence.EntityManagerFactory;
|
||||||
|
@ -15,28 +21,15 @@ import javax.ws.rs.container.ContainerResponseFilter;
|
||||||
import javax.ws.rs.core.Context;
|
import javax.ws.rs.core.Context;
|
||||||
import javax.ws.rs.ext.Provider;
|
import javax.ws.rs.ext.Provider;
|
||||||
|
|
||||||
import org.apache.olingo.odata2.api.ODataServiceFactory;
|
|
||||||
import org.apache.olingo.odata2.core.rest.ODataRootLocator;
|
|
||||||
import org.apache.olingo.odata2.core.rest.app.ODataApplication;
|
|
||||||
import org.glassfish.jersey.server.ResourceConfig;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Jersey JAX-RS configuration
|
|
||||||
* @author Philippe
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@Component
|
@Component
|
||||||
@ApplicationPath("/odata")
|
@ApplicationPath("/odata")
|
||||||
public class JerseyConfig extends ResourceConfig {
|
public class JerseyConfig extends ResourceConfig {
|
||||||
|
|
||||||
|
|
||||||
public JerseyConfig(CarsODataJPAServiceFactory serviceFactory, EntityManagerFactory emf) {
|
public JerseyConfig(CarsODataJPAServiceFactory serviceFactory, EntityManagerFactory emf) {
|
||||||
|
|
||||||
ODataApplication app = new ODataApplication();
|
ODataApplication app = new ODataApplication();
|
||||||
|
|
||||||
app
|
app
|
||||||
.getClasses()
|
.getClasses()
|
||||||
.forEach( c -> {
|
.forEach( c -> {
|
||||||
|
@ -46,11 +39,11 @@ public class JerseyConfig extends ResourceConfig {
|
||||||
register(c);
|
register(c);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
register(new CarsRootLocator(serviceFactory));
|
register(new CarsRootLocator(serviceFactory));
|
||||||
register( new EntityManagerFilter(emf));
|
register( new EntityManagerFilter(emf));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This filter handles the EntityManager transaction lifecycle.
|
* This filter handles the EntityManager transaction lifecycle.
|
||||||
* @author Philippe
|
* @author Philippe
|
||||||
|
@ -72,7 +65,7 @@ public class JerseyConfig extends ResourceConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void filter(ContainerRequestContext ctx) throws IOException {
|
public void filter(ContainerRequestContext ctx) {
|
||||||
log.info("[I60] >>> filter");
|
log.info("[I60] >>> filter");
|
||||||
EntityManager em = this.emf.createEntityManager();
|
EntityManager em = this.emf.createEntityManager();
|
||||||
httpRequest.setAttribute(EM_REQUEST_ATTRIBUTE, em);
|
httpRequest.setAttribute(EM_REQUEST_ATTRIBUTE, em);
|
||||||
|
@ -85,7 +78,7 @@ public class JerseyConfig extends ResourceConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
|
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) {
|
||||||
|
|
||||||
log.info("[I68] <<< filter");
|
log.info("[I68] <<< filter");
|
||||||
EntityManager em = (EntityManager) httpRequest.getAttribute(EM_REQUEST_ATTRIBUTE);
|
EntityManager em = (EntityManager) httpRequest.getAttribute(EM_REQUEST_ATTRIBUTE);
|
|
@ -7,7 +7,7 @@ import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
public class Olingo2SampleApplication extends SpringBootServletInitializer {
|
public class Olingo2SampleApplication extends SpringBootServletInitializer {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
SpringApplication.run(Olingo2SampleApplication.class);
|
SpringApplication.run(Olingo2SampleApplication.class);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -7,7 +7,7 @@ import org.springframework.test.context.junit4.SpringRunner;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringRunner.class)
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
public class Olingo2SampleApplicationUnitTest {
|
public class Olingo2SampleApplicationIntegrationTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void contextLoads() {
|
public void contextLoads() {
|
4
pom.xml
4
pom.xml
|
@ -353,7 +353,7 @@
|
||||||
<module>apache-cxf</module>
|
<module>apache-cxf</module>
|
||||||
<module>apache-kafka</module>
|
<module>apache-kafka</module>
|
||||||
<module>apache-libraries</module>
|
<module>apache-libraries</module>
|
||||||
<module>apache-olingo/olingo2</module>
|
<module>apache-olingo</module>
|
||||||
<module>apache-poi</module>
|
<module>apache-poi</module>
|
||||||
<module>apache-rocketmq</module>
|
<module>apache-rocketmq</module>
|
||||||
<module>apache-shiro</module>
|
<module>apache-shiro</module>
|
||||||
|
@ -839,7 +839,7 @@
|
||||||
<module>apache-cxf</module>
|
<module>apache-cxf</module>
|
||||||
<module>apache-kafka</module>
|
<module>apache-kafka</module>
|
||||||
<module>apache-libraries</module>
|
<module>apache-libraries</module>
|
||||||
<module>apache-olingo/olingo2</module>
|
<module>apache-olingo</module>
|
||||||
<module>apache-poi</module>
|
<module>apache-poi</module>
|
||||||
<module>apache-rocketmq</module>
|
<module>apache-rocketmq</module>
|
||||||
<module>apache-shiro</module>
|
<module>apache-shiro</module>
|
||||||
|
|
Loading…
Reference in New Issue