From b82e9cc5f0130ec10e52a8117efe8120d8e33ef3 Mon Sep 17 00:00:00 2001 From: Constantin Jucovschi <jucovschi@gmail.com> Date: Sat, 12 Apr 2014 17:01:39 +0200 Subject: [PATCH] adding activemq --- .../servlet/ServletEndpointProvider.java | 5 - {SallyServlet => activemq}/.classpath | 0 activemq/.project | 23 ++++ .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.m2e.core.prefs | 0 activemq/pom.xml | 116 ++++++++++++++++++ .../sally4/activemq/ActiveMQService.java | 5 + .../activemq/impl/ActiveMQServiceImpl.java | 54 ++++++++ build.sh | 1 + .../kwarc/sally4/docmanager/AlexRoute.java | 5 + .../sally4/docmanager/impl/AlexRouteImpl.java | 34 +++++ .../SallyRegisterRoute.java} | 0 pom.xml | 33 +++++ servlet/.classpath | 27 ++++ {SallyServlet => servlet}/.project | 0 servlet/.settings/org.eclipse.jdt.core.prefs | 5 + servlet/.settings/org.eclipse.m2e.core.prefs | 4 + {SallyServlet => servlet}/pom.xml | 0 .../kwarc/sally4/servlet/SallyServlet.java | 0 .../sally4/servlet/impl/ServletImpl.java | 0 20 files changed, 307 insertions(+), 5 deletions(-) delete mode 100644 SallyServlet/src/main/java/info/kwarc/sally4/servlet/ServletEndpointProvider.java rename {SallyServlet => activemq}/.classpath (100%) create mode 100644 activemq/.project rename {SallyServlet => activemq}/.settings/org.eclipse.jdt.core.prefs (100%) rename {SallyServlet => activemq}/.settings/org.eclipse.m2e.core.prefs (100%) create mode 100644 activemq/pom.xml create mode 100644 activemq/src/main/java/info/kwarc/sally4/activemq/ActiveMQService.java create mode 100644 activemq/src/main/java/info/kwarc/sally4/activemq/impl/ActiveMQServiceImpl.java create mode 100755 build.sh create mode 100644 docmanager/src/main/java/info/kwarc/sally4/docmanager/AlexRoute.java create mode 100644 docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/AlexRouteImpl.java rename docmanager/src/main/java/info/kwarc/sally4/docmanager/{impl/DocumentManagerRoutes.java => routes/SallyRegisterRoute.java} (100%) create mode 100644 pom.xml create mode 100644 servlet/.classpath rename {SallyServlet => servlet}/.project (100%) create mode 100644 servlet/.settings/org.eclipse.jdt.core.prefs create mode 100644 servlet/.settings/org.eclipse.m2e.core.prefs rename {SallyServlet => servlet}/pom.xml (100%) rename {SallyServlet => servlet}/src/main/java/info/kwarc/sally4/servlet/SallyServlet.java (100%) rename {SallyServlet => servlet}/src/main/java/info/kwarc/sally4/servlet/impl/ServletImpl.java (100%) diff --git a/SallyServlet/src/main/java/info/kwarc/sally4/servlet/ServletEndpointProvider.java b/SallyServlet/src/main/java/info/kwarc/sally4/servlet/ServletEndpointProvider.java deleted file mode 100644 index c3045e9..0000000 --- a/SallyServlet/src/main/java/info/kwarc/sally4/servlet/ServletEndpointProvider.java +++ /dev/null @@ -1,5 +0,0 @@ -package info.kwarc.sally4.servlet; - -public interface ServletEndpointProvider { - String getServletEndpoint(String localPath); -} diff --git a/SallyServlet/.classpath b/activemq/.classpath similarity index 100% rename from SallyServlet/.classpath rename to activemq/.classpath diff --git a/activemq/.project b/activemq/.project new file mode 100644 index 0000000..7476958 --- /dev/null +++ b/activemq/.project @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>activemq</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.m2e.core.maven2Builder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.m2e.core.maven2Nature</nature> + </natures> +</projectDescription> diff --git a/SallyServlet/.settings/org.eclipse.jdt.core.prefs b/activemq/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from SallyServlet/.settings/org.eclipse.jdt.core.prefs rename to activemq/.settings/org.eclipse.jdt.core.prefs diff --git a/SallyServlet/.settings/org.eclipse.m2e.core.prefs b/activemq/.settings/org.eclipse.m2e.core.prefs similarity index 100% rename from SallyServlet/.settings/org.eclipse.m2e.core.prefs rename to activemq/.settings/org.eclipse.m2e.core.prefs diff --git a/activemq/pom.xml b/activemq/pom.xml new file mode 100644 index 0000000..e5469e6 --- /dev/null +++ b/activemq/pom.xml @@ -0,0 +1,116 @@ +<?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/xsd/maven-4.0.0.xsd"> + + <!-- Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with this + work for additional information regarding copyright ownership. The ASF licenses + this file to You under the Apache License, Version 2.0 (the "License"); you + may not use this file except in compliance with the License. You may obtain + a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless + required by applicable law or agreed to in writing, software distributed + under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES + OR CONDITIONS OF ANY KIND, either express or implied. See the License for + the specific language governing permissions and limitations under the License. --> + + <modelVersion>4.0.0</modelVersion> + + <packaging>bundle</packaging> + + <groupId>info.kwarc.sally4</groupId> + <artifactId>activemq</artifactId> + <version>0.0.1-SNAPSHOT</version> + + + <properties> + <maven-bundle-plugin.version>2.4.0</maven-bundle-plugin.version> + <osgi.version>5.0.0</osgi.version> + <camel.version>2.12.3</camel.version> + </properties> + + <dependencies> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.core</artifactId> + <version>${osgi.version}</version> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.compendium</artifactId> + <version>${osgi.version}</version> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-servlet</artifactId> + <version>${camel.version}</version> + </dependency> + + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>servlet-api</artifactId> + <version>2.5</version> + <scope>compile</scope> + </dependency> + + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>activemq-camel</artifactId> + <version>5.9.1</version> + </dependency> + + <dependency> + <groupId>org.apache.felix</groupId> + <artifactId>org.apache.felix.ipojo.annotations</artifactId> + <version>1.11.2</version> + </dependency> + + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>1.7.7</version> + </dependency> + + <dependency> + <groupId>info.kwarc.sally4</groupId> + <artifactId>core</artifactId> + <version>0.0.1-SNAPSHOT</version> + </dependency> + + </dependencies> + + <build> + <plugins> + <!-- BND Maven Plugin Configuration --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <extensions>true</extensions> + <configuration> + <instructions> + <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName> + <Private-Package>info.kwarc.sally4.activemq.impl</Private-Package> + <Import-Package>*;</Import-Package> + <Export-Package>info.kwarc.sally4.activemq*</Export-Package> + </instructions> + </configuration> + </plugin> + <!-- iPOJO Maven Plugin Configuration : nothing to do --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-ipojo-plugin</artifactId> + <version>1.6.0</version> + <executions> + <execution> + <goals> + <goal>ipojo-bundle</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> diff --git a/activemq/src/main/java/info/kwarc/sally4/activemq/ActiveMQService.java b/activemq/src/main/java/info/kwarc/sally4/activemq/ActiveMQService.java new file mode 100644 index 0000000..6eac9b5 --- /dev/null +++ b/activemq/src/main/java/info/kwarc/sally4/activemq/ActiveMQService.java @@ -0,0 +1,5 @@ +package info.kwarc.sally4.activemq; + + +public interface ActiveMQService { +} diff --git a/activemq/src/main/java/info/kwarc/sally4/activemq/impl/ActiveMQServiceImpl.java b/activemq/src/main/java/info/kwarc/sally4/activemq/impl/ActiveMQServiceImpl.java new file mode 100644 index 0000000..125f6b4 --- /dev/null +++ b/activemq/src/main/java/info/kwarc/sally4/activemq/impl/ActiveMQServiceImpl.java @@ -0,0 +1,54 @@ +package info.kwarc.sally4.activemq.impl; + +import info.kwarc.sally4.activemq.ActiveMQService; +import info.kwarc.sally4.core.CamelContextProvider; + +import org.apache.activemq.ActiveMQConnectionFactory; +import org.apache.activemq.camel.component.ActiveMQComponent; +import org.apache.activemq.camel.component.ActiveMQConfiguration; +import org.apache.felix.ipojo.annotations.Component; +import org.apache.felix.ipojo.annotations.Instantiate; +import org.apache.felix.ipojo.annotations.Invalidate; +import org.apache.felix.ipojo.annotations.Provides; +import org.apache.felix.ipojo.annotations.Requires; +import org.apache.felix.ipojo.annotations.Validate; +import org.osgi.framework.BundleContext; + +@Component +@Provides +@Instantiate +public class ActiveMQServiceImpl implements ActiveMQService { + + @Requires + CamelContextProvider camelContextProvider; + + @Requires + BundleContext bundleContext; + + boolean ownConnection = false; + + @Validate + public void start() { + if (camelContextProvider.getComponent("activemq") == null) + return; + ownConnection = true; + ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616"); + connectionFactory.setUserName("webclient"); + connectionFactory.setPassword("webclient"); + + ActiveMQConfiguration config = new ActiveMQConfiguration(); + config.setConnectionFactory(connectionFactory); + + ActiveMQComponent comp = new ActiveMQComponent(config); + camelContextProvider.registerGlobalComponent("activemq", comp); + } + + @Invalidate + public void stop() { + if (ownConnection) { + camelContextProvider.unregisterGlobalComponent("activemq"); + ownConnection = false; + } + } + +} diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..e1f9fcb --- /dev/null +++ b/build.sh @@ -0,0 +1 @@ +mvn clean package install -DskipTests \ No newline at end of file diff --git a/docmanager/src/main/java/info/kwarc/sally4/docmanager/AlexRoute.java b/docmanager/src/main/java/info/kwarc/sally4/docmanager/AlexRoute.java new file mode 100644 index 0000000..d4fae0f --- /dev/null +++ b/docmanager/src/main/java/info/kwarc/sally4/docmanager/AlexRoute.java @@ -0,0 +1,5 @@ +package info.kwarc.sally4.docmanager; + + +public interface AlexRoute { +} diff --git a/docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/AlexRouteImpl.java b/docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/AlexRouteImpl.java new file mode 100644 index 0000000..f67a22c --- /dev/null +++ b/docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/AlexRouteImpl.java @@ -0,0 +1,34 @@ +package info.kwarc.sally4.docmanager.impl; + +import info.kwarc.sally4.docmanager.AlexRoute; + +import java.util.Collection; +import java.util.HashSet; + + +public class AlexRouteImpl implements AlexRoute { + + String alexQueue; + String theoQueue; + HashSet<String> interfaces; + + String alexStateRoute; + + + String generateUUID(String doc_queue) { + //"/queue/sally_doc_"+UUID.randomUUID().toString() + return "sally_doc_"+doc_queue; + } + + public AlexRouteImpl(String alexQueue, String theoQueue, Collection<String> interfaces) { + this.alexQueue = alexQueue; + this.theoQueue = theoQueue; + this.interfaces = new HashSet<String>(this.interfaces); + this.alexStateRoute = generateUUID(alexQueue); + } + + public String getAlexStateRoute() { + return alexStateRoute; + } + +} diff --git a/docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/DocumentManagerRoutes.java b/docmanager/src/main/java/info/kwarc/sally4/docmanager/routes/SallyRegisterRoute.java similarity index 100% rename from docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/DocumentManagerRoutes.java rename to docmanager/src/main/java/info/kwarc/sally4/docmanager/routes/SallyRegisterRoute.java diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..2d3bea2 --- /dev/null +++ b/pom.xml @@ -0,0 +1,33 @@ +<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"> + <modelVersion>4.0.0</modelVersion> + + <groupId>info.kwarc.sally</groupId> + <artifactId>sally</artifactId> + <packaging>pom</packaging> + <version>1.0</version> + <name>Sally Project</name> + + <modules> + <module>core</module> + <module>docmanager</module> + <module>planetary</module> + <module>servlet</module> + </modules> + + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>1.7</source> + <target>1.7</target> + </configuration> + </plugin> + </plugins> + </pluginManagement> + </build> +</project> \ No newline at end of file diff --git a/servlet/.classpath b/servlet/.classpath new file mode 100644 index 0000000..395dbde --- /dev/null +++ b/servlet/.classpath @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" output="target/classes" path="src/main/java"> + <attributes> + <attribute name="optional" value="true"/> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="src" output="target/test-classes" path="src/test/java"> + <attributes> + <attribute name="optional" value="true"/> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry including="**/*.java" kind="src" path="src/main/resources"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"> + <attributes> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> + <attributes> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="output" path="target/classes"/> +</classpath> diff --git a/SallyServlet/.project b/servlet/.project similarity index 100% rename from SallyServlet/.project rename to servlet/.project diff --git a/servlet/.settings/org.eclipse.jdt.core.prefs b/servlet/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..abec6ca --- /dev/null +++ b/servlet/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.5 diff --git a/servlet/.settings/org.eclipse.m2e.core.prefs b/servlet/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/servlet/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/SallyServlet/pom.xml b/servlet/pom.xml similarity index 100% rename from SallyServlet/pom.xml rename to servlet/pom.xml diff --git a/SallyServlet/src/main/java/info/kwarc/sally4/servlet/SallyServlet.java b/servlet/src/main/java/info/kwarc/sally4/servlet/SallyServlet.java similarity index 100% rename from SallyServlet/src/main/java/info/kwarc/sally4/servlet/SallyServlet.java rename to servlet/src/main/java/info/kwarc/sally4/servlet/SallyServlet.java diff --git a/SallyServlet/src/main/java/info/kwarc/sally4/servlet/impl/ServletImpl.java b/servlet/src/main/java/info/kwarc/sally4/servlet/impl/ServletImpl.java similarity index 100% rename from SallyServlet/src/main/java/info/kwarc/sally4/servlet/impl/ServletImpl.java rename to servlet/src/main/java/info/kwarc/sally4/servlet/impl/ServletImpl.java -- GitLab