Added:
trunk/sipana-client/ (props changed)
trunk/sipana-client/pom.xml
trunk/sipana-client/src/
trunk/sipana-client/src/main/
trunk/sipana-client/src/main/java/
trunk/sipana-client/src/main/java/org/
trunk/sipana-client/src/main/java/org/sipana/
trunk/sipana-client/src/main/java/org/sipana/client/
trunk/sipana-client/src/main/java/org/sipana/client/SipanaClient.java
trunk/sipana-client/src/main/java/org/sipana/client/http/
trunk/sipana-client/src/main/java/org/sipana/client/http/SipanaHttpClient.java
trunk/sipana-client/src/main/java/org/sipana/client/http/SipanaHttpClientFactory.java
trunk/sipana-client/src/main/resources/
trunk/sipana-client/src/test/
trunk/sipana-client/src/test/java/
trunk/sipana-client/src/test/java/org/
trunk/sipana-client/src/test/java/org/sipana/
trunk/sipana-client/src/test/java/org/sipana/client/
trunk/sipana-client/src/test/java/org/sipana/client/http/
trunk/sipana-client/src/test/java/org/sipana/client/http/SipanaHttpClientTest.java
Removed:
trunk/sipana-agent/src/main/java/org/sipana/agent/sender/http/HTTPClient.java
Modified:
trunk/pom.xml
trunk/sipana-agent/pom.xml
trunk/sipana-agent/src/main/java/org/sipana/agent/sender/Sender.java
trunk/sipana-agent/src/main/java/org/sipana/agent/sender/http/HTTPSender.java
trunk/sipana-agent/src/main/java/org/sipana/agent/sender/jms/JMSSender.java
Log:
IN PROGRESS - issue SIPANA-6: HTTP client implementation started using
RESTeasy client framework
Modified: trunk/pom.xml
==============================================================================
--- trunk/pom.xml (original)
+++ trunk/pom.xml Mon Jul 13 23:01:34 2009
@@ -18,7 +18,8 @@
<module>sipana-commons</module>
<module>sipana-agent</module>
<module>sipana-sipscenario</module>
- </modules>
+ <module>sipana-client</module>
+ </modules>
<distributionManagement>
<repository>
Modified: trunk/sipana-agent/pom.xml
==============================================================================
--- trunk/sipana-agent/pom.xml (original)
+++ trunk/sipana-agent/pom.xml Mon Jul 13 23:01:34 2009
@@ -44,12 +44,6 @@
<artifactId>jms</artifactId>
<version>1.1</version>
</dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-jaxrs-all</artifactId>
- <version>1.0-beta-9</version>
- <type>pom</type>
- </dependency>
</dependencies>
</project>
Modified:
trunk/sipana-agent/src/main/java/org/sipana/agent/sender/Sender.java
==============================================================================
--- trunk/sipana-agent/src/main/java/org/sipana/agent/sender/Sender.java
(original)
+++ trunk/sipana-agent/src/main/java/org/sipana/agent/sender/Sender.java
Mon Jul 13 23:01:34 2009
@@ -1,6 +1,7 @@
package org.sipana.agent.sender;
+import java.util.List;
import org.sipana.protocol.sip.SIPMessage;
import org.sipana.protocol.sip.SIPSession;
@@ -9,8 +10,15 @@
* @author Marcos Hack <marco...@gmail.com>
*/
public interface Sender {
+
public void send(SIPMessage message) throws Exception;
+
+ public void send(List<SIPMessage> messages) throws Exception;
+
+ @Deprecated
public void send(SIPSession session) throws Exception;
+
public void start() throws Exception;
+
public void stop() throws Exception;
}
Modified:
trunk/sipana-agent/src/main/java/org/sipana/agent/sender/http/HTTPSender.java
==============================================================================
---
trunk/sipana-agent/src/main/java/org/sipana/agent/sender/http/HTTPSender.java
(original)
+++
trunk/sipana-agent/src/main/java/org/sipana/agent/sender/http/HTTPSender.java
Mon Jul 13 23:01:34 2009
@@ -5,8 +5,10 @@
package org.sipana.agent.sender.http;
+import java.util.List;
import org.sipana.agent.sender.Sender;
import org.sipana.protocol.sip.SIPMessage;
+import org.sipana.protocol.sip.SIPMessageList;
import org.sipana.protocol.sip.SIPSession;
/**
@@ -17,6 +19,11 @@
public void send(SIPMessage message) throws Exception {
throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ public void send(List<SIPMessage> messages) throws Exception {
+ SIPMessageList list = new SIPMessageList(messages);
+
}
public void send(SIPSession session) throws Exception {
Modified:
trunk/sipana-agent/src/main/java/org/sipana/agent/sender/jms/JMSSender.java
==============================================================================
---
trunk/sipana-agent/src/main/java/org/sipana/agent/sender/jms/JMSSender.java
(original)
+++
trunk/sipana-agent/src/main/java/org/sipana/agent/sender/jms/JMSSender.java
Mon Jul 13 23:01:34 2009
@@ -16,6 +16,7 @@
package org.sipana.agent.sender.jms;
import java.io.Serializable;
+import java.util.List;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
@@ -113,6 +114,14 @@
logger.warn(sbWarn);
}
}
+
+ public void send(List<SIPMessage> messages) throws Exception {
+ for (SIPMessage m : messages) {
+ send(m);
+ }
+ }
+
+
private void sendNow(Serializable object) throws Exception {
if (logger.isDebugEnabled()) {
Added: trunk/sipana-client/pom.xml
==============================================================================
--- (empty file)
+++ trunk/sipana-client/pom.xml Mon Jul 13 23:01:34 2009
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<project>
+ <parent>
+ <artifactId>sipana</artifactId>
+ <groupId>org.sipana</groupId>
+ <version>0.4</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.sipana</groupId>
+ <artifactId>sipana-client</artifactId>
+ <name>sipana-client</name>
+ <version>0.4</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.sipana</groupId>
+ <artifactId>sipana-commons</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-jaxrs</artifactId>
+ <version>1.1.GA</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>resteasy-jaxb-provider</artifactId>
+ <version>1.1.GA</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Added: trunk/sipana-client/src/main/java/org/sipana/client/SipanaClient.java
==============================================================================
--- (empty file)
+++ trunk/sipana-client/src/main/java/org/sipana/client/SipanaClient.java
Mon Jul 13 23:01:34 2009
@@ -0,0 +1,13 @@
+package org.sipana.client;
+
+import org.sipana.protocol.sip.SIPMessage;
+import org.sipana.protocol.sip.SIPMessageList;
+
+/**
+ *
+ * @author Marcos Hack <marco...@gmail.com>
+ */
+public interface SipanaClient {
+ public void send(SIPMessage message);
+ public void send(SIPMessageList messages);
+}
Added:
trunk/sipana-client/src/main/java/org/sipana/client/http/SipanaHttpClient.java
==============================================================================
--- (empty file)
+++
trunk/sipana-client/src/main/java/org/sipana/client/http/SipanaHttpClient.java
Mon Jul 13 23:01:34 2009
@@ -0,0 +1,25 @@
+package org.sipana.client.http;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import org.sipana.client.SipanaClient;
+import org.sipana.protocol.sip.SIPMessage;
+import org.sipana.protocol.sip.SIPMessageList;
+
+/**
+ *
+ * @author Marcos Hack <marco...@gmail.com>
+ */
+public interface SipanaHttpClient extends SipanaClient {
+
+ @POST
+ @Path("/sipmessages")
+ @Consumes("application/xml")
+ public void send(SIPMessage message);
+
+ @POST
+ @Path("/sipmessages")
+ @Consumes("application/xml")
+ public void send(SIPMessageList messages);
+}
Added:
trunk/sipana-client/src/main/java/org/sipana/client/http/SipanaHttpClientFactory.java
==============================================================================
--- (empty file)
+++
trunk/sipana-client/src/main/java/org/sipana/client/http/SipanaHttpClientFactory.java
Mon Jul 13 23:01:34 2009
@@ -0,0 +1,18 @@
+package org.sipana.client.http;
+
+import org.jboss.resteasy.client.ProxyFactory;
+import org.sipana.client.SipanaClient;
+
+/**
+ *
+ * @author mhack
+ */
+public class SipanaHttpClientFactory {
+
+ public static SipanaClient createSipanaClient() {
+ // TODO [mhack] Load from configuration file
+ String url = "http://localhost:8080/sipana-ws/";
+ SipanaClient client = ProxyFactory.create(SipanaHttpClient.class,
url);
+ return client;
+ }
+}
Added:
trunk/sipana-client/src/test/java/org/sipana/client/http/SipanaHttpClientTest.java
==============================================================================
--- (empty file)
+++
trunk/sipana-client/src/test/java/org/sipana/client/http/SipanaHttpClientTest.java
Mon Jul 13 23:01:34 2009
@@ -0,0 +1,23 @@
+package org.sipana.client.http;
+
+import org.junit.Test;
+import org.sipana.client.SipanaClient;
+import org.sipana.protocol.sip.SIPRequest;
+
+/**
+ *
+ * @author mhack
+ */
+public class SipanaHttpClientTest {
+
+ @Test
+ public void createClient() {
+ SipanaClient client = SipanaHttpClientFactory.createSipanaClient();
+
+ SIPRequest req = new SIPRequest();
+ req.setMethod("INVITE");
+ req.setCallID("testcallid");
+
+ client.send(req);
+ }
+}