|
From: <jbo...@li...> - 2005-08-25 14:13:53
|
Author: szimano
Date: 2005-08-25 10:13:46 -0400 (Thu, 25 Aug 2005)
New Revision: 958
Modified:
trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/FileDataSource.java
trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/MediaDataSource.java
Log:
works also when file structure is incomplete
Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/FileDataSource.java
===================================================================
--- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/FileDataSource.java 2005-08-25 13:43:49 UTC (rev 957)
+++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/FileDataSource.java 2005-08-25 14:13:46 UTC (rev 958)
@@ -31,6 +31,8 @@
* </p>
*
*/
+ private final String SAVE_COMMENT = "Saved by FileDataSource of JBoss Wiki";
+
private final String propFileName = "filedatasource.properties";// "/home/tomek/java/sandbox/new_svn/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/filedatasource.properties";
private String pathToMedia;
@@ -160,8 +162,7 @@
properties.setProperty(page.getLastVersion() + ".author", page
.getLastAuthor().getName());
- properties.store(pageWriter,
- "Saved by FileDataSource of JBoss Wiki");
+ properties.store(pageWriter, SAVE_COMMENT);
pageWriter.close();
@@ -197,21 +198,42 @@
public Properties getPageProps(String pageName) {
Properties pageProps = new Properties();
-
+
try {
- FileInputStream fpi = new FileInputStream(new File(pathToMedia + "/OLD/"
- + pageName + "/page.properties"));
+ FileInputStream fpi = new FileInputStream(new File(pathToMedia
+ + "/OLD/" + pageName + "/page.properties"));
pageProps.load(fpi);
fpi.close();
} catch (IOException ioe) {
- //TODO make file structure if this happens
-
- //System.err.println("Cannot read page.properties for page: "
- // + pageName + " file: " + pathToMedia + "/OLD/" + pageName
- // + "/page.properties\n" + ioe);
- return null;
+ // There is no prop file for some reson - create one.
+
+ File pagePropsFile = new File(pathToMedia + "/OLD/" + pageName);
+
+ // create dirs
+ pagePropsFile.mkdirs();
+
+ // create file
+ pagePropsFile = new File(pathToMedia + "/OLD/" + pageName
+ + "/page.properties");
+
+ try {
+ pagePropsFile.createNewFile();
+
+ if (pageExists(pageName)) {
+ // if page exists it looks like there is lack of the props structure
+ FileOutputStream fpo = new FileOutputStream(pagePropsFile);
+
+ pageProps.setProperty("1.author", "unknown");
+ pageProps.store(fpo, SAVE_COMMENT);
+ fpo.close();
+ }
+
+ } catch (IOException e) {
+ System.err.println("Cannot create page props file for page: "
+ + pageName);
+ }
+ return pageProps;
}
-
return pageProps;
}
@@ -249,8 +271,7 @@
try {
props.store(new FileOutputStream(new File(pathToAttachments + "/"
+ pageName + "-att/" + attName
- + "-dir/attachment.properties")),
- "Saved by FileDataSource of JBoss Wiki");
+ + "-dir/attachment.properties")), SAVE_COMMENT);
} catch (Exception ioe) {
System.err
.println("Cannot store attchement.properties for attachement: "
@@ -308,7 +329,6 @@
page.setLength(pageFile.length());
}
}
-
return page;
@@ -324,15 +344,9 @@
System.out
.println("As for now, languages aren't supported in the wiki. Please do not use language codes");
}
- // TODO Auto-generated method stub
return getPage(pageName);
}
- public boolean save(Media media) {
- // TODO Auto-generated method stub
- return false;
- }
-
public WikiPage getPageAtVersion(WikiPage originPage, boolean loadContent,
String languageCode, int version) {
if (languageCode != null) {
Modified: trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/MediaDataSource.java
===================================================================
--- trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/MediaDataSource.java 2005-08-25 13:43:49 UTC (rev 957)
+++ trunk/forge/portal-extensions/forge-wiki/src/java/org/jboss/wiki/MediaDataSource.java 2005-08-25 14:13:46 UTC (rev 958)
@@ -23,18 +23,11 @@
* @return
*/
public boolean preSave();
+
/**
* <p>Does ...</p>
*
*
- * @return
- * @param media
- */
- public boolean save(Media media);
-/**
- * <p>Does ...</p>
- *
- *
* @param page
* @return
* @param languageCode
|