summaryrefslogtreecommitdiff
path: root/calamus-engine/src/main/java/io/trygvis/engine/NexusNewArtifactMessageListener.java
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2014-04-21 09:01:00 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2014-04-21 09:01:00 +0200
commitfd681e2c6663652be02a31f7b40da4cd283ab37e (patch)
tree83cf23c1cc1f9320f2464e355d33d7abce3249e8 /calamus-engine/src/main/java/io/trygvis/engine/NexusNewArtifactMessageListener.java
parentd38810a179a6f669ea0d3e7588f2aabed762deff (diff)
downloadcalamus-fd681e2c6663652be02a31f7b40da4cd283ab37e.tar.gz
calamus-fd681e2c6663652be02a31f7b40da4cd283ab37e.tar.bz2
calamus-fd681e2c6663652be02a31f7b40da4cd283ab37e.tar.xz
calamus-fd681e2c6663652be02a31f7b40da4cd283ab37e.zip
wip
Diffstat (limited to 'calamus-engine/src/main/java/io/trygvis/engine/NexusNewArtifactMessageListener.java')
-rw-r--r--calamus-engine/src/main/java/io/trygvis/engine/NexusNewArtifactMessageListener.java106
1 files changed, 0 insertions, 106 deletions
diff --git a/calamus-engine/src/main/java/io/trygvis/engine/NexusNewArtifactMessageListener.java b/calamus-engine/src/main/java/io/trygvis/engine/NexusNewArtifactMessageListener.java
deleted file mode 100644
index 0813c27..0000000
--- a/calamus-engine/src/main/java/io/trygvis/engine/NexusNewArtifactMessageListener.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package io.trygvis.engine;
-
-import io.trygvis.engine.domain.Artifact;
-import io.trygvis.engine.domain.Process;
-import io.trygvis.engine.domain.ProcessTrigger;
-import org.kie.internal.runtime.StatefulKnowledgeSession;
-import org.slf4j.Logger;
-import org.springframework.transaction.TransactionStatus;
-import org.springframework.transaction.support.TransactionCallbackWithoutResult;
-import org.springframework.transaction.support.TransactionTemplate;
-
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageListener;
-import javax.jms.TextMessage;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.NoResultException;
-import javax.persistence.TypedQuery;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.Properties;
-
-import static org.slf4j.LoggerFactory.getLogger;
-
-public class NexusNewArtifactMessageListener implements MessageListener {
- private final Logger log = getLogger(getClass());
-
- private final TransactionTemplate transactionTemplate;
- private final EntityManagerFactory entityManagerFactory;
- private final StatefulKnowledgeSession session;
-
- public NexusNewArtifactMessageListener(TransactionTemplate transactionTemplate, EntityManagerFactory entityManagerFactory, StatefulKnowledgeSession session) {
- this.transactionTemplate = transactionTemplate;
- this.entityManagerFactory = entityManagerFactory;
- this.session = session;
- }
-
- @Override
- public void onMessage(Message message) {
- if (!(message instanceof TextMessage)) {
- return;
- }
-
- try {
- TextMessage m = (TextMessage) message;
- Properties p = new Properties();
- p.load(new StringReader(m.getText()));
-
- String repository = p.getProperty("repository");
- String groupId = p.getProperty("groupId");
- String artifactId = p.getProperty("artifactId");
- String version = p.getProperty("version");
- String classifier = p.getProperty("classifier");
- String extension = p.getProperty("extension");
-
- log.info("Artifact event: groupId={}, artifactId={}, version={}, classifier={}, extension={}", groupId, artifactId, version, classifier, extension);
-
- transactionTemplate.execute(new TransactionCallbackWithoutResult() {
- @Override
- protected void doInTransactionWithoutResult(TransactionStatus status) {
- processMessage(groupId, artifactId, version, classifier, extension);
- }
- });
- } catch (JMSException | IOException e) {
- e.printStackTrace();
- }
- }
-
- private void processMessage(String groupId, String artifactId, String version, String classifier, String extension) {
- // Check for any processes that will be started because of this
- EntityManager entityManager = entityManagerFactory.createEntityManager();
-
- TypedQuery<Artifact> query = entityManager.createQuery("FROM Artifact WHERE groupId=:groupId AND artifactId=:artifactId AND version=:version AND extension=:extension", Artifact.class);
- query.setParameter("groupId", groupId);
- query.setParameter("artifactId", artifactId);
- query.setParameter("version", version);
- query.setParameter("extension", extension);
- Artifact artifact;
- try {
- artifact = query.getSingleResult();
- log.info("Existing artifact: {}", artifact);
- } catch (NoResultException e) {
- artifact = new Artifact(groupId, artifactId, version, classifier, extension);
- log.info("New artifact: {}", artifact);
- entityManager.persist(artifact);
- }
-
- for (Process process : entityManager.createQuery("FROM Process", Process.class).getResultList()) {
- System.out.println("process.name = " + process.getName());
-
- for (ProcessTrigger trigger : process.getProcessTriggers()) {
- System.out.println("trigger.getMvel() = " + trigger.getMvel());
- boolean match = trigger.matches(artifact);
- System.out.println("match = " + match);
- }
- }
-
- /*
- String type;
- Object event;
- long processInstanceId;
- jbpm.signalEvent(type, event, processInstanceId);
- */
- }
-}