Simexplorer-si-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- 1607 discussions
r52 - trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test
by glandais@users.labs.libre-entreprise.org 06 Dec '07
by glandais@users.labs.libre-entreprise.org 06 Dec '07
06 Dec '07
Author: glandais
Date: 2007-12-06 18:37:21 +0000 (Thu, 06 Dec 2007)
New Revision: 52
Modified:
trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/ElementGenerator.java
trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/LuceneDatabaseTestCase.java
Log:
Mise ?\195?\160 jour des tests
Modified: trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/ElementGenerator.java
===================================================================
--- trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/ElementGenerator.java 2007-12-06 18:37:03 UTC (rev 51)
+++ trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/ElementGenerator.java 2007-12-06 18:37:21 UTC (rev 52)
@@ -29,8 +29,7 @@
element.setName(UUID.randomUUID().toString());
element.setType(element.getClass().getSimpleName());
element.setDescription("test");
- element.setMajorVersion(r.nextInt(100));
- element.setMinorVersion(r.nextInt(100));
+ element.setVersion(Integer.toString(r.nextInt(100)));
element.setCreationDate(new Date(r.nextLong()));
element.setHash(UUID.randomUUID().toString());
Modified: trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/LuceneDatabaseTestCase.java
===================================================================
--- trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/LuceneDatabaseTestCase.java 2007-12-06 18:37:03 UTC (rev 51)
+++ trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/LuceneDatabaseTestCase.java 2007-12-06 18:37:21 UTC (rev 52)
@@ -11,7 +11,7 @@
import org.cemagref.simexplorer.si.storage.database.lucene.LuceneDatabase;
import org.cemagref.simexplorer.si.storage.entities.ExplorationData;
import org.cemagref.simexplorer.si.storage.entities.LoggableElement;
-import org.cemagref.simexplorer.si.storage.factories.EntityFactory;
+import org.cemagref.simexplorer.si.storage.entities.Version;
public class LuceneDatabaseTestCase extends TestCase {
@@ -21,87 +21,75 @@
protected void setUp() throws Exception {
super.setUp();
database = new LuceneDatabase();
+ database.open();
elementGenerator = new ElementGenerator();
}
protected void tearDown() throws Exception {
super.tearDown();
- database.shutDown();
+ database.close();
}
public final void testPushFindElement() throws Exception {
+
/*
- database.pushElement(elementGenerator.generateRandomEA());
+ * database.pushElement(elementGenerator.generateRandomEA());
+ *
+ * Map<String, String> properties = new HashMap<String, String>();
+ * properties.put(DatabaseConstants.KEY_DESCRIPTION, "test"); Set<LoggableElement>
+ * elements = database .findElementsByProperties(properties); for
+ * (LoggableElement loggableElement : elements) {
+ * System.out.println(EntityFactory.getFactory(
+ * loggableElement.getClass()).getElementXML(loggableElement)); }
+ */
- Map<String, String> properties = new HashMap<String, String>();
- properties.put(DatabaseConstants.KEY_DESCRIPTION, "test");
- Set<LoggableElement> elements = database
- .findElementsByProperties(properties);
- for (LoggableElement loggableElement : elements) {
- System.out.println(EntityFactory.getFactory(
- loggableElement.getClass()).getElementXML(loggableElement));
- }
- */
-
String description1 = UUID.randomUUID().toString();
String uuid1 = UUID.randomUUID().toString();
- Integer majorVersion1 = 5;
- Integer minorVersion1 = 12;
ExplorationData explorationData1 = new ExplorationData();
explorationData1.setUuid(uuid1);
- explorationData1.setMajorVersion(majorVersion1);
- explorationData1.setMinorVersion(minorVersion1);
+ explorationData1.setVersion("5.12");
explorationData1.setDescription(description1);
database.pushElement(explorationData1);
- LoggableElement element = database.findElement(uuid1, majorVersion1,
- minorVersion1);
+ LoggableElement element = database.findElement(uuid1, new Version(
+ "5.12"));
assertNotNull(element);
assertEquals(description1, element.getDescription());
String description2 = UUID.randomUUID().toString();
ExplorationData explorationData2 = new ExplorationData();
explorationData2.setUuid(uuid1);
- explorationData2.setMajorVersion(majorVersion1);
- explorationData2.setMinorVersion(minorVersion1);
+ explorationData2.setVersion("5.12");
explorationData2.setDescription(description2);
database.pushElement(explorationData2);
- assertEquals(description2, database.findElement(uuid1, majorVersion1,
- minorVersion1).getDescription());
+ assertEquals(description2, database.findElement(uuid1,
+ new Version("5.12")).getDescription());
String description3 = UUID.randomUUID().toString();
- Integer minorVersion3 = minorVersion1 + 1;
ExplorationData explorationData3 = new ExplorationData();
explorationData3.setUuid(uuid1);
- explorationData3.setMajorVersion(majorVersion1);
- explorationData3.setMinorVersion(minorVersion3);
+ explorationData3.setVersion("5.13");
explorationData3.setDescription(description3);
database.pushElement(explorationData3);
- assertEquals(description3, database.findElement(uuid1, majorVersion1,
- minorVersion3).getDescription());
+ assertEquals(description3, database.findElement(uuid1,
+ new Version("5.13")).getDescription());
}
public final void testGetElementLatestVersion() throws Exception {
String description1 = UUID.randomUUID().toString();
String uuid1 = UUID.randomUUID().toString();
- Integer majorVersion1 = 5;
- Integer minorVersion1 = 12;
ExplorationData explorationData1 = new ExplorationData();
explorationData1.setUuid(uuid1);
- explorationData1.setMajorVersion(majorVersion1);
- explorationData1.setMinorVersion(minorVersion1);
+ explorationData1.setVersion("5.12");
explorationData1.setDescription(description1);
database.pushElement(explorationData1);
String description2 = UUID.randomUUID().toString();
- Integer majorVersion2 = 5;
- Integer minorVersion2 = minorVersion1 + 1;
ExplorationData explorationData2 = new ExplorationData();
explorationData2.setUuid(uuid1);
- explorationData2.setMajorVersion(majorVersion2);
- explorationData2.setMinorVersion(minorVersion2);
+ explorationData2.setVersion("5.13");
explorationData2.setDescription(description2);
database.pushElement(explorationData2);
@@ -109,12 +97,9 @@
.getDescription());
String description3 = UUID.randomUUID().toString();
- Integer majorVersion3 = majorVersion1 + 1;
- Integer minorVersion3 = 0;
ExplorationData explorationData3 = new ExplorationData();
explorationData3.setUuid(uuid1);
- explorationData3.setMajorVersion(majorVersion3);
- explorationData3.setMinorVersion(minorVersion3);
+ explorationData3.setVersion("6.0");
explorationData3.setDescription(description3);
database.pushElement(explorationData3);
@@ -129,28 +114,21 @@
Integer minorVersion1 = 12;
ExplorationData explorationData1 = new ExplorationData();
explorationData1.setUuid(uuid1);
- explorationData1.setMajorVersion(majorVersion1);
- explorationData1.setMinorVersion(minorVersion1);
+ explorationData1.setVersion("5.12");
explorationData1.setDescription(description1);
database.pushElement(explorationData1);
String description2 = UUID.randomUUID().toString();
- Integer majorVersion2 = 5;
- Integer minorVersion2 = minorVersion1 + 1;
ExplorationData explorationData2 = new ExplorationData();
explorationData2.setUuid(uuid1);
- explorationData2.setMajorVersion(majorVersion2);
- explorationData2.setMinorVersion(minorVersion2);
+ explorationData2.setVersion("5.13");
explorationData2.setDescription(description2);
database.pushElement(explorationData2);
String description3 = UUID.randomUUID().toString();
- Integer majorVersion3 = majorVersion1 + 1;
- Integer minorVersion3 = 0;
ExplorationData explorationData3 = new ExplorationData();
explorationData3.setUuid(uuid1);
- explorationData3.setMajorVersion(majorVersion3);
- explorationData3.setMinorVersion(minorVersion3);
+ explorationData3.setVersion("6.0");
explorationData3.setDescription(description3);
database.pushElement(explorationData3);
@@ -164,32 +142,22 @@
String description1 = UUID.randomUUID().toString();
String uuid1 = UUID.randomUUID().toString();
- Integer majorVersion1 = 5;
- Integer minorVersion1 = 12;
ExplorationData explorationData1 = new ExplorationData();
explorationData1.setUuid(uuid1);
- explorationData1.setMajorVersion(majorVersion1);
- explorationData1.setMinorVersion(minorVersion1);
+ explorationData1.setVersion("5.12");
explorationData1.setDescription(description1);
database.pushElement(explorationData1);
- String description2 = UUID.randomUUID().toString();
- Integer majorVersion2 = 5;
- Integer minorVersion2 = minorVersion1 + 1;
ExplorationData explorationData2 = new ExplorationData();
explorationData2.setUuid(uuid1);
- explorationData2.setMajorVersion(majorVersion2);
- explorationData2.setMinorVersion(minorVersion2);
- explorationData2.setDescription(description2);
+ explorationData2.setVersion("5.13");
+ explorationData2.setDescription(description1);
database.pushElement(explorationData2);
String description3 = UUID.randomUUID().toString();
- Integer majorVersion3 = majorVersion1 + 1;
- Integer minorVersion3 = 0;
ExplorationData explorationData3 = new ExplorationData();
explorationData3.setUuid(uuid1);
- explorationData3.setMajorVersion(majorVersion3);
- explorationData3.setMinorVersion(minorVersion3);
+ explorationData3.setVersion("6.0");
explorationData3.setDescription(description3);
database.pushElement(explorationData3);
@@ -197,7 +165,7 @@
Map<String, String> properties = new HashMap<String, String>();
properties.put(DatabaseConstants.KEY_UUID, uuid1);
- properties.put(DatabaseConstants.KEY_MAJORVERSION, "5");
+ properties.put(DatabaseConstants.KEY_DESCRIPTION, description1);
Set<LoggableElement> elements = database
.findElementsByProperties(properties);
@@ -210,38 +178,28 @@
String description1 = UUID.randomUUID().toString();
String uuid1 = UUID.randomUUID().toString();
- Integer majorVersion1 = 5;
- Integer minorVersion1 = 12;
ExplorationData explorationData1 = new ExplorationData();
explorationData1.setUuid(uuid1);
- explorationData1.setMajorVersion(majorVersion1);
- explorationData1.setMinorVersion(minorVersion1);
+ explorationData1.setVersion("5.12");
explorationData1.setDescription(description1);
database.pushElement(explorationData1);
- String description2 = UUID.randomUUID().toString();
- Integer majorVersion2 = 5;
- Integer minorVersion2 = minorVersion1 + 1;
ExplorationData explorationData2 = new ExplorationData();
explorationData2.setUuid(uuid1);
- explorationData2.setMajorVersion(majorVersion2);
- explorationData2.setMinorVersion(minorVersion2);
- explorationData2.setDescription(description2);
+ explorationData2.setVersion("5.13");
+ explorationData2.setDescription(description1);
database.pushElement(explorationData2);
String description3 = UUID.randomUUID().toString();
- Integer majorVersion3 = majorVersion1 + 1;
- Integer minorVersion3 = 0;
ExplorationData explorationData3 = new ExplorationData();
explorationData3.setUuid(uuid1);
- explorationData3.setMajorVersion(majorVersion3);
- explorationData3.setMinorVersion(minorVersion3);
+ explorationData3.setVersion("6.0");
explorationData3.setDescription(description3);
database.pushElement(explorationData3);
Map<String, String> properties = new HashMap<String, String>();
properties.put(DatabaseConstants.KEY_UUID, uuid1);
- properties.put(DatabaseConstants.KEY_MAJORVERSION, "5");
+ properties.put(DatabaseConstants.KEY_DESCRIPTION, description1);
Set<LoggableElement> elements = database.findElementsByProperties(
properties, ExplorationData.class);
@@ -253,17 +211,14 @@
String description1 = UUID.randomUUID().toString();
String uuid1 = UUID.randomUUID().toString();
- Integer majorVersion1 = 5;
- Integer minorVersion1 = 12;
ExplorationData explorationData1 = new ExplorationData();
explorationData1.setUuid(uuid1);
- explorationData1.setMajorVersion(majorVersion1);
- explorationData1.setMinorVersion(minorVersion1);
+ explorationData1.setVersion("5.12");
explorationData1.setDescription(description1);
database.pushElement(explorationData1);
database.deleteElement(explorationData1);
- assertNull(database.findElement(uuid1, majorVersion1, minorVersion1));
+ assertNull(database.findElement(uuid1, new Version("5.12")));
}
@@ -271,32 +226,23 @@
String description1 = UUID.randomUUID().toString();
String uuid1 = UUID.randomUUID().toString();
- Integer majorVersion1 = 5;
- Integer minorVersion1 = 12;
ExplorationData explorationData1 = new ExplorationData();
explorationData1.setUuid(uuid1);
- explorationData1.setMajorVersion(majorVersion1);
- explorationData1.setMinorVersion(minorVersion1);
+ explorationData1.setVersion("5.12");
explorationData1.setDescription(description1);
database.pushElement(explorationData1);
String description2 = UUID.randomUUID().toString();
- Integer majorVersion2 = 5;
- Integer minorVersion2 = minorVersion1 + 1;
ExplorationData explorationData2 = new ExplorationData();
explorationData2.setUuid(uuid1);
- explorationData2.setMajorVersion(majorVersion2);
- explorationData2.setMinorVersion(minorVersion2);
+ explorationData2.setVersion("5.13");
explorationData2.setDescription(description2);
database.pushElement(explorationData2);
String description3 = UUID.randomUUID().toString();
- Integer majorVersion3 = majorVersion1 + 1;
- Integer minorVersion3 = 0;
ExplorationData explorationData3 = new ExplorationData();
explorationData3.setUuid(uuid1);
- explorationData3.setMajorVersion(majorVersion3);
- explorationData3.setMinorVersion(minorVersion3);
+ explorationData3.setVersion("6.0");
explorationData3.setDescription(description3);
database.pushElement(explorationData3);
1
0
r51 - in trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage: . engine
by glandais@users.labs.libre-entreprise.org 06 Dec '07
by glandais@users.labs.libre-entreprise.org 06 Dec '07
06 Dec '07
Author: glandais
Date: 2007-12-06 18:37:03 +0000 (Thu, 06 Dec 2007)
New Revision: 51
Added:
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/engine/
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/engine/LuceneStorageEngine.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/engine/StorageEngine.java
Log:
Interface et impl?\195?\169mentation du service de stockage
Added: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/engine/LuceneStorageEngine.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/engine/LuceneStorageEngine.java (rev 0)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/engine/LuceneStorageEngine.java 2007-12-06 18:37:03 UTC (rev 51)
@@ -0,0 +1,98 @@
+package org.cemagref.simexplorer.si.storage.engine;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Collections;
+import java.util.List;
+
+import org.cemagref.simexplorer.si.storage.database.lucene.LuceneDatabase;
+import org.cemagref.simexplorer.si.storage.entities.LoggableElement;
+import org.cemagref.simexplorer.si.storage.entities.Version;
+import org.cemagref.simexplorer.si.storage.factories.EntityFactory;
+
+public class LuceneStorageEngine extends StorageEngine {
+
+ @Override
+ public void close() throws Exception {
+ database.close();
+ }
+
+ @Override
+ public void exportElement(LoggableElement element, OutputStream os)
+ throws Exception {
+ LoggableElement completeElement = database.findElement(element
+ .getUuid(), element.getVersion());
+ EntityFactory.getFactory(completeElement.getClass()).getElementXML(
+ element, os);
+ }
+
+ @Override
+ public LoggableElement getElement(String uuid) throws Exception {
+ return database.getElementLatestVersion(uuid);
+ }
+
+ @Override
+ public LoggableElement getElementVersion(String uuid, Version version)
+ throws Exception {
+ return database.findElement(uuid, version);
+ }
+
+ @Override
+ public List<Version> getVersions(String uuid) throws Exception {
+ return database.getVersions(uuid);
+ }
+
+ @Override
+ public LoggableElement importElement(InputStream inputStream)
+ throws Exception {
+ LoggableElement importedElement = null;
+
+ database.pushElement(importedElement);
+ return importedElement;
+ }
+
+ @Override
+ public LoggableElement newElement(LoggableElement element) throws Exception {
+ if (getElement(element.getUuid()) != null) {
+ throw new Exception(element.getUuid() + " already exist");
+ }
+ element.setVersion("1");
+ database.pushElement(element);
+ return getElement(element.getUuid());
+ }
+
+ @Override
+ public void open() throws Exception {
+ database = new LuceneDatabase();
+ database.open();
+ }
+
+ @Override
+ public LoggableElement saveElement(LoggableElement element)
+ throws Exception {
+ Version version = null;
+ List<Version> versions = getVersions(element.getUuid());
+ if (versions.size() > 0) {
+ Collections.sort(versions);
+ Collections.reverse(versions);
+
+ version = versions.get(0);
+ version.incVersion(0);
+ } else {
+ version = new Version("1");
+ }
+
+ element.setVersion(version.toString());
+
+ database.pushElement(element);
+ return getElement(element.getUuid());
+ }
+
+ @Override
+ public LoggableElement synchronizeElement(LoggableElement element)
+ throws Exception {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
Added: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/engine/StorageEngine.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/engine/StorageEngine.java (rev 0)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/engine/StorageEngine.java 2007-12-06 18:37:03 UTC (rev 51)
@@ -0,0 +1,41 @@
+package org.cemagref.simexplorer.si.storage.engine;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.List;
+
+import org.cemagref.simexplorer.si.storage.database.Database;
+import org.cemagref.simexplorer.si.storage.entities.LoggableElement;
+import org.cemagref.simexplorer.si.storage.entities.Version;
+
+public abstract class StorageEngine {
+
+ protected Database database;
+
+ public abstract void open() throws Exception;
+
+ public abstract void close() throws Exception;
+
+ public abstract LoggableElement getElement(String uuid) throws Exception;
+
+ public abstract List<Version> getVersions(String uuid) throws Exception;
+
+ public abstract LoggableElement getElementVersion(String uuid,
+ Version version) throws Exception;
+
+ public abstract LoggableElement newElement(LoggableElement element)
+ throws Exception;
+
+ public abstract LoggableElement saveElement(LoggableElement element)
+ throws Exception;
+
+ public abstract LoggableElement synchronizeElement(LoggableElement element)
+ throws Exception;
+
+ public abstract void exportElement(LoggableElement element, OutputStream os)
+ throws Exception;
+
+ public abstract LoggableElement importElement(InputStream inputStream)
+ throws Exception;
+
+}
1
0
r50 - in trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database: . lucene
by glandais@users.labs.libre-entreprise.org 06 Dec '07
by glandais@users.labs.libre-entreprise.org 06 Dec '07
06 Dec '07
Author: glandais
Date: 2007-12-06 18:36:39 +0000 (Thu, 06 Dec 2007)
New Revision: 50
Modified:
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database/Database.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database/DatabaseConstants.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database/lucene/LuceneDatabase.java
Log:
Gestion des version et des fichiers attach?\195?\169s
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database/Database.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database/Database.java 2007-12-06 18:33:44 UTC (rev 49)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database/Database.java 2007-12-06 18:36:39 UTC (rev 50)
@@ -1,48 +1,80 @@
package org.cemagref.simexplorer.si.storage.database;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Set;
+import org.apache.lucene.document.Document;
+import org.cemagref.simexplorer.si.storage.database.lucene.LuceneHits;
+import org.cemagref.simexplorer.si.storage.entities.FileEntity;
import org.cemagref.simexplorer.si.storage.entities.LoggableElement;
+import org.cemagref.simexplorer.si.storage.entities.Version;
+import org.cemagref.simexplorer.si.storage.factories.LoggableElementFactory;
public abstract class Database implements DatabaseConstants {
- public Database() throws Exception {
- super();
- init();
- }
+ public abstract void open() throws Exception;
- protected abstract void init() throws Exception;
+ public abstract void close() throws Exception;
// Create / Update
-
+
public abstract void pushElement(LoggableElement element) throws Exception;
+ public abstract void storeData(FileEntity entity, String field,
+ InputStream is) throws Exception;
+
// Read
-
- public abstract LoggableElement findElement(String uuid, Integer majorVersion,
- Integer minorVersion) throws Exception;
- public abstract LoggableElement getElementLatestVersion(String uuid)
+ public abstract LoggableElement findElement(String uuid, Version version) throws Exception;
+
+ public abstract List<Version> getVersions(String uuid) throws Exception;
+
+ public LoggableElement getElementLatestVersion(String uuid)
+ throws Exception {
+ LoggableElement result = null;
+
+ List<Version> versions = getVersions(uuid);
+
+ Collections.sort(versions);
+ Collections.reverse(versions);
+
+ if (versions.size() > 0) {
+ Version version = versions.get(0);
+ result = findElement(uuid, version);
+ } else {
+ result = null;
+ }
+
+ return result;
+ }
+
+ public abstract Set<LoggableElement> findElementsById(String uuid)
throws Exception;
- public abstract Set<LoggableElement> findElementsById(String uuid) throws Exception;
-
- public abstract Set<LoggableElement> findElementsByProperties(Map<String, String> properties) throws Exception;
+ public abstract Set<LoggableElement> findElementsByProperties(
+ Map<String, String> properties) throws Exception;
- public abstract Set<LoggableElement> findElementsByProperties(Map<String, String> properties, Class entityClass) throws Exception;
-
+ public abstract Set<LoggableElement> findElementsByProperties(
+ Map<String, String> properties, Class entityClass) throws Exception;
+
+ public abstract InputStream retrieveData(FileEntity entity, String field)
+ throws Exception;
+
// Delete
-
+
public void deleteElement(LoggableElement element) throws Exception {
- deleteElement(element.getUuid(), element.getMajorVersion(), element
- .getMinorVersion());
+ deleteElement(element.getUuid(), element.getVersion());
}
+ public abstract void deleteData(FileEntity entity, String field) throws Exception;
+
public abstract void deleteElements(String uuid) throws Exception;
- public abstract void deleteElement(String uuid, Integer majorVersion,
- Integer minorVersion) throws Exception;
+ public abstract void deleteElement(String uuid, Version version) throws Exception;
-
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database/DatabaseConstants.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database/DatabaseConstants.java 2007-12-06 18:33:44 UTC (rev 49)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database/DatabaseConstants.java 2007-12-06 18:36:39 UTC (rev 50)
@@ -7,8 +7,7 @@
public static final String KEY_NAME = "simexplorer.name";
public static final String KEY_HASH = "simexplorer.hash";
public static final String KEY_DESCRIPTION = "simexplorer.description";
- public static final String KEY_MAJORVERSION = "simexplorer.version.major";
- public static final String KEY_MINORVERSION = "simexplorer.version.minor";
+ public static final String KEY_VERSION = "simexplorer.version";
public static final String KEY_TYPE = "simexplorer.type";
public static final String KEY_CREATIONDATE = "simexplorer.creationdate";
public static final String KEY_XML = "simexplorer.xml";
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database/lucene/LuceneDatabase.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database/lucene/LuceneDatabase.java 2007-12-06 18:33:44 UTC (rev 49)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database/lucene/LuceneDatabase.java 2007-12-06 18:36:39 UTC (rev 50)
@@ -2,21 +2,16 @@
import java.io.ByteArrayInputStream;
import java.io.InputStream;
-import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
import org.apache.lucene.analysis.SimpleAnalyzer;
@@ -33,9 +28,12 @@
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.cemagref.simexplorer.si.storage.database.Database;
+import org.cemagref.simexplorer.si.storage.entities.FileEntity;
import org.cemagref.simexplorer.si.storage.entities.LoggableElement;
+import org.cemagref.simexplorer.si.storage.entities.Version;
+import org.cemagref.simexplorer.si.storage.factories.EntityFactory;
+import org.cemagref.simexplorer.si.storage.factories.FileEntityFactory;
import org.cemagref.simexplorer.si.storage.factories.LoggableElementFactory;
-import org.cemagref.simexplorer.si.storage.tools.Version;
import org.w3c.dom.Element;
public class LuceneDatabase extends Database {
@@ -45,11 +43,8 @@
private IndexWriter writer;
private boolean initok = false;
- public LuceneDatabase() throws Exception {
- super();
- }
-
- protected void init() throws Exception {
+ @Override
+ public void open() throws Exception {
if (!initok) {
analyser = new PerFieldAnalyzerWrapper(new SimpleAnalyzer());
// analyser.addAnalyzer("firstname", new KeywordAnalyzer());
@@ -70,36 +65,43 @@
}
@Override
+ public void close() throws Exception {
+ writer.close();
+ }
+
+ @Override
public void pushElement(LoggableElement element) throws Exception {
Set<LoggableElement> children = element.getChildren();
for (LoggableElement loggableElement : children) {
pushElement(loggableElement);
}
-
+
LoggableElementFactory elementFactory = (LoggableElementFactory) LoggableElementFactory
.getFactory(element.getClass());
Document document = saveLuceneElement(elementFactory, element);
LoggableElement oldElement = findElement(element.getUuid(), element
- .getMajorVersion(), element.getMinorVersion());
+ .getVersion());
if (oldElement != null) {
// update
deleteElement(element);
}
+ InputStream is = new ByteArrayInputStream(document.get(KEY_XML)
+ .getBytes());
+ elementFactory.getHandler().storeData(element, KEY_XML, is);
+
writer.addDocument(document);
writer.flush();
}
@Override
- public LoggableElement findElement(String uuid, Integer majorVersion,
- Integer minorVersion) throws Exception {
+ public LoggableElement findElement(String uuid, Version version) throws Exception {
LoggableElement result = null;
Map<String, String> properties = new HashMap<String, String>();
properties.put(KEY_UUID, uuid);
- properties.put(KEY_MAJORVERSION, majorVersion.toString());
- properties.put(KEY_MINORVERSION, minorVersion.toString());
+ properties.put(KEY_VERSION, version.toString());
LuceneHits hits = findHits(properties);
if (hits.getHits().length() != 0) {
@@ -111,38 +113,6 @@
}
@Override
- public LoggableElement getElementLatestVersion(String uuid)
- throws Exception {
- LoggableElement element = null;
-
- Map<String, String> properties = new HashMap<String, String>();
- properties.put(KEY_UUID, uuid);
- LuceneHits hits = findHits(properties);
- if (hits.getHits().length() > 0) {
- List<Version> versions = new ArrayList<Version>();
- for (int i = 0; i < hits.getHits().length(); i++) {
- Document doc = hits.getHits().doc(i);
- Version version = new Version();
- version.setMajorVersion(new Integer(doc.get(KEY_MAJORVERSION)));
- version.setMinorVersion(new Integer(doc.get(KEY_MINORVERSION)));
- version.setVersionnedObject(doc);
- versions.add(version);
- }
- Collections.sort(versions);
- Collections.reverse(versions);
-
- Document latestDoc = (Document) versions.get(0)
- .getVersionnedObject();
- LoggableElementFactory elementFactory = (LoggableElementFactory) LoggableElementFactory
- .getFactory(latestDoc.get(KEY_CLASSNAME));
- element = loadLuceneElement(elementFactory, latestDoc);
- }
- hits.closeSearcher();
-
- return element;
- }
-
- @Override
public Set<LoggableElement> findElementsById(String uuid) throws Exception {
Map<String, String> properties = new HashMap<String, String>();
properties.put(KEY_UUID, uuid);
@@ -165,16 +135,23 @@
}
public void deleteElements(String uuid) throws Exception {
+ Set<LoggableElement> set = findElementsById(uuid);
+ for (Iterator iterator = set.iterator(); iterator.hasNext();) {
+ LoggableElement loggableElement = (LoggableElement) iterator.next();
+ deleteData(loggableElement, KEY_XML);
+ }
writer.deleteDocuments(new Term(KEY_UUID, uuid));
writer.flush();
}
- public void deleteElement(String uuid, Integer majorVersion,
- Integer minorVersion) throws Exception {
+ public void deleteElement(String uuid, Version version) throws Exception {
+
+ LoggableElement loggableElement = findElement(uuid, version);
+ deleteData(loggableElement, KEY_XML);
+
Term[] terms = new Term[3];
terms[0] = new Term(KEY_UUID, uuid);
- terms[1] = new Term(KEY_MAJORVERSION, uuid);
- terms[2] = new Term(KEY_MINORVERSION, uuid);
+ terms[1] = new Term(KEY_VERSION, version.toString());
writer.deleteDocuments(terms);
writer.flush();
}
@@ -238,10 +215,8 @@
Field.Store.YES, Field.Index.UN_TOKENIZED));
document.add(new Field(KEY_CLASSNAME, element.getClass().getName(),
Field.Store.YES, Field.Index.UN_TOKENIZED));
- document.add(new Field(KEY_MINORVERSION, element.getMinorVersion()
+ document.add(new Field(KEY_VERSION, element.getVersion().toString()
.toString(), Field.Store.YES, Field.Index.UN_TOKENIZED));
- document.add(new Field(KEY_MAJORVERSION, element.getMajorVersion()
- .toString(), Field.Store.YES, Field.Index.UN_TOKENIZED));
document.add(new Field(KEY_XML, factory.getElementXML(element),
Field.Store.COMPRESS, Field.Index.NO));
@@ -249,8 +224,44 @@
return document;
}
- public void shutDown() throws Exception {
- writer.close();
+ @Override
+ public List<Version> getVersions(String uuid) throws Exception {
+ LoggableElement element = null;
+
+ Map<String, String> properties = new HashMap<String, String>();
+ properties.put(KEY_UUID, uuid);
+ LuceneHits hits = findHits(properties);
+
+ List<Version> versions = new ArrayList<Version>();
+ for (int i = 0; i < hits.getHits().length(); i++) {
+ Document doc = hits.getHits().doc(i);
+ versions.add(new Version(doc.get(KEY_VERSION)));
+ }
+
+ return versions;
}
+ @Override
+ public void deleteData(FileEntity entity, String field) throws Exception {
+ FileEntityFactory entityFactory = (FileEntityFactory) FileEntityFactory
+ .getFactory(entity.getClass());
+ entityFactory.getHandler().deleteData(entity, field);
+ }
+
+ @Override
+ public InputStream retrieveData(FileEntity entity, String field)
+ throws Exception {
+ FileEntityFactory entityFactory = (FileEntityFactory) FileEntityFactory
+ .getFactory(entity.getClass());
+ return entityFactory.getHandler().retrieveData(entity, field);
+ }
+
+ @Override
+ public void storeData(FileEntity entity, String field, InputStream is)
+ throws Exception {
+ FileEntityFactory entityFactory = (FileEntityFactory) FileEntityFactory
+ .getFactory(entity.getClass());
+ entityFactory.getHandler().storeData(entity, field, is);
+ }
+
}
1
0
r49 - in trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage: entities factories tools
by glandais@users.labs.libre-entreprise.org 06 Dec '07
by glandais@users.labs.libre-entreprise.org 06 Dec '07
06 Dec '07
Author: glandais
Date: 2007-12-06 18:33:44 +0000 (Thu, 06 Dec 2007)
New Revision: 49
Added:
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/FileEntity.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Version.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/FileEntityFactory.java
Removed:
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/tools/Version.java
Modified:
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Code.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Component.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Constant.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ConstantValue.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Descriptor.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Entity.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationApplication.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationData.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Library.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/LoggableElement.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Repository.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Result.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Structure.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/EntityFactory.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/LoggableElementFactory.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/ResultFactory.java
Log:
Gestion du contenu attach?\195?\169 et des versions
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Code.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Code.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Code.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -1,6 +1,6 @@
package org.cemagref.simexplorer.si.storage.entities;
-public class Code implements Entity {
+public class Code extends Entity {
private String language;
private String code;
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Component.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Component.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Component.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -3,6 +3,8 @@
import java.util.HashSet;
import java.util.Set;
+import org.cemagref.simexplorer.si.storage.attachment.type.ContentType;
+
public class Component extends LoggableElement {
Set<Constant> constants;
@@ -49,4 +51,9 @@
return elements;
}
+ @Override
+ public ContentType getContentType() throws Exception {
+ return null;
+ }
+
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Constant.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Constant.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Constant.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -1,6 +1,6 @@
package org.cemagref.simexplorer.si.storage.entities;
-public class Constant implements Entity {
+public class Constant extends Entity {
private String name;
private Class type;
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ConstantValue.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ConstantValue.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ConstantValue.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -1,6 +1,6 @@
package org.cemagref.simexplorer.si.storage.entities;
-public class ConstantValue implements Entity {
+public class ConstantValue extends Entity {
private String value;
private Constant constant;
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Descriptor.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Descriptor.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Descriptor.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -1,6 +1,6 @@
package org.cemagref.simexplorer.si.storage.entities;
-public class Descriptor implements Entity {
+public class Descriptor extends Entity {
private String name;
private String value;
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Entity.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Entity.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Entity.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -1,5 +1,15 @@
package org.cemagref.simexplorer.si.storage.entities;
-public interface Entity {
+public abstract class Entity {
+ private LoggableElement owner;
+
+ public LoggableElement getOwner() {
+ return owner;
+ }
+
+ public void setOwner(LoggableElement owner) {
+ this.owner = owner;
+ }
+
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationApplication.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationApplication.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationApplication.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -3,24 +3,29 @@
import java.util.HashSet;
import java.util.Set;
+import org.cemagref.simexplorer.si.storage.attachment.type.ContentType;
public class ExplorationApplication extends LoggableElement {
private Set<ExplorationData> explorations;
private Set<Component> components;
-
+
public Set<ExplorationData> getExplorations() {
return explorations;
}
+
public void setExplorations(Set<ExplorationData> explorations) {
this.explorations = explorations;
}
+
public Set<Component> getComponents() {
return components;
}
+
public void setComponents(Set<Component> components) {
this.components = components;
}
+
@Override
public Set<LoggableElement> getChildren() {
Set<LoggableElement> elements = new HashSet<LoggableElement>();
@@ -28,5 +33,10 @@
elements.addAll(components);
return elements;
}
-
+
+ @Override
+ public ContentType getContentType() throws Exception {
+ return null;
+ }
+
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationData.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationData.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationData.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -3,6 +3,8 @@
import java.util.HashSet;
import java.util.Set;
+import org.cemagref.simexplorer.si.storage.attachment.type.ContentType;
+
public class ExplorationData extends LoggableElement {
private Set<ConstantValue> valuesMap;
@@ -57,4 +59,9 @@
return elements;
}
+ @Override
+ public ContentType getContentType() throws Exception {
+ return null;
+ }
+
}
Added: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/FileEntity.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/FileEntity.java (rev 0)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/FileEntity.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -0,0 +1,9 @@
+package org.cemagref.simexplorer.si.storage.entities;
+
+import org.cemagref.simexplorer.si.storage.attachment.type.ContentType;
+
+public abstract class FileEntity extends Entity {
+
+ public abstract ContentType getContentType() throws Exception;
+
+}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Library.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Library.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Library.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -3,6 +3,9 @@
import java.util.HashSet;
import java.util.Set;
+import org.cemagref.simexplorer.si.storage.attachment.type.ContentType;
+import org.cemagref.simexplorer.si.storage.attachment.type.ContentTypeFactory;
+import org.cemagref.simexplorer.si.storage.attachment.type.RawType;
public class Library extends LoggableElement {
@@ -12,4 +15,9 @@
return elements;
}
+ @Override
+ public ContentType getContentType() throws Exception {
+ return ContentTypeFactory.getContentTypeInstance(RawType.class);
+ }
+
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/LoggableElement.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/LoggableElement.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/LoggableElement.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -3,14 +3,13 @@
import java.util.Date;
import java.util.Set;
-public abstract class LoggableElement implements Entity {
+public abstract class LoggableElement extends FileEntity {
private String uuid;
private String name;
private String type;
private String description;
- private Integer majorVersion;
- private Integer minorVersion;
+ private Version version;
private Date creationDate;
private String hash;
private Set<Descriptor> descriptors;
@@ -51,22 +50,14 @@
this.description = description;
}
- public Integer getMajorVersion() {
- return majorVersion;
+ public Version getVersion() {
+ return version;
}
- public void setMajorVersion(Integer majorVersion) {
- this.majorVersion = majorVersion;
+ public void setVersion(String version) {
+ this.version = new Version(version);
}
- public Integer getMinorVersion() {
- return minorVersion;
- }
-
- public void setMinorVersion(Integer minorVersion) {
- this.minorVersion = minorVersion;
- }
-
public Date getCreationDate() {
return creationDate;
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Repository.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Repository.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Repository.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -1,5 +1,5 @@
package org.cemagref.simexplorer.si.storage.entities;
-public class Repository implements Entity {
+public class Repository extends Entity {
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Result.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Result.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Result.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -1,5 +1,14 @@
package org.cemagref.simexplorer.si.storage.entities;
-public class Result implements Entity {
+import org.cemagref.simexplorer.si.storage.attachment.type.ContentType;
+import org.cemagref.simexplorer.si.storage.attachment.type.ContentTypeFactory;
+import org.cemagref.simexplorer.si.storage.attachment.type.RawType;
+public class Result extends FileEntity {
+
+ @Override
+ public ContentType getContentType() throws Exception {
+ return ContentTypeFactory.getContentTypeInstance(RawType.class);
+ }
+
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Structure.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Structure.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Structure.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -1,5 +1,5 @@
package org.cemagref.simexplorer.si.storage.entities;
-public interface Structure extends Entity {
+public abstract class Structure extends Entity {
}
Copied: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Version.java (from rev 37, trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/tools/Version.java)
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Version.java (rev 0)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Version.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -0,0 +1,86 @@
+package org.cemagref.simexplorer.si.storage.entities;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.StringTokenizer;
+
+public class Version implements Comparable<Version> {
+
+ private List<Integer> pointedVersion;
+
+ public Version(String version) {
+ super();
+ pointedVersion = new ArrayList<Integer>();
+ StringTokenizer st = new StringTokenizer(version, ".");
+ while (st.hasMoreTokens()) {
+ pointedVersion.add(new Integer(st.nextToken()));
+ }
+ }
+
+ public Integer getVersion(int position) {
+ if (position < pointedVersion.size()) {
+ return pointedVersion.get(position);
+ } else {
+ return null;
+ }
+ }
+
+ public void setVersion(int position, int subVersion) {
+ while (getVersion(position) == null) {
+ addSubVersion(0);
+ }
+ pointedVersion.set(position, subVersion);
+ }
+
+ public void addSubVersion(int subVersion) {
+ pointedVersion.add(subVersion);
+ }
+
+ public Version incVersion(int position) {
+ Version result = new Version(toString());
+ while (result.getVersion(position) == null) {
+ result.addSubVersion(0);
+ }
+ result.setVersion(position, result.getVersion(position) + 1);
+ return result;
+ }
+
+ @Override
+ public String toString() {
+ StringBuffer result = new StringBuffer("");
+ for (Integer i : pointedVersion) {
+ result.append(i).append(".");
+ }
+ result.setLength(result.length() - 1);
+ return result.toString();
+ }
+
+ public int compareTo(Version v) {
+ int result = 0;
+ int position = 0;
+ boolean compared = false;
+ while (!compared) {
+ if (getVersion(position) == null && v.getVersion(position) == null) {
+ result = 0;
+ compared = true;
+ } else {
+ if (getVersion(position) == null) {
+ result = -1;
+ compared = true;
+ } else {
+ if (v.getVersion(position) == null) {
+ result = 1;
+ compared = true;
+ } else {
+ result = getVersion(position).compareTo(
+ v.getVersion(position));
+ compared = (result != 0);
+ }
+ }
+ }
+ position++;
+ }
+ return result;
+ }
+
+}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/EntityFactory.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/EntityFactory.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/EntityFactory.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -1,5 +1,9 @@
package org.cemagref.simexplorer.si.storage.factories;
+import java.io.BufferedOutputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.HashSet;
@@ -125,7 +129,7 @@
public abstract void saveXMLElement(Document document, Element xmlElement,
E element) throws Exception;
- public String getElementXML(E element) throws Exception {
+ public void getElementXML(E element, OutputStream os) throws Exception {
org.w3c.dom.Document xmlDocument = getBuilder().newDocument();
// Propriétés du DOM
xmlDocument.setXmlVersion("1.0");
@@ -136,14 +140,17 @@
saveXMLElement(xmlDocument, racine, element);
xmlDocument.appendChild(racine);
DOMSource domSource = new DOMSource(xmlDocument);
- StringWriter writer = new StringWriter();
- StreamResult result = new StreamResult(writer);
+ StreamResult result = new StreamResult(os);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
- transformer.transform(domSource, result);
-
- return writer.toString();
+ transformer.transform(domSource, result);
}
+
+ public String getElementXML(E element) throws Exception {
+ ByteArrayOutputStream writer = new ByteArrayOutputStream();
+ getElementXML(element, writer);
+ return writer.toString();
+ }
public Set loadCollection(String tagSetName, String tagName, Class clazz,
Element xmlElement) throws Exception {
Added: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/FileEntityFactory.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/FileEntityFactory.java (rev 0)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/FileEntityFactory.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -0,0 +1,21 @@
+package org.cemagref.simexplorer.si.storage.factories;
+
+import org.cemagref.simexplorer.si.storage.attachment.AttachmentHandler;
+import org.cemagref.simexplorer.si.storage.attachment.fs.FileSystemAttachmentHandler;
+import org.cemagref.simexplorer.si.storage.database.DatabaseConstants;
+import org.cemagref.simexplorer.si.storage.entities.FileEntity;
+
+public abstract class FileEntityFactory<E extends FileEntity> extends
+ EntityFactory<E> implements DatabaseConstants {
+
+ private static AttachmentHandler handler;
+ private static boolean handlerInit = false;
+
+ public static AttachmentHandler getHandler() {
+ if (!handlerInit) {
+ handler = new FileSystemAttachmentHandler();
+ }
+ return handler;
+ }
+
+}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/LoggableElementFactory.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/LoggableElementFactory.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/LoggableElementFactory.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -10,25 +10,25 @@
import org.w3c.dom.Element;
public abstract class LoggableElementFactory<E extends LoggableElement> extends
- EntityFactory<E> implements DatabaseConstants {
+ FileEntityFactory<E> implements DatabaseConstants {
private static final String KEY_DESCRIPTION = "description";
@Override
public E loadXMLElement(Element xmlElement) throws Exception {
- E element = super.loadXMLElement(xmlElement);
+ E element = super.loadXMLElement(xmlElement);
element.setUuid(getProperty(xmlElement, KEY_UUID));
element.setName(getProperty(xmlElement, KEY_NAME));
element.setType(getProperty(xmlElement, KEY_TYPE));
element.setDescription(getProperty(xmlElement, KEY_DESCRIPTION));
-
+ element.setVersion(getProperty(xmlElement, KEY_VERSION));
+
// FIXME Convert
/*
- element.setMajorVersion(new Integer(getProperty(xmlElement, KEY_MAJORVERSION)));
- element.setMinorVersion(new Integer(getProperty(xmlElement, KEY_MINORVERSION)));
- element.setCreationDate(new Date(getProperty(xmlElement, KEY_CREATIONDATE)));
- */
-
+ * element.setCreationDate(new Date(getProperty(xmlElement,
+ * KEY_CREATIONDATE)));
+ */
+
element.setHash(getProperty(xmlElement, KEY_HASH));
return element;
}
@@ -39,15 +39,16 @@
setProperty(document, xmlElement, KEY_UUID, element.getUuid());
setProperty(document, xmlElement, KEY_NAME, element.getName());
- setProperty(document, xmlElement, KEY_TYPE, element.getType());
- setProperty(document, xmlElement, KEY_DESCRIPTION, element.getDescription());
+ setProperty(document, xmlElement, KEY_TYPE, element.getType());
+ setProperty(document, xmlElement, KEY_DESCRIPTION, element
+ .getDescription());
+ setProperty(document, xmlElement, KEY_VERSION, element.getVersion());
/*
- setProperty(document, xmlElement, KEY_CREATIONDATE, element.getCreationDate());
- setProperty(document, xmlElement, KEY_MAJORVERSION, element.getMajorVersion());
- setProperty(document, xmlElement, KEY_MINORVERSION, element.getMinorVersion());
- */
+ * setProperty(document, xmlElement, KEY_CREATIONDATE,
+ * element.getCreationDate());
+ */
setProperty(document, xmlElement, KEY_HASH, element.getHash());
-
+
}
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/ResultFactory.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/ResultFactory.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/ResultFactory.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -4,7 +4,7 @@
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-public class ResultFactory<E extends Result> extends EntityFactory<Result> {
+public class ResultFactory<E extends Result> extends FileEntityFactory<Result> {
@Override
public Result createInstance() {
Deleted: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/tools/Version.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/tools/Version.java 2007-12-06 18:32:23 UTC (rev 48)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/tools/Version.java 2007-12-06 18:33:44 UTC (rev 49)
@@ -1,50 +0,0 @@
-package org.cemagref.simexplorer.si.storage.tools;
-
-public class Version implements Comparable<Version> {
-
- private Integer majorVersion;
- private Integer minorVersion;
- private Object versionnedObject;
-
- public int compareTo(Version v) {
- if (this.getMajorVersion() != null && v.getMajorVersion() != null) {
- if (this.getMajorVersion() == v.getMajorVersion()) {
- if (this.getMinorVersion() != null
- && v.getMinorVersion() != null) {
- if (this.getMinorVersion() != v.getMinorVersion()) {
- return this.getMinorVersion().compareTo(
- v.getMinorVersion());
- }
- }
- } else {
- return this.getMajorVersion().compareTo(v.getMajorVersion());
- }
- }
- return 0;
- }
-
- public Integer getMajorVersion() {
- return majorVersion;
- }
-
- public void setMajorVersion(Integer majorVersion) {
- this.majorVersion = majorVersion;
- }
-
- public Integer getMinorVersion() {
- return minorVersion;
- }
-
- public void setMinorVersion(Integer minorVersion) {
- this.minorVersion = minorVersion;
- }
-
- public Object getVersionnedObject() {
- return versionnedObject;
- }
-
- public void setVersionnedObject(Object versionnedObject) {
- this.versionnedObject = versionnedObject;
- }
-
-}
1
0
r48 - in trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage: . attachment attachment/fs attachment/type
by glandais@users.labs.libre-entreprise.org 06 Dec '07
by glandais@users.labs.libre-entreprise.org 06 Dec '07
06 Dec '07
Author: glandais
Date: 2007-12-06 18:32:23 +0000 (Thu, 06 Dec 2007)
New Revision: 48
Added:
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/AttachmentHandler.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/fs/
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/fs/FileSystemAttachmentHandler.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/type/
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/type/ContentType.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/type/ContentTypeFactory.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/type/RawType.java
Log:
Gestion du contenu attach?\195?\169
Added: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/AttachmentHandler.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/AttachmentHandler.java (rev 0)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/AttachmentHandler.java 2007-12-06 18:32:23 UTC (rev 48)
@@ -0,0 +1,18 @@
+package org.cemagref.simexplorer.si.storage.attachment;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import org.cemagref.simexplorer.si.storage.entities.FileEntity;
+
+public abstract class AttachmentHandler {
+
+ public abstract void storeData(FileEntity entity, String field,
+ InputStream is) throws Exception;
+
+ public abstract InputStream retrieveData(FileEntity entity, String field)
+ throws Exception;
+
+ public abstract void deleteData(FileEntity entity, String field) throws Exception;
+
+}
\ No newline at end of file
Added: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/fs/FileSystemAttachmentHandler.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/fs/FileSystemAttachmentHandler.java (rev 0)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/fs/FileSystemAttachmentHandler.java 2007-12-06 18:32:23 UTC (rev 48)
@@ -0,0 +1,72 @@
+package org.cemagref.simexplorer.si.storage.attachment.fs;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+
+import org.cemagref.simexplorer.si.storage.attachment.AttachmentHandler;
+import org.cemagref.simexplorer.si.storage.entities.FileEntity;
+import org.cemagref.simexplorer.si.storage.entities.LoggableElement;
+
+public class FileSystemAttachmentHandler extends AttachmentHandler {
+
+ private static String baseFolder = "./data/";
+
+ private File getFile(FileEntity entity, String field) throws Exception {
+ String resultPath = baseFolder;
+
+ LoggableElement loggableElement = null;
+ if (entity instanceof LoggableElement) {
+ loggableElement = (LoggableElement) entity;
+ } else {
+ loggableElement = entity.getOwner();
+ }
+
+ resultPath = resultPath + loggableElement.getUuid() + "/"
+ + loggableElement.getVersion().toString() + "/" + field;
+
+ File result = new File(resultPath);
+ File resultFolder = new File(result.getParent());
+ if (!resultFolder.exists()) {
+ resultFolder.mkdirs();
+ //result.createNewFile();
+ }
+
+ return result;
+ }
+
+ @Override
+ public InputStream retrieveData(FileEntity entity, String field)
+ throws Exception {
+ FileInputStream fis = new FileInputStream(getFile(entity, field));
+ return fis;
+ }
+
+ @Override
+ public void storeData(FileEntity entity, String field, InputStream is)
+ throws Exception {
+ FileOutputStream fos = new FileOutputStream(getFile(entity, field));
+
+ BufferedInputStream bin = new BufferedInputStream(is);
+ BufferedOutputStream bout = new BufferedOutputStream(fos);
+
+ while (true) {
+ int datum = bin.read();
+ if (datum == -1)
+ break;
+ bout.write(datum);
+ }
+ bout.flush();
+
+ fos.close();
+ }
+
+ @Override
+ public void deleteData(FileEntity entity, String field) throws Exception {
+ getFile(entity, field).delete();
+ }
+
+}
Added: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/type/ContentType.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/type/ContentType.java (rev 0)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/type/ContentType.java 2007-12-06 18:32:23 UTC (rev 48)
@@ -0,0 +1,28 @@
+package org.cemagref.simexplorer.si.storage.attachment.type;
+
+import java.io.InputStream;
+
+public abstract class ContentType {
+
+ private String mimeType;
+ private String description;
+
+ public abstract InputStream renderToText(InputStream is);
+
+ public String getMimeType() {
+ return mimeType;
+ }
+
+ public void setMimeType(String mimeType) {
+ this.mimeType = mimeType;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+}
Added: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/type/ContentTypeFactory.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/type/ContentTypeFactory.java (rev 0)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/type/ContentTypeFactory.java 2007-12-06 18:32:23 UTC (rev 48)
@@ -0,0 +1,22 @@
+package org.cemagref.simexplorer.si.storage.attachment.type;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class ContentTypeFactory {
+
+ private static Map<String, ContentType> contentTypes = null;
+
+ public static ContentType getContentTypeInstance(Class<? extends ContentType> contentTypeClass) throws Exception {
+ if (contentTypes == null) {
+ contentTypes = new HashMap<String, ContentType>();
+ }
+ ContentType result = contentTypes.get(contentTypeClass.getSimpleName());
+ if (result == null) {
+ result = contentTypeClass.newInstance();
+ contentTypes.put(contentTypeClass.getSimpleName(), result);
+ }
+ return result;
+ }
+
+}
Added: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/type/RawType.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/type/RawType.java (rev 0)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/attachment/type/RawType.java 2007-12-06 18:32:23 UTC (rev 48)
@@ -0,0 +1,18 @@
+package org.cemagref.simexplorer.si.storage.attachment.type;
+
+import java.io.InputStream;
+
+public class RawType extends ContentType {
+
+ public RawType() {
+ super();
+ setDescription("rawtype");
+ setMimeType("text/text");
+ }
+
+ @Override
+ public InputStream renderToText(InputStream is) {
+ return is;
+ }
+
+}
1
0
r47 - in trunk/simexplorer-si-storage/src: java/org/cemagref/simexplorer/si/storage/database/lucene java/org/cemagref/simexplorer/si/storage/entities java/org/cemagref/simexplorer/si/storage/factories test/org/cemagref/simexplorer/si/storage/test
by glandais@users.labs.libre-entreprise.org 05 Dec '07
by glandais@users.labs.libre-entreprise.org 05 Dec '07
05 Dec '07
Author: glandais
Date: 2007-12-05 17:23:14 +0000 (Wed, 05 Dec 2007)
New Revision: 47
Added:
trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/ElementGenerator.java
Modified:
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database/lucene/LuceneDatabase.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Component.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationApplication.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationData.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Library.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/LoggableElement.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/ConstantFactory.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/ConstantValueFactory.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/EntityFactory.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/ExplorationApplicationFactory.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/LoggableElementFactory.java
trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/LuceneDatabaseTestCase.java
Log:
Passages tests et g?\195?\169n?\195?\169ration al?\195?\169atoire d'EA
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database/lucene/LuceneDatabase.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database/lucene/LuceneDatabase.java 2007-12-05 15:34:55 UTC (rev 46)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/database/lucene/LuceneDatabase.java 2007-12-05 17:23:14 UTC (rev 47)
@@ -71,6 +71,11 @@
@Override
public void pushElement(LoggableElement element) throws Exception {
+ Set<LoggableElement> children = element.getChildren();
+ for (LoggableElement loggableElement : children) {
+ pushElement(loggableElement);
+ }
+
LoggableElementFactory elementFactory = (LoggableElementFactory) LoggableElementFactory
.getFactory(element.getClass());
Document document = saveLuceneElement(elementFactory, element);
@@ -238,23 +243,7 @@
document.add(new Field(KEY_MAJORVERSION, element.getMajorVersion()
.toString(), Field.Store.YES, Field.Index.UN_TOKENIZED));
- org.w3c.dom.Document xmlDocument = factory.getBuilder().newDocument();
- // Propriétés du DOM
- xmlDocument.setXmlVersion("1.0");
- xmlDocument.setXmlStandalone(true);
- // Création de l'arborescence du DOM
- Element racine = xmlDocument.createElement(element.getClass()
- .getSimpleName());
- factory.saveXMLElement(xmlDocument, racine, element);
- xmlDocument.appendChild(racine);
- DOMSource domSource = new DOMSource(xmlDocument);
- StringWriter writer = new StringWriter();
- StreamResult result = new StreamResult(writer);
- TransformerFactory tf = TransformerFactory.newInstance();
- Transformer transformer = tf.newTransformer();
- transformer.transform(domSource, result);
- String stringResult = writer.toString();
- document.add(new Field(KEY_XML, stringResult,
+ document.add(new Field(KEY_XML, factory.getElementXML(element),
Field.Store.COMPRESS, Field.Index.NO));
return document;
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Component.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Component.java 2007-12-05 15:34:55 UTC (rev 46)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Component.java 2007-12-05 17:23:14 UTC (rev 47)
@@ -1,5 +1,6 @@
package org.cemagref.simexplorer.si.storage.entities;
+import java.util.HashSet;
import java.util.Set;
public class Component extends LoggableElement {
@@ -41,4 +42,11 @@
this.libraries = libraries;
}
+ @Override
+ public Set<LoggableElement> getChildren() {
+ Set<LoggableElement> elements = new HashSet<LoggableElement>();
+ elements.addAll(libraries);
+ return elements;
+ }
+
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationApplication.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationApplication.java 2007-12-05 15:34:55 UTC (rev 46)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationApplication.java 2007-12-05 17:23:14 UTC (rev 47)
@@ -21,5 +21,12 @@
public void setComponents(Set<Component> components) {
this.components = components;
}
+ @Override
+ public Set<LoggableElement> getChildren() {
+ Set<LoggableElement> elements = new HashSet<LoggableElement>();
+ elements.addAll(explorations);
+ elements.addAll(components);
+ return elements;
+ }
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationData.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationData.java 2007-12-05 15:34:55 UTC (rev 46)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationData.java 2007-12-05 17:23:14 UTC (rev 47)
@@ -1,5 +1,6 @@
package org.cemagref.simexplorer.si.storage.entities;
+import java.util.HashSet;
import java.util.Set;
public class ExplorationData extends LoggableElement {
@@ -50,5 +51,10 @@
public void setValuesMap(Set<ConstantValue> valuesMap) {
this.valuesMap = valuesMap;
}
+ @Override
+ public Set<LoggableElement> getChildren() {
+ Set<LoggableElement> elements = new HashSet<LoggableElement>();
+ return elements;
+ }
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Library.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Library.java 2007-12-05 15:34:55 UTC (rev 46)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Library.java 2007-12-05 17:23:14 UTC (rev 47)
@@ -1,6 +1,15 @@
package org.cemagref.simexplorer.si.storage.entities;
+import java.util.HashSet;
+import java.util.Set;
+
public class Library extends LoggableElement {
+ @Override
+ public Set<LoggableElement> getChildren() {
+ Set<LoggableElement> elements = new HashSet<LoggableElement>();
+ return elements;
+ }
+
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/LoggableElement.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/LoggableElement.java 2007-12-05 15:34:55 UTC (rev 46)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/LoggableElement.java 2007-12-05 17:23:14 UTC (rev 47)
@@ -91,6 +91,8 @@
this.descriptors = descriptors;
}
+ public abstract Set<LoggableElement> getChildren();
+
/*
public LoggableElement getParent() {
return parent;
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/ConstantFactory.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/ConstantFactory.java 2007-12-05 15:34:55 UTC (rev 46)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/ConstantFactory.java 2007-12-05 17:23:14 UTC (rev 47)
@@ -18,7 +18,8 @@
public Constant loadXMLElement(Element xmlElement) throws Exception {
Constant constant = super.loadXMLElement(xmlElement);
constant.setName(getProperty(xmlElement, KEY_NAME));
- constant.setType(Class.forName(getProperty(xmlElement, KEY_TYPE)));
+ String className = getProperty(xmlElement, KEY_TYPE);
+ constant.setType(Class.forName(className));
return constant;
}
@@ -26,7 +27,8 @@
public void saveXMLElement(Document document, Element xmlElement,
Constant element) throws Exception {
setProperty(document, xmlElement, KEY_NAME, element.getName());
- setProperty(document, xmlElement, KEY_TYPE, element.getClass().getName());
+ String className = element.getType().getName();
+ setProperty(document, xmlElement, KEY_TYPE, className);
}
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/ConstantValueFactory.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/ConstantValueFactory.java 2007-12-05 15:34:55 UTC (rev 46)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/ConstantValueFactory.java 2007-12-05 17:23:14 UTC (rev 47)
@@ -29,7 +29,7 @@
ConstantValue element) throws Exception {
Element xmlConstant = document.createElement(KEY_CONSTANT);
- getFactory(Constant.class).saveXMLElement(document, xmlElement, element.getConstant());
+ getFactory(Constant.class).saveXMLElement(document, xmlConstant, element.getConstant());
xmlElement.appendChild(xmlConstant);
setProperty(document, xmlElement, KEY_VALUE, element.getValue());
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/EntityFactory.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/EntityFactory.java 2007-12-05 15:34:55 UTC (rev 46)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/EntityFactory.java 2007-12-05 17:23:14 UTC (rev 47)
@@ -1,5 +1,6 @@
package org.cemagref.simexplorer.si.storage.factories;
+import java.io.StringWriter;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -7,6 +8,13 @@
import java.util.Set;
import java.util.StringTokenizer;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
import org.cemagref.simexplorer.si.storage.entities.Entity;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -20,6 +28,18 @@
private static Map<String, EntityFactory> factories = new HashMap<String, EntityFactory>();
+ private static DocumentBuilder documentBuilder = null;
+
+ public static synchronized DocumentBuilder getBuilder() throws Exception {
+ if (documentBuilder == null) {
+ DocumentBuilderFactory factory = DocumentBuilderFactory
+ .newInstance();
+ documentBuilder = factory.newDocumentBuilder();
+ return documentBuilder;
+ }
+ return documentBuilder;
+ }
+
public static EntityFactory getFactory(String entityClassName)
throws Exception {
EntityFactory entityFactory = factories.get(entityClassName);
@@ -104,6 +124,26 @@
public abstract void saveXMLElement(Document document, Element xmlElement,
E element) throws Exception;
+
+ public String getElementXML(E element) throws Exception {
+ org.w3c.dom.Document xmlDocument = getBuilder().newDocument();
+ // Propriétés du DOM
+ xmlDocument.setXmlVersion("1.0");
+ xmlDocument.setXmlStandalone(true);
+ // Création de l'arborescence du DOM
+ Element racine = xmlDocument.createElement(element.getClass()
+ .getSimpleName());
+ saveXMLElement(xmlDocument, racine, element);
+ xmlDocument.appendChild(racine);
+ DOMSource domSource = new DOMSource(xmlDocument);
+ StringWriter writer = new StringWriter();
+ StreamResult result = new StreamResult(writer);
+ TransformerFactory tf = TransformerFactory.newInstance();
+ Transformer transformer = tf.newTransformer();
+ transformer.transform(domSource, result);
+
+ return writer.toString();
+ }
public Set loadCollection(String tagSetName, String tagName, Class clazz,
Element xmlElement) throws Exception {
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/ExplorationApplicationFactory.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/ExplorationApplicationFactory.java 2007-12-05 15:34:55 UTC (rev 46)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/ExplorationApplicationFactory.java 2007-12-05 17:23:14 UTC (rev 47)
@@ -19,9 +19,9 @@
ExplorationApplication element) throws Exception {
super.saveXMLElement(document, xmlElement, element);
saveCollection(element.getExplorations(), KEY_DATA, KEY_DATA_NODE,
- ExplorationData.class.getClass(), document, xmlElement);
+ ExplorationData.class, document, xmlElement);
saveCollection(element.getComponents(), KEY_COMPONENTS,
- KEY_COMPONENT_NODE, Component.class.getClass(), document,
+ KEY_COMPONENT_NODE, Component.class, document,
xmlElement);
}
@@ -31,9 +31,9 @@
ExplorationApplication explorationApplication = super
.loadXMLElement(xmlElement);
explorationApplication.setExplorations(loadCollection(KEY_DATA,
- KEY_DATA_NODE, ExplorationData.class.getClass(), xmlElement));
+ KEY_DATA_NODE, ExplorationData.class, xmlElement));
explorationApplication.setComponents(loadCollection(KEY_COMPONENTS,
- KEY_COMPONENT_NODE, Component.class.getClass(), xmlElement));
+ KEY_COMPONENT_NODE, Component.class, xmlElement));
return explorationApplication;
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/LoggableElementFactory.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/LoggableElementFactory.java 2007-12-05 15:34:55 UTC (rev 46)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/factories/LoggableElementFactory.java 2007-12-05 17:23:14 UTC (rev 47)
@@ -14,18 +14,6 @@
private static final String KEY_DESCRIPTION = "description";
- private static DocumentBuilder documentBuilder = null;
-
- public static synchronized DocumentBuilder getBuilder() throws Exception {
- if (documentBuilder == null) {
- DocumentBuilderFactory factory = DocumentBuilderFactory
- .newInstance();
- documentBuilder = factory.newDocumentBuilder();
- return documentBuilder;
- }
- return documentBuilder;
- }
-
@Override
public E loadXMLElement(Element xmlElement) throws Exception {
E element = super.loadXMLElement(xmlElement);
Added: trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/ElementGenerator.java
===================================================================
--- trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/ElementGenerator.java (rev 0)
+++ trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/ElementGenerator.java 2007-12-05 17:23:14 UTC (rev 47)
@@ -0,0 +1,135 @@
+package org.cemagref.simexplorer.si.storage.test;
+
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Random;
+import java.util.Set;
+import java.util.UUID;
+
+import org.cemagref.simexplorer.si.storage.entities.Code;
+import org.cemagref.simexplorer.si.storage.entities.Component;
+import org.cemagref.simexplorer.si.storage.entities.Constant;
+import org.cemagref.simexplorer.si.storage.entities.ConstantValue;
+import org.cemagref.simexplorer.si.storage.entities.Descriptor;
+import org.cemagref.simexplorer.si.storage.entities.Entity;
+import org.cemagref.simexplorer.si.storage.entities.ExplorationApplication;
+import org.cemagref.simexplorer.si.storage.entities.ExplorationData;
+import org.cemagref.simexplorer.si.storage.entities.Library;
+import org.cemagref.simexplorer.si.storage.entities.LoggableElement;
+import org.cemagref.simexplorer.si.storage.entities.Result;
+import org.cemagref.simexplorer.si.storage.entities.Structure;
+import org.cemagref.simexplorer.si.storage.factories.EntityFactory;
+
+public class ElementGenerator {
+
+ private Random r = new Random();
+
+ private void update(LoggableElement element) throws Exception {
+ element.setUuid(UUID.randomUUID().toString());
+ element.setName(UUID.randomUUID().toString());
+ element.setType(element.getClass().getSimpleName());
+ element.setDescription("test");
+ element.setMajorVersion(r.nextInt(100));
+ element.setMinorVersion(r.nextInt(100));
+ element.setCreationDate(new Date(r.nextLong()));
+ element.setHash(UUID.randomUUID().toString());
+
+ Set descriptors = generateArray(Descriptor.class);
+ for (Object object : descriptors) {
+ processDescriptor((Descriptor) object);
+ }
+ element.setDescriptors(descriptors);
+ }
+
+ private void processDescriptor(Descriptor object) {
+ object.setName(UUID.randomUUID().toString());
+ object.setValue(UUID.randomUUID().toString());
+ }
+
+ private Set<Entity> generateArray(Class clazz) throws Exception {
+ Set<Entity> elements = new HashSet<Entity>();
+ int i = 1 + r.nextInt(2);
+ for (int j = 0; j < i; j++) {
+ Entity element = EntityFactory.getFactory(clazz).createInstance();
+ if (element instanceof LoggableElement) {
+ update((LoggableElement) element);
+ }
+ elements.add(element);
+ }
+ return elements;
+ }
+
+ public ExplorationApplication generateRandomEA() throws Exception {
+ ExplorationApplication ea = new ExplorationApplication();
+ update(ea);
+ Set datas = generateArray(ExplorationData.class);
+ for (Object object : datas) {
+ processExplorationData((ExplorationData) object);
+ }
+ ea.setExplorations(datas);
+ Set components = generateArray(Component.class);
+ for (Object object : components) {
+ processComponent((Component) object);
+ }
+ ea.setComponents(components);
+ return ea;
+ }
+
+ private void processComponent(Component component) throws Exception {
+ Set constants = generateArray(Constant.class);
+ for (Object constant : constants) {
+ processConstant((Constant) constant);
+ }
+ component.setConstants(constants);
+
+ component.setStructures(new HashSet<Structure>());
+
+ Set codes = generateArray(Code.class);
+ for (Object code : codes) {
+ processCode((Code) code);
+ }
+ component.setCodes(codes);
+
+ Set libraries = generateArray(Library.class);
+ for (Object library : libraries) {
+ processLibrary((Library) library);
+ }
+ component.setLibraries(libraries);
+
+ }
+
+ private void processLibrary(Library library) {
+ }
+
+ private void processCode(Code code) {
+ code.setCode(UUID.randomUUID().toString());
+ code.setLanguage(UUID.randomUUID().toString());
+ }
+
+ private void processConstant(Constant constant) {
+ constant.setName(UUID.randomUUID().toString());
+ constant.setType(String.class);
+ }
+
+ private void processExplorationData(ExplorationData explorationData) throws Exception {
+ Result result = new Result();
+ explorationData.setResult(result);
+
+ Set constantValues = generateArray(ConstantValue.class);
+ for (Object constantValue : constantValues) {
+ processConstantValue((ConstantValue) constantValue);
+ }
+ explorationData.setValuesMap(constantValues);
+
+ }
+
+ private void processConstantValue(ConstantValue constantValue) {
+ Constant constant = new Constant();
+ constant.setName(UUID.randomUUID().toString());
+ constant.setType(Integer.class);
+
+ constantValue.setConstant(constant);
+ constantValue.setValue(Integer.toString(r.nextInt()));
+ }
+
+}
Modified: trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/LuceneDatabaseTestCase.java
===================================================================
--- trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/LuceneDatabaseTestCase.java 2007-12-05 15:34:55 UTC (rev 46)
+++ trunk/simexplorer-si-storage/src/test/org/cemagref/simexplorer/si/storage/test/LuceneDatabaseTestCase.java 2007-12-05 17:23:14 UTC (rev 47)
@@ -11,14 +11,17 @@
import org.cemagref.simexplorer.si.storage.database.lucene.LuceneDatabase;
import org.cemagref.simexplorer.si.storage.entities.ExplorationData;
import org.cemagref.simexplorer.si.storage.entities.LoggableElement;
+import org.cemagref.simexplorer.si.storage.factories.EntityFactory;
public class LuceneDatabaseTestCase extends TestCase {
private LuceneDatabase database;
+ private ElementGenerator elementGenerator;
protected void setUp() throws Exception {
super.setUp();
database = new LuceneDatabase();
+ elementGenerator = new ElementGenerator();
}
protected void tearDown() throws Exception {
@@ -27,6 +30,19 @@
}
public final void testPushFindElement() throws Exception {
+ /*
+ database.pushElement(elementGenerator.generateRandomEA());
+
+ Map<String, String> properties = new HashMap<String, String>();
+ properties.put(DatabaseConstants.KEY_DESCRIPTION, "test");
+ Set<LoggableElement> elements = database
+ .findElementsByProperties(properties);
+ for (LoggableElement loggableElement : elements) {
+ System.out.println(EntityFactory.getFactory(
+ loggableElement.getClass()).getElementXML(loggableElement));
+ }
+ */
+
String description1 = UUID.randomUUID().toString();
String uuid1 = UUID.randomUUID().toString();
Integer majorVersion1 = 5;
@@ -88,9 +104,10 @@
explorationData2.setMinorVersion(minorVersion2);
explorationData2.setDescription(description2);
database.pushElement(explorationData2);
-
- assertEquals(description2, database.getElementLatestVersion(uuid1).getDescription());
+ assertEquals(description2, database.getElementLatestVersion(uuid1)
+ .getDescription());
+
String description3 = UUID.randomUUID().toString();
Integer majorVersion3 = majorVersion1 + 1;
Integer minorVersion3 = 0;
@@ -101,7 +118,8 @@
explorationData3.setDescription(description3);
database.pushElement(explorationData3);
- assertEquals(description3, database.getElementLatestVersion(uuid1).getDescription());
+ assertEquals(description3, database.getElementLatestVersion(uuid1)
+ .getDescription());
}
public final void testFindElementsById() throws Exception {
@@ -125,7 +143,7 @@
explorationData2.setMinorVersion(minorVersion2);
explorationData2.setDescription(description2);
database.pushElement(explorationData2);
-
+
String description3 = UUID.randomUUID().toString();
Integer majorVersion3 = majorVersion1 + 1;
Integer minorVersion3 = 0;
@@ -138,11 +156,12 @@
Set<LoggableElement> elements = database.findElementsById(uuid1);
assertEquals(3, elements.size());
-
+
}
- public final void testFindElementsByPropertiesMapOfStringString() throws Exception {
-
+ public final void testFindElementsByPropertiesMapOfStringString()
+ throws Exception {
+
String description1 = UUID.randomUUID().toString();
String uuid1 = UUID.randomUUID().toString();
Integer majorVersion1 = 5;
@@ -163,7 +182,7 @@
explorationData2.setMinorVersion(minorVersion2);
explorationData2.setDescription(description2);
database.pushElement(explorationData2);
-
+
String description3 = UUID.randomUUID().toString();
Integer majorVersion3 = majorVersion1 + 1;
Integer minorVersion3 = 0;
@@ -175,18 +194,20 @@
database.pushElement(explorationData3);
// TODO add some other classes in db
-
+
Map<String, String> properties = new HashMap<String, String>();
properties.put(DatabaseConstants.KEY_UUID, uuid1);
properties.put(DatabaseConstants.KEY_MAJORVERSION, "5");
-
- Set<LoggableElement> elements = database.findElementsByProperties(properties);
- assertEquals(2, elements.size());
-
+
+ Set<LoggableElement> elements = database
+ .findElementsByProperties(properties);
+ assertEquals(2, elements.size());
+
}
- public final void testFindElementsByPropertiesMapOfStringStringClass() throws Exception {
-
+ public final void testFindElementsByPropertiesMapOfStringStringClass()
+ throws Exception {
+
String description1 = UUID.randomUUID().toString();
String uuid1 = UUID.randomUUID().toString();
Integer majorVersion1 = 5;
@@ -207,7 +228,7 @@
explorationData2.setMinorVersion(minorVersion2);
explorationData2.setDescription(description2);
database.pushElement(explorationData2);
-
+
String description3 = UUID.randomUUID().toString();
Integer majorVersion3 = majorVersion1 + 1;
Integer minorVersion3 = 0;
@@ -221,14 +242,15 @@
Map<String, String> properties = new HashMap<String, String>();
properties.put(DatabaseConstants.KEY_UUID, uuid1);
properties.put(DatabaseConstants.KEY_MAJORVERSION, "5");
-
- Set<LoggableElement> elements = database.findElementsByProperties(properties, ExplorationData.class);
+
+ Set<LoggableElement> elements = database.findElementsByProperties(
+ properties, ExplorationData.class);
assertEquals(2, elements.size());
-
+
}
public final void testDeleteElement() throws Exception {
-
+
String description1 = UUID.randomUUID().toString();
String uuid1 = UUID.randomUUID().toString();
Integer majorVersion1 = 5;
@@ -239,14 +261,14 @@
explorationData1.setMinorVersion(minorVersion1);
explorationData1.setDescription(description1);
database.pushElement(explorationData1);
-
+
database.deleteElement(explorationData1);
assertNull(database.findElement(uuid1, majorVersion1, minorVersion1));
-
+
}
public final void testDeleteElements() throws Exception {
-
+
String description1 = UUID.randomUUID().toString();
String uuid1 = UUID.randomUUID().toString();
Integer majorVersion1 = 5;
@@ -257,7 +279,7 @@
explorationData1.setMinorVersion(minorVersion1);
explorationData1.setDescription(description1);
database.pushElement(explorationData1);
-
+
String description2 = UUID.randomUUID().toString();
Integer majorVersion2 = 5;
Integer minorVersion2 = minorVersion1 + 1;
@@ -267,7 +289,7 @@
explorationData2.setMinorVersion(minorVersion2);
explorationData2.setDescription(description2);
database.pushElement(explorationData2);
-
+
String description3 = UUID.randomUUID().toString();
Integer majorVersion3 = majorVersion1 + 1;
Integer minorVersion3 = 0;
@@ -277,11 +299,11 @@
explorationData3.setMinorVersion(minorVersion3);
explorationData3.setDescription(description3);
database.pushElement(explorationData3);
-
+
database.deleteElements(uuid1);
-
+
assertEquals(0, database.findElementsById(uuid1).size());
-
+
}
}
1
0
r45 - trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage
by glandais@users.labs.libre-entreprise.org 05 Dec '07
by glandais@users.labs.libre-entreprise.org 05 Dec '07
05 Dec '07
Author: glandais
Date: 2007-12-05 15:34:29 +0000 (Wed, 05 Dec 2007)
New Revision: 45
Removed:
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/
Log:
Refactoring factories
1
0
r44 - trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories
by glandais@users.labs.libre-entreprise.org 05 Dec '07
by glandais@users.labs.libre-entreprise.org 05 Dec '07
05 Dec '07
Author: glandais
Date: 2007-12-05 15:33:33 +0000 (Wed, 05 Dec 2007)
New Revision: 44
Removed:
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/DescriptorFactory.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/EntityFactory.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/ExplorationApplicationFactory.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/ExplorationDataFactory.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/LoggableElementFactory.java
Log:
Refactoring factories
Deleted: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/DescriptorFactory.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/DescriptorFactory.java 2007-12-05 15:24:39 UTC (rev 43)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/DescriptorFactory.java 2007-12-05 15:33:33 UTC (rev 44)
@@ -1,28 +0,0 @@
-package org.cemagref.simexplorer.si.storage.dao.factories;
-
-import org.cemagref.simexplorer.si.storage.entities.Descriptor;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public class DescriptorFactory<E extends Descriptor> extends EntityFactory<Descriptor> {
-
- public static final String KEY_NAME = "name";
- public static final String KEY_VALUE = "value";
-
- public Descriptor createInstance() {
- return new Descriptor();
- }
-
- public Descriptor loadXMLElement(Element xmlElement) throws Throwable {
- Descriptor descriptor = createInstance();
- descriptor.setName(xmlElement.getAttribute(KEY_NAME));
- descriptor.setValue(xmlElement.getAttribute(KEY_VALUE));
- return descriptor;
- }
-
- public void saveXMLElement(org.w3c.dom.Document document, Element xmlElement, Descriptor element) throws Throwable {
- xmlElement.setAttribute(KEY_NAME, element.getName());
- xmlElement.setAttribute(KEY_VALUE, element.getValue());
- }
-
-}
Deleted: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/EntityFactory.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/EntityFactory.java 2007-12-05 15:24:39 UTC (rev 43)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/EntityFactory.java 2007-12-05 15:33:33 UTC (rev 44)
@@ -1,90 +0,0 @@
-package org.cemagref.simexplorer.si.storage.dao.factories;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.cemagref.simexplorer.si.storage.dao.ElementDAOFactory;
-import org.cemagref.simexplorer.si.storage.entities.Entity;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public abstract class EntityFactory<E extends Entity> {
-
- public abstract E createInstance();
-
- public E loadXMLElement(Element xmlElement) throws Throwable {
- E element = createInstance();
- return element;
- }
-
- protected Set<Element> getElementsByTagName(Element xmlElement,
- String tagName) {
- Set<Element> elements = new HashSet<Element>();
-
- NodeList nodes = xmlElement.getChildNodes();
- for (int i = 0; i < nodes.getLength(); i++) {
- Node node = nodes.item(i);
- if (node instanceof Element
- && tagName.equals(((Element) node).getTagName())) {
- elements.add((Element) node);
- }
- }
- return elements;
- }
-
- protected Element getElementByTagName(Element xmlElement,String tagName) {
- Set<Element> elements = getElementsByTagName(xmlElement, tagName);
- if (elements.size() > 0) {
- return elements.iterator().next();
- } else {
- return null;
- }
- }
-
- public abstract void saveXMLElement(Document document, Element xmlElement,
- E element) throws Throwable;
-
- public Set loadCollection(String tagSetName, String tagName, Class clazz,
- Element xmlElement) throws Throwable {
- Set entities = new HashSet();
-
- Element xmlCollection = getElementByTagName(xmlElement, tagSetName);
- if (xmlCollection != null) {
- EntityFactory elementFactory = (EntityFactory) ElementDAOFactory
- .getFactory(clazz);
-
- Set<Element> list = getElementsByTagName(xmlCollection, tagName);
- for (Iterator iterator = list.iterator(); iterator.hasNext();) {
- Element element = (Element) iterator.next();
- Entity entity = elementFactory.loadXMLElement(element);
- entities.add(entity);
- }
- }
-
- return entities;
- }
-
- public void saveCollection(Set entities, String tagSetName, String tagName,
- Class clazz, Document document, Element xmlElement)
- throws Throwable {
- if (entities != null && entities.size() > 0) {
- Element xmlCollection = document.createElement(tagSetName);
- EntityFactory elementFactory = (EntityFactory) ElementDAOFactory
- .getFactory(clazz);
- for (Object entity : entities) {
- Element childElement = document.createElement(tagName);
- // TODO
- // if (entity instanceof LoggableElement) {
- // elementFactory.saveXMLElementByReference
- elementFactory.saveXMLElement(document, childElement,
- (Entity) entity);
- xmlCollection.appendChild(childElement);
- }
- xmlElement.appendChild(xmlCollection);
- }
- }
-
-}
Deleted: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/ExplorationApplicationFactory.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/ExplorationApplicationFactory.java 2007-12-05 15:24:39 UTC (rev 43)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/ExplorationApplicationFactory.java 2007-12-05 15:33:33 UTC (rev 44)
@@ -1,44 +0,0 @@
-package org.cemagref.simexplorer.si.storage.dao.factories;
-
-import org.cemagref.simexplorer.si.storage.entities.Component;
-import org.cemagref.simexplorer.si.storage.entities.ExplorationApplication;
-import org.cemagref.simexplorer.si.storage.entities.ExplorationData;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-public class ExplorationApplicationFactory extends
- LoggableElementFactory<ExplorationApplication> {
-
- public static final String KEY_DATA = "data";
- public static final String KEY_DATA_NODE = "explorationdata";
- public static final String KEY_COMPONENTS = "components";
- public static final String KEY_COMPONENT_NODE = "component";
-
- @Override
- public void saveXMLElement(Document document, Element xmlElement,
- ExplorationApplication element) throws Throwable {
- super.saveXMLElement(document, xmlElement, element);
- saveCollection(element.getExplorations(), KEY_DATA, KEY_DATA_NODE,
- ExplorationData.class.getClass(), document, xmlElement);
- saveCollection(element.getComponents(), KEY_COMPONENTS,
- KEY_COMPONENT_NODE, Component.class.getClass(), document,
- xmlElement);
- }
-
- @Override
- public ExplorationApplication loadXMLElement(Element xmlElement)
- throws Throwable {
- ExplorationApplication explorationApplication = super
- .loadXMLElement(xmlElement);
- explorationApplication.setExplorations(loadCollection(KEY_DATA,
- KEY_DATA_NODE, ExplorationData.class.getClass(), xmlElement));
- explorationApplication.setComponents(loadCollection(KEY_COMPONENTS,
- KEY_COMPONENT_NODE, Component.class.getClass(), xmlElement));
- return explorationApplication;
- }
-
- public ExplorationApplication createInstance() {
- return new ExplorationApplication();
- }
-
-}
Deleted: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/ExplorationDataFactory.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/ExplorationDataFactory.java 2007-12-05 15:24:39 UTC (rev 43)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/ExplorationDataFactory.java 2007-12-05 15:33:33 UTC (rev 44)
@@ -1,13 +0,0 @@
-package org.cemagref.simexplorer.si.storage.dao.factories;
-
-import org.cemagref.simexplorer.si.storage.entities.ExplorationData;
-
-public class ExplorationDataFactory extends
- LoggableElementFactory<ExplorationData> {
-
- @Override
- public ExplorationData createInstance() {
- return new ExplorationData();
- }
-
-}
Deleted: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/LoggableElementFactory.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/LoggableElementFactory.java 2007-12-05 15:24:39 UTC (rev 43)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/LoggableElementFactory.java 2007-12-05 15:33:33 UTC (rev 44)
@@ -1,48 +0,0 @@
-package org.cemagref.simexplorer.si.storage.dao.factories;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.cemagref.simexplorer.si.storage.database.lucene.LuceneConstants;
-import org.cemagref.simexplorer.si.storage.entities.LoggableElement;
-import org.w3c.dom.Element;
-import org.w3c.dom.Text;
-
-public abstract class LoggableElementFactory<E extends LoggableElement> extends
- EntityFactory<E> implements LuceneConstants {
-
- private static final String KEY_DESCRIPTION = "description";
-
- private static DocumentBuilder documentBuilder = null;
-
- public static synchronized DocumentBuilder getBuilder() throws Throwable {
- if (documentBuilder == null) {
- DocumentBuilderFactory factory = DocumentBuilderFactory
- .newInstance();
- documentBuilder = factory.newDocumentBuilder();
- return documentBuilder;
- }
- return documentBuilder;
- }
-
- @Override
- public E loadXMLElement(Element xmlElement) throws Throwable {
- E element = super.loadXMLElement(xmlElement);
- // FIXME load all properties
- element.setDescription(getElementByTagName(xmlElement, KEY_DESCRIPTION)
- .getNodeValue());
-
- return element;
- }
-
- @Override
- public void saveXMLElement(org.w3c.dom.Document document,
- Element xmlElement, E element) throws Throwable {
- // FIXME save all fields
- Element xmlDescription = document.createElement(KEY_DESCRIPTION);
- Text xmlDescriptionText = document.createTextNode(element.getDescription());
- xmlDescription.appendChild(xmlDescriptionText);
- xmlElement.appendChild(xmlDescription);
- }
-
-}
1
0
r43 - trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao
by glandais@users.labs.libre-entreprise.org 05 Dec '07
by glandais@users.labs.libre-entreprise.org 05 Dec '07
05 Dec '07
Author: glandais
Date: 2007-12-05 15:24:39 +0000 (Wed, 05 Dec 2007)
New Revision: 43
Removed:
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/ElementDAOFactory.java
Log:
Refactoring factories
Deleted: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/ElementDAOFactory.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/ElementDAOFactory.java 2007-12-05 15:24:28 UTC (rev 42)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/ElementDAOFactory.java 2007-12-05 15:24:39 UTC (rev 43)
@@ -1,47 +0,0 @@
-package org.cemagref.simexplorer.si.storage.dao;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.cemagref.simexplorer.si.storage.dao.factories.EntityFactory;
-import org.cemagref.simexplorer.si.storage.entities.Entity;
-
-public class ElementDAOFactory {
-
- private final static String PACKAGE_DAO = "org.cemagref.simexplorer.si.storage.dao.factories";
-
- private static Map<String, EntityFactory> factories = new HashMap<String, EntityFactory>();
-
- public static EntityFactory getFactory(String entityClassName)
- throws Throwable {
- EntityFactory entityFactory = factories.get(entityClassName);
- if (entityFactory == null) {
-
- StringTokenizer st = new StringTokenizer(entityClassName, ".");
- String simpleClassName = null;
- while (st.hasMoreTokens()) {
- simpleClassName = st.nextToken();
- }
-
- String elementFactoryClassName = simpleClassName + "Factory";
-
- Class elementFactoryClass = Class.forName(PACKAGE_DAO + "."
- + elementFactoryClassName);
-
- entityFactory = (EntityFactory) elementFactoryClass.newInstance();
- factories.put(entityClassName, entityFactory);
- }
-
- return entityFactory;
- }
-
- /**
- * @param entityClass
- * @return
- * @throws Throwable
- */
- public static EntityFactory getFactory(Class entityClass) throws Throwable {
- return getFactory(entityClass.getName());
- }
-}
1
0
r42 - trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities
by glandais@users.labs.libre-entreprise.org 05 Dec '07
by glandais@users.labs.libre-entreprise.org 05 Dec '07
05 Dec '07
Author: glandais
Date: 2007-12-05 15:24:28 +0000 (Wed, 05 Dec 2007)
New Revision: 42
Modified:
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Component.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Constant.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ConstantValue.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationApplication.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationData.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Library.java
trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/LoggableElement.java
Log:
Entities update
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Component.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Component.java 2007-12-05 15:23:47 UTC (rev 41)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Component.java 2007-12-05 15:24:28 UTC (rev 42)
@@ -1,6 +1,5 @@
package org.cemagref.simexplorer.si.storage.entities;
-import java.util.HashSet;
import java.util.Set;
public class Component extends LoggableElement {
@@ -9,14 +8,37 @@
Set<Structure> structures;
Set<Code> codes;
Set<Library> libraries;
-
- @Override
- public Set<LoggableElement> getChildren() {
- Set<LoggableElement> children = new HashSet<LoggableElement>();
- if (libraries != null) {
- children.addAll(libraries);
- }
- return children;
+
+ public Set<Constant> getConstants() {
+ return constants;
}
-
+
+ public void setConstants(Set<Constant> constants) {
+ this.constants = constants;
+ }
+
+ public Set<Structure> getStructures() {
+ return structures;
+ }
+
+ public void setStructures(Set<Structure> structures) {
+ this.structures = structures;
+ }
+
+ public Set<Code> getCodes() {
+ return codes;
+ }
+
+ public void setCodes(Set<Code> codes) {
+ this.codes = codes;
+ }
+
+ public Set<Library> getLibraries() {
+ return libraries;
+ }
+
+ public void setLibraries(Set<Library> libraries) {
+ this.libraries = libraries;
+ }
+
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Constant.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Constant.java 2007-12-05 15:23:47 UTC (rev 41)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Constant.java 2007-12-05 15:24:28 UTC (rev 42)
@@ -4,18 +4,21 @@
private String name;
private Class type;
-
+
public String getName() {
return name;
}
+
public void setName(String name) {
this.name = name;
}
+
public Class getType() {
return type;
}
+
public void setType(Class type) {
this.type = type;
}
-
+
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ConstantValue.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ConstantValue.java 2007-12-05 15:23:47 UTC (rev 41)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ConstantValue.java 2007-12-05 15:24:28 UTC (rev 42)
@@ -2,13 +2,13 @@
public class ConstantValue implements Entity {
- private Object value;
+ private String value;
private Constant constant;
- public Object getValue() {
+ public String getValue() {
return value;
}
- public void setValue(Object value) {
+ public void setValue(String value) {
this.value = value;
}
public Constant getConstant() {
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationApplication.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationApplication.java 2007-12-05 15:23:47 UTC (rev 41)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationApplication.java 2007-12-05 15:24:28 UTC (rev 42)
@@ -22,17 +22,4 @@
this.components = components;
}
- @Override
- public Set<LoggableElement> getChildren() {
- Set<LoggableElement> children = new HashSet<LoggableElement>();
- if (explorations != null) {
- children.addAll(explorations);
- }
- if (components != null) {
- children.addAll(components);
- }
- return children;
- }
-
-
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationData.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationData.java 2007-12-05 15:23:47 UTC (rev 41)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationData.java 2007-12-05 15:24:28 UTC (rev 42)
@@ -1,23 +1,22 @@
package org.cemagref.simexplorer.si.storage.entities;
-import java.util.HashSet;
import java.util.Set;
public class ExplorationData extends LoggableElement {
private Set<ConstantValue> valuesMap;
private Result result;
-
+
private ConstantValue findConstantValue(Constant c) {
for (ConstantValue constantValue : valuesMap) {
if (c.equals(constantValue.getConstant())) {
return constantValue;
}
- }
+ }
return null;
}
-
- public void setConstantValue(Constant c, Object value) {
+
+ public void setConstantValue(Constant c, String value) {
ConstantValue constantValue = findConstantValue(c);
if (constantValue == null) {
constantValue = new ConstantValue();
@@ -26,7 +25,7 @@
}
constantValue.setValue(value);
}
-
+
public Object getConstantValue(Constant c) {
ConstantValue constantValue = findConstantValue(c);
if (constantValue == null) {
@@ -44,8 +43,12 @@
this.result = result;
}
- @Override
- public Set<LoggableElement> getChildren() {
- return new HashSet<LoggableElement>();
- }
+ public Set<ConstantValue> getValuesMap() {
+ return valuesMap;
+ }
+
+ public void setValuesMap(Set<ConstantValue> valuesMap) {
+ this.valuesMap = valuesMap;
+ }
+
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Library.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Library.java 2007-12-05 15:23:47 UTC (rev 41)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Library.java 2007-12-05 15:24:28 UTC (rev 42)
@@ -1,14 +1,6 @@
package org.cemagref.simexplorer.si.storage.entities;
-import java.util.HashSet;
-import java.util.Set;
-
public class Library extends LoggableElement {
- @Override
- public Set<LoggableElement> getChildren() {
- return new HashSet<LoggableElement>();
- }
-
}
Modified: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/LoggableElement.java
===================================================================
--- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/LoggableElement.java 2007-12-05 15:23:47 UTC (rev 41)
+++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/LoggableElement.java 2007-12-05 15:24:28 UTC (rev 42)
@@ -3,8 +3,6 @@
import java.util.Date;
import java.util.Set;
-import org.apache.lucene.document.Document;
-
public abstract class LoggableElement implements Entity {
private String uuid;
@@ -16,8 +14,10 @@
private Date creationDate;
private String hash;
private Set<Descriptor> descriptors;
+ /*
private LoggableElement parent;
private Set<LoggableElement> children;
+ */
public String getUuid() {
return uuid;
@@ -91,6 +91,7 @@
this.descriptors = descriptors;
}
+ /*
public LoggableElement getParent() {
return parent;
}
@@ -106,12 +107,6 @@
public void setVersionChildren(Set<LoggableElement> children) {
this.children = children;
}
-
- /**
- * Returns children list
- * Should not be null
- * @return Children list
- */
- public abstract Set<LoggableElement> getChildren();
+ */
}
1
0