diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2014-04-21 09:01:00 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2014-04-21 09:01:00 +0200 |
commit | fd681e2c6663652be02a31f7b40da4cd283ab37e (patch) | |
tree | 83cf23c1cc1f9320f2464e355d33d7abce3249e8 /calamus-engine/src/main/java/io/trygvis/engine/NexusNewArtifactMessageListener.java | |
parent | d38810a179a6f669ea0d3e7588f2aabed762deff (diff) | |
download | calamus-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.java | 106 |
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); - */ - } -} |