r767 - trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication
Author: mfortun Date: 2011-04-08 12:18:32 +0200 (Fri, 08 Apr 2011) New Revision: 767 Url: http://nuiton.org/repositories/revision/wikitty/767 Log: *remove static attribut that don't have to be *change method to static (fileToWikitty) *partialy complete wikittyServiceFileSystem Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublication.java trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationFileSystem.java Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublication.java =================================================================== --- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublication.java 2011-04-08 09:43:14 UTC (rev 766) +++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublication.java 2011-04-08 10:18:32 UTC (rev 767) @@ -26,9 +26,7 @@ /** to use log facility, just put in your code: log.info(\"...\"); */ final static private Log log = LogFactory.getLog(WikittyPublication.class); - static protected WikittyPublicationFileSystem wikittyServiceFileSystem; static protected ApplicationConfig applicationConfig; - static protected WikittyProxy proxyWS; /* * static string for allias, wrong named attribut TODO mfortun-2011-04-06 @@ -164,8 +162,7 @@ // usage: wp --norecursion --ws http://truc.com import --dir /home/Manou // real code: - wikittyServiceFileSystem = new WikittyPublicationFileSystem(dir); - proxyWS = new WikittyProxy(applicationConfig); + WikittyProxy remoteWikittyService = new WikittyProxy(applicationConfig); // load the list of file List<File> toTransfert = listFile(dir, !noRecur); @@ -174,12 +171,11 @@ // transform file into wikitties for (File fileToTransform : toTransfert) { - listWikitty.add(wikittyServiceFileSystem - .objectToWikitty(fileToTransform)); + listWikitty.add(WikittyPublicationFileSystem.fileToWikitty(fileToTransform, dir)); } // send the wikitties - proxyWS.storeWikitty(listWikitty); + remoteWikittyService.storeWikitty(listWikitty); } @@ -244,8 +240,9 @@ + dir.getAbsolutePath() + "Label a checkout " + label + "HessianProtocol=" + hessianProtocole); - proxyWS = new WikittyProxy(applicationConfig); - wikittyServiceFileSystem = new WikittyPublicationFileSystem(dir); + WikittyProxy remoteWikittyService = new WikittyProxy(applicationConfig); + WikittyPublicationFileSystem localWikittyService = new WikittyPublicationFileSystem( + dir); // Construct the criteria Criteria labelCriteria; @@ -270,11 +267,11 @@ } // request to the proxy - List<Wikitty> wikittiesToWrite = proxyWS.findAllByCriteria( - labelCriteria).getAll(); + List<Wikitty> wikittiesToWrite = remoteWikittyService + .findAllByCriteria(labelCriteria).getAll(); // write the wikities - wikittyServiceFileSystem.store("", wikittiesToWrite, true); + localWikittyService.store("", wikittiesToWrite, true); /* * obtain the list of wikittypub and write then in the file system with Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationFileSystem.java =================================================================== --- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationFileSystem.java 2011-04-08 09:43:14 UTC (rev 766) +++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationFileSystem.java 2011-04-08 10:18:32 UTC (rev 767) @@ -1,14 +1,30 @@ package org.nuiton.wikitty.publication; +import java.io.BufferedInputStream; +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; import java.io.File; +import java.io.FileInputStream; +import java.io.FileReader; +import java.io.InputStreamReader; import java.util.Collection; import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.util.FileUtil; +import org.nuiton.util.StringUtil; import org.nuiton.wikitty.WikittyService; import org.nuiton.wikitty.entities.Wikitty; import org.nuiton.wikitty.entities.WikittyExtension; +import org.nuiton.wikitty.entities.WikittyImpl; +import org.nuiton.wikitty.entities.WikittyLabel; +import org.nuiton.wikitty.entities.WikittyLabelHelper; +import org.nuiton.wikitty.entities.WikittyLabelImpl; +import org.nuiton.wikitty.publication.entities.WikittyPubDataHelper; +import org.nuiton.wikitty.publication.entities.WikittyPubDataImpl; +import org.nuiton.wikitty.publication.entities.WikittyPubTextHelper; +import org.nuiton.wikitty.publication.entities.WikittyPubTextImpl; import org.nuiton.wikitty.search.Criteria; import org.nuiton.wikitty.search.PagedResult; import org.nuiton.wikitty.search.TreeNodeResult; @@ -20,25 +36,27 @@ /** to use log facility, just put in your code: log.info(\"...\"); */ final static private Log log = LogFactory .getLog(WikittyPublicationFileSystem.class); - + protected File homeFile; /** * Constructor with the working directory - * @param home the home directory + * + * @param home + * the home directory */ - public WikittyPublicationFileSystem(File home){ + public WikittyPublicationFileSystem(File home) { this.setHomeFile(home); } - + public File getHomeFile() { return homeFile; } + public void setHomeFile(File homeFile) { this.homeFile = homeFile; } - @Override public void addWikittyServiceListener(WikittyListener listener, ServiceListenerType type) { @@ -133,6 +151,9 @@ @Override public WikittyEvent store(String securityToken, Collection<Wikitty> wikitties, boolean force) { + + // StringUtil.encodeMD5(toEncode) + // TODO mfortun-2011-04-05 throw new UnsupportedOperationException("not yet implemented"); // return null; @@ -195,11 +216,11 @@ @Override public List<Wikitty> restore(String securityToken, List<String> id) { // TODO mfortun-2011-04-05 - + /* * */ - + throw new UnsupportedOperationException("not yet implemented"); // return null; @@ -265,23 +286,85 @@ } /** - * Transform an object into a wikitty object - * in this case a File into a wikittyPubText/Data - * @param object the objet to transform + * Transform an object into a wikitty object in this case a File into a + * wikittyPubText/Data + * + * @param fileToTransform + * the objet to transform + * @param starts + * the home directory of the fileToTransform use to contruct the + * label * @return the wikitty * @throws Exception */ /* * TODO mfortun-2011-04-07 correct the Exception's type */ - public Wikitty objectToWikitty(Object object) throws Exception { - if (object instanceof File) { - - return null; + static public Wikitty fileToWikitty(File fileToTransform, File starts) + throws Exception { + + String completeName = fileToTransform.getName(); + // isolate extension and file name + + String extension = FileUtil.extension(fileToTransform); + String name = FileUtil.basename(completeName, "." + extension); + // search for the mimetype + String mimeType = mimeTypeForExtension(extension); + + // prepare wikitty basics + Wikitty result = new WikittyImpl(); + result.addExtension(WikittyLabelImpl.extensionWikittyLabel); + + /* + * TODO mfortun-2011-04-08 need to parse the file name to create the + * label need to use starts directory. + */ + String pathToFile = fileToTransform.getCanonicalPath(); + + WikittyLabelHelper.addLabels(result, "path"); + + // InputStreamReader reader = new InputStreamReader( new + // FileReader(object)); + // reader. + + // complete with the correct extension with content + if (isMimeWikittyPubText(mimeType)) { + result.addExtension(WikittyPubTextImpl.extensionWikittyPubText); + WikittyPubTextHelper.setName(result, name); + WikittyPubTextHelper.setMimeType(result, mimeType); + WikittyPubTextHelper.setContent(result, + FileUtil.readAsString(fileToTransform)); } else { - throw new Exception(); + result.addExtension(WikittyPubDataImpl.extensionWikittyPubData); + WikittyPubDataHelper.setName(result, name); + WikittyPubDataHelper.setMimeType(result, mimeType); + + WikittyPubDataHelper.setContent(result, + FileUtil.fileToByte(fileToTransform)); } + return result; + } + /** + * Return the mime type for an extension name Extension + * + * @param ext + * @return + */ + static public String mimeTypeForExtension(String ext) { + return null; + } + + /** + * return if the mime type is associate to a wikittypubtext + * + * @param mime + * @return + */ + static public boolean isMimeWikittyPubText(String mime) { + return true; + } + }
participants (1)
-
mfortun@users.nuiton.org