I want to develope a wps process by 52 north and I shoud use org.n52.wps.server.AbstractSelfDescribingAlgorithm
so this class is inherit from net.opengis.wps.x100.ProcessDescriptionType
. My question is that which jar file contain this type and please tell me the url for download this jar file?!
My code is:
package www.gise.cse.iitb.ac.in;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.n52.wps.io.data.IData;
import org.n52.wps.io.data.binding.literal.LiteralDoubleBinding;
import org.n52.wps.server.AbstractSelfDescribingAlgorithm;
public class AddNumbersAlgo extends org.n52.wps.server.AbstractSelfDescribingAlgorithm {
@Override
public Class getInputDataType(String arg0) {
// TODO Auto-generated method stub
if (arg0.equals("Num1")){
//return GTVectorDataBinding.class;
return LiteralDoubleBinding.class;
}
if (arg0.equals("Num2")){
//return GTVectorDataBinding.class;
return LiteralDoubleBinding.class;
}
throw new RuntimeException("Error: WrongIdentifier");
}
@Override
public Class getOutputDataType(String arg0) {
// TODO Auto-generated method stub
if(arg0.equals("AdditionResult")){
return LiteralDoubleBinding.class;
}
throw new RuntimeException("Error: Wrong identifier");
}
@Override
public Map<String, IData> run(Map<String, List<IData>> arg0) {
if (arg0 == null || !arg0.containsKey("Num1")){
throw new RuntimeException("Error: While allocating Input Parameters");
}
if (arg0 == null || !arg0.containsKey("Num2")){
throw new RuntimeException("Error: While allocating Input Parameters");
}
List<IData> datalist = arg0.get("Num1");
if(datalist == null || datalist.size()!=1){
throw new RuntimeException("Error:While allocating Input Parameters");
}
//Checking for correctness of input
List<IData> datalist1 = arg0.get("Num2");
if(datalist1 == null || datalist1.size()!=1){
throw new RuntimeException("Error:While allocating Input Parameters");
}
//Extracting input
IData Num1 = datalist.get(0);
double firstNum = ((LiteralDoubleBinding)Num1).getPayload();
System.out.println(Num1);
System.out.println(firstNum);
IData Num2 = datalist1.get(0);
double secondNum = ((LiteralDoubleBinding)Num2).getPayload();
System.out.println(Num2);
System.out.println(secondNum);
double Result = firstNum + secondNum;
//double AdditionResult;
//create the response. In this case a GenericFileDataBinding is used (see this.getOutputDataType(...)
IData AdditionResult = new LiteralDoubleBinding(Result);
//new Map created
Map<String, IData> resultMap = new HashMap<String, IData>();
//created response added to corresponding identifier (see this.getOutputIdentifiers())
resultMap.put("AdditionResult", AdditionResult);
return resultMap;
}
@Override
public List<String> getInputIdentifiers() {
// TODO Auto-generated method stub
List<String> identifiers = new ArrayList<String>();
identifiers.add("Num1");
identifiers.add("Num2");
return identifiers;
}
@Override
public List<String> getOutputIdentifiers() {
// TODO Auto-generated method stub
List<String> identifiers = new ArrayList<String>();
identifiers.add("AdditionResult");
return identifiers;
}
and error is:
Multiple markers at this line
The type
net.opengis.wps.x100.ProcessDescriptionType
cannot be resolved. It is indirectly referenced from required .class filesThe type
net.opengis.wps.x100.ProcessDescriptionType
cannot be resolved. It is indirectly referenced from required .class files
It is hard to find any jars containing what you are searching for.
I found a subversion repository with the files in it. So I
mvn package
Now you have the jar file:
target/wps-1.0.0.jar
It is not optimal that you'll have to build it yourself but it solves the problem.
Your code may depend on other jar files as well but I guess that those are in the same repo.