[prev in list] [next in list] [prev in thread] [next in thread]
List: slide-dev
Subject: cvs commit: jakarta-slide/src/share/org/apache/slide/util/resources messages.properties
From: remm () locus ! apache ! org
Date: 2000-08-02 4:28:17
[Download RAW message or body]
remm 00/08/01 21:28:15
Modified: src/share/org/apache/slide/store
ContentStoreFilesystemImpl.java
src/share/org/apache/slide/util/resources
messages.properties
Log:
- Uses InputStream instead of Reader in the FileSystem store
Revision Changes Path
1.4 +58 -46 \
jakarta-slide/src/share/org/apache/slide/store/ContentStoreFilesystemImpl.java
Index: ContentStoreFilesystemImpl.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/store/ContentStoreFilesystemImpl.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ContentStoreFilesystemImpl.java 2000/07/27 15:14:47 1.3
+++ ContentStoreFilesystemImpl.java 2000/08/02 04:28:07 1.4
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/store/ContentStoreFilesystemImpl.java,v \
1.3 2000/07/27 15:14:47 remm Exp $
- * $Revision: 1.3 $
- * $Date: 2000/07/27 15:14:47 $
+ * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/store/ContentStoreFilesystemImpl.java,v \
1.4 2000/08/02 04:28:07 remm Exp $ + * $Revision: 1.4 $
+ * $Date: 2000/08/02 04:28:07 $
*
* ====================================================================
*
@@ -75,7 +75,7 @@
* Filesystem implementation of ContentStore.
*
* @author <a href="mailto:remm@exoffice.com">Remy Maucherat</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public class ContentStoreFilesystemImpl extends ServiceImpl
implements ContentStore {
@@ -205,10 +205,12 @@
String revisionUri = uri.toString() + "_" + revisionNumber;
try {
File file = new File(rootpath + revisionUri);
+ FileInputStream is = new FileInputStream(file);
InputStreamReader reader = new InputStreamReader
- (new FileInputStream(file), CHARACTER_ENCODING);
+ (is, CHARACTER_ENCODING);
result = new NodeRevisionContent();
result.setContent(reader);
+ result.setContent(is);
} catch (FileNotFoundException e) {
e.printStackTrace();
throw new RevisionNotFoundException(uri.toString(),
@@ -243,37 +245,40 @@
parentFile.mkdirs();
}
- boolean created = file.exists();
+ boolean created = !file.exists();
if (!created) {
throw new RevisionAlreadyExistException
(uri.toString(), revisionDescriptor.getRevisionNumber());
}
- OutputStreamWriter writer = new OutputStreamWriter
- (new FileOutputStream(file), CHARACTER_ENCODING);
+ InputStream is = revisionContent.streamContent();
- Reader reader = revisionContent.readContent();
-
- // We copy 8 ko with each read
- char[] buffer = new char[BUFFER_SIZE];
- long position = 0;
- long contentLength = revisionDescriptor.getContentLength();
-
- System.out.println("Content length : " + contentLength);
-
- int nChar = 0;
- while (position < contentLength) {
- if (contentLength - position > BUFFER_SIZE) {
- nChar = reader.read(buffer, 0, BUFFER_SIZE);
- } else {
- nChar = reader.read(buffer, 0,
- (int) (contentLength - position));
+ if (is != null) {
+ OutputStream os = new FileOutputStream(file);
+ // We copy 8 ko with each read
+ byte[] buffer = new byte[BUFFER_SIZE];
+ long position = 0;
+ long contentLength = revisionDescriptor.getContentLength();
+
+ int nChar = 0;
+ while (position < contentLength) {
+ nChar = is.read(buffer, 0, BUFFER_SIZE);
+ if (nChar == -1) {
+ break;
+ }
+ os.write(buffer, 0, nChar);
+ position = position + nChar;
+ }
+ is.close();
+ os.close();
+
+ if (position < contentLength) {
+ // Not enough bytes read !!!
+ throw new IOException("Not enough bytes read");
}
- writer.write(buffer, 0, nChar);
- position = position + nChar;
+ } else {
}
- reader.close();
- writer.close();
+
} catch (IOException e) {
e.printStackTrace();
throw new ServiceAccessException(this, e.getMessage());
@@ -299,27 +304,34 @@
+ revisionDescriptor.getRevisionNumber();
try {
File file = new File(rootpath + revisionUri);
- OutputStreamWriter writer = new OutputStreamWriter
- (new FileOutputStream(file), CHARACTER_ENCODING);
- Reader reader = revisionContent.readContent();
+
+ InputStream is = revisionContent.streamContent();
- // We copy 8 ko with each read
- char[] buffer = new char[BUFFER_SIZE];
- long position = 0;
- long contentLength = revisionDescriptor.getContentLength();
- int nChar = 0;
- while (position < contentLength) {
- if (contentLength - position > BUFFER_SIZE) {
- nChar = reader.read(buffer, 0, BUFFER_SIZE);
- } else {
- nChar = reader.read(buffer, 0,
- (int) (contentLength - position));
+ if (is != null) {
+ OutputStream os = new FileOutputStream(file);
+ // We copy 8 ko with each read
+ byte[] buffer = new byte[BUFFER_SIZE];
+ long position = 0;
+ long contentLength = revisionDescriptor.getContentLength();
+
+ int nChar = 0;
+ while (position < contentLength) {
+ nChar = is.read(buffer, 0, BUFFER_SIZE);
+ if (nChar == -1) {
+ break;
+ }
+ os.write(buffer, 0, nChar);
+ position = position + nChar;
+ }
+ is.close();
+ os.close();
+
+ if (position < contentLength) {
+ // Not enough bytes read !!!
+ throw new IOException("Not enough bytes read");
}
- writer.write(buffer, 0, nChar);
- position = position + nChar;
+ } else {
}
- reader.close();
- writer.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
1.2 +4 -2 \
jakarta-slide/src/share/org/apache/slide/util/resources/messages.properties
Index: messages.properties
===================================================================
RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/util/resources/messages.properties,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- messages.properties 2000/05/09 02:47:30 1.1
+++ messages.properties 2000/08/02 04:28:11 1.2
@@ -1,9 +1,9 @@
#
# Slide messages
#
-# $Id: messages.properties,v 1.1 2000/05/09 02:47:30 remm Exp $
+# $Id: messages.properties,v 1.2 2000/08/02 04:28:11 remm Exp $
#
-# @version $Revision: 1.1 $ $Date: 2000/05/09 02:47:30 $
+# @version $Revision: 1.2 $ $Date: 2000/08/02 04:28:11 $
#
#
@@ -98,6 +98,8 @@
#
# Messages produced by webdav
#
+org.apache.slide.webdav.GetMethod.directorylistingfor=\
+ Directory listing for
#
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic