private String getLiteralInputValue( ProcessletInputs in, String paramId ) { LiteralInput input = ( (LiteralInput) in.getParameter( paramId ) ); return input == null ? null : input.getValue(); }
private int determineSleepTime( LiteralInput input ) { int seconds = -1; String uom = input.getUOM(); LOG.debug( "dataType: " + input.getDataType() + ", uom: " + input.getUOM() ); // NOTE: it is guaranteed (by the deegree WPS) that the UOM is always // one of the UOMs specified in the process definition if ( "seconds".equals( uom ) ) { LOG.debug( "Sleep time given in seconds" ); seconds = (int) Double.parseDouble( input.getValue() ); } else if ( "minutes".equals( uom ) ) { LOG.debug( "Sleep time given in minutes" ); seconds = (int) ( Double.parseDouble( input.getValue() ) * 60 ); } return seconds; }
private static void exportLiteralInput( XMLStreamWriter writer, LiteralInput input ) throws XMLStreamException { // "wps:Data" element writer.writeStartElement( WPS_NS, "Data" ); // "wps:LiteralData" element writer.writeStartElement( WPS_NS, "LiteralData" ); // "dataType" attribute (optional) if ( input.getDataType() != null ) { writer.writeAttribute( "dataType", input.getDataType() ); } // "uom" attribute (optional) if ( input.getUOM() != null ) { writer.writeAttribute( "uom", input.getUOM() ); } writer.writeCharacters( input.getValue() ); writer.writeEndElement(); writer.writeEndElement(); }
@Override public void process( ProcessletInputs in, ProcessletOutputs out, ProcessletExecutionInfo info ) throws ProcessletException { double bufferDistance = Double.parseDouble( ( (LiteralInput) in.getParameter( "BufferDistance" ) ).getValue() ); ComplexInput gmlInputGeometry = (ComplexInput) in.getParameter( "GMLInput" ); Geometry geom = null; Geometry bufferedGeom = null; try { XMLStreamReader xmlReader = gmlInputGeometry.getValueAsXMLStream(); GMLStreamReader gmlReader = GMLInputFactory.createGMLStreamReader( GML_31, xmlReader ); geom = gmlReader.readGeometry(); bufferedGeom = geom.getBuffer( new Measure( new BigDecimal( bufferDistance ), "unity" ) ); } catch ( Exception e ) { throw new ProcessletException( "Error parsing parameter " + gmlInputGeometry.getIdentifier() + ": " + e.getMessage() ); } ComplexOutput gmlOutputGeometry = (ComplexOutput) out.getParameter( "BufferedGeometry" ); try { SchemaLocationXMLStreamWriter sw = new SchemaLocationXMLStreamWriter( gmlOutputGeometry.getXMLStreamWriter(), "http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/base/geometryAggregates.xsd" ); sw.setPrefix( "gml", GMLNS ); GMLStreamWriter gmlWriter = GMLOutputFactory.createGMLStreamWriter( GML_31, sw ); gmlWriter.write( bufferedGeom ); } catch ( Exception e ) { throw new ProcessletException( "Error exporting geometry: " + e.getMessage() ); } }