我想在北52开发一个wps进程,我应该使用org.n52.wps.server.AbstractSelfDescribingAlgorithm,所以这个类是从net.opengis.wps.x100.ProcessDescriptionType继承的。我的问题是哪个jar文件包含这种类型,请告诉我下载这个jar文件的url?!我的代码是:
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;
}错误是:
这条线的多个标记
net.opengis.wps.x100.ProcessDescriptionType类型。它是从必需的.class文件间接引用的。net.opengis.wps.x100.ProcessDescriptionType类型。它是从必需的.class文件间接引用的。发布于 2013-04-17 15:22:50
很难找到任何包含你正在寻找的东西的罐子。
我找到了一个带有文件的subversion存储库。所以我
mvn package现在您有了jar文件:
target/wps-1.0.0.jar你必须自己构建它并不是最优的,但它解决了问题。
您的代码也可能依赖于其他jar文件,但我猜它们在同一个回购程序中。
发布于 2013-04-18 07:36:14
我建议使用maven管理的项目。创建这样一个项目所需的所有工件都在公共的52存储库上(包括您提到的XML绑定库)。下面的pom.xml应该很好地用作项目框架。它已经包含了前面提到的maven存储库。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>my.test.wps-project</groupId>
<artifactId>wps</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.n52.wps</groupId>
<artifactId>52n-wps-io</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.n52.wps</groupId>
<artifactId>52n-wps-algorithm</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>n52-releases</id>
<name>n52-releases</name>
<url>http://52north.org/maven/repo/releases/</url>
</repository>
</repositories>
</project>一般来说,maven管理的开源项目的工件应该可以在专用或中央存储库上访问。否则,项目生成设置将无法满足。因此,一般的建议是首先对项目结构进行一些调查。
https://stackoverflow.com/questions/16063652
复制相似问题