Какой файл jar содержит net.opengis.wps.x100 и как его скачать?
Я хочу разработать процесс wps на 52 севера, и я должен использовать org.n52.wps.server.AbstractSelfDescribingAlgorithm
так что этот класс наследуется от net.opengis.wps.x100.ProcessDescriptionType
, Мой вопрос заключается в том, какой JAR-файл содержит этот тип, и, пожалуйста, скажите мне URL для загрузки этого JAR-файла?! Мой код:
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
2 ответа
Трудно найти какие-либо банки, содержащие то, что вы ищете.
Я нашел хранилище Subversion с файлами в нем. Так что я
- Извлек код из http://geoengine.googlecode.com/svn/trunk/references/wps/
- Ран
mvn package
Теперь у вас есть файл JAR:
target/wps-1.0.0.jar
Не оптимально, что вам придется создавать его самостоятельно, но это решает проблему.
Ваш код может зависеть и от других файлов JAR, но я думаю, что они находятся в том же репо.
Я бы порекомендовал использовать проект под управлением 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, должны быть доступны в выделенном или центральном хранилище. В противном случае настройки сборки проектов не будут выполнены. Таким образом, общий совет будет сначала провести некоторое исследование структуры проекта.