package org.hpsearch.demo.CrisisGridServices.RunOffModel; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.net.InetAddress; import javax.jms.BytesMessage; import javax.jms.DeliveryMode; import javax.jms.JMSException; import javax.jms.Session; import javax.jms.TextMessage; import javax.jms.Topic; import javax.jms.TopicConnection; import javax.jms.TopicPublisher; import javax.jms.TopicSession; import org.hpsearch.demo.CrisisGridServices.ComputeService; /** * Created: May 13, 2004 *
* Modified from RunoffMaps4VisualComm.java written by Sunghoon Ko(suko@indiana.edu) * * @author Harshawardhan Gadgil (hgadgil@grids.ucs.indiana.edu) */ public class MapsGenerator4Visual{ private ComputeService parent_RunoffModelMain; private TopicSession pubSession; private TopicSession subSession; private TopicPublisher visualPublisher; private TopicConnection connection; private String userName; private FileInputStream fileInput = null; public MapsGenerator4Visual(ComputeService parent) throws Exception { this.parent_RunoffModelMain = parent; } public void initializeSession(TopicConnection connection, String username) throws Exception { pubSession = connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE); subSession = connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE); Topic visualizationTopic = pubSession.createTopic("Visualization"); visualPublisher = pubSession.createPublisher(visualizationTopic); System.out.println("Will be publishing to topic [Visualization"); } public void sendMe() { try { writeTextMessage("HostName", "RunoffModel", InetAddress.getLocalHost().getHostName()); System.out.println("Message sent"); } catch (Exception e) { System.out.println("Error Sending ME: " + e); } } public byte[] bytesMsg; private File outputFile; private FileOutputStream out; /* Create and send message using topic publisher */ public void writeBytesMessage(byte[] bMsg, int length) throws JMSException { BytesMessage bMessage = pubSession.createBytesMessage(); bMessage.writeInt(length); bMessage.writeBytes(bMsg, 0, length); bMessage.setStringProperty("RawDataFile", "ByteData"); visualPublisher.publish(bMessage, DeliveryMode.NON_PERSISTENT, 0, 2000); } /* Create and send message using topic publisher */ public void writeTextMessage(String name, String value, String text) throws JMSException { TextMessage message = pubSession.createTextMessage(); message.setText(text); message.setStringProperty(name, value); visualPublisher.publish(message, DeliveryMode.NON_PERSISTENT, 0, 2000); } /* Initializes the instance variables */ public void set(TopicConnection con, TopicSession pubSess, TopicSession subSess, TopicPublisher pub, String username) { this.connection = con; this.pubSession = pubSess; this.subSession = subSess; this.visualPublisher = pub; this.userName = username; } }