You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by st...@apache.org on 2002/08/19 09:57:21 UTC
cvs commit: xml-cocoon2/src/java/org/apache/cocoon/components/source WriteableSource.java
stephan 2002/08/19 00:57:21
Modified: src/java/org/apache/cocoon/components/source/impl
FileSource.java
src/java/org/apache/cocoon/components/source
WriteableSource.java
Log:
New methods COPY, MOVE, DELETE for WriteableSource.
Revision Changes Path
1.6 +43 -1 xml-cocoon2/src/java/org/apache/cocoon/components/source/impl/FileSource.java
Index: FileSource.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/source/impl/FileSource.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- FileSource.java 13 Jun 2002 09:48:49 -0000 1.5
+++ FileSource.java 19 Aug 2002 07:57:21 -0000 1.6
@@ -253,4 +253,46 @@
throw new IllegalArgumentException("The stream is not associated to this source");
}
+ /**
+ * Move the source to source.getSystemId(), including all properties
+ * deletes this source.
+ *
+ * @param source Destination of the source.
+ */
+ public void move(WriteableSource source) throws SourceException {
+ this.copy(source);
+ this.delete();
+ }
+
+ /**
+ * Copy the source to source.getSystemId(), including all properties.
+ *
+ * @param source Destination of the source.
+ */
+ public void copy(WriteableSource source) throws SourceException {
+ try {
+ OutputStream out = source.getOutputStream();
+ InputStream in = getInputStream();
+
+ byte[] buffer = new byte[8192];
+ int length = -1;
+
+ while ((length = in.read(buffer)) > -1) {
+ out.write(buffer, 0, length);
+ }
+ in.close();
+ out.flush();
+ out.close();
+ } catch (IOException ioe) {
+ throw new SourceException("Could not copy source : "+ioe.getMessage());
+ }
+ }
+
+ /**
+ * Delete the source.
+ */
+ public void delete() throws SourceException {
+ if (!this.file.delete())
+ throw new SourceException("Could not delete source.");
+ }
}
1.4 +22 -2 xml-cocoon2/src/java/org/apache/cocoon/components/source/WriteableSource.java
Index: WriteableSource.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/source/WriteableSource.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- WriteableSource.java 4 Jul 2002 11:46:05 -0000 1.3
+++ WriteableSource.java 19 Aug 2002 07:57:21 -0000 1.4
@@ -110,4 +110,24 @@
* After cancel, the stream should no more be used.
*/
void cancel(OutputStream stream) throws SourceException;
-}
\ No newline at end of file
+
+ /**
+ * Move the source to source.getSystemId(), including all properties
+ * deletes this source.
+ *
+ * @param source Destination of the source.
+ */
+ void move(WriteableSource source) throws SourceException;
+
+ /**
+ * Copy the source to source.getSystemId(), including all properties.
+ *
+ * @param source Destination of the source.
+ */
+ void copy(WriteableSource source) throws SourceException;
+
+ /**
+ * Delete the source.
+ */
+ void delete() throws SourceException;
+}
----------------------------------------------------------------------
In case of troubles, e-mail: webmaster@xml.apache.org
To unsubscribe, e-mail: cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org