Author: tchemit Date: 2008-02-07 14:46:06 +0000 (Thu, 07 Feb 2008) New Revision: 721 Modified: trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/service/MockDatabase.java Log: g?\195?\169n?\195?\169ration de versions sur les LE internes d'un EApplication Modified: trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/service/MockDatabase.java =================================================================== --- trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/service/MockDatabase.java 2008-02-07 14:45:15 UTC (rev 720) +++ trunk/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/service/MockDatabase.java 2008-02-07 14:46:06 UTC (rev 721) @@ -31,6 +31,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Random; +import java.util.Set; import java.util.SortedMap; import java.util.TreeMap; @@ -67,6 +68,8 @@ VersionGenerator versionGenerator; + ElementGenerator elementGenerator; + public MockDatabase() { try { init(); @@ -83,7 +86,7 @@ public void init() throws Exception { - ElementGenerator elementGenerator = new ElementGenerator(); + elementGenerator = new ElementGenerator(); r = new Random(); @@ -116,7 +119,7 @@ } } - protected void registerEA(String uuid, ExplorationApplication... eas) { + protected void registerEA(String uuid, ExplorationApplication... eas) throws Exception { this.eas.put(uuid, eas); registerLoggableElement(uuid, eas); for (Component component : eas[0].getComponents()) { @@ -130,7 +133,26 @@ } } - protected void registerLoggableElement(String uuid, LoggableElement... loggableElements) { + protected void registerLoggableElement(String uuid, LoggableElement... loggableElements) throws Exception { + if (loggableElements.length == 1) { + // generate versions for the unique LE given + LoggableElement loggableElement = loggableElements[0]; + loggableElement.getMetaData().setLatest(false); + Set<? extends LoggableElement> sons = elementGenerator.generateArray(loggableElement.getClass()); + int nbSons = 1 + sons.size(); + Version[] versions = versionGenerator.generateVersions(nbSons + 1); + loggableElement.getMetaData().setVersion(versions[0].toString()); + List<LoggableElement> listSons = new ArrayList<LoggableElement>(nbSons); + listSons.add(loggableElement); + int j = 0; + for (LoggableElement sonEA : sons) { + sonEA.setParentData(loggableElement); + sonEA.getMetaData().setUuid(uuid); + sonEA.getMetaData().setVersion(versions[++j].toString()); + listSons.add(sonEA); + } + loggableElements = listSons.toArray(new LoggableElement[listSons.size()]); + } this.loggableElements.put(uuid, loggableElements); List<MetaData> datas = new ArrayList<MetaData>(); for (LoggableElement data : loggableElements) {
participants (1)
-
tchemit@users.labs.libre-entreprise.org