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 |