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]