From: <id...@us...> - 2009-02-18 19:48:41
|
Revision: 8 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=8&view=rev Author: idueppe Date: 2009-02-18 19:48:31 +0000 (Wed, 18 Feb 2009) Log Message: ----------- Initial Prototype Added Paths: ----------- cse-ip/trunk/sandbox/cse-ip/.project cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/.classpath cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/.project cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/pom.xml cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/BeanRouter.java cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/ContentEnricher.java cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/META-INF/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/META-INF/camel-context.xml cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/log4j.properties cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/xslt/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/xslt/lsf2cse.xsl cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/CamelTest.java cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/resources/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/resources/messages/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/resources/messages/lsf-sync-msg-original.xml cse-ip/trunk/sandbox/cse-ip/pom.xml cse-ip/trunk/sandbox/cse-ip/sc-idmapper/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/.classpath cse-ip/trunk/sandbox/cse-ip/sc-idmapper/.project cse-ip/trunk/sandbox/cse-ip/sc-idmapper/createDDL.jdbc cse-ip/trunk/sandbox/cse-ip/sc-idmapper/dropDDL.jdbc cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientInstance.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/java/de/campussource/cse/idmapper/ClientObject.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/main/resources/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/ClientObjectTest.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitTest.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/resources/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/resources/META-INF/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/resources/META-INF/persistence.xml cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/resources/log4j.properties cse-ip/trunk/sandbox/cse-ip/src/ cse-ip/trunk/sandbox/cse-ip/src/main/ cse-ip/trunk/sandbox/cse-ip/src/main/java/ cse-ip/trunk/sandbox/cse-ip/src/main/java/de/ cse-ip/trunk/sandbox/cse-ip/src/main/java/de/campussource/ cse-ip/trunk/sandbox/cse-ip/src/main/java/de/campussource/cse/ cse-ip/trunk/sandbox/cse-ip/src/main/java/de/campussource/cse/App.java cse-ip/trunk/sandbox/cse-ip/src/test/ cse-ip/trunk/sandbox/cse-ip/src/test/java/ cse-ip/trunk/sandbox/cse-ip/src/test/java/de/ cse-ip/trunk/sandbox/cse-ip/src/test/java/de/campussource/ cse-ip/trunk/sandbox/cse-ip/src/test/java/de/campussource/cse/ cse-ip/trunk/sandbox/cse-ip/src/test/java/de/campussource/cse/AppTest.java Added: cse-ip/trunk/sandbox/cse-ip/.project =================================================================== --- cse-ip/trunk/sandbox/cse-ip/.project (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/.project 2009-02-18 19:48:31 UTC (rev 8) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>cse-ip</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + </buildSpec> + <natures> + </natures> +</projectDescription> Property changes on: cse-ip/trunk/sandbox/cse-ip/.project ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/.classpath =================================================================== --- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/.classpath (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/.classpath 2009-02-18 19:48:31 UTC (rev 8) @@ -0,0 +1,73 @@ +<classpath> + <classpathentry kind="src" path="src/main/java"/> + <classpathentry kind="src" path="src/main/resources" including="**/*" excluding="**/*.java"/> + <classpathentry kind="src" path="src/test/java" output="target/test-classes"/> + <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/> + <classpathentry kind="output" path="target/classes"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> + <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar" sourcepath="M2_REPO/javax/activation/activation/1.1/activation-1.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/activemq/activeio-core/3.1.0/activeio-core-3.1.0.jar" sourcepath="M2_REPO/org/apache/activemq/activeio-core/3.1.0/activeio-core-3.1.0-sources.jar"> + <attributes> + <attribute value="jar:file:/D:/Development/repository/org/apache/activemq/activeio-core/3.1.0/activeio-core-3.1.0-javadoc.jar!/" name="javadoc_location"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/org/apache/activemq/activemq-camel/5.2.0/activemq-camel-5.2.0.jar" sourcepath="M2_REPO/org/apache/activemq/activemq-camel/5.2.0/activemq-camel-5.2.0-sources.jar"> + <attributes> + <attribute value="jar:file:/D:/Development/repository/org/apache/activemq/activemq-camel/5.2.0/activemq-camel-5.2.0-javadoc.jar!/" name="javadoc_location"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/org/apache/activemq/activemq-core/5.2.0/activemq-core-5.2.0.jar" sourcepath="M2_REPO/org/apache/activemq/activemq-core/5.2.0/activemq-core-5.2.0-sources.jar"> + <attributes> + <attribute value="jar:file:/D:/Development/repository/org/apache/activemq/activemq-core/5.2.0/activemq-core-5.2.0-javadoc.jar!/" name="javadoc_location"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/org/apache/activemq/activemq-pool/5.2.0/activemq-pool-5.2.0.jar" sourcepath="M2_REPO/org/apache/activemq/activemq-pool/5.2.0/activemq-pool-5.2.0-sources.jar"> + <attributes> + <attribute value="jar:file:/D:/Development/repository/org/apache/activemq/activemq-pool/5.2.0/activemq-pool-5.2.0-javadoc.jar!/" name="javadoc_location"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/backport-util-concurrent/backport-util-concurrent/2.1/backport-util-concurrent-2.1.jar" sourcepath="M2_REPO/backport-util-concurrent/backport-util-concurrent/2.1/backport-util-concurrent-2.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/camel/camel-core/1.6.0/camel-core-1.6.0.jar" sourcepath="M2_REPO/org/apache/camel/camel-core/1.6.0/camel-core-1.6.0-sources.jar"> + <attributes> + <attribute value="jar:file:/D:/Development/repository/org/apache/camel/camel-core/1.6.0/camel-core-1.6.0-javadoc.jar!/" name="javadoc_location"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/org/apache/camel/camel-jms/1.6.0/camel-jms-1.6.0.jar" sourcepath="M2_REPO/org/apache/camel/camel-jms/1.6.0/camel-jms-1.6.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/camel/camel-spring/1.6.0/camel-spring-1.6.0.jar" sourcepath="M2_REPO/org/apache/camel/camel-spring/1.6.0/camel-spring-1.6.0-sources.jar"> + <attributes> + <attribute value="jar:file:/D:/Development/repository/org/apache/camel/camel-spring/1.6.0/camel-spring-1.6.0-javadoc.jar!/" name="javadoc_location"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-sources.jar"> + <attributes> + <attribute value="jar:file:/D:/Development/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-javadoc.jar!/" name="javadoc_location"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-pool/commons-pool/1.4/commons-pool-1.4.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-j2ee-management_1.0_spec/1.0/geronimo-j2ee-management_1.0_spec-1.0.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.1.1/geronimo-jms_1.1_spec-1.1.1.jar" sourcepath="M2_REPO/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.1.1/geronimo-jms_1.1_spec-1.1.1-sources.jar"> + <attributes> + <attribute value="jar:file:/D:/Development/repository/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.1.1/geronimo-jms_1.1_spec-1.1.1-javadoc.jar!/" name="javadoc_location"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1.1/geronimo-jta_1.1_spec-1.1.1.jar" sourcepath="M2_REPO/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1.1/geronimo-jta_1.1_spec-1.1.1-sources.jar"> + <attributes> + <attribute value="jar:file:/D:/Development/repository/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1.1/geronimo-jta_1.1_spec-1.1.1-javadoc.jar!/" name="javadoc_location"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar" sourcepath="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/sun/xml/bind/jaxb-impl/2.1.7/jaxb-impl-2.1.7.jar" sourcepath="M2_REPO/com/sun/xml/bind/jaxb-impl/2.1.7/jaxb-impl-2.1.7-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/4.5/junit-4.5.jar" sourcepath="M2_REPO/junit/junit/4.5/junit-4.5-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-aop/2.5.6/spring-aop-2.5.6.jar" sourcepath="M2_REPO/org/springframework/spring-aop/2.5.6/spring-aop-2.5.6-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-beans/2.5.5/spring-beans-2.5.5.jar" sourcepath="M2_REPO/org/springframework/spring-beans/2.5.5/spring-beans-2.5.5-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-context/2.5.6/spring-context-2.5.6.jar" sourcepath="M2_REPO/org/springframework/spring-context/2.5.6/spring-context-2.5.6-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-context-support/2.5.6/spring-context-support-2.5.6.jar" sourcepath="M2_REPO/org/springframework/spring-context-support/2.5.6/spring-context-support-2.5.6-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-core/2.5.6/spring-core-2.5.6.jar" sourcepath="M2_REPO/org/springframework/spring-core/2.5.6/spring-core-2.5.6-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-jms/2.5.6/spring-jms-2.5.6.jar" sourcepath="M2_REPO/org/springframework/spring-jms/2.5.6/spring-jms-2.5.6-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-tx/2.5.6/spring-tx-2.5.6.jar" sourcepath="M2_REPO/org/springframework/spring-tx/2.5.6/spring-tx-2.5.6-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar" sourcepath="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2-sources.jar"/> +</classpath> \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/.classpath ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/.project =================================================================== --- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/.project (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/.project 2009-02-18 19:48:31 UTC (rev 8) @@ -0,0 +1,22 @@ +<projectDescription> + <name>ica-his-lsf</name> + <comment/> + <projects/> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.common.project.facet.core.builder</name> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.validation.validationbuilder</name> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.wst.common.project.facet.core.nature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> + <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> + </natures> +</projectDescription> \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/.project ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/pom.xml (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/pom.xml 2009-02-18 19:48:31 UTC (rev 8) @@ -0,0 +1,60 @@ +<?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>ica-his-lsf</artifactId> + <packaging>jbi-service-unit</packaging> + <name>Inbound Client Adapter for HIS-LSF</name> + <version>1.0-SNAPSHOT</version> + + <build> + <resources> + <resource> + <directory>src/main/resources</directory> + <includes> + <include>**/*</include> + </includes> + </resource> + </resources> + </build> + + <dependencies> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-core</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-spring</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-jms</artifactId> + </dependency> + <dependency> + <groupId>com.sun.xml.bind</groupId> + <artifactId>jaxb-impl</artifactId> + </dependency> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>activemq-camel</artifactId> + </dependency> + <dependency> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + +</project> \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/pom.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/BeanRouter.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/BeanRouter.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/BeanRouter.java 2009-02-18 19:48:31 UTC (rev 8) @@ -0,0 +1,19 @@ +package de.campussource.cse; + +import org.apache.camel.Body; +import org.apache.camel.EndpointInject; +import org.apache.camel.Header; +import org.apache.camel.ProducerTemplate; + +public class BeanRouter { + + @EndpointInject(uri="activemq:SplittedMessagesAsFile") + private ProducerTemplate producer; + + public void route(@Header(name="x") String header, @Body String body) { + System.out.println("Header "+header); + System.out.println("Header "+body); + producer.sendBody(body); + } + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/BeanRouter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/ContentEnricher.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/ContentEnricher.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/ContentEnricher.java 2009-02-18 19:48:31 UTC (rev 8) @@ -0,0 +1,28 @@ +package de.campussource.cse; + +import org.apache.camel.ProducerTemplate; +import org.apache.camel.EndpointInject; +import org.apache.camel.MessageDriven; +import org.apache.camel.Body; + +public class ContentEnricher { + + @EndpointInject(uri="activemq:BeforeSplitting") + ProducerTemplate producer; + + @EndpointInject(uri="activemq:SplittedMessagesAsFile") + ProducerTemplate producer2; + + @MessageDriven(uri="file:target/messages/LSFTransformedOutput") + public void transformForSplitting(@Body String body){ + System.out.println("--------> transforming triggered"); + producer.sendBody(body); + } + + @MessageDriven(uri="activemq:SplittedLSFMessages") + public void splitMessage(@Body String body){ + System.out.println("processing part of message"); + producer2.sendBody(body); + } + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/java/de/campussource/cse/ContentEnricher.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/META-INF/camel-context.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/META-INF/camel-context.xml (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/META-INF/camel-context.xml 2009-02-18 19:48:31 UTC (rev 8) @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:csesm="http://cse.campussource.de/lsf/schema/SynchronizationMessage" + xmlns:camel="http://activemq.apache.org/camel/schema/spring" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd + http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd"> + + <bean id="activemq" class="org.apache.camel.component.jms.JmsComponent"> + <property name="connectionFactory"> + <bean class="org.apache.activemq.ActiveMQConnectionFactory"> + <property name="brokerURL" value="vm://localhost?broker.persistent=false" /> + </bean> + </property> + </bean> + + <bean id="Transformer" class="de.campussource.cse.ContentEnricher" /> + <bean id="beanRouter" class="de.campussource.cse.BeanRouter"/> + + <camel:camelContext xmlns="http://activemq.apache.org/camel/schema/spring"> + <camel:package>de.campussource.cse</camel:package> + + <camel:route> + <camel:from uri="file:target/input?moveNamePrefix=done/" /> + <camel:to uri="xslt:xslt/lsf2cse.xsl" /> + <camel:to uri="file:target/messages/LSFTransformedOutput" /> + </camel:route> + + <camel:route> + <camel:from uri="file:target/input2?noop=false"/> + <camel:bean ref="beanRouter" method="route"/> + </camel:route> + + <camel:route> + <camel:from uri="activemq:BeforeSplitting" /> + <camel:splitter> + <camel:xpath>/csesm:synchronizationMessage/csesm:accounts/csesm:account</camel:xpath> + <camel:to uri="activemq:SplittedLSFMessages" /> + </camel:splitter> + </camel:route> + + <camel:route> + <camel:from uri="activemq:SplittedMessagesAsFile" /> + <camel:choice> + <camel:when> + <camel:xpath>/csesm:account/csesm:surname = 'Hansen'</camel:xpath> + <camel:to uri="file:target/messages/account/Hansen" /> + </camel:when> + <camel:otherwise> + <camel:to uri="file:target/messages/account/others" /> + </camel:otherwise> + </camel:choice> + </camel:route> + + + </camel:camelContext> + +</beans> Property changes on: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/META-INF/camel-context.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/log4j.properties =================================================================== --- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/log4j.properties (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/log4j.properties 2009-02-18 19:48:31 UTC (rev 8) @@ -0,0 +1,14 @@ +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=info, stdout + +#log4j.logger.org.hibernate=trace + +log4j.logger.org.hibernate.SQL=debug +log4j.logger.org.hibernate.type=trace +log4j.logger.org.hibernate.id=trace + +#log4j.logger.org.hibernate.cache=debug \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/log4j.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/xslt/lsf2cse.xsl =================================================================== --- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/xslt/lsf2cse.xsl (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/xslt/lsf2cse.xsl 2009-02-18 19:48:31 UTC (rev 8) @@ -0,0 +1,561 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:lsf="http://cse.campussource.de/lsf/schema/LSFSynchronizationMessage" + xmlns:cse="http://cse.campussource.de/lsf/schema/SynchronizationMessage" + xmlns="http://cse.campussource.de/lsf/schema/SynchronizationMessage"> + <xsl:output method="xml" media-type="text/xml" indent="yes" encoding="UTF-8" omit-xml-declaration="no"/> + <!-- Leave empty to disable output of debug information--> + <xsl:variable name="DEBUG"></xsl:variable> + <!-- Course related (NOT workgroup related) roles get this prefix, so that they are distinguishable later on --> + <xsl:variable name="COURSE_ROLE_PREFIX" select="'course:'"/> + <!-- Relation types --> + <xsl:variable name="RELATION_TYPE_COURSE_TO_WORKGROUPS" select="'course_to_workgroups'"/> + <xsl:variable name="RELATION_TYPE_COURSETYPE_TO_COURSES" select="'coursetype_to_coures'"/> + <xsl:variable name="RELATION_TYPE_CATEGORY_TO_CATEGORIES" select="'category_to_categories'"/> + <xsl:variable name="RELATION_TYPE_CATEGORY_TO_COURSES" select="'category_to_courses'"/> + <!-- ################################################################################################################## --> + <!-- [SYNCHRONIZATIONMESSAGE] --> + <xsl:template match="/lsf:synchronizationMessage"> + <xsl:element name="synchronizationMessage"> + <xsl:apply-templates select="lsf:isSyncMessage"/> + <xsl:apply-templates select="lsf:isDebug"/> + <xsl:element name="semesterName"> + <xsl:value-of select="lsf:semester/lsf:data/lsf:shortName"/> + </xsl:element> + <xsl:element name="semesterLsfId"> + <xsl:value-of select="lsf:semester/lsf:data/lsf:lsfId"/> + </xsl:element> + <xsl:element name="rootCategoryId"> + <xsl:if test="lsf:vvz/@rootKategorieId"> + <xsl:text>category:</xsl:text> + <xsl:value-of select="lsf:vvz/@rootKategorieId"/> + </xsl:if> + </xsl:element> + <!-- Generate "accounts" --> + <!-- [ACCOUNTS] --> + <!-- Create unified "accounts" by copying original "accounts" && merging "accounts2" --> + <xsl:if test="$DEBUG"> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment># Generating "accounts" (merging "accounts" and "accounts2") #</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:element name="accounts"> + <xsl:for-each select="/lsf:synchronizationMessage/child::*[self::lsf:accounts or self::lsf:accounts2]/lsf:account"> + <xsl:element name="account"> + <xsl:element name="clientId"> + <xsl:text>account:</xsl:text> + <xsl:value-of select="lsf:lsfId"/> + </xsl:element> + <xsl:element name="globalRole"> + <xsl:choose> + <xsl:when test="name(..) = 'accounts2'"> + <xsl:text>User</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>Tutor</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:element> + <xsl:for-each select="./*"> + <xsl:apply-templates select="."/> + <xsl:text> </xsl:text> + </xsl:for-each> + </xsl:element> + </xsl:for-each> + </xsl:element> + <!-- Generate CourseTypes --> + <xsl:if test="$DEBUG"> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment># Generating "courseType" #</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:element name="courseTypes"> + <xsl:for-each select="/lsf:synchronizationMessage/lsf:lectureTypes/*"> + <xsl:element name="courseType"> + <xsl:element name="clientId"> + <xsl:text>coursetype:</xsl:text> + <xsl:value-of select="lsfId"/> + </xsl:element> + <xsl:for-each select="./*"> + <xsl:apply-templates select="."/> + <xsl:text> </xsl:text> + </xsl:for-each> + </xsl:element> + </xsl:for-each> + </xsl:element> + <!-- Generate "courses" --> + <xsl:if test="$DEBUG"> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment># Generating "courses" #</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:element name="courses"> + <xsl:for-each select="/lsf:synchronizationMessage/lsf:lectures/*"> + <xsl:element name="course"> + <!-- Copy everything except "groups", "accounts", "categories"-elements (these will be transformed to relations) --> + <xsl:for-each select="*"> + <xsl:if test="not(name() = 'groups') and not(name() = 'accounts') and not(name() = 'categories') and not(name() = 'lectureTypeId')"> + <xsl:apply-templates select="."/> + <xsl:text> </xsl:text> + </xsl:if> + </xsl:for-each> + <!-- CourseTypeId --> + <xsl:element name="courseTypeId"> + <xsl:value-of select="./lsf:lectureTypeId"/> + </xsl:element> + <!-- Generate clientId --> + <xsl:element name="clientId"> + <xsl:text>course:</xsl:text> + <xsl:value-of select="lsf:lsfId"/> + </xsl:element> + <!-- Generate semesterId --> + <xsl:element name="semesterId"> + <xsl:value-of select="/lsf:synchronizationMessage/lsf:semester/lsf:data/lsf:lsfId"/> + </xsl:element> + <!-- Get start date from 'semester'-element --> + <xsl:element name="startDate"> + <xsl:value-of select="/lsf:synchronizationMessage/lsf:semester/lsf:data/lsf:lectureStart"/> + </xsl:element> + <!-- Get end date from 'semester'-element --> + <xsl:element name="endDate"> + <xsl:value-of select="/lsf:synchronizationMessage/lsf:semester/lsf:data/lsf:lectureEnd"/> + </xsl:element> + </xsl:element> + </xsl:for-each> + </xsl:element> + <!-- Generate "workgroups" --> + <xsl:if test="$DEBUG"> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment># Generating "workgroups" #</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:element name="workgroups"> + <xsl:for-each select="lsf:lectures/*"> + <xsl:if test="$DEBUG"> + <xsl:comment>### Processing groups from ( + <xsl:value-of select="title"/>) ### + </xsl:comment> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:for-each select="lsf:groups/lsf:group"> + <xsl:sort select="lsf:lsfId" data-type="number"/> + <xsl:if test="position() = 1"> + <xsl:call-template name="generate-workgroup"> + </xsl:call-template> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + </xsl:element> + <!-- Generate "categories" --> + <xsl:if test="$DEBUG"> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment># Generating "categories" #</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:element name="categories"> + <xsl:for-each select="/lsf:synchronizationMessage/lsf:vvz/*"> + <xsl:element name="category"> + <!-- Generate clientId --> + <xsl:element name="clientId"> + <xsl:text>category:</xsl:text> + <xsl:value-of select="lsf:lsfId"/> + </xsl:element> + <!-- Generate semesterId --> + <xsl:element name="semesterId"> + <xsl:value-of select="/lsf:synchronizationMessage/lsf:semester/lsf:data/lsf:lsfId"/> + </xsl:element> + <!-- Copy everything except "children" and 'sort' --> + <xsl:for-each select="*"> + <xsl:if test="not(name() = 'children') and not(name() = 'sort')"> + <xsl:apply-templates select="."/> + <xsl:text> </xsl:text> + </xsl:if> + </xsl:for-each> + <!-- Check, if sort was set; if not, set it to MAX_INT --> + <xsl:choose> + <xsl:when test="normalize-space(lsf:sort)"> + <xsl:apply-templates select="sort"/> + <xsl:text> </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:comment>### Setting 'sort' to MAX_INT ###</xsl:comment> + <xsl:text> </xsl:text> + <xsl:element name="sort"> + <!-- Set to MAX_INT --> + <xsl:text>2147483647</xsl:text> + </xsl:element> + </xsl:otherwise> + </xsl:choose> + </xsl:element> + </xsl:for-each> + </xsl:element> + <!-- Generate relations --> + <xsl:element name="relations"> + <!-- Generate lecture -> workgroup relations --> + <xsl:if test="$DEBUG"> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment># Generating lecture -> workgroup relations #</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:for-each select="lsf:lectures/*"> + <xsl:if test="$DEBUG"> + <xsl:comment>### Processing lecture ( + <xsl:value-of select="lsf:title"/>) ### + </xsl:comment> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:for-each select="lsf:groups/lsf:group"> + <xsl:sort select="lsf:lsfId" data-type="number"/> + <xsl:if test="position() = 1"> + <xsl:call-template name="generate-lectureToWorkgroupRelation"> + </xsl:call-template> + </xsl:if> + </xsl:for-each> + </xsl:for-each> + <!-- Generate category -> lecture relations --> + <xsl:if test="$DEBUG"> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment># Generating category -> lecture relations #</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:for-each select="lsf:lectures/*"> + <xsl:if test="$DEBUG"> + <xsl:comment>### Processing lecture ( + <xsl:value-of select="lsf:title"/>) ### + </xsl:comment> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:for-each select="lsf:categories/*"> + <xsl:variable name="clientParentId"> + <xsl:text>category:</xsl:text> + <xsl:value-of select="lsf:lsfId"/> + </xsl:variable> + <xsl:variable name="clientChildId"> + <xsl:text>course:</xsl:text> + <xsl:value-of select="../../lsf:lsfId"/> + </xsl:variable> + <xsl:call-template name="generate-relation"> + <xsl:with-param name="type" select="$RELATION_TYPE_CATEGORY_TO_COURSES"/> + <xsl:with-param name="clientChildId" select="$clientChildId"/> + <xsl:with-param name="clientParentId" select="$clientParentId"/> + <xsl:with-param name="sort" select="lsf:sort"/> + </xsl:call-template> + </xsl:for-each> + </xsl:for-each> + <!-- Generate lectureType -> lectures relations --> + <xsl:if test="$DEBUG"> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment># Generating lectureType -> lecture relations #</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:for-each select="lectures/*"> + <xsl:if test="$DEBUG"> + <xsl:comment>### Processing lecture ( + <xsl:value-of select="lsf:title"/>) ### + </xsl:comment> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:variable name="clientChildId"> + <xsl:text>course:</xsl:text> + <xsl:value-of select="lsf:lsfId"/> + </xsl:variable> + <xsl:variable name="clientParentId"> + <xsl:text>coursetype:</xsl:text> + <xsl:value-of select="lsf:lectureTypeId"/> + </xsl:variable> + <xsl:call-template name="generate-relation"> + <xsl:with-param name="type" select="$RELATION_TYPE_COURSETYPE_TO_COURSES"/> + <xsl:with-param name="clientChildId" select="$clientChildId"/> + <xsl:with-param name="clientParentId" select="$clientParentId"/> + </xsl:call-template> + </xsl:for-each> + <!-- Generate lectureType -> lectures relations --> + <xsl:if test="$DEBUG"> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment># Generating Category -> category relations #</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:for-each select="vvz/*"> + <xsl:if test="$DEBUG"> + <xsl:comment>### Processing children of category ( + <xsl:value-of select="lsf:name"/>) ### + </xsl:comment> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:for-each select="lsf:children/*"> + <xsl:variable name="clientChildId"> + <xsl:text>category:</xsl:text> + <xsl:value-of select="."/> + </xsl:variable> + <xsl:variable name="clientParentId"> + <xsl:text>category:</xsl:text> + <xsl:value-of select="../../lsf:lsfId"/> + </xsl:variable> + <xsl:call-template name="generate-relation"> + <xsl:with-param name="type" select="$RELATION_TYPE_CATEGORY_TO_CATEGORIES"/> + <xsl:with-param name="clientChildId" select="$clientChildId"/> + <xsl:with-param name="clientParentId" select="$clientParentId"/> + </xsl:call-template> + </xsl:for-each> + </xsl:for-each> + </xsl:element> + <!-- Generate "roles" --> + <xsl:if test="$DEBUG"> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment># Generating "roles" #</xsl:comment> + <xsl:text> </xsl:text> + <xsl:comment>##################################################################</xsl:comment> + <xsl:text> </xsl:text> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:element name="roles"> + <xsl:for-each select="lsf:lectures/*"> + <xsl:if test="$DEBUG"> + <xsl:comment>### Processing roles defined in lecture ( + <xsl:value-of select="lsf:title"/>) ### + </xsl:comment> + <xsl:text> </xsl:text> + </xsl:if> + <!-- Generate default roles from "accounts"-tag of "lecture" --> + <!-- (only if there are no groups) --> + <xsl:if test="$DEBUG"> + <xsl:comment>### --> lecture roles ###</xsl:comment> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:if test="count(lsf:groups/lsf:group) = 0"> + <xsl:for-each select="lsf:accounts/lsf:account"> + <xsl:call-template name="generate-role"> + <xsl:with-param name="name" select="concat($COURSE_ROLE_PREFIX, lsf:roleName)"/> + <xsl:with-param name="clientObjectId" select="concat('course:', ../../lsf:lsfId)"/> + <xsl:with-param name="clientAccountId" select="concat('account:', lsf:lsfId)"/> + </xsl:call-template> + </xsl:for-each> + </xsl:if> + <!-- Generate roles from "groups"-tag of "lecture" --> + <xsl:if test="$DEBUG"> + <xsl:comment>### --> group roles ###</xsl:comment> + <xsl:text> </xsl:text> + </xsl:if> + <xsl:for-each select="lsf:groups/lsf:group"> + <xsl:variable name="clientObjectId"> + <xsl:text>workgroup:</xsl:text> + <xsl:value-of select="../../lsf:lsfId"/> + <xsl:text>:</xsl:text> + <xsl:value-of select="lsf:lsfId"/> + </xsl:variable> + <xsl:for-each select="lsf:accounts/lsf:account"> + <xsl:variable name="clientAccountId"> + <xsl:text>account:</xsl:text> + <xsl:value-of select="lsf:lsfId"/> + </xsl:variable> + <xsl:call-template name="generate-role"> + <xsl:with-param name="name" select="roleName"/> + <xsl:with-param name="clientObjectId" select="$clientObjectId"/> + <xsl:with-param name="clientAccountId" select="$clientAccountId"/> + </xsl:call-template> + </xsl:for-each> + </xsl:for-each> + </xsl:for-each> + </xsl:element> + <!-- Copy / adapt "coursesToDelete" --> + <xsl:element name="coursesToDelete"> + <xsl:for-each select="lsf:lecturesToDelete/*"> + <xsl:element name="lsf:lsfId"> + <xsl:text>course:</xsl:text> + <xsl:value-of select="lsf:lsfId"/> + </xsl:element> + </xsl:for-each> + </xsl:element> + <!-- Copy / adapt "accountsToDelete" --> + <xsl:element name="accountsToDelete"> + <xsl:for-each select="lsf:accountsToDelete/*"> + <xsl:element name="lsfId"> + <xsl:text>account:</xsl:text> + <xsl:value-of select="lsf:lsfId"/> + </xsl:element> + </xsl:for-each> + </xsl:element> + <!-- Copy / adapt "courseTypesToDelete" --> + <xsl:element name="courseTypesToDelete"> + <xsl:for-each select="lsf:lectureTypesToDelete/*"> + <xsl:element name="lsfId"> + <xsl:text>coursetype:</xsl:text> + <xsl:value-of select="lsf:lsfId"/> + </xsl:element> + </xsl:for-each> + </xsl:element> + </xsl:element> + </xsl:template> + <!-- ################################################################################################################## --> + <!-- [GENERATE WORKGROUP] --> + <xsl:template name="generate-workgroup"> + <xsl:variable name="currentLsfId" select="lsfId"/> + <xsl:element name="workgroup"> + <xsl:apply-templates select="lsf:lsfId|lsf:name|lsf:room"/> + <!-- Generate clientId --> + <xsl:element name="clientId"> + <xsl:text>workgroup:</xsl:text> + <xsl:value-of select="../../lsf:lsfId"/>: + <xsl:value-of select="lsf:lsfId"/> + </xsl:element> + <!-- Generate semesterId --> + <xsl:element name="semesterId"> + <xsl:value-of select="/lsf:synchronizationMessage/lsf:semester/lsf:data/lsf:lsfId"/> + </xsl:element> + <!-- Get start date from 'semester'-element --> + <xsl:element name="startDate"> + <xsl:value-of select="/lsf:synchronizationMessage/lsf:semester/lsf:data/lsf:lectureStart"/> + </xsl:element> + <!-- Get end date from 'semester'-element --> + <xsl:element name="endDate"> + <xsl:value-of select="/lsf:synchronizationMessage/lsf:semester/lsf:data/lsf:lectureEnd"/> + </xsl:element> + <xsl:text> </xsl:text> + </xsl:element> + <xsl:for-each select="../child::group[number(child::lsfId) > number($currentLsfId)]"> + <xsl:sort select="lsf:lsfId" data-type="number"/> + <xsl:if test="position() = 1"> + <xsl:call-template name="generate-workgroup"> + </xsl:call-template> + </xsl:if> + </xsl:for-each> + </xsl:template> + <!-- ################################################################################################################## --> + <!-- [GENERATE LECTURETOWORKGROUPRELATION] --> + <xsl:template name="generate-lectureToWorkgroupRelation"> + <xsl:variable name="workgroupLsfId" select="lsf:lsfId"/> + <xsl:variable name="courseLsfId" select="../../lsf:lsfId"/> + <xsl:variable name="clientChildId"> + <xsl:text>workgroup:</xsl:text> + <xsl:value-of select="$courseLsfId"/> + <xsl:text>:</xsl:text> + <xsl:value-of select="$workgroupLsfId"/> + </xsl:variable> + <xsl:variable name="clientParentId"> + <xsl:text>course:</xsl:text> + <xsl:value-of select="$courseLsfId"/> + </xsl:variable> + <xsl:element name="relation"> + <xsl:element name="clientId"> + <xsl:text>relation:</xsl:text> + <xsl:value-of select="$clientParentId"/> + <xsl:text>:</xsl:text> + <xsl:value-of select="$clientChildId"/> + </xsl:element> + <xsl:element name="relationType"> + <xsl:value-of select="$RELATION_TYPE_COURSE_TO_WORKGROUPS"/> + </xsl:element> + <xsl:element name="clientParentId"> + <xsl:value-of select="$clientParentId"/> + </xsl:element> + <xsl:element name="clientChildId"> + <xsl:value-of select="$clientChildId"/> + </xsl:element> + </xsl:element> + <xsl:for-each select="../child::lsf:group[number(child::lsf:lsfId) > number($workgroupLsfId)]"> + <xsl:sort select="lsfId" data-type="number"/> + <xsl:if test="position() = 1"> + <xsl:call-template name="generate-lectureToWorkgroupRelation"> + </xsl:call-template> + </xsl:if> + </xsl:for-each> + </xsl:template> + <!-- ################################################################################################################## --> + <xsl:template name="generate-relation"> + <xsl:param name="type"/> + <xsl:param name="clientChildId"/> + <xsl:param name="clientParentId"/> + <xsl:param name="sort"/> + <xsl:element name="relation"> + <xsl:element name="clientId"> + <xsl:text>relation:</xsl:text> + <xsl:value-of select="$clientParentId"/> + <xsl:text>:</xsl:text> + <xsl:value-of select="$clientChildId"/> + </xsl:element> + <xsl:element name="relationType"> + <xsl:value-of select="$type"/> + </xsl:element> + <xsl:element name="clientParentId"> + <xsl:value-of select="$clientParentId"/> + </xsl:element> + <xsl:element name="clientChildId"> + <xsl:value-of select="$clientChildId"/> + </xsl:element> + <xsl:if test="$sort"> + <xsl:element name="childSort"> + <xsl:value-of select="$sort"/> + </xsl:element> + </xsl:if> + </xsl:element> + </xsl:template> + <!-- ################################################################################################################## --> + <!-- [GENERATE ROLE] --> + <xsl:template name="generate-role"> + <xsl:param name="clientAccountId"/> + <xsl:param name="clientObjectId"/> + <xsl:param name="name"/> + <xsl:element name="role"> + <xsl:element name="clientId"> + <xsl:text>role:</xsl:text> + <xsl:value-of select="$clientAccountId"/> + <xsl:text>:</xsl:text> + <xsl:value-of select="$clientObjectId"/> + </xsl:element> + <xsl:element name="name"> + <xsl:value-of select="$name"/> + </xsl:element> + <xsl:element name="clientAccountId"> + <xsl:value-of select="$clientAccountId"/> + </xsl:element> + <xsl:element name="clientObjectId"> + <xsl:value-of select="$clientObjectId"/> + </xsl:element> + </xsl:element> + </xsl:template> + + + <xsl:template match="lsf:*"> + <xsl:element name="{local-name()}"> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:element> + </xsl:template> +</xsl:stylesheet> Property changes on: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/main/resources/xslt/lsf2cse.xsl ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/CamelTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/CamelTest.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/CamelTest.java 2009-02-18 19:48:31 UTC (rev 8) @@ -0,0 +1,18 @@ +package de.campussource.cse; + +import org.junit.Test; + + +public class CamelTest { + + @Test + public void testRouter() throws Exception { +// ApplicationContext appContext = new ClassPathXmlApplicationContext("META-INF/camel-context.xml"); +// CamelContext context = new SpringCamelContext(appContext); +// context.start(); +// System.out.println("Camel Started"); +// System.in.read(); +// context.stop(); + } + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/CamelTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/resources/messages/lsf-sync-msg-original.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/resources/messages/lsf-sync-msg-original.xml (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/resources/messages/lsf-sync-msg-original.xml 2009-02-18 19:48:31 UTC (rev 8) @@ -0,0 +1,231 @@ +<?xml version="1.0" encoding="UTF-8"?> +<synchronizationMessage xmlns="http://cse.campussource.de/lsf/schema/LSFSynchronizationMessage"> + <isSyncMessage>false</isSyncMessage> + <semester> + <data> + <lsfId>20082</lsfId> + <shortName>WS 2008/09</shortName> + <name>Wintersemester 2008/09</name> + <start>01.10.2008</start> + <end>31.3.2009</end> + <lectureStart>01.10.2008</lectureStart> + <lectureEnd>31.03.2009</lectureEnd> + </data> + </semester> + <vvz rootKategorieId="1"> + <kategorie> + <lsfId>1</lsfId> + <name>Root-Category</name> + <children> + <lsfId>10</lsfId> + <lsfId>20</lsfId> + </children> + <sort>1000</sort> + </kategorie> + <kategorie> + <lsfId>10</lsfId> + <name>Level1</name> + <children> + </children> + <sort>1010</sort> + </kategorie> + <kategorie> + <lsfId>20</lsfId> + <name>Level1 (deep)</name> + <children> + <lsfId>100</lsfId> + </children> + <sort>1020</sort> + </kategorie> + <kategorie> + <lsfId>100</lsfId> + <name>Level2 (deep)</name> + <children> + <lsfId>1000</lsfId> + </children> + <sort>1020</sort> + </kategorie> + <kategorie> + <lsfId>1000</lsfId> + <name>Level3 (deep)</name> + <children> + <lsfId>10000</lsfId> + </children> + <sort>1020</sort> + </kategorie> + </vvz> + <accounts> + <account> + <lsfId>1</lsfId> + <surname>Hansen</surname> + <firstName>Hans</firstName> + <academicTitle>Univ.-Prof. Dr. rer. pol.</academicTitle> + <gender>M</gender> + <emailAddress>hans.hansen@domain.xx</emailAddress> + </account> + <account> + <lsfId>2</lsfId> + <surname>Becker</surname> + <firstName>Bernd</firstName> + <academicTitle>Univ.-Prof. Dr. jur.</academicTitle> + <gender>M</gender> + <emailAddress>bernd.becker@domain.xx</emailAddress> + </account> + </accounts> + <lectures> + <lecture> + <lsfId>100000</lsfId> + <logicalNumber>100000</logicalNumber> + <type>Sonstiges</type> + <title>Kurs Nr. 100000</title> + <shortDescription /> + <abbreviation /> + <prerequisites /> + <necessaryAssignment>N</necessaryAssignment> + <hyperlink /> + <note /> + <comment /> + <semesterAsInt>20082</semesterAsInt> + <semesterPeriodsPerWeek /> + <expectedRegistrations /> + <maximumRegistrations /> + <activityConfirmation /> + <literature /> + <lectureTypeId>83</lectureTypeId> + <semesterAbbr>WS 2008/09</semesterAbbr> + <semesterFull>WS 2008/09</semesterFull> + <categories> + <category> + <lsfId>1</lsfId> + <sort>1</sort> + </category> + </categories> + <groups /> + </lecture> + <lecture> + <lsfId>100001</lsfId> + <logicalNumber>100001</logicalNumber> + <type>Sonstiges</type> + <title>Kurs Nr. 100001</title> + <shortDescription /> + <abbreviation /> + <prerequisites /> + <necessaryAssignment>N</necessaryAssignment> + <hyperlink /> + <note /> + <comment /> + <semesterAsInt>20082</semesterAsInt> + <semesterPeriodsPerWeek /> + <expectedRegistrations /> + <maximumRegistrations /> + <activityConfirmation /> + <literature /> + <lectureTypeId>83</lectureTypeId> + <semesterAbbr>WS 2008/09</semesterAbbr> + <semesterFull>WS 2008/09</semesterFull> + <categories> + <category> + <lsfId>1</lsfId> + <sort>2</sort> + </category> + </categories> + <accounts> + <account> + <lsfId>1</lsfId> + <roleName>dozent</roleName> + </account> + <account> + <lsfId>2</lsfId> + <roleName>dozent</roleName> + </account> + </accounts> + <groups /> + </lecture> + <lecture> + <lsfId>100002</lsfId> + <logicalNumber>100002</logicalNumber> + <type>Sonstiges</type> + <title>... [truncated message content] |
From: <id...@us...> - 2009-02-18 20:00:01
|
Revision: 12 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=12&view=rev Author: idueppe Date: 2009-02-18 19:59:47 +0000 (Wed, 18 Feb 2009) Log Message: ----------- add eclipse .project and .classpath to the ignore list. These files can be generated by mvn eclipse:eclipse command. Property Changed: ---------------- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/ Property changes on: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf ___________________________________________________________________ Added: svn:ignore + .project .classpath Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-idmapper ___________________________________________________________________ Added: svn:ignore + .project .classpath This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2009-02-23 19:29:41
|
Revision: 30 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=30&view=rev Author: idueppe Date: 2009-02-23 19:29:30 +0000 (Mon, 23 Feb 2009) Log Message: ----------- - some refactoring of moving classes into the right package - add new ear module to contain all service components - delete obsolete folders Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/pom.xml cse-ip/trunk/sandbox/cse-ip/pom.xml cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml Added Paths: ----------- cse-ip/trunk/sandbox/cse-ip/cse-ip-application/ cse-ip/trunk/sandbox/cse-ip/cse-ip-application/pom.xml cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/lsf/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/lsf/ica/ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/lsf/ica/CamelTest.java Removed Paths: ------------- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/CamelTest.java cse-ip/trunk/sandbox/cse-ip/src/main/ cse-ip/trunk/sandbox/cse-ip/src/test/ Added: cse-ip/trunk/sandbox/cse-ip/cse-ip-application/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/cse-ip-application/pom.xml (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/cse-ip-application/pom.xml 2009-02-23 19:29:30 UTC (rev 30) @@ -0,0 +1,71 @@ +<?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>cse-ip-application</artifactId> + <packaging>ear</packaging> + <name>Service Component Enterprise Application</name> + <version>1.0-SNAPSHOT</version> + + <dependencies> + <dependency> + <groupId>de.campussource.cse</groupId> + <artifactId>sc-idmapper</artifactId> + <version>${pom.version}</version> + <type>ejb</type> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <artifactId>maven-ear-plugin</artifactId> + <configuration> + <displayName>CSE-IP</displayName> + <description>CampusSource Engine Integration Platform</description> + <version>1.4</version> + <modules> + <ejbModule> + <groupId>de.campussource.cse</groupId> + <artifactId>sc-idmapper</artifactId> + </ejbModule> + </modules> + </configuration> + </plugin> + <plugin> + <groupId>org.glassfish.maven.plugin</groupId> + <artifactId>maven-glassfish-plugin</artifactId> + <version>2.1</version> + <configuration> + <glassfishDirectory>${glassfish.home}</glassfishDirectory> + <user>admin</user> + <passwordFile>${glassfish.home}/domains/domain1/config/domain-passwords</passwordFile> + <autoCreate>false</autoCreate> + <debug>true</debug> + <echo>true</echo> + <terse>false</terse> + <domain> + <name>domain1</name> + <httpPort>8080</httpPort> + <adminPort>4848</adminPort> + <reuse>true</reuse> + </domain> + <components> + <component> + <name>${project.artifactId}</name> + <artifact>${project.build.directory}/${project.build.finalName}.ear</artifact> + </component> + </components> + </configuration> + </plugin> + </plugins> + </build> + +</project> \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/cse-ip-application/pom.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/pom.xml 2009-02-23 19:23:10 UTC (rev 29) +++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/pom.xml 2009-02-23 19:29:30 UTC (rev 30) @@ -37,16 +37,23 @@ <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId> - <version>1.6.0</version> + <version>${camel.version}</version> <type>test-jar</type> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-spring</artifactId> + <version>${camel.version}</version> + <type>test-jar</type> + <scope>test</scope> </dependency> <dependency> <groupId>org.apache.camel</groupId> + <artifactId>camel-spring</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel</groupId> <artifactId>camel-jms</artifactId> </dependency> <dependency> @@ -69,20 +76,12 @@ <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> - <version>2.5.6</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> - <version>2.5.6</version> </dependency> - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-spring</artifactId> - <version>1.6.0</version> - <type>test-jar</type> - <scope>test</scope> - </dependency> + </dependencies> </project> \ No newline at end of file Deleted: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/CamelTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/CamelTest.java 2009-02-23 19:23:10 UTC (rev 29) +++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/CamelTest.java 2009-02-23 19:29:30 UTC (rev 30) @@ -1,131 +0,0 @@ -package de.campussource.cse; - - - -import static org.junit.Assert.*; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.List; - -import org.apache.camel.EndpointInject; -import org.apache.camel.Exchange; -import org.apache.camel.Produce; -import org.apache.camel.ProducerTemplate; -import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.spring.SpringCamelContext; -import org.apache.log4j.Logger; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests; - - -@ContextConfiguration(locations={"classpath:META-INF/camel-context.xml"}) -public class CamelTest extends AbstractJUnit4SpringContextTests{ - - private static final Logger logger = Logger.getLogger(CamelTest.class); - - @EndpointInject(uri = "mock:transformationResult") - protected MockEndpoint result; - - @Produce(uri="activemq:StartLsf2CseProcess") - protected ProducerTemplate template; - - @Autowired - SpringCamelContext camelContext; - - protected RouteBuilder createRouteBuilder() throws Exception { - return new RouteBuilder() { - public void configure() { - errorHandler(deadLetterChannel("mock:error") - .maximumRedeliveries(0)); - from("activemq:AccountMessageHansen").to("mock:transformationResult"); - } - }; - } - - @Before - public void before(){ - try { - RouteBuilder newRoutes = createRouteBuilder(); - camelContext.addRoutes(newRoutes); - logger.info("----------> routes set"); - } catch (Exception e) { - logger.error("Error setting up test case"); - } - } - - @After - public void after(){ - try { - camelContext.stop(); - } catch (Exception e) { - logger.error("Error tearing down test case"); - } - } - - @Test - public void testFirstSteps() throws Exception { - String input = getLsfSyncMessage(); - String output = getHansenMessage(); - result.expectedBodiesReceived(output); - logger.info("----------> sending message"); - template.sendBody(input); - logger.info("----------> message send"); - //for building purposes set to NOTsatisfied, test is not working - result.setResultWaitTime(8000L); - - //assertion does not work properly - //result.assertIsSatisfied(); - for (Exchange exchange : result.getExchanges()){ - assertTrue(exchange.getIn().getBody(String.class).equals(output)); - } - - } - - public String getLsfSyncMessage(){ - try{ - return readFileAsString("messages/lsf-sync-msg-original.xml"); - } - catch (IOException ioe){ - logger.error("Could not retrieve lsf-sync-msg-original.xml"); - logger.error(ioe.getStackTrace()); - } - return ""; - } - - public String getHansenMessage(){ - try{ - return readFileAsString("messages/Hansen.xml"); - } - catch (IOException ioe){ - logger.error("Could not retrieve Hansen.xml"); - logger.error(ioe.getStackTrace()); - } - return ""; - } - - private String readFileAsString(String filePath) - throws java.io.IOException{ - InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(filePath); - StringBuilder sb = new StringBuilder(); - BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); - String line; - boolean first = true; - while((line = reader.readLine()) != null){ - if (!first){ - sb.append('\n'); - } - first = false; - sb.append(line); - } - reader.close(); - return sb.toString(); - } -} \ No newline at end of file Copied: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/lsf/ica/CamelTest.java (from rev 27, cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/CamelTest.java) =================================================================== --- cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/lsf/ica/CamelTest.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/lsf/ica/CamelTest.java 2009-02-23 19:29:30 UTC (rev 30) @@ -0,0 +1,121 @@ +package de.campussource.cse.lsf.ica; + +import static org.junit.Assert.assertTrue; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +import org.apache.camel.EndpointInject; +import org.apache.camel.Exchange; +import org.apache.camel.Produce; +import org.apache.camel.ProducerTemplate; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.spring.SpringCamelContext; +import org.apache.log4j.Logger; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests; + +@ContextConfiguration(locations = { "classpath:META-INF/camel-context.xml" }) +public class CamelTest extends AbstractJUnit4SpringContextTests { + + private static final Logger logger = Logger.getLogger(CamelTest.class); + + @EndpointInject(uri = "mock:transformationResult") + protected MockEndpoint result; + + @Produce(uri = "activemq:StartLsf2CseProcess") + protected ProducerTemplate template; + + @Autowired + SpringCamelContext camelContext; + + protected RouteBuilder createRouteBuilder() throws Exception { + return new RouteBuilder() { + public void configure() { + errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(0)); + from("activemq:AccountMessageHansen").to("mock:transformationResult"); + } + }; + } + + @Before + public void before() { + try { + RouteBuilder newRoutes = createRouteBuilder(); + camelContext.addRoutes(newRoutes); + logger.info("----------> routes set"); + } catch (Exception e) { + logger.error("Error setting up test case"); + } + } + + @After + public void after() { + try { + camelContext.stop(); + } catch (Exception e) { + logger.error("Error tearing down test case"); + } + } + + @Test + public void testFirstSteps() throws Exception { + String input = getLsfSyncMessage(); + String output = getHansenMessage(); + result.expectedBodiesReceived(output); + template.sendBody(input); + // for building purposes set to NOTsatisfied, test is not working + result.setResultWaitTime(8000L); + + // assertion does not work properly + // result.assertIsSatisfied(); + for (Exchange exchange : result.getExchanges()) { + assertTrue(exchange.getIn().getBody(String.class).equals(output)); + } + + } + + public String getLsfSyncMessage() { + try { + return readFileAsString("messages/lsf-sync-msg-original.xml"); + } catch (IOException ioe) { + logger.error("Could not retrieve lsf-sync-msg-original.xml"); + logger.error(ioe.getStackTrace()); + } + return ""; + } + + public String getHansenMessage() { + try { + return readFileAsString("messages/Hansen.xml"); + } catch (IOException ioe) { + logger.error("Could not retrieve Hansen.xml"); + logger.error(ioe.getStackTrace()); + } + return ""; + } + + private String readFileAsString(String filePath) throws IOException { + InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(filePath); + StringBuilder sb = new StringBuilder(); + BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); + String line; + boolean first = true; + while ((line = reader.readLine()) != null) { + if (!first) { + sb.append('\n'); + } + first = false; + sb.append(line); + } + reader.close(); + return sb.toString(); + } +} \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/ica-his-lsf/src/test/java/de/campussource/cse/lsf/ica/CamelTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: cse-ip/trunk/sandbox/cse-ip/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/pom.xml 2009-02-23 19:23:10 UTC (rev 29) +++ cse-ip/trunk/sandbox/cse-ip/pom.xml 2009-02-23 19:29:30 UTC (rev 30) @@ -49,6 +49,7 @@ <modules> <module>ica-his-lsf</module> <module>sc-idmapper</module> + <module>cse-ip-application</module> </modules> <repositories> @@ -106,13 +107,13 @@ <plugin> <groupId>org.apache.servicemix.tooling</groupId> <artifactId>jbi-maven-plugin</artifactId> - <version>${servicemix-tooling-version}</version> + <version>${servicemix-tooling.version}</version> <extensions>true</extensions> </plugin> <plugin> <groupId>org.apache.camel</groupId> <artifactId>camel-maven-plugin</artifactId> - <version>${camel-version}</version> + <version>${camel.version}</version> <configuration> <applicationContextUri>META-INF/camel-*.xml</applicationContextUri> </configuration> @@ -131,22 +132,22 @@ <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId> - <version>${camel-version}</version> + <version>${camel.version}</version> </dependency> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-spring</artifactId> - <version>${camel-version}</version> + <version>${camel.version}</version> </dependency> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-jms</artifactId> - <version>${camel-version}</version> + <version>${camel.version}</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> - <version>${jaxb-impl-version}</version> + <version>${jaxb-impl.version}</version> </dependency> <dependency> <groupId>org.apache.activemq</groupId> @@ -168,14 +169,27 @@ <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-test</artifactId> + <version>${spring.version}</version> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-beans</artifactId> + <version>${spring.version}</version> + </dependency> </dependencies> </dependencyManagement> <properties> - <servicemix-version>3.3</servicemix-version> - <servicemix-tooling-version>3.2.3</servicemix-tooling-version> - <camel-version>1.6.0</camel-version> - <jaxb-impl-version>2.1.7</jaxb-impl-version> + <servicemix.version>3.3</servicemix.version> + <servicemix-tooling.version>3.2.3</servicemix-tooling.version> + <camel.version>1.6.0</camel.version> + <spring.version>2.5.6</spring.version> + <jaxb-impl.version>2.1.7</jaxb-impl.version> + <mysql.version>5.1.6</mysql.version> + <slf4j.version>1.5.6</slf4j.version> </properties> </project> \ No newline at end of file Modified: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml 2009-02-23 19:23:10 UTC (rev 29) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml 2009-02-23 19:29:30 UTC (rev 30) @@ -38,7 +38,7 @@ <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> - <version>5.1.6</version> + <version>${mysql.version}</version> <scope>test</scope> </dependency> <dependency> @@ -49,13 +49,13 @@ <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> - <version>1.5.6</version> + <version>${slf4j.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> - <version>1.5.6</version> + <version>${slf4j.version}</version> <scope>test</scope> </dependency> <!-- <dependency> --> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-03-02 14:47:51
|
Revision: 34 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=34&view=rev Author: roekens Date: 2009-03-02 14:47:41 +0000 (Mon, 02 Mar 2009) Log Message: ----------- initial commit of cdmm tests to follow Added Paths: ----------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.classpath cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.project cse-ip/trunk/sandbox/cse-ip/sc-cdmm/pom.xml cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/resources/ Added: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.classpath =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.classpath (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.classpath 2009-03-02 14:47:41 UTC (rev 34) @@ -0,0 +1,26 @@ +<classpath> + <classpathentry kind="src" path="src/main/java"/> + <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/> + <classpathentry kind="src" path="src/test/java" output="target/test-classes"/> + <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/> + <classpathentry kind="output" path="target/classes"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1-sources.jar"> + <attributes> + <attribute value="jar:file:/C:/development/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1-javadoc.jar!/" name="javadoc_location"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.4/commons-lang-2.4.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.4/commons-lang-2.4-sources.jar"> + <attributes> + <attribute value="jar:file:/C:/development/repository/commons-lang/commons-lang/2.4/commons-lang-2.4-javadoc.jar!/" name="javadoc_location"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0.jar" sourcepath="M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.5.6/slf4j-log4j12-1.5.6.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.5.6/slf4j-log4j12-1.5.6-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/toplink/essentials/toplink-essentials/2.1-60e/toplink-essentials-2.1-60e.jar" sourcepath="M2_REPO/toplink/essentials/toplink-essentials/2.1-60e/toplink-essentials-2.1-60e-sources.jar"/> +</classpath> \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.classpath ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.project =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.project (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.project 2009-03-02 14:47:41 UTC (rev 34) @@ -0,0 +1,22 @@ +<projectDescription> + <name>sc-cdmm</name> + <comment/> + <projects/> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.common.project.facet.core.builder</name> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.validation.validationbuilder</name> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.wst.common.project.facet.core.nature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> + <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> + </natures> +</projectDescription> \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/.project ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/pom.xml (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/pom.xml 2009-03-02 14:47:41 UTC (rev 34) @@ -0,0 +1,92 @@ +<?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-cdmm</artifactId> + <packaging>ejb</packaging> + <name>Service Component Canonical Date Model Manager</name> + <version>1.0-SNAPSHOT</version> + + <dependencies> + <dependency> + <groupId>javax.ejb</groupId> + <artifactId>ejb-api</artifactId> + <version>3.0</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>javax.persistence</groupId> + <artifactId>persistence-api</artifactId> + <version>1.0</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + </dependency> + <dependency> + <groupId>commons-collections</groupId> + <artifactId>commons-collections</artifactId> + </dependency> + <dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + <version>${mysql.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>${slf4j.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + <version>${slf4j.version}</version> + <scope>test</scope> + </dependency> +<!-- <dependency> --> +<!-- <groupId>org.hibernate</groupId> --> +<!-- <artifactId>hibernate-entitymanager</artifactId> --> +<!-- <version>3.4.0.GA</version> --> +<!-- <scope>test</scope>--> +<!-- </dependency> --> + <dependency> + <groupId>toplink.essentials</groupId> + <artifactId>toplink-essentials</artifactId> + <version>2.1-60e</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-ejb-plugin</artifactId> + <configuration> + <ejbVersion>3.0</ejbVersion> + </configuration> + </plugin> + </plugins> + </build> + +</project> \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/pom.xml ___________________________________________________________________ Added: svn:mime-type + text/plain This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-03-06 10:11:12
|
Revision: 61 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=61&view=rev Author: roekens Date: 2009-03-06 10:11:09 +0000 (Fri, 06 Mar 2009) Log Message: ----------- added documentation folder containing current canonical data model Added Paths: ----------- cse-ip/trunk/sandbox/cse-ip/documentation/ cse-ip/trunk/sandbox/cse-ip/documentation/cdmm.mdzip Added: cse-ip/trunk/sandbox/cse-ip/documentation/cdmm.mdzip =================================================================== (Binary files differ) Property changes on: cse-ip/trunk/sandbox/cse-ip/documentation/cdmm.mdzip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2009-03-09 18:10:04
|
Revision: 68 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=68&view=rev Author: idueppe Date: 2009-03-09 18:09:08 +0000 (Mon, 09 Mar 2009) Log Message: ----------- Extracted the annotation injection code for unit testing into a separate project. Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/pom.xml Added Paths: ----------- cse-ip/trunk/sandbox/cse-ip/framework/ cse-ip/trunk/sandbox/cse-ip/framework/pom.xml cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/.classpath cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjectionException.java cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjector.java cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationProcessor.java cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/cse/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/cse/common/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/cse/common/test/ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/cse/common/test/TestAnnotationInjector.java Added: cse-ip/trunk/sandbox/cse-ip/framework/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/pom.xml (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/framework/pom.xml 2009-03-09 18:09:08 UTC (rev 68) @@ -0,0 +1,20 @@ +<?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>framework</artifactId> + <packaging>pom</packaging> + <name>Framework</name> + <version>1.0-SNAPSHOT</version> + + <modules> + <module>test-utilities</module> + </modules> +</project> \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/framework/pom.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/.classpath =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/.classpath (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/.classpath 2009-03-09 18:09:08 UTC (rev 68) @@ -0,0 +1,17 @@ +<classpath> + <classpathentry kind="src" path="src/main/java"/> + <classpathentry kind="src" path="src/test/java" output="target/test-classes"/> + <classpathentry kind="output" path="target/classes"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> + <classpathentry kind="var" path="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar" sourcepath="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/easymock/easymock/2.2/easymock-2.2.jar" sourcepath="M2_REPO/org/easymock/easymock/2.2/easymock-2.2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/easymock/easymockclassextension/2.2/easymockclassextension-2.2.jar" sourcepath="M2_REPO/org/easymock/easymockclassextension/2.2/easymockclassextension-2.2-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0.jar" sourcepath="M2_REPO/javax/ejb/ejb-api/3.0/ejb-api-3.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"> + <attributes> + <attribute value="jar:file:/D:/development/repository/junit/junit/4.4/junit-4.4-javadoc.jar!/" name="javadoc_location"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/toplink/essentials/toplink-essentials/2.1-60e/toplink-essentials-2.1-60e.jar" sourcepath="M2_REPO/toplink/essentials/toplink-essentials/2.1-60e/toplink-essentials-2.1-60e-sources.jar"/> +</classpath> \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/.classpath ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml 2009-03-09 18:09:08 UTC (rev 68) @@ -0,0 +1,54 @@ +<?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>framework</artifactId> + <groupId>de.campussource.cse</groupId> + <version>1.0-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <groupId>de.campussource.cse</groupId> + <artifactId>test-utilities</artifactId> + <packaging>jar</packaging> + <name>Framework Test Utilities</name> + <version>1.0-SNAPSHOT</version> + + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.easymock</groupId> + <artifactId>easymock</artifactId> + <version>2.2</version> + </dependency> + <dependency> + <groupId>org.easymock</groupId> + <artifactId>easymockclassextension</artifactId> + <version>2.2</version> + </dependency> + + <dependency> + <groupId>javax.ejb</groupId> + <artifactId>ejb-api</artifactId> + <version>3.0</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>toplink.essentials</groupId> + <artifactId>toplink-essentials</artifactId> + <version>2.1-60e</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>javax.persistence</groupId> + <artifactId>persistence-api</artifactId> + <version>1.0</version> + <scope>compile</scope> + </dependency> + </dependencies> + +</project> \ No newline at end of file Property changes on: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjectionException.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjectionException.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjectionException.java 2009-03-09 18:09:08 UTC (rev 68) @@ -0,0 +1,33 @@ +package de.campussource.cse.common.test; + +/** + * Generell exception if something went wrong during injection. + * + * @author Ingo Dueppe + * + */ +public class AnnotationInjectionException extends RuntimeException { + private static final long serialVersionUID = 7995450539390210857L; + + public AnnotationInjectionException() { + super(); + } + + public AnnotationInjectionException(String message, Throwable cause) { + super(message, cause); + } + + public AnnotationInjectionException(String message) { + super(message); + } + + public AnnotationInjectionException(Throwable message) { + super(message); + } + + + public AnnotationInjectionException(Object target, Throwable cause) { + super(target.getClass().getCanonicalName(),cause); + } + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjectionException.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjector.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjector.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjector.java 2009-03-09 18:09:08 UTC (rev 68) @@ -0,0 +1,94 @@ +package de.campussource.cse.common.test; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.ejb.EJB; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + + +public class AnnotationInjector { + + private Map<String, Object> context = new HashMap<String, Object>(); + + public AnnotationInjector autowire(Object object) { + intoContextByClassName(object); + autowireByField(object); + return this; + } + + public AnnotationInjector defaultPersistentUnit(EntityManager entityManager) { + addPersistenceUnit(PersistenceContext.class.getName(), entityManager); + return this; + } + + public AnnotationInjector addPersistenceUnit(String persistentUnit, EntityManager entityManager) { + context.put(persistentUnit, entityManager); + return this; + } + + private void intoContextByClassName(Object target) { + context.put(target.getClass().getName(), target); + } + + private void injectField(Object object, Field field, Object reference) { + boolean accessible = field.isAccessible(); + field.setAccessible(true); + try { + field.set(object, reference); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + field.setAccessible(accessible); + } + + protected void autowireByField(Object object) { + Field[] fields = retrieveAllDeclaredFieldsIncludedInheritance(object); + for (Field field : fields) { + if (field.isAnnotationPresent(PersistenceContext.class)) { + PersistenceContext annotation = field.getAnnotation(PersistenceContext.class); + Object target = null; + if (annotation.name().isEmpty()) { + // inject default persistence unit + target = context.get(PersistenceContext.class.getName()); + } else { + target = context.get(annotation.name()); + } + injectField(object, field, target); + } + if (field.isAnnotationPresent(EJB.class)) { + try { + Class fieldClass = field.getType(); + Object target = context.get(fieldClass.getName()); + if (target == null) { + target = fieldClass.newInstance(); + autowire(target); + context.put(fieldClass.getName(), target); + } + injectField(object, field, target); + } catch (InstantiationException e) { + throw new AnnotationInjectionException(object, e); + } catch (IllegalAccessException e) { + throw new AnnotationInjectionException(object, e); + } + } + } + } + + private Field[] retrieveAllDeclaredFieldsIncludedInheritance(Object object) { + List<Field> fields = new ArrayList<Field>(); + Class clazz = object.getClass(); + while (clazz != null) { + fields.addAll(Arrays.asList(clazz.getDeclaredFields())); + clazz = clazz.getSuperclass(); + } + return (Field[]) fields.toArray(new Field[fields.size()]); + } +} Property changes on: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationInjector.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationProcessor.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationProcessor.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationProcessor.java 2009-03-09 18:09:08 UTC (rev 68) @@ -0,0 +1,5 @@ +package de.campussource.cse.common.test; + +public interface AnnotationProcessor { + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AnnotationProcessor.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/cse/common/test/TestAnnotationInjector.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/cse/common/test/TestAnnotationInjector.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/cse/common/test/TestAnnotationInjector.java 2009-03-09 18:09:08 UTC (rev 68) @@ -0,0 +1,88 @@ +package de.campussource.cse.common.test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import javax.ejb.EJB; +import javax.ejb.Stateful; +import javax.ejb.Stateless; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + +import org.easymock.classextension.EasyMock; +import org.junit.Test; + + +public class TestAnnotationInjector { + + @Test + public void testEJBInjection() { + AnnotationInjector injector = new AnnotationInjector(); + + BeanOne beanOne = new BeanOne(); + injector.autowire(beanOne); + + assertNotNull(beanOne.two); + assertNotNull(beanOne.two.one); + assertNotNull(beanOne.two.three.one); + assertEquals(beanOne, beanOne.two.one); + assertEquals(beanOne, beanOne.two.three.one); + } + + @Test + public void testPersistenceInjection() { + EntityManager em = EasyMock.createMock(EntityManager.class); + AnnotationInjector injector = new AnnotationInjector().defaultPersistentUnit(em); + + BeanOne beanOne = new BeanOne(); + injector.autowire(beanOne); + + assertNotNull(beanOne.context); + assertEquals(em, beanOne.context); + } + + @Test(expected=AnnotationInjectionException.class) + public void testInjectionError() { + new AnnotationInjector().autowire(new BeanError()); + } + + @Stateless + public static class BeanError { + @SuppressWarnings("unused") + @EJB + private NoBean bean; + } + + @Stateless + public static class NoBean { + public NoBean(BeanError error) { + } + } + + + @Stateless + public static class BeanOne { + @EJB + private BeanTwo two; + + @PersistenceContext + private EntityManager context; + } + + @Stateless + public static class BeanTwo { + @EJB + private BeanOne one; + @EJB + private BeanThree three; + } + + @Stateful + public static class BeanThree { + @EJB + private BeanOne one; + } + + + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/test/java/de/campussource/cse/common/test/TestAnnotationInjector.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: cse-ip/trunk/sandbox/cse-ip/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/pom.xml 2009-03-09 16:22:06 UTC (rev 67) +++ cse-ip/trunk/sandbox/cse-ip/pom.xml 2009-03-09 18:09:08 UTC (rev 68) @@ -47,6 +47,7 @@ </organization> <modules> + <module>framework</module> <module>ica-his-lsf</module> <module>sc-idmapper</module> <module>cse-ip-application</module> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ro...@us...> - 2009-03-10 11:06:25
|
Revision: 71 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=71&view=rev Author: roekens Date: 2009-03-10 11:06:21 +0000 (Tue, 10 Mar 2009) Log Message: ----------- - updated poms, so that sc-cdmm now is generated with main project correctly - introduced cascading for course objetc -> to be tested Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/cse-ip-application/pom.xml cse-ip/trunk/sandbox/cse-ip/pom.xml cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java Modified: cse-ip/trunk/sandbox/cse-ip/cse-ip-application/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/cse-ip-application/pom.xml 2009-03-10 10:41:52 UTC (rev 70) +++ cse-ip/trunk/sandbox/cse-ip/cse-ip-application/pom.xml 2009-03-10 11:06:21 UTC (rev 71) @@ -21,6 +21,12 @@ <version>${pom.version}</version> <type>ejb</type> </dependency> + <dependency> + <groupId>de.campussource.cse</groupId> + <artifactId>sc-cdmm</artifactId> + <version>${pom.version}</version> + <type>ejb</type> + </dependency> </dependencies> <build> @@ -37,6 +43,12 @@ <artifactId>sc-idmapper</artifactId> </ejbModule> </modules> + <modules> + <ejbModule> + <groupId>de.campussource.cse</groupId> + <artifactId>sc-cdmm</artifactId> + </ejbModule> + </modules> </configuration> </plugin> <plugin> Modified: cse-ip/trunk/sandbox/cse-ip/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/pom.xml 2009-03-10 10:41:52 UTC (rev 70) +++ cse-ip/trunk/sandbox/cse-ip/pom.xml 2009-03-10 11:06:21 UTC (rev 71) @@ -50,6 +50,7 @@ <module>framework</module> <module>ica-his-lsf</module> <module>sc-idmapper</module> + <module>sc-cdmm</module> <module>cse-ip-application</module> </modules> Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java 2009-03-10 10:41:52 UTC (rev 70) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/domain/Course.java 2009-03-10 11:06:21 UTC (rev 71) @@ -2,6 +2,7 @@ import java.util.List; +import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; @@ -29,21 +30,21 @@ @XmlType(propOrder={ Constants.CATEGORIES, Constants.PARENT, Constants.WORKGROUPS, Constants.ROLES}, namespace=Constants.NAMESPACE_DATATYPES) public class Course extends de.campussource.cse.cdmm.domain.Entity{ - @ManyToOne + @ManyToOne(cascade={CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}) @JoinTable(name=Constants.COLUMNNAME_PARENT_ID) private Course parent; - @OneToMany(mappedBy=Constants.PARENT) + @OneToMany(mappedBy=Constants.PARENT, cascade=CascadeType.REMOVE) private List<Course> workgroups; - @ManyToMany + @ManyToMany(cascade={CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}) @JoinTable( name = Constants.TABLENAME_COURSE2CATEGORY, joinColumns={@JoinColumn(name=Constants.COLUMNNAME_CATEGORY_ID)}, inverseJoinColumns={@JoinColumn(name=Constants.COLUMNNAME_COURSE_ID)}) private List<Category> categories; - @OneToMany(mappedBy=Constants.COURSE) + @OneToMany(mappedBy=Constants.COURSE, cascade = CascadeType.REMOVE) private List<Role> roles; public Course(){ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2009-03-10 11:30:08
|
Revision: 73 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=73&view=rev Author: idueppe Date: 2009-03-10 11:29:58 +0000 (Tue, 10 Mar 2009) Log Message: ----------- refactored unit tests and extracted AbstractPersistentUnitTest to test-utilities. Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml Added Paths: ----------- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java Removed Paths: ------------- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/AbstractPersistentUnitTest.java Copied: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java (from rev 68, cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/AbstractPersistentUnitTest.java) =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java 2009-03-10 11:29:58 UTC (rev 73) @@ -0,0 +1,84 @@ +package de.campussource.cse.common.test; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.EntityTransaction; +import javax.persistence.Persistence; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; + + +public abstract class AbstractPersistentUnitTest { + + protected static EntityManagerFactory entityManagerFactory; + protected EntityManager entityManager; + private AnnotationInjector injector; + + @BeforeClass + public static void retrieveEntityManagerFactory() { + entityManagerFactory = Persistence.createEntityManagerFactory("cseip"); + } + + @Before + public void retrieveEntityManager() { + entityManager = entityManagerFactory.createEntityManager(); + } + + /** + * Checks whether a active transaction exists. If so it will rollback this transaction. + */ + @After + public void closeEntity() { + EntityTransaction tx = entityManager.getTransaction(); + if (tx.isActive()) { + tx.rollback(); + } + entityManager.close(); + } + + @AfterClass + public static void closeFactory() { + entityManagerFactory.close(); + } + + + protected void autowireByType(Object object) { + lazyInjectorInitialization(); + injector.autowire(object); + } + + /** + * Checks whether or not the Injector is already initialized or not. + */ + private void lazyInjectorInitialization() { + if (injector == null) { + injector = new AnnotationInjector().defaultPersistentUnit(entityManager); + } + } + + /** + * Start new transaction in current session + */ + protected void txBegin() { + entityManager.getTransaction().begin(); + } + + /** + * Commit current transaction in current session + */ + protected void txCommit() { + entityManager.getTransaction().commit(); + } + + /** + * Commit and begin new transaction in current session + */ + protected void commitAndBeginTx() { + txCommit(); + txBegin(); + } + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml 2009-03-10 11:24:27 UTC (rev 72) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml 2009-03-10 11:29:58 UTC (rev 73) @@ -16,6 +16,11 @@ <dependencies> <dependency> + <groupId>de.campussource.cse</groupId> + <artifactId>test-utilities</artifactId> + <version>${pom.version}</version> + </dependency> + <dependency> <groupId>javax.ejb</groupId> <artifactId>ejb-api</artifactId> <version>3.0</version> Deleted: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/AbstractPersistentUnitTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/AbstractPersistentUnitTest.java 2009-03-10 11:24:27 UTC (rev 72) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/AbstractPersistentUnitTest.java 2009-03-10 11:29:58 UTC (rev 73) @@ -1,114 +0,0 @@ -package de.campussource.cse.idmapper; - -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.ejb.EJB; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.Persistence; -import javax.persistence.PersistenceContext; - -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; - -public abstract class AbstractPersistentUnitTest { - - protected static EntityManagerFactory entityManagerFactory; - protected EntityManager entityManager; - - @BeforeClass - public static void retrieveEntityManagerFactory() { - entityManagerFactory = Persistence.createEntityManagerFactory("cseip"); - } - - @Before - public void retrieveEntityManager() { - entityManager = entityManagerFactory.createEntityManager(); - } - - @After - public void closeEntity() { - entityManager.close(); - } - - @AfterClass - public static void closeFactory() { - entityManagerFactory.close(); - } - - // FIXME Extract to Util class - private void injectField(Object object, Field field, Object reference) { - boolean accessible = field.isAccessible(); - field.setAccessible(true); - try { - field.set(object, reference); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - field.setAccessible(accessible); - } - - // FIXME Extract to Util class - private Map<String, Object> context = new HashMap<String, Object>(); - - // FIXME Extract to Util class - protected void autowireByType(Object object) { - Field[] fields = retrieveAllDeclaredFieldsIncludedInheritance(object); - for (Field field : fields) { - if (field.isAnnotationPresent(PersistenceContext.class)) { - injectField(object, field, entityManager); - } - if (field.isAnnotationPresent(EJB.class)) { - try { - Class fieldClass = field.getType(); - Object target = context.get(fieldClass.getName()); - if (target == null) { - target = fieldClass.newInstance(); - autowireByType(target); - context.put(fieldClass.getName(), target); - } - injectField(object, field, target); - } catch (InstantiationException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - } - } - } - - // FIXME Extract to Util class - private Field[] retrieveAllDeclaredFieldsIncludedInheritance(Object object) { - List<Field> fields = new ArrayList<Field>(); - Class clazz = object.getClass(); - while (clazz != null) { - fields.addAll(Arrays.asList(clazz.getDeclaredFields())); - clazz = clazz.getSuperclass(); - } - - return (Field[]) fields.toArray(new Field[fields.size()]); - } - - protected void txBegin() { - entityManager.getTransaction().begin(); - } - - protected void txCommit() { - entityManager.getTransaction().commit(); - } - - protected void commitAndBeginTx() { - txCommit(); - txBegin(); - } - -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <id...@us...> - 2009-03-10 11:45:56
|
Revision: 74 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=74&view=rev Author: idueppe Date: 2009-03-10 11:45:48 +0000 (Tue, 10 Mar 2009) Log Message: ----------- refactoring of unit tests. Now using test-utitltiy module Modified Paths: -------------- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/pom.xml cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AccountDaoTest.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CourseDaoTest.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/RoleDaoTest.java cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/ClientObjectDaoTest.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/IdMapperBeanTest.java Added Paths: ----------- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitConfigurationTest.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/mapper/ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/mapper/IdentityMapperTest.java Removed Paths: ------------- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AbstractPersistentUnitTest.java cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitTest.java Modified: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/pom.xml 2009-03-10 11:45:48 UTC (rev 74) @@ -18,7 +18,7 @@ <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <scope>test</scope> + <scope>compile</scope> </dependency> <dependency> <groupId>org.easymock</groupId> Modified: cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/framework/test-utilities/src/main/java/de/campussource/cse/common/test/AbstractPersistentUnitTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -16,6 +16,7 @@ protected static EntityManagerFactory entityManagerFactory; protected EntityManager entityManager; private AnnotationInjector injector; + private static long currentTimeMillis = System.currentTimeMillis(); @BeforeClass public static void retrieveEntityManagerFactory() { @@ -80,5 +81,14 @@ txCommit(); txBegin(); } + + /** + * Convenience method for creating a unique id + * @return unique id + */ + protected Long uniqueId() { + return currentTimeMillis++; + } + } Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/pom.xml 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/pom.xml 2009-03-10 11:45:48 UTC (rev 74) @@ -16,6 +16,12 @@ <dependencies> <dependency> + <groupId>de.campussource.cse</groupId> + <artifactId>test-utilities</artifactId> + <version>${pom.version}</version> + <scope>test</scope> + </dependency> + <dependency> <groupId>javax.ejb</groupId> <artifactId>ejb-api</artifactId> <version>3.0</version> Deleted: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AbstractPersistentUnitTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AbstractPersistentUnitTest.java 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AbstractPersistentUnitTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -1,123 +0,0 @@ -package de.campussource.cse.cdmm; - -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.ejb.EJB; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.Persistence; -import javax.persistence.PersistenceContext; - -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; - -public abstract class AbstractPersistentUnitTest { - - protected static EntityManagerFactory entityManagerFactory; - static Long currentTimeMillis = System.currentTimeMillis(); - protected EntityManager entityManager; - - @BeforeClass - public static void retrieveEntityManagerFactory() { - entityManagerFactory = Persistence.createEntityManagerFactory("cseip"); - } - - @Before - public void retrieveEntityManager() { - entityManager = entityManagerFactory.createEntityManager(); - } - - @After - public void closeEntity() { - entityManager.close(); - } - - @AfterClass - public static void closeFactory() { - entityManagerFactory.close(); - } - - // FIXME Extract to Util class - private void injectField(Object object, Field field, Object reference) { - boolean accessible = field.isAccessible(); - field.setAccessible(true); - try { - field.set(object, reference); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - field.setAccessible(accessible); - } - - // FIXME Extract to Util class - private Map<String, Object> context = new HashMap<String, Object>(); - - // FIXME Extract to Util class - protected void autowireByType(Object object) { - Field[] fields = retrieveAllDeclaredFieldsIncludedInheritance(object); - for (Field field : fields) { - if (field.isAnnotationPresent(PersistenceContext.class)) { - injectField(object, field, entityManager); - } - if (field.isAnnotationPresent(EJB.class)) { - try { - Class fieldClass = field.getType(); - Object target = context.get(fieldClass.getName()); - if (target == null) { - target = fieldClass.newInstance(); - autowireByType(target); - context.put(fieldClass.getName(), target); - } - injectField(object, field, target); - } catch (InstantiationException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - } - } - } - - // FIXME Extract to Util class - private Field[] retrieveAllDeclaredFieldsIncludedInheritance(Object object) { - List<Field> fields = new ArrayList<Field>(); - Class clazz = object.getClass(); - while (clazz != null) { - fields.addAll(Arrays.asList(clazz.getDeclaredFields())); - clazz = clazz.getSuperclass(); - } - - return (Field[]) fields.toArray(new Field[fields.size()]); - } - - protected void txBegin() { - entityManager.getTransaction().begin(); - } - - protected void txCommit() { - entityManager.getTransaction().commit(); - } - - protected void commitAndBeginTx() { - txCommit(); - txBegin(); - } - - /** - * Convenience method for creating a unique id - * @return unique id - */ - protected Long createUniqueId() { - return currentTimeMillis++; - } - -} Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AccountDaoTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AccountDaoTest.java 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/AccountDaoTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -9,6 +9,7 @@ import de.campussource.cse.cdmm.dao.AccountDao; import de.campussource.cse.cdmm.domain.Account; +import de.campussource.cse.common.test.AbstractPersistentUnitTest; public class AccountDaoTest extends AbstractPersistentUnitTest { private AccountDao dao; @@ -56,6 +57,6 @@ } private Account newAccount() { - return new Account(createUniqueId()); + return new Account(uniqueId()); } } Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CategoryDaoTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -1,16 +1,17 @@ package de.campussource.cse.cdmm; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; -import static org.junit.Assert.assertFalse; import org.junit.Before; import org.junit.Test; import de.campussource.cse.cdmm.dao.CategoryDao; import de.campussource.cse.cdmm.domain.Category; +import de.campussource.cse.common.test.AbstractPersistentUnitTest; public class CategoryDaoTest extends AbstractPersistentUnitTest{ @@ -105,7 +106,7 @@ private Category newCategory() { - return new Category(createUniqueId()); + return new Category(uniqueId()); } } Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CourseDaoTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CourseDaoTest.java 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/CourseDaoTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -9,6 +9,7 @@ import de.campussource.cse.cdmm.dao.CourseDao; import de.campussource.cse.cdmm.domain.Course; +import de.campussource.cse.common.test.AbstractPersistentUnitTest; public class CourseDaoTest extends AbstractPersistentUnitTest { @@ -76,7 +77,7 @@ * @return course object with unique id */ private Course newCourse() { - return new Course(createUniqueId()); + return new Course(uniqueId()); } } Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/RoleDaoTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/RoleDaoTest.java 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/RoleDaoTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -14,6 +14,7 @@ import de.campussource.cse.cdmm.domain.Course; import de.campussource.cse.cdmm.domain.Role; import de.campussource.cse.cdmm.domain.RoleType; +import de.campussource.cse.common.test.AbstractPersistentUnitTest; public class RoleDaoTest extends AbstractPersistentUnitTest { private RoleDao dao; @@ -35,8 +36,8 @@ autowireByType(courseDao); autowireByType(accountDao); //create role object with needed dependencies - course = new Course(createUniqueId()); - account = new Account(createUniqueId()); + course = new Course(uniqueId()); + account = new Account(uniqueId()); courseDao.persist(course); accountDao.persist(account); role = newRole(); @@ -77,7 +78,7 @@ } private Role newRole() { - Role role = new Role(createUniqueId()); + Role role = new Role(uniqueId()); role.setAccount(account); role.setCourse(course); role.setType(RoleType.ASSISTANT); Modified: cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-cdmm/src/test/java/de/campussource/cse/cdmm/TestXmlConversion.java 2009-03-10 11:45:48 UTC (rev 74) @@ -6,7 +6,7 @@ import java.io.Writer; import java.util.ArrayList; import java.util.List; - + import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; @@ -15,14 +15,16 @@ import javax.xml.transform.Result; import javax.xml.transform.dom.DOMResult; +import junit.framework.TestCase; + import org.junit.Test; import org.w3c.dom.Document; import com.sun.org.apache.xml.internal.serialize.OutputFormat; import com.sun.org.apache.xml.internal.serialize.XMLSerializer; -import de.campussource.cse.cdmm.domain.Attribute; import de.campussource.cse.cdmm.domain.Account; +import de.campussource.cse.cdmm.domain.Attribute; import de.campussource.cse.cdmm.domain.Category; import de.campussource.cse.cdmm.domain.Course; import de.campussource.cse.cdmm.domain.EntityContainer; @@ -31,8 +33,6 @@ import de.campussource.cse.cdmm.domain.Role; import de.campussource.cse.cdmm.domain.RoleType; import de.campussource.cse.cdmm.domain.TransientAttribute; - -import junit.framework.TestCase; /** * @author Sebastian Roekens @@ -336,7 +336,6 @@ } - private void printDOMResult(DOMResult domResult) throws IOException{ Document doc = (Document) domResult.getNode(); OutputFormat format = new OutputFormat(doc); Modified: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/pom.xml 2009-03-10 11:45:48 UTC (rev 74) @@ -19,6 +19,7 @@ <groupId>de.campussource.cse</groupId> <artifactId>test-utilities</artifactId> <version>${pom.version}</version> + <scope>test</scope> </dependency> <dependency> <groupId>javax.ejb</groupId> Modified: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/ClientObjectDaoTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/ClientObjectDaoTest.java 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/ClientObjectDaoTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -13,6 +13,8 @@ import org.junit.Before; import org.junit.Test; +import de.campussource.cse.common.test.AbstractPersistentUnitTest; + public class ClientObjectDaoTest extends AbstractPersistentUnitTest { private ClientObjectDao dao; @@ -30,9 +32,8 @@ public void testPersistClientObject() { dao.persist(clientObject); assertNotNull(clientObject.getId()); - txCommit(); } - + @Test public void testPersistDetachedClientObject() { dao.persist(clientObject); @@ -53,14 +54,14 @@ assertEquals(clientObject, coid); } - @Test(expected=RollbackException.class) + @Test(expected = RollbackException.class) public void testCreateClientObjectUniqueConstraintError() { - ClientInstance instance = createClientInstance("TEST","http://test.de"); - dao.persist(newClientObject("TEST::COURSE::1", 1L, instance )); - dao.persist(newClientObject("TEST::COURSE::1", 1L, instance )); + ClientInstance instance = createClientInstance("TEST", "http://test.de"); + dao.persist(newClientObject("TEST::COURSE::1", 1L, instance)); + dao.persist(newClientObject("TEST::COURSE::1", 1L, instance)); txCommit(); } - + @Test public void testRemoveClientObject() { dao.persist(clientObject); @@ -70,7 +71,7 @@ commitAndBeginTx(); assertNull(dao.find(clientObject.getId())); } - + @Test public void testFindByBusIdAndInstanceId() { dao.persist(clientObject); @@ -83,26 +84,25 @@ assertEquals(instanceId, object.getInstanceId()); assertEquals(clientObject.getClientObjectId(), object.getClientObjectId()); } - - @Test(expected=javax.persistence.NoResultException.class) + + @Test(expected = javax.persistence.NoResultException.class) public void testDoNotFindByBusIsAndInstanceId() { dao.findByBusIdAndInstanceId(-1L, -1L); } - + @Test public void testFindByClientObjectIdAndInstanceId() { dao.persist(clientObject); commitAndBeginTx(); String coid = clientObject.getClientObjectId(); Long instanceId = clientObject.getInstanceId(); - - ClientObject object = dao.findByClientObjectIdAndInstanceId(coid,instanceId); + + ClientObject object = dao.findByClientObjectIdAndInstanceId(coid, instanceId); assertNotNull(object); assertEquals(clientObject.getBusId(), object.getBusId()); assertEquals(clientObject.getClientObjectId(), object.getClientObjectId()); assertEquals(clientObject.getInstanceId(), object.getInstanceId()); } - private ClientInstance createClientInstance(final String name, final String url) { try { @@ -114,11 +114,11 @@ } private ClientObject newClientObject(final String COID, final long BUS_ID, ClientInstance... instance) { - if (instance.length > 0) { - return new ClientObject(BUS_ID, COID, instance[0]); - } else { - return new ClientObject(BUS_ID, COID, createClientInstance("default","http://www.default.de")); - } + if (instance.length > 0) { + return new ClientObject(BUS_ID, COID, instance[0]); + } else { + return new ClientObject(BUS_ID, COID, createClientInstance("default", "http://www.default.de")); + } } } Modified: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/IdMapperBeanTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/IdMapperBeanTest.java 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/IdMapperBeanTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -8,6 +8,8 @@ import org.junit.Before; import org.junit.Test; +import de.campussource.cse.common.test.AbstractPersistentUnitTest; + public class IdMapperBeanTest extends AbstractPersistentUnitTest { private IdMapperBean mapper; Copied: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitConfigurationTest.java (from rev 68, cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitTest.java) =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitConfigurationTest.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitConfigurationTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -0,0 +1,32 @@ +package de.campussource.cse.idmapper; + +import static org.junit.Assert.assertNotNull; + +import java.util.List; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; + +import org.junit.Test; + +public class PersistentUnitConfigurationTest { + + @Test + public void testConfiguration() { + try { + EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("cseip"); + EntityManager entityManager = entityManagerFactory.createEntityManager(); + + List<ClientInstance> mappings = entityManager.createQuery("SELECT m FROM ClientInstance m").getResultList(); + assertNotNull(mappings); + + entityManager.close(); + entityManagerFactory.close(); + } catch (RuntimeException rt) { + rt.printStackTrace(); + throw rt; + } + } + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitConfigurationTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Deleted: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitTest.java 2009-03-10 11:29:58 UTC (rev 73) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/idmapper/PersistentUnitTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -1,20 +0,0 @@ -package de.campussource.cse.idmapper; - - -import static org.junit.Assert.assertNotNull; - -import java.util.List; - - -import org.junit.Test; - - -public class PersistentUnitTest extends AbstractPersistentUnitTest { - - @Test - public void testConfiguration() { - List<ClientInstance> mappings = entityManager.createQuery("SELECT m FROM ClientInstance m").getResultList(); - assertNotNull(mappings); - } - -} Added: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/mapper/IdentityMapperTest.java =================================================================== --- cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/mapper/IdentityMapperTest.java (rev 0) +++ cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/mapper/IdentityMapperTest.java 2009-03-10 11:45:48 UTC (rev 74) @@ -0,0 +1,21 @@ +package de.campussource.cse.mapper; + +import static org.junit.Assert.assertEquals; + +import java.net.MalformedURLException; +import java.net.URL; + +import org.junit.Before; +import org.junit.Test; + +import de.campussource.cse.idmapper.ClientInstance; +import de.campussource.cse.idmapper.IdMapperBean; + + +public class IdentityMapperTest { + @Test + public void testPersistClientObjectId() throws MalformedURLException { + } + + +} Property changes on: cse-ip/trunk/sandbox/cse-ip/sc-idmapper/src/test/java/de/campussource/cse/mapper/IdentityMapperTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |