blob: 5c1d2b618a16b84acacbc29239bff7149adbd04a [file] [log] [blame]
package org.apache.axis2.savan.atom;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMOutputFormat;
import org.apache.savan.atom.AtomEventingClient;
import com.wso2.eventing.atom.CreateFeedResponseDocument.CreateFeedResponse;
public class AtomSample {
/**
* To run the sample
* <ol>
* <li>Install Axis2 with addressing Module</li>
* <li>Install some service, engage Savan with that service</li>
* <li>Set up Axis2 client repository in client machine with addressing module</li>
* <li>Run the sample with http://serviceHost:servicePort/services/<Service-Name>
* and <client-repostiory-location></li>
* </ol>
*
* Samples shows how to Create,Delete, publish to with SOAP/REST, and retrive a Feed.
* @param args
*/
public static void main(String[] args){
if(args.length != 2){
System.out.println("Usage: serviceUrl clientRepository");
}else{
try {
String serviceUrl = args[0];
AtomEventingClient atomEventingClient = new AtomEventingClient(serviceUrl,args[1]);
CreateFeedResponse createFeedResponse = atomEventingClient.createFeed("test Title","Srinath Perera");
System.out.println("Created Feed "+createFeedResponse.getFeedUrl() + " Sucessfully");
//publish to service using SOAP
atomEventingClient.publishWithSOAP(serviceUrl, getDummyMethodRequestElement (1), null);
//publish service using REST
atomEventingClient.publishWithREST(serviceUrl, getDummyMethodRequestElement (2), null);
//Get the feed using http GET
OMElement feedAsXml = atomEventingClient.fetchFeed(createFeedResponse.getFeedUrl());
feedAsXml.serialize(System.out,new OMOutputFormat());
System.out.println("Fetch Feed using HTTP Get, copy and paste url " + createFeedResponse.getFeedUrl() + " in browser to retirve the feed ");
System.out.println("Press any key to delete the feed");
System.in.read();
atomEventingClient.deleteFeed();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
private static final String applicationNamespaceName = "http://tempuri.org/";
private static final String dummyMethod = "dummyMethod";
private static OMElement getDummyMethodRequestElement(int i) {
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace namespace = fac.createOMNamespace(applicationNamespaceName,"ns1");
OMElement de = fac.createOMElement(dummyMethod, namespace);
de.setText(String.valueOf(i));
return de;
}
}