static ProcessDescriptionType filterProcessDescription(ProcessDescriptionType description){ description.setStatusSupported(true); description.setStoreSupported(true); return description; }
public ProcessDescriptionType createDescribeProcessType(GeoAlgorithm algorithm) throws NullParameterAdditionalInfoException, UnsupportedGeoAlgorithmException{ ProcessDescriptionType pdt = ProcessDescriptionType.Factory.newInstance(); pdt.setStatusSupported(true); pdt.setStoreSupported(true); pdt.addNewAbstract().setStringValue(algorithm.getName()); pdt.addNewTitle().setStringValue(algorithm.getName()); pdt.addNewIdentifier().setStringValue(algorithm.getCommandLineName()); pdt.setProcessVersion("1.0.0"); //inputs DataInputs inputs = pdt.addNewDataInputs(); ParametersSet params = algorithm.getParameters(); for (int i = 0; i < params.getNumberOfParameters(); i++) { Parameter param = params.getParameter(i); addParameter(inputs, param); } //grid extent for raster layers (if needed) if (algorithm.getUserCanDefineAnalysisExtent()){ addGridExtent(inputs, algorithm.requiresRasterLayers()); } //outputs ProcessOutputs outputs = pdt.addNewProcessOutputs(); OutputObjectsSet ooset = algorithm.getOutputObjects(); for (int i = 0; i < ooset.getOutputObjectsCount(); i++) { Output out = ooset.getOutput(i); addOutput(outputs, out); } return pdt; }