|
From: <id...@us...> - 2009-04-21 21:22:36
|
Revision: 146
http://cse-ip.svn.sourceforge.net/cse-ip/?rev=146&view=rev
Author: idueppe
Date: 2009-04-21 21:22:23 +0000 (Tue, 21 Apr 2009)
Log Message:
-----------
in progress: added rest client to sc-mapper
Modified Paths:
--------------
trunk/sandbox/cse-ip/build.xml
trunk/sandbox/cse-ip/pom.xml
trunk/sandbox/cse-ip/sc-mapper/pom.xml
Added Paths:
-----------
trunk/sandbox/cse-ip/sc-mapper-rest/
trunk/sandbox/cse-ip/sc-mapper-rest/build.xml
trunk/sandbox/cse-ip/sc-mapper-rest/pom.xml
trunk/sandbox/cse-ip/sc-mapper-rest/src/
trunk/sandbox/cse-ip/sc-mapper-rest/src/main/
trunk/sandbox/cse-ip/sc-mapper-rest/src/main/java/
trunk/sandbox/cse-ip/sc-mapper-rest/src/main/java/de/
trunk/sandbox/cse-ip/sc-mapper-rest/src/main/java/de/campussource/
trunk/sandbox/cse-ip/sc-mapper-rest/src/main/java/de/campussource/cse/
trunk/sandbox/cse-ip/sc-mapper-rest/src/main/java/de/campussource/cse/mapper/
trunk/sandbox/cse-ip/sc-mapper-rest/src/main/java/de/campussource/cse/mapper/rest/
trunk/sandbox/cse-ip/sc-mapper-rest/src/main/java/de/campussource/cse/mapper/rest/IdentityMapperRestBean.java
trunk/sandbox/cse-ip/sc-mapper-rest/src/main/java/de/campussource/cse/mapper/rest/MappedObject.java
trunk/sandbox/cse-ip/sc-mapper-rest/src/main/resources/
trunk/sandbox/cse-ip/sc-mapper-rest/src/test/
trunk/sandbox/cse-ip/sc-mapper-rest/src/test/java/
trunk/sandbox/cse-ip/sc-mapper-rest/src/test/java/de/
trunk/sandbox/cse-ip/sc-mapper-rest/src/test/java/de/campussource/
trunk/sandbox/cse-ip/sc-mapper-rest/src/test/java/de/campussource/cse/
trunk/sandbox/cse-ip/sc-mapper-rest/src/test/java/de/campussource/cse/mapper/
trunk/sandbox/cse-ip/sc-mapper-rest/src/test/java/de/campussource/cse/mapper/rest/
trunk/sandbox/cse-ip/sc-mapper-rest/src/test/java/de/campussource/cse/mapper/rest/RestIdentityMapperIntegrationTest.java
trunk/sandbox/cse-ip/sc-mapper-rest/src/test/java/de/campussource/cse/mapper/rest/RestfulTest.java
trunk/sandbox/cse-ip/sc-mapper-rest/src/test/resources/
trunk/sandbox/cse-ip/sc-mapper-rest/src/test/resources/META-INF/
trunk/sandbox/cse-ip/sc-mapper-rest/src/test/resources/META-INF/persistence.xml
trunk/sandbox/cse-ip/sc-mapper-rest/src/test/resources/log4j.properties
Modified: trunk/sandbox/cse-ip/build.xml
===================================================================
--- trunk/sandbox/cse-ip/build.xml 2009-04-21 19:27:23 UTC (rev 145)
+++ trunk/sandbox/cse-ip/build.xml 2009-04-21 21:22:23 UTC (rev 146)
@@ -1,4 +1,4 @@
-<project name="cse-ip" default="install" basedir=".">
+<project name="cse-ip :: build" default="install" basedir=".">
<condition property="maven.executable" value="mvn.bat" else="mvn"><os family="windows" /></condition>
<condition property="asadmin.executable" value="asadmin.bat" else="asadmin"><os family="windows"/></condition>
Modified: trunk/sandbox/cse-ip/pom.xml
===================================================================
--- trunk/sandbox/cse-ip/pom.xml 2009-04-21 19:27:23 UTC (rev 145)
+++ trunk/sandbox/cse-ip/pom.xml 2009-04-21 21:22:23 UTC (rev 146)
@@ -109,11 +109,18 @@
<module>sc-common</module>
<module>sc-mapper</module>
<module>sc-cdmm</module>
+ <module>sc-mapper-rest</module>
<module>cse-ip-application</module>
</modules>
<repositories>
+ <repository>
+ <id>jboss</id>
+ <name>JBoss</name>
+ <url>http://repository.jboss.com/maven2</url>
+ <layout>default</layout>
+ </repository>
<repository>
<id>download-java-net</id>
<name>Repository Java.Net</name>
Modified: trunk/sandbox/cse-ip/sc-mapper/pom.xml
===================================================================
--- trunk/sandbox/cse-ip/sc-mapper/pom.xml 2009-04-21 19:27:23 UTC (rev 145)
+++ trunk/sandbox/cse-ip/sc-mapper/pom.xml 2009-04-21 21:22:23 UTC (rev 146)
@@ -22,16 +22,16 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>de.campussource.cse</groupId>
+ <artifactId>sc-common</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ <dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>de.campussource.cse</groupId>
- <artifactId>sc-common</artifactId>
- <version>${pom.version}</version>
- </dependency>
- <dependency>
<groupId>javax.ejb</groupId>
<artifactId>ejb-api</artifactId>
<version>3.0</version>
Added: trunk/sandbox/cse-ip/sc-mapper-rest/build.xml
===================================================================
--- trunk/sandbox/cse-ip/sc-mapper-rest/build.xml (rev 0)
+++ trunk/sandbox/cse-ip/sc-mapper-rest/build.xml 2009-04-21 21:22:23 UTC (rev 146)
@@ -0,0 +1,28 @@
+<project name="cse-ip :: sc :: mapper :: rest :: build" default="install" basedir=".">
+ <condition property="maven.executable" value="mvn.bat" else="mvn"><os family="windows" /></condition>
+
+ <target name="compile">
+ <exec executable="${maven.executable}">
+ <arg line="install"/>
+ </exec>
+ </target>
+
+ <target name="clean">
+ <exec executable="${maven.executable}">
+ <arg line="clean"/>
+ </exec>
+ </target>
+
+ <target name="install" depends="clean">
+ <exec executable="${maven.executable}">
+ <arg line="install"/>
+ </exec>
+ </target>
+
+ <target name="eclipse">
+ <exec executable="${maven.executable}">
+ <arg line="eclipse:clean eclipse:eclipse"/>
+ </exec>
+ </target>
+
+</project>
Property changes on: trunk/sandbox/cse-ip/sc-mapper-rest/build.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/sandbox/cse-ip/sc-mapper-rest/pom.xml
===================================================================
--- trunk/sandbox/cse-ip/sc-mapper-rest/pom.xml (rev 0)
+++ trunk/sandbox/cse-ip/sc-mapper-rest/pom.xml 2009-04-21 21:22:23 UTC (rev 146)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>cse-ip</artifactId>
+ <groupId>de.campussource.cse</groupId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>de.campussource.cse</groupId>
+ <artifactId>sc-mapper-rest</artifactId>
+ <packaging>war</packaging>
+ <name>Service Component Mapper REST</name>
+ <version>1.0-SNAPSHOT</version>
+
+
+
+ <dependencies>
+ <dependency>
+ <groupId>de.campussource.cse</groupId>
+ <artifactId>sc-mapper</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>de.campussource.cse</groupId>
+ <artifactId>test-utilities</artifactId>
+ <version>${pom.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-server</artifactId>
+ <version>1.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+</project>
\ No newline at end of file
Property changes on: trunk/sandbox/cse-ip/sc-mapper-rest/pom.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/sandbox/cse-ip/sc-mapper-rest/src/main/java/de/campussource/cse/mapper/rest/IdentityMapperRestBean.java
===================================================================
--- trunk/sandbox/cse-ip/sc-mapper-rest/src/main/java/de/campussource/cse/mapper/rest/IdentityMapperRestBean.java (rev 0)
+++ trunk/sandbox/cse-ip/sc-mapper-rest/src/main/java/de/campussource/cse/mapper/rest/IdentityMapperRestBean.java 2009-04-21 21:22:23 UTC (rev 146)
@@ -0,0 +1,69 @@
+package de.campussource.cse.mapper.rest;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+
+import de.campussource.cse.common.exception.IdNotFoundException;
+
+@Path("/mapper")
+public class IdentityMapperRestBean {
+
+ private Map<Long, String> busToClient = new HashMap<Long, String>();
+ private Map<String, Long> clientToBus = new HashMap<String, Long>();
+
+ private Long toBus(String client) {
+ Long bus = clientToBus.get(client);
+ if (bus == null) {
+ bus = System.currentTimeMillis();
+ busToClient.put(bus, client);
+ clientToBus.put(client, bus);
+ }
+
+ return bus;
+ }
+
+ private String toClient(Long bus) {
+ return busToClient.get(bus);
+ }
+
+ @GET
+ @Path("/client/{instanceid}/{objectid}")
+ @Produces("application/xml")
+ public MappedObject toBusId(@PathParam("instanceid") Long clientInstanceId,
+ @PathParam("objectid") String clientObjectId) {
+
+ MappedObject mapped = new MappedObject();
+ mapped.setBusId(toBus(clientObjectId));
+// mapped.setBusId(mapper.toBusId(clientInstanceId, clientObjectId));
+ mapped.setClientInstanceId(clientInstanceId);
+ mapped.setClientObjectId(clientObjectId);
+
+ return mapped;
+ }
+
+ @GET
+ @Path("/bus/{busid}/{instanceid}")
+ @Produces("application/xml")
+ public MappedObject toClientObjectId(
+ @PathParam("busid") Long busId,
+ @PathParam("instanceid") Long clientInstanceId) throws IdNotFoundException {
+ MappedObject mapped = new MappedObject();
+ mapped.setBusId(busId);
+ mapped.setClientInstanceId(clientInstanceId);
+ mapped.setClientObjectId(toClient(busId));
+// mapped.setClientObjectId(mapper.toClientObjectId(busId, clientInstanceId));
+
+ return mapped;
+ }
+
+
+// public static void setMapper(IdentityMapper identityMapper) {
+// mapper = identityMapper;
+// }
+
+}
Property changes on: trunk/sandbox/cse-ip/sc-mapper-rest/src/main/java/de/campussource/cse/mapper/rest/IdentityMapperRestBean.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/sandbox/cse-ip/sc-mapper-rest/src/main/java/de/campussource/cse/mapper/rest/MappedObject.java
===================================================================
--- trunk/sandbox/cse-ip/sc-mapper-rest/src/main/java/de/campussource/cse/mapper/rest/MappedObject.java (rev 0)
+++ trunk/sandbox/cse-ip/sc-mapper-rest/src/main/java/de/campussource/cse/mapper/rest/MappedObject.java 2009-04-21 21:22:23 UTC (rev 146)
@@ -0,0 +1,48 @@
+package de.campussource.cse.mapper.rest;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+@XmlRootElement(name="Mapped")
+@XmlType(name="MappedObjectType", namespace="http://cse.campussource.de/mapper")
+@XmlAccessorType(XmlAccessType.FIELD)
+public class MappedObject {
+
+ @XmlElement(name="BusId")
+ private Long busId;
+
+ @XmlElement(name="ClientInstanceId")
+ private Long clientInstanceId;
+
+ @XmlElement(name="ClientObjectId")
+ private String clientObjectId;
+
+ public Long getBusId() {
+ return busId;
+ }
+
+ public void setBusId(Long busId) {
+ this.busId = busId;
+ }
+
+ public Long getClientInstanceId() {
+ return clientInstanceId;
+ }
+
+ public void setClientInstanceId(Long clientInstanceId) {
+ this.clientInstanceId = clientInstanceId;
+ }
+
+ public String getClientObjectId() {
+ return clientObjectId;
+ }
+
+ public void setClientObjectId(String clientObjectId) {
+ this.clientObjectId = clientObjectId;
+ }
+
+}
Property changes on: trunk/sandbox/cse-ip/sc-mapper-rest/src/main/java/de/campussource/cse/mapper/rest/MappedObject.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/sandbox/cse-ip/sc-mapper-rest/src/test/java/de/campussource/cse/mapper/rest/RestIdentityMapperIntegrationTest.java
===================================================================
--- trunk/sandbox/cse-ip/sc-mapper-rest/src/test/java/de/campussource/cse/mapper/rest/RestIdentityMapperIntegrationTest.java (rev 0)
+++ trunk/sandbox/cse-ip/sc-mapper-rest/src/test/java/de/campussource/cse/mapper/rest/RestIdentityMapperIntegrationTest.java 2009-04-21 21:22:23 UTC (rev 146)
@@ -0,0 +1,91 @@
+package de.campussource.cse.mapper.rest;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import com.sun.jersey.api.container.httpserver.HttpServerFactory;
+import com.sun.net.httpserver.HttpServer;
+
+public class RestIdentityMapperIntegrationTest{
+
+ private static final String LOCALHOST = "http://localhost:8888/";
+ private static HttpServer server;
+
+ @BeforeClass
+ public static void setUp() throws Exception {
+ System.out.println("Creating Server...");
+
+
+ server = HttpServerFactory.create(LOCALHOST);
+ server.start();
+
+
+ System.out.println("HTTP Server started.");
+ System.out.println("Running tests...");
+
+ }
+
+// @Before
+// public void setup() {
+// IdentityMapper mapper = new IdentityMapperBean();
+// autowireByType(mapper);
+// IdentityMapperRestBean.setMapper(mapper);
+// JOptionPane.showMessageDialog(null, "JAX-RS Server is running!");
+// }
+
+ private static String testResourceAtUrl(URL url) throws Exception {
+ try {
+ HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+
+ connection.setRequestMethod("GET");
+ connection.connect();
+
+ InputStream is = connection.getInputStream();
+
+ BufferedReader reader = new BufferedReader(new InputStreamReader(is));
+ StringBuilder buffer = new StringBuilder();
+ String line = null;
+ while ((line = reader.readLine()) != null) {
+ buffer.append(line);
+ }
+ System.out.println("Read: " + buffer.toString());
+
+ connection.disconnect();
+
+ return buffer.toString();
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ throw new Exception("Could not establish connection to " + url.toExternalForm());
+ }
+
+ @Test
+ public void testRest() throws Exception {
+ String activationText = testResourceAtUrl(new URL(LOCALHOST + "mapper/client/12345/objectid"));
+ assertNotNull(activationText);
+ assertFalse(activationText.isEmpty());
+ }
+
+ @AfterClass
+ public static void tearDown() throws IOException {
+ if (server != null) {
+ System.out.println("Stopping server...");
+ server.stop(0);
+ System.out.println("Server stopped");
+ }
+
+ }
+
+}
Property changes on: trunk/sandbox/cse-ip/sc-mapper-rest/src/test/java/de/campussource/cse/mapper/rest/RestIdentityMapperIntegrationTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/sandbox/cse-ip/sc-mapper-rest/src/test/java/de/campussource/cse/mapper/rest/RestfulTest.java
===================================================================
--- trunk/sandbox/cse-ip/sc-mapper-rest/src/test/java/de/campussource/cse/mapper/rest/RestfulTest.java (rev 0)
+++ trunk/sandbox/cse-ip/sc-mapper-rest/src/test/java/de/campussource/cse/mapper/rest/RestfulTest.java 2009-04-21 21:22:23 UTC (rev 146)
@@ -0,0 +1,96 @@
+package de.campussource.cse.mapper.rest;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+import javax.swing.JOptionPane;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import com.sun.jersey.api.container.httpserver.HttpServerFactory;
+import com.sun.net.httpserver.HttpServer;
+
+@Path("/unittest")
+public class RestfulTest {
+
+ private static final String LOCALHOST = "http://localhost:8888/";
+
+ private static HttpServer server;
+
+ @GET
+ @Produces("text/plain")
+ public String testSystem() {
+ return "Hello. This is a test";
+ }
+
+ @BeforeClass
+ public static void setUp() throws Exception {
+ System.out.println("Creating Server...");
+
+ server = HttpServerFactory.create(LOCALHOST);
+ server.start();
+
+ JOptionPane.showMessageDialog(null, "JAX-RS Server is running!");
+
+ System.out.println("HTTP Server started.");
+ System.out.println("Running tests...");
+
+ }
+
+ private static String testResourceAtUrl(URL url) throws Exception {
+ try {
+ HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+
+ connection.setRequestMethod("GET");
+ connection.connect();
+
+ InputStream is = connection.getInputStream();
+
+ BufferedReader reader = new BufferedReader(new InputStreamReader(is));
+ StringBuilder buffer = new StringBuilder();
+ String line = null;
+ while ((line = reader.readLine()) != null) {
+ buffer.append(line);
+ }
+ System.out.println("Read: " + buffer.toString());
+
+ connection.disconnect();
+
+ return buffer.toString();
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ throw new Exception("Could not establish connection to " + url.toExternalForm());
+ }
+
+ @Test
+ public void testRest() throws Exception {
+ String activationText = testResourceAtUrl(new URL(LOCALHOST + "/mapper"));
+ assertNotNull(activationText);
+ assertFalse(activationText.isEmpty());
+ }
+
+ @AfterClass
+ public static void tearDown() throws IOException {
+ if (server != null) {
+ System.out.println("Stopping server...");
+ server.stop(0);
+ System.out.println("Server stopped");
+ }
+
+ }
+
+}
Property changes on: trunk/sandbox/cse-ip/sc-mapper-rest/src/test/java/de/campussource/cse/mapper/rest/RestfulTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/sandbox/cse-ip/sc-mapper-rest/src/test/resources/META-INF/persistence.xml
===================================================================
--- trunk/sandbox/cse-ip/sc-mapper-rest/src/test/resources/META-INF/persistence.xml (rev 0)
+++ trunk/sandbox/cse-ip/sc-mapper-rest/src/test/resources/META-INF/persistence.xml 2009-04-21 21:22:23 UTC (rev 146)
@@ -0,0 +1,21 @@
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
+ version="1.0">
+ <persistence-unit name="cseip-test" transaction-type="RESOURCE_LOCAL">
+ <provider>oracle.toplink.essentials.PersistenceProvider</provider>
+ <class>de.campussource.cse.mapper.MappedClientObject</class>
+ <properties>
+ <property name="toplink.ddl-generation" value="drop-and-create-tables" />
+ <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver" />
+ <property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/cseiptest?createDatabaseIfNotExist=true" />
+ <property name="toplink.jdbc.user" value="root" />
+ <property name="toplink.jdbc.password" value="masterkey" />
+ </properties>
+ </persistence-unit>
+</persistence>
+
+
+
+
+
\ No newline at end of file
Property changes on: trunk/sandbox/cse-ip/sc-mapper-rest/src/test/resources/META-INF/persistence.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/sandbox/cse-ip/sc-mapper-rest/src/test/resources/log4j.properties
===================================================================
--- trunk/sandbox/cse-ip/sc-mapper-rest/src/test/resources/log4j.properties (rev 0)
+++ trunk/sandbox/cse-ip/sc-mapper-rest/src/test/resources/log4j.properties 2009-04-21 21:22:23 UTC (rev 146)
@@ -0,0 +1,15 @@
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.Target=System.out
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
+
+log4j.rootCategory=debug, stdout
+
+log4j.logger.org.hibernate=info
+
+log4j.logger.oracle.toplink=debug
+
+log4j.logger.org.hibernate.SQL=debug
+log4j.logger.org.hibernate.type=debug
+log4j.logger.org.hibernate.id=debug
+log4j.logger.org.hibernate.cache=debug
\ No newline at end of file
Property changes on: trunk/sandbox/cse-ip/sc-mapper-rest/src/test/resources/log4j.properties
___________________________________________________________________
Added: svn:mime-type
+ text/plain
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|