0

52 North で 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 ファイルから間接的に参照されている

4

2 に答える 2

2

Maven 管理のプロジェクトを使用することをお勧めします。このようなプロジェクトを作成するために必要なすべてのアーティファクトは、パブリック 52north Maven リポジトリにあります (前述の 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 で管理されるオープン ソース プロジェクトのアーティファクトは、専用または中央のリポジトリでアクセスできる必要があります。そうしないと、プロジェクトのビルド セットアップが満たされません。したがって、一般的なアドバイスとしては、最初にプロジェクトの構造について調査を行うことです。

于 2013-04-18T07:36:14.960 に答える