http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/ba0ff6be/odata2-jpa-processor/jpa-web/pom.xml ---------------------------------------------------------------------- diff --git a/odata2-jpa-processor/jpa-web/pom.xml b/odata2-jpa-processor/jpa-web/pom.xml index 3c6c978..b84f06f 100644 --- a/odata2-jpa-processor/jpa-web/pom.xml +++ b/odata2-jpa-processor/jpa-web/pom.xml @@ -1,123 +1,133 @@ <?xml version="1.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. --> -<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" - xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <modelVersion>4.0.0</modelVersion> +<!-- 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. --> +<project + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" + xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> - <artifactId>olingo-odata2-jpa-processor-ref-web</artifactId> - <packaging>war</packaging> - <name>${project.artifactId}</name> + <artifactId>olingo-odata2-jpa-processor-ref-web</artifactId> + <packaging>war</packaging> + <name>${project.artifactId}</name> - <parent> - <groupId>org.apache.olingo</groupId> - <artifactId>olingo-odata2-jpa-processor</artifactId> - <version>1.3.0-SNAPSHOT</version> - <relativePath>..</relativePath> - </parent> + <parent> + <groupId>org.apache.olingo</groupId> + <artifactId>olingo-odata2-jpa-processor</artifactId> + <version>1.3.0-SNAPSHOT</version> + <relativePath>..</relativePath> + </parent> - <build> - <resources> - <resource> - <directory>src/main/version</directory> - <filtering>true</filtering> - <targetPath>../${project.build.finalName}/gen</targetPath> - </resource> - <resource> - <directory>src/main/resources</directory> - <filtering>true</filtering> - </resource> - </resources> + <build> + <resources> + <resource> + <directory>src/main/version</directory> + <filtering>true</filtering> + <targetPath>../${project.build.finalName}/gen</targetPath> + </resource> + <resource> + <directory>src/main/resources</directory> + <filtering>true</filtering> + </resource> + </resources> - <pluginManagement> - <plugins> - <plugin> - <groupId>com.sap.research</groupId> - <artifactId>nwcloud-maven-plugin</artifactId> - <version>1.0.0.RELEASE</version> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-deploy-plugin</artifactId> - <configuration> - <skip>true</skip> - </configuration> - </plugin> - </plugins> - </pluginManagement> + <pluginManagement> + <plugins> + <plugin> + <groupId>com.sap.research</groupId> + <artifactId>nwcloud-maven-plugin</artifactId> + <version>1.0.0.RELEASE</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-deploy-plugin</artifactId> + <configuration> + <skip>true</skip> + </configuration> + </plugin> + </plugins> + </pluginManagement> - </build> + </build> - <dependencies> - <dependency> - <!-- required because of auto detection of web facet 2.5 --> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.5</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.cxf</groupId> - <artifactId>cxf-rt-frontend-jaxrs</artifactId> - <version>${cxf.version}</version> - </dependency> - <dependency> - <groupId>org.apache.olingo</groupId> - <artifactId>olingo-odata2-core</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.olingo</groupId> - <artifactId>olingo-odata2-api</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.olingo</groupId> - <artifactId>olingo-odata2-jpa-processor-api</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.olingo</groupId> - <artifactId>olingo-odata2-jpa-processor-core</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.olingo</groupId> - <artifactId>olingo-odata2-jpa-processor-ref</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - <version>1.7.1</version> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>3.8.1</version> - <scope>test</scope> - </dependency> - </dependencies> + <dependencies> + <dependency> + <!-- required because of auto detection of web facet 2.5 --> + <groupId>javax.servlet</groupId> + <artifactId>servlet-api</artifactId> + <version>2.5</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-rt-frontend-jaxrs</artifactId> + <version>${cxf.version}</version> + </dependency> + <dependency> + <groupId>org.apache.olingo</groupId> + <artifactId>olingo-odata2-core</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.olingo</groupId> + <artifactId>olingo-odata2-api</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.olingo</groupId> + <artifactId>olingo-odata2-jpa-processor-api</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.olingo</groupId> + <artifactId>olingo-odata2-jpa-processor-core</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.olingo</groupId> + <artifactId>olingo-odata2-jpa-processor-ref</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + <version>1.7.1</version> + </dependency> + <dependency> + <groupId>org.hsqldb</groupId> + <artifactId>hsqldb</artifactId> + <version>2.3.2</version> + </dependency> - <profiles> - <profile> - <id>dev</id> - <build> - <defaultGoal>cargo:run</defaultGoal> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + <scope>test</scope> + </dependency> + </dependencies> - <plugins> - <plugin> - <groupId>org.codehaus.cargo</groupId> - <artifactId>cargo-maven2-plugin</artifactId> - <version>1.4.2</version> - </plugin> - </plugins> - </build> - </profile> - </profiles> + <profiles> + <profile> + <id>dev</id> + <build> + <defaultGoal>cargo:run</defaultGoal> + + <plugins> + <plugin> + <groupId>org.codehaus.cargo</groupId> + <artifactId>cargo-maven2-plugin</artifactId> + <version>1.4.2</version> + </plugin> + </plugins> + </build> + </profile> + </profiles> </project>
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/ba0ff6be/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/extension/OnDBWriteContent.java ---------------------------------------------------------------------- diff --git a/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/extension/OnDBWriteContent.java b/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/extension/OnDBWriteContent.java new file mode 100644 index 0000000..bcd85a2 --- /dev/null +++ b/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/extension/OnDBWriteContent.java @@ -0,0 +1,37 @@ +package org.apache.olingo.odata2.jpa.processor.ref.extension; + +import java.sql.Blob; +import java.sql.Clob; +import java.sql.SQLException; + +import javax.sql.rowset.serial.SerialException; + +import org.apache.olingo.odata2.jpa.processor.api.OnJPAWriteContent; +import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException; +import org.hsqldb.jdbc.JDBCBlob; +import org.hsqldb.jdbc.JDBCClob; + +public class OnDBWriteContent implements OnJPAWriteContent { + + @Override + public Blob getJPABlob(byte[] binaryData) throws ODataJPARuntimeException { + try { + return new JDBCBlob(binaryData); + } catch (SerialException e) { + ODataJPARuntimeException.throwException(ODataJPARuntimeException.INNER_EXCEPTION, e); + } catch (SQLException e) { + ODataJPARuntimeException.throwException(ODataJPARuntimeException.INNER_EXCEPTION, e); + } + return null; + } + + @Override + public Clob getJPAClob(char[] characterData) throws ODataJPARuntimeException { + try { + return new JDBCClob(new String(characterData)); + } catch (SQLException e) { + ODataJPARuntimeException.throwException(ODataJPARuntimeException.INNER_EXCEPTION, e); + } + return null; + } +} http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/ba0ff6be/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/web/JPAReferenceServiceFactory.java ---------------------------------------------------------------------- diff --git a/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/web/JPAReferenceServiceFactory.java b/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/web/JPAReferenceServiceFactory.java index f21d565..938e00d 100644 --- a/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/web/JPAReferenceServiceFactory.java +++ b/odata2-jpa-processor/jpa-web/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/web/JPAReferenceServiceFactory.java @@ -22,8 +22,10 @@ import java.util.ResourceBundle; import org.apache.olingo.odata2.jpa.processor.api.ODataJPAContext; import org.apache.olingo.odata2.jpa.processor.api.ODataJPAServiceFactory; +import org.apache.olingo.odata2.jpa.processor.api.OnJPAWriteContent; import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException; import org.apache.olingo.odata2.jpa.processor.api.model.JPAEdmExtension; +import org.apache.olingo.odata2.jpa.processor.ref.extension.OnDBWriteContent; import org.apache.olingo.odata2.jpa.processor.ref.extension.SalesOrderProcessingExtension; import org.apache.olingo.odata2.jpa.processor.ref.factory.JPAEntityManagerFactory; @@ -33,6 +35,7 @@ public class JPAReferenceServiceFactory extends ODataJPAServiceFactory { private static final String CONFIG = "serviceConfig"; private static final String SHOW_DETAIL_ERROR = "showDetailError"; private static final int PAGE_SIZE = 5; + public static final OnJPAWriteContent onDBWriteContent = new OnDBWriteContent(); @Override public ODataJPAContext initializeODataJPAContext() @@ -45,6 +48,7 @@ public class JPAReferenceServiceFactory extends ODataJPAServiceFactory { .setJPAEdmExtension((JPAEdmExtension) new SalesOrderProcessingExtension()); oDataJPAContext.setPageSize(PAGE_SIZE); setErrorLevel(); + setOnWriteJPAContent(onDBWriteContent); return oDataJPAContext; } http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/ba0ff6be/odata2-jpa-processor/jpa-web/src/main/resources/SQL_Insert_Note.properties ---------------------------------------------------------------------- diff --git a/odata2-jpa-processor/jpa-web/src/main/resources/SQL_Insert_Note.properties b/odata2-jpa-processor/jpa-web/src/main/resources/SQL_Insert_Note.properties index 347c37a..56b747b 100644 --- a/odata2-jpa-processor/jpa-web/src/main/resources/SQL_Insert_Note.properties +++ b/odata2-jpa-processor/jpa-web/src/main/resources/SQL_Insert_Note.properties @@ -17,4 +17,4 @@ # under the License. #------------------------------------------------------------------------------- -note_query_1 = insert into T_NOTE (SO_ID , text, createdBy, creationDate,creationTime) values(2, 'Test_Note_1', 'CreatedBy_1','2013-01-01 00:00:00','00:00:23'); \ No newline at end of file +note_query_1 = insert into T_NOTE (SO_ID , text, createdBy, creationDate,creationTime) values(2, 'Test_Note_1', 'CreatedBy_1','2013-01-01','00:00:23'); \ No newline at end of file
