首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪个jar文件包含net.opengis.wps.x100,我如何下载它?

哪个jar文件包含net.opengis.wps.x100,我如何下载它?
EN

Stack Overflow用户
提问于 2013-04-17 15:06:13
回答 2查看 485关注 0票数 0

我想在北52开发一个wps进程,我应该使用org.n52.wps.server.AbstractSelfDescribingAlgorithm,所以这个类是从net.opengis.wps.x100.ProcessDescriptionType继承的。我的问题是哪个jar文件包含这种类型,请告诉我下载这个jar文件的url?!我的代码是:

代码语言:javascript
复制
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文件间接引用的。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-17 15:22:50

很难找到任何包含你正在寻找的东西的罐子。

我找到了一个带有文件的subversion存储库。所以我

  • 签出http://geoengine.googlecode.com/svn/trunk/references/wps/的代码
  • Ran mvn package

现在您有了jar文件:

代码语言:javascript
复制
target/wps-1.0.0.jar

你必须自己构建它并不是最优的,但它解决了问题。

您的代码也可能依赖于其他jar文件,但我猜它们在同一个回购程序中。

票数 1
EN

Stack Overflow用户

发布于 2013-04-18 07:36:14

我建议使用maven管理的项目。创建这样一个项目所需的所有工件都在公共的52存储库上(包括您提到的XML绑定库)。下面的pom.xml应该很好地用作项目框架。它已经包含了前面提到的maven存储库。

代码语言:javascript
复制
<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管理的开源项目的工件应该可以在专用或中央存储库上访问。否则,项目生成设置将无法满足。因此,一般的建议是首先对项目结构进行一些调查。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16063652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档