public synchronized StreamBufferStore newInputSink() { LOG.debug( "Allocating new sink for temporarily storing complex input parameter." ); String outputId = generateInputId(); String resourceName = INPUT_PREFIX + outputId; File resourceFile = new File( baseDir, resourceName ); if ( resourceFile.exists() ) { LOG.debug( "File '" + resourceFile + "' already exists. Deleting it." ); resourceFile.delete(); } return new StreamBufferStore( inputDiskSwitchLimit, resourceFile ); }
public synchronized OutputStorage newOutputStorage( String mimeType ) throws IOException { LOG.debug( "Allocating new storage location for publishing output parameter." ); String outputId = generateOutputId(); String resourceName = OUTPUT_PREFIX + outputId; File resourceFile = new File( baseDir, resourceName ); if ( resourceFile.exists() ) { LOG.debug( "File '" + resourceFile + "' already exists. Deleting it." ); resourceFile.delete(); } return new OutputStorage( resourceFile, outputId, mimeType ); }
public ResponseDocumentStorage newResponseDocumentStorage( String getUrl ) { LOG.debug( "Allocating new storage location for publishing response document." ); String responseId = generateResponseId(); String resourceName = RESPONSE_PREFIX + responseId; File resourceFile = new File( baseDir, resourceName ); if ( resourceFile.exists() ) { LOG.debug( "File '" + resourceFile + "' already exists. Deleting it." ); resourceFile.delete(); } return new ResponseDocumentStorage( resourceFile, responseId, getUrl ); }
private void doGetResponseDocument( String responseId, HttpResponseBuffer response ) { LOG.trace( "doGetResponseDocument invoked, requested stored response document: " + responseId ); ResponseDocumentStorage resource = storageManager.lookupResponseDocumentStorage( responseId, getHttpGetURL() ); executeHandler.sendResponseDocument( response, resource ); LOG.trace( "doGetResponseDocument finished" ); }
private void doGetOutput( String storedOutputId, HttpResponseBuffer response ) { LOG.trace( "doGetOutput invoked, requested stored output: " + storedOutputId ); OutputStorage resource = storageManager.lookupOutputStorage( storedOutputId ); if ( resource == null ) { try { response.sendError( 404, "No stored output with id '" + storedOutputId + "' found." ); } catch ( IOException e ) { LOG.debug( "Error sending exception report to client.", e ); } } else { resource.sendResource( response ); } LOG.trace( "doGetOutput finished" ); }
throw new ResourceInitException( msg ); storageManager = new StorageManager( storageDir, inputDiskSwitchLimit );
StreamBufferStore store = storageManager.newInputSink(); LOG.debug( "Storing embedded ComplexInput as XML" ); XMLStreamReader xmlReader = complexDataElement.getXMLStreamReaderWithoutCaching();
/** * Creates a {@link ProcessletOutput} parameter object for storing a requested process output value. * * @param outputDef * @return object for storing the corresponding process output value */ private ProcessletOutput createOutputParameter( RequestedOutput outputDef ) throws OWSException { ProcessletOutput processOutput = null; ProcessletOutputDefinition outputType = outputDef.getOutputType(); if ( outputType instanceof BoundingBoxOutputDefinition ) { processOutput = new BoundingBoxOutputImpl( (BoundingBoxOutputDefinition) outputType, true ); } else if ( outputType instanceof LiteralOutputDefinition ) { processOutput = new LiteralOutputImpl( (LiteralOutputDefinition) outputType, outputDef.getUom(), true ); } else if ( outputType instanceof ComplexOutputDefinition ) { try { String requestedMimeType = outputDef.getMimeType(); String requestedEncoding = outputDef.getEncoding(); String requestedSchema = outputDef.getSchemaURL(); processOutput = new ComplexOutputImpl( (ComplexOutputDefinition) outputType, storageManager.newOutputStorage( requestedMimeType ), true, requestedMimeType, requestedSchema, requestedEncoding ); } catch ( Exception e ) { String msg = "Unable to create sink for complex output parameter: " + e.getMessage(); LOG.error( msg, e ); throw new OWSException( msg, NO_APPLICABLE_CODE ); } } return processOutput; }
responseStorage = storageManager.newResponseDocumentStorage( OGCFrontController.getHttpGetURL() );