Author: glandais Date: 2008-04-16 13:34:51 +0000 (Wed, 16 Apr 2008) New Revision: 1474 Modified: trunk/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/StorageService.java trunk/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/StorageServiceCommon.java Log: Removing unused methods Bug fixes in hierarchy saving Modified: trunk/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/StorageService.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/StorageService.java 2008-04-16 13:33:38 UTC (rev 1473) +++ trunk/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/StorageService.java 2008-04-16 13:34:51 UTC (rev 1474) @@ -75,21 +75,8 @@ LoggableElement saveElement(String token, SerializableInputStream xmlStream, Map<Attachment, SerializableInputStream> attachmentsStream) throws SimExplorerException; + /** - * Update. - * - * @param token the token - * @param uuid the uuid - * @param version the version - * @param updatedElement the updated element - * @param justRemoveLatest just remove latest, if true, updatedElement has to be null - * - * @throws SimExplorerException the sim explorer service exception - */ - void update(String token, String uuid, Version version, MetaData updatedElement, boolean justRemoveLatest) - throws SimExplorerException; - - /** * Retrieve metadata (latest version). * * @param token the token @@ -165,19 +152,6 @@ MetaData[] getMetadatasUsing(String token, String uuid) throws SimExplorerException; /** - * Export XML of element to a stream. - * - * @param token the token - * @param uuid the uuid - * @param version the version - * - * @return RMIIO stream with data - * - * @throws SimExplorerException the sim explorer service exception - */ - InputStream retrieveElementXML(String token, String uuid, String version) throws SimExplorerException; - - /** * Export full element to a stream as a zip. * * @param token the token Modified: trunk/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/StorageServiceCommon.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/StorageServiceCommon.java 2008-04-16 13:33:38 UTC (rev 1473) +++ trunk/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/StorageServiceCommon.java 2008-04-16 13:34:51 UTC (rev 1474) @@ -400,32 +400,6 @@ } /** - * Retrieve element xml common. - * - * @param token the token - * @param uuid the uuid - * @param version the version - * - * @return the input stream - * - * @throws SimExplorerException the sim explorer service exception - */ - public InputStream retrieveElementXML(String token, String uuid, String version) throws SimExplorerException { - if (log.isDebugEnabled()) { - log.debug("retrieveElementXML"); - } - MetaData mde = getMetadata(token, uuid, version); - InputStream xmlStream = getStorageEngine().retrieveData(token, mde, getXMLAttachment()); - SerializableInputStream serializableInputStream; - try { - serializableInputStream = new SerializableInputStream(xmlStream); - } catch (IOException e) { - throw new SimExplorerTechnicalException(e); - } - return serializableInputStream; - } - - /** * Retrieve element full. * * @param token the token @@ -474,49 +448,6 @@ } /* (non-Javadoc) - * @see fr.cemagref.simexplorer.is.service.StorageService#update(java.lang.String, java.lang.String, fr.cemagref.simexplorer.is.entities.metadata.Version, fr.cemagref.simexplorer.is.entities.metadata.MetaData, boolean) - */ - public void update(String token, String uuid, Version version, MetaData updatedElement, boolean justRemoveLatest) - throws SimExplorerException { - if (log.isDebugEnabled()) { - log.debug("update"); - } - Map<Attachment, InputStream> attachments = new HashMap<Attachment, InputStream>(); - MetaData elementToUpdate; - - MetaData currentMetaData = getStorageEngine().getMetadata(token, uuid, version); - - if (justRemoveLatest) { - currentMetaData.setLatest(false); - elementToUpdate = currentMetaData; - } else { - elementToUpdate = updatedElement; - } - - InputStream currentXml = getStorageEngine().retrieveData(token, currentMetaData, getXMLAttachment()); - - LoggableElement loggableElement = LoggableElementFactory.parseStream(currentXml); - - loggableElement.setMetaData(elementToUpdate); - InputStream newXml = LoggableElementFactory.getStream(loggableElement); - - attachments.put(getXMLAttachment(), newXml); - - List<Attachment> realAttachments = loggableElement.getAttachments(); - for (Attachment attachment : realAttachments) { - attachments.put(attachment, getStorageEngine().retrieveData(token, currentMetaData, attachment)); - } - - if (justRemoveLatest) { - rawDeleteElement(token, uuid, version.toString()); - } else { - getStorageEngine().duplicateElementHierarchy(token, currentMetaData, elementToUpdate); - } - getStorageEngine().saveElement(token, loggableElement, attachments); - getStorageEngine().commit(); - } - - /* (non-Javadoc) * @see fr.cemagref.simexplorer.is.service.StorageService#getVersions(java.lang.String, java.lang.String) */ public Version[] getVersions(String token, String uuid) throws SimExplorerException { @@ -694,6 +625,57 @@ } /** + * Update. + * + * @param token the token + * @param uuid the uuid + * @param version the version + * @param updatedElement the updated element + * @param justRemoveLatest just remove latest, if true, updatedElement has to be null + * + * @throws SimExplorerException the sim explorer service exception + */ + private void update(String token, String uuid, Version version, MetaData updatedElement, boolean justRemoveLatest) + throws SimExplorerException { + if (log.isDebugEnabled()) { + log.debug("update"); + } + Map<Attachment, InputStream> attachments = new HashMap<Attachment, InputStream>(); + MetaData elementToUpdate; + + MetaData currentMetaData = getStorageEngine().getMetadata(token, uuid, version); + + if (justRemoveLatest) { + currentMetaData.setLatest(false); + elementToUpdate = currentMetaData; + } else { + elementToUpdate = updatedElement; + } + + InputStream currentXml = getStorageEngine().retrieveData(token, currentMetaData, getXMLAttachment()); + + LoggableElement loggableElement = LoggableElementFactory.parseStream(currentXml); + + loggableElement.setMetaData(elementToUpdate); + InputStream newXml = LoggableElementFactory.getStream(loggableElement); + + attachments.put(getXMLAttachment(), newXml); + + List<Attachment> realAttachments = loggableElement.getAttachments(); + for (Attachment attachment : realAttachments) { + attachments.put(attachment, getStorageEngine().retrieveData(token, currentMetaData, attachment)); + } + + if (justRemoveLatest) { + rawDeleteElement(token, uuid, version.toString()); + } else { + getStorageEngine().duplicateElementHierarchy(token, currentMetaData, elementToUpdate); + } + getStorageEngine().saveElement(token, loggableElement, attachments); + getStorageEngine().commit(); + } + + /** * Process version rules. * * @param token the token @@ -702,7 +684,7 @@ * * @throws SimExplorerException the exception */ - protected void processVersionRules(String token, MetaData metaData, LoggableElement element) + private void processVersionRules(String token, MetaData metaData, LoggableElement element) throws SimExplorerException { if (log.isDebugEnabled()) { log.debug("processVersionRules"); @@ -798,7 +780,7 @@ // update already stored element with element being saved version previousVersion.setLatest(true); previousVersion.setParentUuid(previousVersion.getUuid()); - previousVersion.setParentVersion(previousVersion.getVersion().toString()); + previousVersion.setParentVersion(previousVersion.getVersion()); previousVersion.setVersion(metaData.getVersion().toString()); // do not delete previous version, but create a copy of it with new version update(token, previousVersion.getUuid(), versionToUpgrade, previousVersion, false); @@ -841,8 +823,8 @@ * * @throws SimExplorerException the sim explorer exception */ - private void recursiveSaveElement(String token, Entity element, Map<Attachment, String> idsattachment) - throws SimExplorerException { + private void recursiveSaveElement(String token, LoggableElement parent, Entity element, + Map<Attachment, String> idsattachment) throws SimExplorerException { if (log.isDebugEnabled()) { log.debug("recursiveSaveElement"); } @@ -851,10 +833,9 @@ if (child instanceof LoggableElement) { LoggableElement leChild = (LoggableElement) child; LoggableElement childElement = saveElement(token, leChild, idsattachment); - // TODO check - getStorageEngine().saveElementHierarchy(token, leChild.getMetaData(), childElement.getMetaData()); + getStorageEngine().saveElementHierarchy(token, parent.getMetaData(), childElement.getMetaData()); } else { - recursiveSaveElement(token, child, idsattachment); + recursiveSaveElement(token, parent, child, idsattachment); } } } @@ -892,7 +873,7 @@ // Process version rules processVersionRules(token, metaData, element); - recursiveSaveElement(token, element, idsattachment); + recursiveSaveElement(token, element, element, idsattachment); // Prepare saving Map<Attachment, InputStream> attachments = new HashMap<Attachment, InputStream>();
participants (1)
-
glandais@users.labs.libre-entreprise.org