r687 - in trunk: simexplorer-is-entities/src/java/fr/cemagref/simexplorer/is/attachment simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service simexplorer-is-service/src/test/fr/cemagref/simexplorer/is/service simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/storage/attachment simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages
Author: glandais Date: 2008-02-06 10:44:22 +0000 (Wed, 06 Feb 2008) New Revision: 687 Modified: trunk/simexplorer-is-entities/src/java/fr/cemagref/simexplorer/is/attachment/Attachment.java trunk/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/ElementGenerator.java trunk/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/StorageServiceCommon.java trunk/simexplorer-is-service/src/test/fr/cemagref/simexplorer/is/service/StorageServiceMassInsert.java trunk/simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/storage/attachment/FileSystemAttachmentHandler.java trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/Install.java Log: Hash bug fix Modified: trunk/simexplorer-is-entities/src/java/fr/cemagref/simexplorer/is/attachment/Attachment.java =================================================================== --- trunk/simexplorer-is-entities/src/java/fr/cemagref/simexplorer/is/attachment/Attachment.java 2008-02-05 15:53:04 UTC (rev 686) +++ trunk/simexplorer-is-entities/src/java/fr/cemagref/simexplorer/is/attachment/Attachment.java 2008-02-06 10:44:22 UTC (rev 687) @@ -94,7 +94,7 @@ * the new data hash */ public void setDataHash(String dataHash) { - this.dataHash = dataHash; + this.dataHash = StringUtils.leftPad(dataHash, 32, '0'); } /** @@ -120,16 +120,4 @@ return hexHash; } - /** - * Gets the file name from unique id. - * - * @param uniqueId - * the unique id - * - * @return the file name from unique id - */ - public static String getFileNameFromUniqueId(String uniqueId) { - return uniqueId.substring(33); - } - } Modified: trunk/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/ElementGenerator.java =================================================================== --- trunk/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/ElementGenerator.java 2008-02-05 15:53:04 UTC (rev 686) +++ trunk/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/ElementGenerator.java 2008-02-06 10:44:22 UTC (rev 687) @@ -19,7 +19,6 @@ import java.io.ByteArrayInputStream; import java.io.InputStream; -import java.math.BigInteger; import java.util.Date; import java.util.HashMap; import java.util.HashSet; @@ -29,6 +28,7 @@ import java.util.UUID; import org.apache.commons.lang.RandomStringUtils; +import org.codelutin.util.MD5; import fr.cemagref.simexplorer.is.attachment.Attachment; import fr.cemagref.simexplorer.is.attachment.ContentTypeFactory; @@ -52,6 +52,57 @@ */ public class ElementGenerator { + /** + * The Class RandomStream. + */ + public class RandomStream { + + /** The stream. */ + private InputStream stream; + + /** The md5. */ + private String md5; + + /** + * Gets the stream. + * + * @return the stream + */ + public InputStream getStream() { + return stream; + } + + /** + * Sets the stream. + * + * @param stream + * the new stream + */ + public void setStream(InputStream stream) { + this.stream = stream; + } + + /** + * Gets the md5. + * + * @return the md5 + */ + public String getMd5() { + return md5; + } + + /** + * Sets the md5. + * + * @param md5 + * the new md5 + */ + public void setMd5(String md5) { + this.md5 = md5; + } + + } + /** The r. */ private Random r = new Random(); @@ -152,9 +203,6 @@ /** * Generate array. * - * @param <T> - * clazz Class - * * @param clazz * the clazz * @@ -334,14 +382,23 @@ * @throws Exception * the exception */ - public InputStream generateTextStream() throws Exception { + public RandomStream generateTextStream() throws Exception { + RandomStream rs = new RandomStream(); + int wordcount = 300 + r.nextInt(300); StringBuffer sb = new StringBuffer(); for (int i = 0; i < wordcount; i++) { sb.append(randomstrings[r.nextInt(cs)]).append(" "); } + + MD5 md5 = new MD5(); + md5.Update(sb.toString().getBytes()); + rs.setMd5(md5.asHex()); + InputStream is; is = new ByteArrayInputStream(sb.toString().getBytes()); - return is; + rs.setStream(is); + + return rs; } } Modified: trunk/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/StorageServiceCommon.java =================================================================== --- trunk/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/StorageServiceCommon.java 2008-02-05 15:53:04 UTC (rev 686) +++ trunk/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/StorageServiceCommon.java 2008-02-06 10:44:22 UTC (rev 687) @@ -315,7 +315,7 @@ try { MetaData mde = getMetadata(token, uuid, version); InputStream stream = getStorageEngine().retrieveData(token, mde, - Attachment.getFileNameFromUniqueId(dataKey)); + dataKey); RemoteInputStreamServer remoteStream = new SimpleRemoteInputStream( stream); return remoteStream.export(); Modified: trunk/simexplorer-is-service/src/test/fr/cemagref/simexplorer/is/service/StorageServiceMassInsert.java =================================================================== --- trunk/simexplorer-is-service/src/test/fr/cemagref/simexplorer/is/service/StorageServiceMassInsert.java 2008-02-05 15:53:04 UTC (rev 686) +++ trunk/simexplorer-is-service/src/test/fr/cemagref/simexplorer/is/service/StorageServiceMassInsert.java 2008-02-06 10:44:22 UTC (rev 687) @@ -43,6 +43,7 @@ import fr.cemagref.simexplorer.is.entities.data.Library; import fr.cemagref.simexplorer.is.factories.BaseEntityFactory; import fr.cemagref.simexplorer.is.factories.XmlConstants; +import fr.cemagref.simexplorer.is.service.ElementGenerator.RandomStream; /** * The Class StorageServiceMassInsert. @@ -126,10 +127,6 @@ ea.getMetaData().getVersion().incVersion(r.nextInt(3)); - InputStream xmlStream = BaseEntityFactory.getFactory( - ExplorationApplication.class).saveElement( - XmlConstants.VALUE_METADATA_TYPE_EA, ea); - Map<String, RemoteInputStream> attachments = new HashMap<String, RemoteInputStream>(); List<Attachment> attachmentsKeys = new ArrayList<Attachment>(); @@ -152,13 +149,19 @@ } for (Attachment attachment : attachmentsKeys) { - InputStream stream = elementGenerator.generateTextStream(); + RandomStream randomStream = elementGenerator + .generateTextStream(); + attachment.setDataHash(randomStream.getMd5()); RemoteInputStreamServer remoteStream = new SimpleRemoteInputStream( - stream); + randomStream.getStream()); attachments.put(attachment.getUniqueId(), remoteStream .export()); } + InputStream xmlStream = BaseEntityFactory.getFactory( + ExplorationApplication.class).saveElement( + XmlConstants.VALUE_METADATA_TYPE_EA, ea); + RemoteInputStreamServer xmlRemoteStream = new SimpleRemoteInputStream( xmlStream); storageService.saveElement(token, xmlRemoteStream.export(), Modified: trunk/simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/storage/attachment/FileSystemAttachmentHandler.java =================================================================== --- trunk/simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/storage/attachment/FileSystemAttachmentHandler.java 2008-02-05 15:53:04 UTC (rev 686) +++ trunk/simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/storage/attachment/FileSystemAttachmentHandler.java 2008-02-06 10:44:22 UTC (rev 687) @@ -102,7 +102,7 @@ throws SimExplorerStorageException { String md5 = null; try { - MD5.asHex(MD5.getHash(getFile(entity, field))); + md5 = MD5.asHex(MD5.getHash(getFile(entity, field))); } catch (Exception e) { throw new SimExplorerStorageException(e); } Modified: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/Install.java =================================================================== --- trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/Install.java 2008-02-05 15:53:04 UTC (rev 686) +++ trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/Install.java 2008-02-06 10:44:22 UTC (rev 687) @@ -39,6 +39,7 @@ import fr.cemagref.simexplorer.is.factories.BaseEntityFactory; import fr.cemagref.simexplorer.is.factories.XmlConstants; import fr.cemagref.simexplorer.is.service.ElementGenerator; +import fr.cemagref.simexplorer.is.service.ElementGenerator.RandomStream; import fr.cemagref.simexplorer.is.ui.web.SimExplorerWebException; import fr.cemagref.simexplorer.is.ui.web.pages.security.SuperAdminPage; import fr.cemagref.simexplorer.is.ui.web.services.RemoteStorageService; @@ -89,10 +90,6 @@ ea.getMetaData().getVersion().incVersion(r.nextInt(3)); - InputStream xmlStream = BaseEntityFactory.getFactory( - ExplorationApplication.class).saveElement( - XmlConstants.VALUE_METADATA_TYPE_EA, ea); - Map<String, RemoteInputStream> attachments = new HashMap<String, RemoteInputStream>(); List<Attachment> attachmentsKeys = new ArrayList<Attachment>(); @@ -115,14 +112,19 @@ } for (Attachment attachment : attachmentsKeys) { - InputStream stream = elementGenerator + RandomStream randomStream = elementGenerator .generateTextStream(); + attachment.setDataHash(randomStream.getMd5()); RemoteInputStreamServer remoteStream = new SimpleRemoteInputStream( - stream); + randomStream.getStream()); attachments.put(attachment.getUniqueId(), remoteStream .export()); } + InputStream xmlStream = BaseEntityFactory.getFactory( + ExplorationApplication.class).saveElement( + XmlConstants.VALUE_METADATA_TYPE_EA, ea); + RemoteInputStreamServer xmlRemoteStream = new SimpleRemoteInputStream( xmlStream); RemoteStorageService.getStorageService().saveElement(
participants (1)
-
glandais@users.labs.libre-entreprise.org