package io.trygvis.calamus.engine; import org.kie.api.runtime.KieSession; import org.slf4j.Logger; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.TextMessage; import java.io.IOException; import java.io.StringReader; import java.util.Properties; import static java.lang.Integer.parseInt; import static org.slf4j.LoggerFactory.getLogger; public class JenkinsBuildResultMessageListener implements MessageListener { private final Logger log = getLogger(getClass()); private KieSession session; public JenkinsBuildResultMessageListener(KieSession session) { 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 jobName = p.getProperty("jobName"); int buildNumber = parseInt(p.getProperty("buildNumber")); String result = p.getProperty("result"); log.info("New build: jobName={}, buildNumber={}, result={}", jobName, buildNumber, result); /* String type; Object event; long processInstanceId; jbpm.signalEvent(type, event, processInstanceId); */ } catch (JMSException | IOException e) { e.printStackTrace(); } } }