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] |