summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--orkaudio/messages/TapeMsg.cpp2
-rw-r--r--orkbasecxx/messages/Message.cpp12
-rw-r--r--orkbasecxx/messages/Message.h5
-rw-r--r--orkbasej/java/net/sf/oreka/messages/Message.java18
-rw-r--r--orktrack/src/net/sf/oreka/orktrack/ServiceManager.java11
-rw-r--r--orktrack/src/net/sf/oreka/orktrack/messages/TapeMessage.java101
6 files changed, 135 insertions, 14 deletions
diff --git a/orkaudio/messages/TapeMsg.cpp b/orkaudio/messages/TapeMsg.cpp
index 4c212d3..c52b022 100644
--- a/orkaudio/messages/TapeMsg.cpp
+++ b/orkaudio/messages/TapeMsg.cpp
@@ -26,6 +26,8 @@ TapeMsg::TapeMsg()
void TapeMsg::Define(Serializer* s)
{
+ DefineMessage(s);
+
CStdString tapeMessageName(TAPE_MESSAGE_NAME);
s->StringValue(OBJECT_TYPE_TAG, tapeMessageName, true);
s->StringValue(REC_ID_PARAM, m_recId, true);
diff --git a/orkbasecxx/messages/Message.cpp b/orkbasecxx/messages/Message.cpp
index ad6e533..477bb42 100644
--- a/orkbasecxx/messages/Message.cpp
+++ b/orkbasecxx/messages/Message.cpp
@@ -19,12 +19,12 @@
#include "Message.h"
-char Message::m_hostname[HOSTNAME_BUF_LEN] = "";
-
Message::Message()
{
m_creationTime = time(NULL);
- ACE_OS::hostname(m_hostname, HOSTNAME_BUF_LEN);
+ char hostname[HOSTNAME_BUF_LEN];
+ ACE_OS::hostname(hostname, HOSTNAME_BUF_LEN);
+ m_hostname = hostname;
}
@@ -39,3 +39,9 @@ bool Message::InvokeXmlRpc(CStdString& hostname, int tcpPort)
return true;
}
+void Message::DefineMessage(Serializer* s)
+{
+ s->StringValue("hostname", m_hostname, false);
+}
+
+
diff --git a/orkbasecxx/messages/Message.h b/orkbasecxx/messages/Message.h
index 1ecceb6..ede5077 100644
--- a/orkbasecxx/messages/Message.h
+++ b/orkbasecxx/messages/Message.h
@@ -41,12 +41,13 @@ class DLL_IMPORT_EXPORT Message : public Object
{
public:
Message();
-
+ void DefineMessage(Serializer* s);
bool InvokeXmlRpc(CStdString& hostname, int tcpport);
+
+ CStdString m_hostname;
protected:
time_t m_creationTime;
bool m_sent;
- static char m_hostname[HOSTNAME_BUF_LEN];
};
typedef boost::shared_ptr<Message> MessageRef;
diff --git a/orkbasej/java/net/sf/oreka/messages/Message.java b/orkbasej/java/net/sf/oreka/messages/Message.java
index 72dfaad..0f553f9 100644
--- a/orkbasej/java/net/sf/oreka/messages/Message.java
+++ b/orkbasej/java/net/sf/oreka/messages/Message.java
@@ -14,6 +14,24 @@
package net.sf.oreka.messages;
import net.sf.oreka.*;
+import net.sf.oreka.serializers.OrkSerializer;
public abstract class Message implements OrkObject {
+
+ String hostname = "";
+
+ public void defineMessage(OrkSerializer serializer) throws OrkException {
+
+ hostname = serializer.stringValue("hostname", hostname, false);
+ }
+
+ public String getHostname() {
+ return hostname;
+ }
+
+
+ public void setHostname(String hostname) {
+ this.hostname = hostname;
+ }
+
}
diff --git a/orktrack/src/net/sf/oreka/orktrack/ServiceManager.java b/orktrack/src/net/sf/oreka/orktrack/ServiceManager.java
index dba030d..7a8d0f4 100644
--- a/orktrack/src/net/sf/oreka/orktrack/ServiceManager.java
+++ b/orktrack/src/net/sf/oreka/orktrack/ServiceManager.java
@@ -24,18 +24,21 @@ public class ServiceManager {
static Logger logger = Logger.getLogger(ServiceManager.class);
- public static Service retrieveOrCreate(String name, Session hbnSession) {
+ public static Service retrieveOrCreate(String name, String hostname, Session hbnSession) {
Service service = retrieveByName(name, hbnSession);
if (service == null) {
- logger.info("Creating service:" + name);
+ logger.info("Creating service:" + name + " on host:" + hostname );
service = new Service();
service.setName(name);
- service.setHostname("localhost");
+ service.setHostname(hostname);
service.setFileServeProtocol("http");
service.setFileServeTcpPort(8080);
service.setRecordMaster(true);
- hbnSession.save(service);
}
+ else {
+ service.setHostname(hostname); // update hostname in case it has changed
+ }
+ hbnSession.save(service);
return service;
}
diff --git a/orktrack/src/net/sf/oreka/orktrack/messages/TapeMessage.java b/orktrack/src/net/sf/oreka/orktrack/messages/TapeMessage.java
index 1f2fb9a..0db99d7 100644
--- a/orktrack/src/net/sf/oreka/orktrack/messages/TapeMessage.java
+++ b/orktrack/src/net/sf/oreka/orktrack/messages/TapeMessage.java
@@ -20,9 +20,8 @@ import net.sf.oreka.messages.SimpleResponseMessage;
import net.sf.oreka.messages.SyncMessage;
import net.sf.oreka.orktrack.LogManager;
import net.sf.oreka.orktrack.OrkTrack;
-import net.sf.oreka.orktrack.Port;
-import net.sf.oreka.orktrack.PortManager;
import net.sf.oreka.orktrack.ServiceManager;
+import net.sf.oreka.orktrack.TapeManager;
import net.sf.oreka.persistent.Service;
import net.sf.oreka.serializers.OrkSerializer;
import net.sf.oreka.serializers.SingleLineSerializer;
@@ -40,7 +39,9 @@ public class TapeMessage extends SyncMessage {
CaptureStage stage = CaptureStage.UNKN;
int timestamp = 0;
int duration = 0;
+ String recId = "";
String filename = "";
+ String captureId = "";
String capturePort = "";
String localParty = "";
String localEntryPoint = "";
@@ -48,6 +49,12 @@ public class TapeMessage extends SyncMessage {
Direction direction = Direction.UNKN;
String loginString = "";
String service = "";
+ String srcIp = "";
+ String dstIp = "";
+ int srcTcpPort = 0;
+ int dstTcpPort = 0;
+ String srcMac = "";
+ String dstMac = "";
public TapeMessage() {
log = LogManager.getInstance().getPortLogger();
@@ -75,10 +82,11 @@ public class TapeMessage extends SyncMessage {
SingleLineSerializer ser = new SingleLineSerializer();
log.info("Message: " + ser.serialize(this));
- Service service = ServiceManager.retrieveOrCreate(this.service, session);
+ Service service = ServiceManager.retrieveOrCreate(this.service, this.getHostname(), session);
- Port port = PortManager.instance().getAndCreatePort(this.getCapturePort(), session, service);
- port.notifyTapeMessage(this, session, service);
+ //Port port = PortManager.instance().getAndCreatePort(this.getCapturePort(), session, service);
+ //port.notifyTapeMessage(this, session, service);
+ TapeManager.instance().notifyTapeMessage(this, session, service);
response.setSuccess(true);
tx.commit();
@@ -96,6 +104,9 @@ public class TapeMessage extends SyncMessage {
public void define(OrkSerializer serializer) throws OrkException {
+ defineMessage(serializer);
+
+ recId = serializer.stringValue("recid", recId, false);
stage = (CaptureStage)serializer.enumValue("stage", stage, true);
timestamp = serializer.intValue("timestamp", timestamp, true);
duration = serializer.intValue("duration", duration, true);
@@ -198,4 +209,84 @@ public class TapeMessage extends SyncMessage {
this.duration = duration;
}
+ public String getCaptureId() {
+ return captureId;
+ }
+
+
+ public void setCaptureId(String captureId) {
+ this.captureId = captureId;
+ }
+
+
+ public String getDstIp() {
+ return dstIp;
+ }
+
+
+ public void setDstIp(String dstIp) {
+ this.dstIp = dstIp;
+ }
+
+
+ public String getDstMac() {
+ return dstMac;
+ }
+
+
+ public void setDstMac(String dstMac) {
+ this.dstMac = dstMac;
+ }
+
+
+ public int getDstTcpPort() {
+ return dstTcpPort;
+ }
+
+
+ public void setDstTcpPort(int dstTcpPort) {
+ this.dstTcpPort = dstTcpPort;
+ }
+
+
+ public String getSrcIp() {
+ return srcIp;
+ }
+
+
+ public void setSrcIp(String srcIp) {
+ this.srcIp = srcIp;
+ }
+
+
+ public String getSrcMac() {
+ return srcMac;
+ }
+
+
+ public void setSrcMac(String srcMac) {
+ this.srcMac = srcMac;
+ }
+
+
+ public int getSrcTcpPort() {
+ return srcTcpPort;
+ }
+
+
+ public void setSrcTcpPort(int srcTcpPort) {
+ this.srcTcpPort = srcTcpPort;
+ }
+
+ public String getRecId() {
+ return recId;
+ }
+
+
+ public void setRecId(String recId) {
+ this.recId = recId;
+ }
+
+
+
}