use of com.sldeditor.rendertransformation.BuiltInProcessFunction in project sldeditor by robward-scisys.
the class BuiltInProcessFunctionTest method testExtractParametersFunctionName.
/**
* Test method for
* {@link com.sldeditor.rendertransformation.BuiltInProcessFunction#extractParameters(org.opengis.filter.capability.FunctionName, org.geotools.process.function.ProcessFunction)}.
*/
@Test
public void testExtractParametersFunctionName() {
BuiltInProcessFunction obj = new BuiltInProcessFunction();
List<ProcessFunctionParameterValue> valueList = obj.extractParameters(null, null);
assertTrue(valueList.isEmpty());
ProcessFunctionFactory processFunctionFactory = new ProcessFunctionFactory();
List<FunctionName> functionNameList = processFunctionFactory.getFunctionNames();
for (FunctionName functionName : functionNameList) {
valueList = obj.extractParameters(functionName, null);
assertEquals(functionName.getArguments().size(), valueList.size());
for (int index = 0; index < functionName.getArguments().size(); index++) {
Parameter<?> expectedParameter = functionName.getArguments().get(index);
ProcessFunctionParameterValue actualParameter = valueList.get(index);
assertTrue(functionName.getName(), expectedParameter.getName().compareTo(actualParameter.name) == 0);
assertEquals(functionName.getName(), expectedParameter.getType(), actualParameter.type);
assertTrue(functionName.getName(), expectedParameter.getType().getSimpleName().compareTo(actualParameter.dataType) == 0);
assertEquals(functionName.getName(), !expectedParameter.isRequired(), actualParameter.optional);
assertEquals(functionName.getName(), expectedParameter.getMinOccurs(), actualParameter.minOccurences);
assertEquals(functionName.getName(), expectedParameter.getMaxOccurs(), actualParameter.maxOccurences);
}
}
System.out.println(String.format("Tested %d functions", functionNameList.size()));
}
use of com.sldeditor.rendertransformation.BuiltInProcessFunction in project sldeditor by robward-scisys.
the class BuiltInProcessFunctionTest method testExtractParametersProcessFunction.
/**
* Test method for
* {@link com.sldeditor.rendertransformation.BuiltInProcessFunction#extractParameters(org.opengis.filter.capability.FunctionName, org.geotools.process.function.ProcessFunction)}.
*/
@Test
public void testExtractParametersProcessFunction() {
BuiltInProcessFunction obj = new BuiltInProcessFunction();
String testData = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" + "<StyledLayerDescriptor version=\"1.0.0\" xsi:schemaLocation=\"http://www.opengis.net/sld StyledLayerDescriptor.xsd\" xmlns=\"http://www.opengis.net/sld\" xmlns:ogc=\"http://www.opengis.net/ogc\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + "<ogc:Function name=\"vec:PointStacker\">" + "<ogc:Function name=\"parameter\">" + " <ogc:Literal>data</ogc:Literal>" + "</ogc:Function>" + "<ogc:Function name=\"parameter\">" + " <ogc:Literal>cellSize</ogc:Literal>" + " <ogc:Literal>30</ogc:Literal>" + "</ogc:Function>" + "<ogc:Function name=\"parameter\">" + " <ogc:Literal>outputBBOX</ogc:Literal>" + " <ogc:Function name=\"env\">" + " <ogc:Literal>wms_bbox</ogc:Literal>" + " </ogc:Function>" + "</ogc:Function>" + "<ogc:Function name=\"parameter\">" + " <ogc:Literal>outputWidth</ogc:Literal>" + " <ogc:Function name=\"env\">" + " <ogc:Literal>wms_width</ogc:Literal>" + " </ogc:Function>" + "</ogc:Function>" + "<ogc:Function name=\"parameter\">" + " <ogc:Literal>outputHeight</ogc:Literal>" + " <ogc:Function name=\"env\">" + " <ogc:Literal>wms_height</ogc:Literal>" + " </ogc:Function>" + " </ogc:Function>" + "</ogc:Function>" + "</StyledLayerDescriptor>";
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
ProcessFunction tx = null;
try {
builder = factory.newDocumentBuilder();
InputSource is = new InputSource(new StringReader(testData));
Document doc = builder.parse(is);
ExpressionDOMParser parser = new ExpressionDOMParser(CommonFactoryFinder.getFilterFactory2(null));
tx = (ProcessFunction) parser.expression(doc.getDocumentElement().getFirstChild());
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
List<ProcessFunctionParameterValue> valueList = obj.extractParameters(null, tx);
assertTrue(valueList.isEmpty());
ProcessFunctionFactory processFunctionFactory = new ProcessFunctionFactory();
for (FunctionName functionName : processFunctionFactory.getFunctionNames()) {
if (functionName.getName().compareTo("PointStacker") == 0) {
valueList = obj.extractParameters(functionName, tx);
assertEquals(functionName.getArguments().size(), valueList.size());
}
}
}
Aggregations