cziegeler 02/05/21 07:14:51 Modified: src/java/org/apache/cocoon/webapps/session/connector ResourceConnector.java ResourceConnectorImpl.java Log: Removing some methods, I hope to get rid of the resource connector as soon as possible. Revision Changes Path 1.4 +1 -32 xml-cocoon2/src/java/org/apache/cocoon/webapps/session/connector/ResourceConnector.java Index: ResourceConnector.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/webapps/session/connector/ResourceConnector.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ResourceConnector.java 2 May 2002 10:41:20 -0000 1.3 +++ ResourceConnector.java 21 May 2002 14:14:51 -0000 1.4 @@ -70,7 +70,7 @@ * identifies the resource itself (filename, http-address etc). * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Id: ResourceConnector.java,v 1.3 2002/05/02 10:41:20 cziegeler Exp $ + * @version CVS $Id: ResourceConnector.java,v 1.4 2002/05/21 14:14:51 cziegeler Exp $ */ public interface ResourceConnector extends Component { @@ -160,35 +160,4 @@ LexicalHandler lexicalHandler) throws ProcessingException; - /** - * Get the content of a resource. - * This method can be used to get any data from a resource, not only xml. - * The data is represented by a String. - * - * @param resourceType The type of the connection. - * @param typeParameters Connection Parameters. - * @param resourceIdentifier The resource name (filename, http address etc) - * @param resourceParameters Parameters for the resource. - */ - public String getContent(int resourceType, - Parameters typeParameters, - String resourceIdentifier, - SourceParameters resourceParameters) - throws ProcessingException; - - /** - * Save a String to a resource. - * - * @param resourceType The type of the connection. - * @param typeParameters Connection Parameters. - * @param resourceIdentifier The resource name (filename, http address etc) - * @param resourceParameters Parameters for the resource. - * @param content The data to be saved. - */ - public void saveContent(int resourceType, - Parameters typeParameters, - String resourceIdentifier, - SourceParameters resourceParameters, - String content) - throws ProcessingException; } 1.4 +1 -262 xml-cocoon2/src/java/org/apache/cocoon/webapps/session/connector/ResourceConnectorImpl.java Index: ResourceConnectorImpl.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/webapps/session/connector/ResourceConnectorImpl.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ResourceConnectorImpl.java 2 May 2002 10:41:20 -0000 1.3 +++ ResourceConnectorImpl.java 21 May 2002 14:14:51 -0000 1.4 @@ -98,7 +98,7 @@ * The Component for loading and saving xml to external resource connectors. * * @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a> - * @version CVS $Id: ResourceConnectorImpl.java,v 1.3 2002/05/02 10:41:20 cziegeler Exp $ + * @version CVS $Id: ResourceConnectorImpl.java,v 1.4 2002/05/21 14:14:51 cziegeler Exp $ */ public final class ResourceConnectorImpl extends AbstractLoggable @@ -357,40 +357,6 @@ } /** - * Save XML to an URI. The fragment is passed to the resource as the value - * of the parameter "content". - */ - private void saveContentToURI(Parameters typeParameters, - String uri, - SourceParameters resourceParameters, - String content) - throws IOException, SAXException, SourceException, ProcessingException { - if (this.getLogger().isDebugEnabled() == true) { - this.getLogger().debug("BEGIN saveContentToURI content="+content+ - ", typeParams="+typeParameters+ - ", uri=" + uri + - ", parameters="+resourceParameters); - } - if (uri == null || uri.trim().length() == 0) { - throw new IllegalArgumentException("saveContentToURI: URI is required"); - } - - if (resourceParameters == null) { - resourceParameters = new SourceParameters(); - } else { - resourceParameters = (SourceParameters)resourceParameters.clone(); - } - resourceParameters.setSingleParameterValue("content", content); - - // The trick here is that we do a simple loadXML and ignore the result - this.loadXMLFromURI(typeParameters, uri, resourceParameters); - - if (this.getLogger().isDebugEnabled() == true) { - this.getLogger().debug("END saveContentToURI"); - } - } - - /** * Load XML by using an XMLLoader */ private DocumentFragment loadXMLFromClass(Parameters typeParameters, @@ -580,54 +546,6 @@ } } - /** - * Save XML to a file - */ - private void saveContentToFile(Parameters typeParameters, - String fileName, - SourceParameters resourceParameters, - String content) - throws SAXException, IOException, SourceException, ProcessingException { - if (this.getLogger().isDebugEnabled() == true) { - this.getLogger().debug("BEGIN saveContentToFile content="+content+ - ", typeParams="+typeParameters+ - ", file=" + fileName + - ", params="+resourceParameters); - } - try { - Source input = null; - try { - input = this.resolver.resolveURI(fileName); - String absolutePath = input.getSystemId(); - if (absolutePath.startsWith("file:") == false) { - throw new ProcessingException("Saving to " + fileName + " is not possible."); - } - File file = new File(absolutePath.substring("file:".length())); - if (file.exists() == false) { - File directory = file.getParentFile(); - if (directory.exists() == false) { - directory.mkdirs(); - } - file.createNewFile(); - } - Writer writer = new BufferedWriter(new FileWriter(file)); - writer.write(content); - writer.flush(); - writer.close(); - writer = null; - } finally { - this.resolver.release(input); - input = null; - } - - } catch (IOException ioe) { - throw new ProcessingException("saveContentToFile: IOException: " + ioe, ioe); - } - - if (this.getLogger().isDebugEnabled() == true) { - this.getLogger().debug("END saveContentToFile"); - } - } /** * Load an XML Fragment from a resource @@ -834,183 +752,4 @@ } - /** - * Get the content of a uri - */ - private String getContentFromURI(Parameters typeParameters, - String uri, - SourceParameters resourceParameters) - throws SAXException, ProcessingException, SourceException, IOException { - if (this.getLogger().isDebugEnabled() == true) { - this.getLogger().debug("BEGIN getContentFromURI uri=" + uri + - ", typeParams="+typeParameters+ - ", parameters="+resourceParameters); - } - String content = null; - - if (uri == null || uri.trim().length() == 0) { - throw new IllegalArgumentException("getContentFromURI: URI is required"); - } - - long startTime = System.currentTimeMillis(); - Source input = null; - try { - input = this.getSource(uri, typeParameters, resourceParameters); - InputStream stream = input.getInputStream(); - StringBuffer buffer = new StringBuffer(); - //String encoding = source.getEncoding(); - int available; - byte[] data; - do { - available = 1024; - data = new byte[available]; - available = stream.read(data, 0, available); - if (available > 0) { - //if (encoding == null) { - buffer.append(new String(data, 0, available)); - //} else { - // buffer.append(new String(data, 0, available, encoding)); - //} - } - } while (available > 0); - content = buffer.toString(); - } finally { - this.resolver.release(input); - input = null; - } - - if (this.getLogger().isDebugEnabled() == true) { - this.getLogger().debug("END getContentFromURI content="+content); - } - return content; - } - - /** - * Get the content of a file - */ - private String getContentFromFile(Parameters typeParameters, - String filename, - SourceParameters resourceParameters) - throws SAXException, ProcessingException, SourceException, IOException { - if (this.getLogger().isDebugEnabled() == true) { - this.getLogger().debug("BEGIN getContentFromFile filename=" + filename + - ", typeParams="+typeParameters+ - ", parameters="+resourceParameters); - } - String content; - Source input = null; - try { - input = this.resolver.resolveURI(filename); - String absolutePath = input.getSystemId(); - if (absolutePath.startsWith("file:") == false) { - throw new ProcessingException("Saving to " + filename + " is not possible."); - } - File file = new File(absolutePath.substring("file:".length())); - byte[] data = null; - InputStream fis = new FileInputStream(file); - int available; - byte[] tempData; - byte[] copyData; - do { - available = 1024; - tempData = new byte[available]; - available = fis.read(tempData, 0, available); - if (available > 0) { - copyData = new byte[(data == null ? 0 : data.length) + available]; - if (data != null) { - System.arraycopy(data, 0, copyData, 0, data.length); - } - System.arraycopy(tempData, 0, copyData, (data == null ? 0 : data.length), available); - data = copyData; - } - } while (available > 0); - fis.close(); - content = (data == null ? "" : new String(data)); - } catch (FileNotFoundException local) { - throw new ResourceNotFoundException("File not found '" + filename + "'", local); - } finally { - this.resolver.release(input); - input = null; - } - if (this.getLogger().isDebugEnabled() == true) { - this.getLogger().debug("END getContentFromFile content="+content); - } - return content; - } - - /** - * Get the content - */ - public String getContent(int resourceType, - Parameters typeParameters, - String resourceIdentifier, - SourceParameters resourceParameters) - throws ProcessingException { - String content = null; - - try { - switch (resourceType) { - case ResourceConnector.RESOURCE_TYPE_URI: content = this.getContentFromURI(typeParameters, - resourceIdentifier, resourceParameters); - break; - case ResourceConnector.RESOURCE_TYPE_CLASS: - throw new ProcessingException("getContent: Type class not implemented."); - case ResourceConnector.RESOURCE_TYPE_FILE: content = this.getContentFromFile(typeParameters, - resourceIdentifier, resourceParameters); - break; - default: throw new ProcessingException("ResourceConnector: type " + - resourceType + " not supported."); - } - } catch (SourceException local) { - throw new ProcessingException("SourceException: " + local, local); - } catch (SAXException local) { - throw new ProcessingException("SAXException: " + local, local); - } catch (IOException local) { - throw new ProcessingException("IOException: " + local, local); - } - return content; - } - - /** - * Save a String to a resource. - * - * @param resourceType The type of the connection. - * @param typeParameters Connection Parameters. - * @param resourceIdentifier The resource name (filename, http address etc) - * @param resourceParameters Parameters for the resource. - * @param content The data to be saved. - */ - public void saveContent(int resourceType, - Parameters typeParameters, - String resourceIdentifier, - SourceParameters resourceParameters, - String content) - throws ProcessingException { - try { - switch (resourceType) { - case ResourceConnector.RESOURCE_TYPE_URI: - this.saveContentToURI(typeParameters, - resourceIdentifier, - resourceParameters, - content); - break; - case ResourceConnector.RESOURCE_TYPE_CLASS: - throw new ProcessingException("saveContent: Type class not implemented."); - case ResourceConnector.RESOURCE_TYPE_FILE: - this.saveContentToFile(typeParameters, - resourceIdentifier, - resourceParameters, - content); - break; - default: throw new ProcessingException("ResourceConnector: type " + - resourceType + " not supported."); - } - } catch (SourceException local) { - throw new ProcessingException("SourceException: " + local, local); - } catch (SAXException local) { - throw new ProcessingException("SAXException: " + local, local); - } catch (IOException local) { - throw new ProcessingException("IOException: " + local, local); - } - } }
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]