You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@esme.apache.org by rh...@apache.org on 2009/12/06 23:54:19 UTC
svn commit: r887793 - in /incubator/esme/trunk/streaming-api-java-client: ./
src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/
src/main/java/org/apache/esme/ src/main/java/org/apache/esme/java_lib/
Author: rhirsch
Date: Sun Dec 6 22:54:19 2009
New Revision: 887793
URL: http://svn.apache.org/viewvc?rev=887793&view=rev
Log:
[ESME-14] Redesign, rework, write unit tests for, and fully document API
Initial code drop of API2 client submitted by Daniel Koller
Added:
incubator/esme/trunk/streaming-api-java-client/
incubator/esme/trunk/streaming-api-java-client/src/
incubator/esme/trunk/streaming-api-java-client/src/main/
incubator/esme/trunk/streaming-api-java-client/src/main/java/
incubator/esme/trunk/streaming-api-java-client/src/main/java/org/
incubator/esme/trunk/streaming-api-java-client/src/main/java/org/apache/
incubator/esme/trunk/streaming-api-java-client/src/main/java/org/apache/esme/
incubator/esme/trunk/streaming-api-java-client/src/main/java/org/apache/esme/java_lib/
incubator/esme/trunk/streaming-api-java-client/src/main/java/org/apache/esme/java_lib/APITest.java
incubator/esme/trunk/streaming-api-java-client/src/main/java/org/apache/esme/java_lib/ESMEServer.java
Added: incubator/esme/trunk/streaming-api-java-client/src/main/java/org/apache/esme/java_lib/APITest.java
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/streaming-api-java-client/src/main/java/org/apache/esme/java_lib/APITest.java?rev=887793&view=auto
==============================================================================
--- incubator/esme/trunk/streaming-api-java-client/src/main/java/org/apache/esme/java_lib/APITest.java (added)
+++ incubator/esme/trunk/streaming-api-java-client/src/main/java/org/apache/esme/java_lib/APITest.java Sun Dec 6 22:54:19 2009
@@ -0,0 +1,30 @@
+package org.apache.esme.java_lib;
+
+import java.net.URISyntaxException;
+
+
+public class APITest {
+
+ /**
+ * @param args
+ */
+ public static void main(String[] args) {
+
+ try {
+ ESMEServer s= new ESMEServer("http","localhost",8080,"/esme-server-0.3.0-SNAPSHOT","VPCABZLAPRZATETGXCPEU13W5FU2UIHR",true);
+ System.out.println(s.isConnected());
+ System.out.println("l:" + s.getLastReponse());
+ s.postMessage("hallo_ w/ #saĆ¼ #sap #tag " , "", "", "", "", "");
+ System.out.println("l:" + s.getLastReponse());
+ s.disconnect();
+ } catch (URISyntaxException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+
+
+
+ }
+
+}
Added: incubator/esme/trunk/streaming-api-java-client/src/main/java/org/apache/esme/java_lib/ESMEServer.java
URL: http://svn.apache.org/viewvc/incubator/esme/trunk/streaming-api-java-client/src/main/java/org/apache/esme/java_lib/ESMEServer.java?rev=887793&view=auto
==============================================================================
--- incubator/esme/trunk/streaming-api-java-client/src/main/java/org/apache/esme/java_lib/ESMEServer.java (added)
+++ incubator/esme/trunk/streaming-api-java-client/src/main/java/org/apache/esme/java_lib/ESMEServer.java Sun Dec 6 22:54:19 2009
@@ -0,0 +1,180 @@
+package org.apache.esme.java_lib;
+
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.utils.URIUtils;
+import org.apache.http.client.utils.URLEncodedUtils;
+import org.apache.http.entity.BufferedHttpEntity;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
+
+public class ESMEServer {
+
+ private String protocol="",host="",path="",token ="";
+ private String lastResponse="";
+ private int port=-1;
+
+ private boolean connected= false;
+
+ public String getProtocol() {
+ return protocol;
+ }
+
+ public void setProtocol(String protocol) {
+ this.protocol = protocol;
+ }
+
+ public String getHost() {
+ return host;
+ }
+
+ public void setHost(String host) {
+ this.host = host;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public void setPath(String path) {
+ this.path = path;
+ }
+
+ public String getToken() {
+ return token;
+ }
+
+ public void setToken(String token) {
+ this.token = token;
+ }
+
+ public int getPort() {
+ return port;
+ }
+
+ public void setPort(int port) {
+ this.port = port;
+ }
+
+ public HttpClient getHttpclient() {
+ return httpclient;
+ }
+
+ public void setHttpclient(HttpClient httpclient) {
+ this.httpclient = httpclient;
+ }
+
+ private HttpClient httpclient = new DefaultHttpClient();
+
+ public ESMEServer(String protocol, String host,int port, String path, String token, boolean autoconnect
+ ) throws URISyntaxException {
+ super();
+ this.protocol = protocol;
+ this.host = host;
+ this.path = path;
+ this.token = token;
+ this.port = port;
+
+ if (autoconnect==true) { this.connect();}
+
+
+ }
+
+ public void connect() {
+ List<NameValuePair> qparams = new ArrayList<NameValuePair>();
+ qparams.add(new BasicNameValuePair("token", this.token));
+ try {
+ URI uri = URIUtils.createURI(this.protocol, this.host, this.port, this.path+"/api2/session",
+ URLEncodedUtils.format(qparams, "UTF-8"), null);
+ HttpPost httppost= new HttpPost(uri);
+ System.out.println("string: " + httppost.getURI());
+ HttpResponse logonResponse= this.httpclient.execute(httppost);
+ System.err.println(logonResponse.getStatusLine().getStatusCode());
+ System.err.println(logonResponse.getStatusLine().getReasonPhrase());
+ System.err.println(logonResponse.getStatusLine().toString());
+ if (logonResponse.getStatusLine().getStatusCode()==200) {
+ this.connected=true;
+ } else {
+ this.connected=false;
+ }
+ HttpEntity entity = logonResponse.getEntity();
+ if (entity != null) {
+ entity = new BufferedHttpEntity(entity);
+ this.lastResponse= EntityUtils.toString(entity);
+ }
+ } catch (URISyntaxException e) {
+
+ e.printStackTrace();
+ } catch (ClientProtocolException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ public void disconnect() {
+ this.httpclient= null;
+ }
+
+ public String getLastReponse() {
+ return this.lastResponse;
+ }
+
+ public boolean isConnected() {
+ return this.connected;
+ }
+
+ public void postMessage(String message, String via, String pool, String realm, String metadata,String replyTo) {
+ List<NameValuePair> qparams = new ArrayList<NameValuePair>();
+ qparams.add(new BasicNameValuePair("message", message));
+ if (!(via.equals(""))) {qparams.add(new BasicNameValuePair("via", via)); }
+ if (!(pool.equals(""))) {qparams.add(new BasicNameValuePair("pool", pool)); }
+ if (!(realm.equals(""))) {qparams.add(new BasicNameValuePair("realm", realm)); }
+ if (!(metadata.equals(""))) {qparams.add(new BasicNameValuePair("metadata", metadata)); }
+
+ try {
+ URI uri = URIUtils.createURI(this.protocol, this.host, this.port, this.path+"/api2/user/messages", URLEncodedUtils.format(qparams, "UTF-8"), null);
+ HttpPost httppost= new HttpPost(uri);
+ System.out.println("string: " + httppost.getURI());
+ HttpResponse logonResponse= this.httpclient.execute(httppost);
+ System.err.println(logonResponse.getStatusLine().getStatusCode());
+ System.err.println(logonResponse.getStatusLine().getReasonPhrase());
+ System.err.println(logonResponse.getStatusLine().toString());
+ if (logonResponse.getStatusLine().getStatusCode()==200) {
+ this.connected=true;
+ } else {
+ this.connected=false;
+ }
+ HttpEntity entity = logonResponse.getEntity();
+ if (entity != null) {
+ entity = new BufferedHttpEntity(entity);
+ this.lastResponse= EntityUtils.toString(entity);
+ }
+ } catch (URISyntaxException e) {
+
+ e.printStackTrace();
+ } catch (ClientProtocolException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+
+
+}