...
Code Block |
---|
package myappcode;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.UUID;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.appmashups.appcode.AppCode;
import com.appmashups.appcode.Context;
import com.appmashups.appcode.SaveResult;
import java.util.List;
public class HelloWorldSvc implements AppCode {
public static class HelloParameter{
public String id;
public String name;
public String value;
}
public static class HelloFilter{
public String key;
}
private List<HelloParameter> initParams ;
private String sessionKey;
static Logger logger = Logger.getLogger(HelloWorldSvc.class.getName());
@Override
public void close() throws RemoteException {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
logger.log(Level.INFO, "Hello World AppCode close called:" + sessionKey);
System.out.println("Hello World AppCode close called:" + sessionKey );
sessionKey = null;
}
@Override
public void open() throws RemoteException {
// TODO Auto-generated method stub
init();
sessionKey = UUID.randomUUID().toString();
logger.log(Level.INFO, "Hello World AppCode Session opened:" + sessionKey);
System.out.println("Hello World AppCode Session opened:" + sessionKey);
}
@Override
public void setContext(Context arg0) {
// TODO Auto-generated method stub
logger.log(Level.INFO, "Hello World AppCode Set Context called");
System.out.println("Hello World AppCode Set Context called");
}
private void init() {
initParams = new ArrayList<HelloWorldSvc.HelloParameter>();
HelloParameter initparam1 = new HelloParameter();
initparam1.id = "1";
initparam1.name = "Scott";
HelloParameter initparam2 = new HelloParameter();
initparam2.id = "2";
initparam2.name = "Tiger";
HelloParameter initparam3 = new HelloParameter();
initparam3.id = "3";
initparam3.name = "Matt";
initParams.add(initparam1);
initParams.add(initparam2);
initParams.add(initparam3);
}
public List<HelloParameter> readHello(HelloFilter filter){
logger.info("Received Read operation with filter:" + filter.key + ":with session" + sessionKey);
System.out.println("Received Read operation with filter:" + filter.key + ":with session" + sessionKey);
List<HelloParameter> returnList = new
ArrayList<HelloWorldSvc.HelloParameter>();
for(HelloParameter initParam : initParams) {
if(filter.key.equalsIgnoreCase(initParam.name)) {
//Now set the value to "Hello":name:sessionId
initParam.value = "Hello:"+initParam.name+":"+sessionKey;
System.out.println("Matched Key:" + initParam.name + ":value:" + initParam.value );
logger.info("Matched Key:" + initParam.name + ":value:" + initParam.value );
returnList.add(initParam);
}
}
return returnList;
}
public SaveResult[] writeHello(List<HelloParameter> inputParams){
List<SaveResult> saveResults = new ArrayList<SaveResult>();
logger.info("Received write operation with session" + sessionKey);
System.out.println("Received write operation with session" + sessionKey);
for(HelloParameter inputParam : inputParams) {
System.out.println("Received input parameter:id:" + inputParam.id + ":name:" + inputParam.name);
logger.info("Received input parameter:id:" + inputParam.id + ":name:" + inputParam.name);
inputParam.value = "Hello:"+inputParam.name+":"+sessionKey;
System.out.println("Writing value:" + inputParam.value );
logger.info("Writing value:" + inputParam.value);
SaveResult result = new SaveResult();
result.id = inputParam.id;
result.newid = inputParam.id+":"+sessionKey;
result.success = true;
saveResults.add(result);
}
return saveResults.toArray(new SaveResult[] {});
}
}
|
Code Block |
---|
@Test
public void testReadHello() {
try {
HelloWorldSvc svc = new HelloWorldSvc();
svc.setContext(null);
svc.open();
HelloFilter filter = new HelloFilter();
filter.key = "Scott";
svc.readHello(filter);
svc.close();
} catch (Exception e) {
e.printStackTrace();
}
}
|
Image Added
Now we will test the write operation where we take and Array of HelloParameter objects as input and the write operation prints it out
Panel |
---|
Wiki Markup |
---|
@Test
public void testWriteHello() {
try {
HelloWorldSvc svc = new HelloWorldSvc();
svc.setContext(null);
svc.open();
HelloParameter param = new HelloParameter();
param.name = "Test1";
param.id = "id1";
HelloParameter param2 = new HelloParameter();
param2.name = "Test1";
param2.id = "id2";
List<HelloParameter> inputParams = new
ArrayList<HelloWorldSvc.HelloParameter>();
svc.writeHello(inputParams);
svc.close();
} catch (Exception e) {
e.printStackTrace();
}
}
|
|