Skip to content
Snippets Groups Projects
Commit d30f564d authored by Constantin Jucovschi's avatar Constantin Jucovschi
Browse files

before pom editing

parent c01fbaba
No related branches found
No related tags found
No related merge requests found
Showing with 99 additions and 54 deletions
/home/costea/workspace_sally4/SallyServlet/target/servlet-0.0.1-SNAPSHOT.jar
\ No newline at end of file
/home/costea/workspace_sally4/servlet/target/servlet-0.0.1-SNAPSHOT.jar
\ No newline at end of file
File deleted
......@@ -96,7 +96,7 @@ felix.log.level=1
# Bundle config properties.
#
org.osgi.service.http.port=8080
org.osgi.service.http.port=8181
obr.repository.url=http://felix.apache.org/obr/releases.xml
......
cd /home/costea/workspace_sally4/Felix;
rm -rf felix-cache
java -Dorg.osgi.framework.bootdelegation=sun.misc -jar bin/felix.jar
java -Dorg.osgi.framework.bootdelegation=* -jar bin/felix.jar
......@@ -45,7 +45,7 @@
<dependency>
<groupId>info.kwarc.sally4</groupId>
<artifactId>core</artifactId>
<version>0.0.1-SNAPSHOT</version>
<version>0.0.2-SNAPSHOT</version>
</dependency>
<dependency>
......@@ -55,6 +55,12 @@
</dependency>
<dependency>
<groupId>info.kwarc.sally4</groupId>
<artifactId>docmanager</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
......@@ -66,7 +72,7 @@
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Private-Package>info.kwarc.sally4.mathhubworker.impl*</Private-Package>
<Export-Package>info.kwarc.sally4.mathhubworker*</Export-Package>
</instructions>
......
package info.kwarc.sally4.mathhubworker.impl;
import info.kwarc.sally4.core.CamelContextProvider;
import info.kwarc.sally4.docmanager.AlexRoute;
import info.kwarc.sally4.docmanager.IDocWorkflow;
import info.kwarc.sally4.docmanager.component.AlexComponent;
import info.kwarc.sally4.mathhubworker.MathHubWorker;
import info.kwarc.sally4.mathhubworker.routes.MathHubRoute;
import info.kwarc.sally4.planetary.PlanetaryConnection;
import java.util.HashMap;
import java.util.Map;
import org.apache.camel.CamelContext;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.Exchange;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.felix.ipojo.annotations.Component;
import org.apache.felix.ipojo.annotations.Instantiate;
import org.apache.felix.ipojo.annotations.Invalidate;
......@@ -19,7 +26,7 @@ import org.slf4j.LoggerFactory;
@Component
@Instantiate
@Provides
public class MathHubWorkerImpl implements MathHubWorker {
public class MathHubWorkerImpl implements MathHubWorker, IDocWorkflow {
@Requires
CamelContextProvider camelContextProvider;
......@@ -27,49 +34,66 @@ public class MathHubWorkerImpl implements MathHubWorker {
@Requires
PlanetaryConnection conn;
CamelContext camelContext;
Map<AlexRoute, CamelContext> routeContexts;
Logger log;
public MathHubWorkerImpl() {
log = LoggerFactory.getLogger(getClass());
routeContexts = new HashMap<AlexRoute, CamelContext>();
}
static class MyRoute extends RouteBuilder{
@Validate
public void start() {
}
@Override
public void configure() throws Exception {
from("direct:getUserForSessionID")
.id("getUserFromPlanetary")
.to("planetary:select uid from sessions where sid=#?outputType=SelectOne");
@Invalidate
public void stop() {
from("activemq:")
}
}
public void onNewDocument(final AlexRoute route) {
CamelContext camelContext = new DefaultCamelContext();
routeContexts.put(route, camelContext);
@Validate
public void start() {
camelContext = camelContextProvider.getSallyCamelContext();
route.addOnStopHandler(new Runnable() {
public void run() {
try {
camelContext.addRoutes(new MyRoute());
routeContexts.get(route).stop();
} catch (Exception e) {
log.error(e.getMessage());
e.printStackTrace();
} finally {
routeContexts.remove(route);
}
ProducerTemplate temp = camelContext.createProducerTemplate();
temp.sendBody("direct:getUserForSessionID", "VgCb5cQwrAhj1XG4rSxU0ygW6ZkYFYGovg_pCgWem4g");
}
});
camelContext.addComponent("planetary", camelContextProvider.getComponent("planetary"));
camelContext.addComponent("alex", new AlexComponent(route));
@Invalidate
public void stop() {
try {
camelContext.removeRoute("getUserFromPlanetary");
camelContext.start();
camelContext.addRoutes(new MathHubRoute());
camelContext.createProducerTemplate().sendBody("direct:start", route);
} catch (Exception e) {
log.error(e.getMessage());
e.printStackTrace();
}
}
public String[] getInterfaceRequirements() {
return new String[]{"planetaryclient"};
}
public String[] getHandlingNamespaces() {
return new String[] {"http://kwarc.info/sally/comm/planetaryclient"};
}
public boolean handleMessage(String namespace, String type, Exchange body) {
return false;
}
}
......@@ -49,17 +49,10 @@
<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>
<version>5.9.0</version>
</dependency>
<dependency>
......@@ -91,7 +84,7 @@
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Private-Package>info.kwarc.sally4.activemq.impl</Private-Package>
<Import-Package>*;</Import-Package>
<Export-Package>info.kwarc.sally4.activemq*</Export-Package>
......
......@@ -13,6 +13,8 @@ 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;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Component
@Provides
......@@ -22,15 +24,21 @@ public class ActiveMQServiceImpl implements ActiveMQService {
@Requires
CamelContextProvider camelContextProvider;
@Requires
BundleContext bundleContext;
Logger log;
public ActiveMQServiceImpl(BundleContext bundleContext) {
log = LoggerFactory.getLogger(getClass());
}
boolean ownConnection = false;
@Validate
public void start() {
if (camelContextProvider.getComponent("activemq") == null)
log.info(camelContextProvider.getName());
if (camelContextProvider.getComponent("activemq") != null) {
return;
}
log.info("connecting to a new ActiveMQ");
ownConnection = true;
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
connectionFactory.setUserName("webclient");
......
......@@ -3,7 +3,7 @@
<packaging>bundle</packaging>
<groupId>info.kwarc.sally4</groupId>
<artifactId>core</artifactId>
<version>0.0.1-SNAPSHOT</version>
<version>0.0.2-SNAPSHOT</version>
<name>Sally4 Core</name>
<properties>
......@@ -51,7 +51,7 @@
<configuration>
<instructions>
<Bundle-Activator>info.kwarc.sally4.core.impl.Activator</Bundle-Activator>
<Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Private-Package>info.kwarc.sally4.core.impl</Private-Package>
<Export-Package>info.kwarc.sally4.core*;info.kwarc.sally.comm*</Export-Package>
<Import-Package>*;</Import-Package>
......
......@@ -16,4 +16,16 @@ public class CommUtils {
}
}
public static DataFormat getDataFormat(String iFace, ClassLoader loader) {
try {
JAXBContext context = JAXBContext.newInstance("info.kwarc.sally.comm."+iFace, loader);
return new JaxbDataFormat(context);
} catch (JAXBException e) {
return null;
}
}
}
......@@ -102,7 +102,7 @@
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Private-Package>info.kwarc.sally4.mmt.impl</Private-Package>
<Import-Package>*;</Import-Package>
<Export-Package>info.kwarc.sally4.mmt*</Export-Package>
......
......@@ -14,6 +14,7 @@
<module>docmanager</module>
<module>planetary</module>
<module>servlet</module>
<module>MathHubWorker</module>
</modules>
<build>
......
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>SallyServlet</name>
<name>servlet</name>
<comment></comment>
<projects>
</projects>
......
......@@ -86,7 +86,7 @@
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Private-Package>info.kwarc.sally4.servlet.impl</Private-Package>
<Import-Package>*;</Import-Package>
<Export-Package>info.kwarc.sally4.servlet*</Export-Package>
......
......@@ -33,13 +33,13 @@ public class ServletImpl implements SallyServlet {
httpSevlet.registerServlet("/sally", srvlet, null, null);
ServletComponent servletComponent = new ServletComponent();
servletComponent.setServletName(srvlet.getServletName());
camelContextProvider.getSallyCamelContext().addComponent("sallyservlet", servletComponent);
camelContextProvider.registerGlobalComponent("sallyservlet", servletComponent);
}
@Invalidate
public void stop() {
httpSevlet.unregister("/sally");
camelContextProvider.getSallyCamelContext().removeComponent("sallyservlet");
camelContextProvider.unregisterGlobalComponent("sallyservlet");
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment