r1072 - trunk/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service
Author: tchemit Date: 2008-02-18 16:53:01 +0000 (Mon, 18 Feb 2008) New Revision: 1072 Modified: trunk/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/StorageServiceCommon.java Log: on trie les versions par ordre decroissant 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-02-18 15:35:42 UTC (rev 1071) +++ trunk/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/StorageServiceCommon.java 2008-02-18 16:53:01 UTC (rev 1072) @@ -29,6 +29,9 @@ import java.util.Map; import java.util.Set; import java.util.UUID; +import java.util.Collections; +import java.util.ArrayList; +import java.util.Arrays; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; @@ -374,7 +377,7 @@ InputStream currentXml = getStorageEngine().retrieveData(token, currentMetaData, getXMLAttachment()); - InputStream newXml = null; + InputStream newXml; MetaDataFactory<MetaData> mdeFactory = MetaDataFactory.getFactory(MetaData.class); newXml = mdeFactory.modifyMedataElementStream(currentXml, elementToUpdate); @@ -398,14 +401,13 @@ * @see fr.cemagref.simexplorer.is.service.StorageService#getVersions(java.lang.String, java.lang.String) */ public Version[] getVersions(String token, String uuid) throws SimExplorerException { - Set<MetaData> versions = getStorageEngine().getElementVersions(token, uuid); - Version[] result = new Version[versions.size()]; - int i = 0; - for (MetaData metaData : versions) { - result[i] = metaData.getVersion(); - i++; + Set<MetaData> metas = getStorageEngine().getElementVersions(token, uuid); + List<Version> versions = new ArrayList<Version>(metas.size()); + for (MetaData metaData : metas) { + versions.add(metaData.getVersion()); } - return result; + Collections.sort(versions,Collections.reverseOrder()); + return versions.toArray(new Version[versions.size()]); } /* (non-Javadoc) @@ -428,13 +430,9 @@ public void deleteElement(String token, String uuid) throws SimExplorerException { Set<MetaData> allUsedByList = new HashSet<MetaData>(); Version[] versions = getVersions(token, uuid); - for (int i = 0; i < versions.length; i++) { - Version aVersion = versions[i]; + for (Version aVersion : versions) { MetaData[] versionUsedBy = getMetadatasUsedBy(token, uuid, aVersion.toString()); - for (int j = 0; j < versionUsedBy.length; j++) { - MetaData metaData = versionUsedBy[j]; - allUsedByList.add(metaData); - } + allUsedByList.addAll(Arrays.asList(versionUsedBy)); } if (allUsedByList.size() > 0) { throw new SimExplorerBusinessException(_("simexplorer.service.business.notdeletable.allversions"));
participants (1)
-
tchemit@users.labs.libre-entreprise.org