Author: glandais Date: 2007-12-03 17:37:30 +0000 (Mon, 03 Dec 2007) New Revision: 31 Added: trunk/simexplorer-si-storage/src/ trunk/simexplorer-si-storage/src/java/ trunk/simexplorer-si-storage/src/java/org/ trunk/simexplorer-si-storage/src/java/org/cemagref/ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/ 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/EntityFactory.java trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/LoggableElementFactory.java trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/ 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/ExplorationApplicationFactory.java trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ 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 Log: Initial commit Added: 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 (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/ElementDAOFactory.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,37 @@ +package org.cemagref.simexplorer.si.storage.dao; + +import java.util.HashMap; +import java.util.Map; + +public class ElementDAOFactory { + + private final static String PACKAGE_DAO = "org.cemagref.simexplorer.si.storage.dao"; + private final static String PACKAGE_DAO_FACTORIES = "org.cemagref.simexplorer.si.storage.dao.factories"; + + private static Map<String, EntityFactory> factories = new HashMap<String, EntityFactory>(); + + public static EntityFactory getFactory(Class entityClass) throws Throwable { + EntityFactory elementFactory; + String elementFactoryClassName = entityClass.getSimpleName() + + "Factory"; + Class elementFactoryClass = Class.forName(PACKAGE_DAO + "." + + elementFactoryClassName); + if (elementFactoryClass == null) { + elementFactoryClass = Class.forName(PACKAGE_DAO_FACTORIES + "." + + elementFactoryClassName); + } + + if (elementFactoryClass == null) { + return null; + } + + elementFactory = factories.get(elementFactoryClassName); + if (elementFactory == null) { + elementFactory = (EntityFactory) elementFactoryClass.newInstance(); + factories.put(elementFactoryClassName, elementFactory); + } + + return elementFactory; + } + +} Added: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/EntityFactory.java =================================================================== --- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/EntityFactory.java (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/EntityFactory.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,41 @@ +package org.cemagref.simexplorer.si.storage.dao; + +import java.util.Set; + +import org.cemagref.simexplorer.si.storage.entities.Entity; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +public abstract class EntityFactory<E extends Entity> { + + public E loadXMLElement(Element xmlElement) throws Throwable { + E element = createInstance(); + return element; + } + + public abstract void saveXMLElement(Document document, Element xmlElement, + E element) throws Throwable; + + public abstract E createInstance(); + + public Set<Entity> loadCollection() { + return null; + } + + 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); + elementFactory.saveXMLElement(document, childElement, (Entity) entity); + xmlCollection.appendChild(childElement); + } + xmlElement.appendChild(xmlCollection); + } + } + +} Added: trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/LoggableElementFactory.java =================================================================== --- trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/LoggableElementFactory.java (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/LoggableElementFactory.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,89 @@ +package org.cemagref.simexplorer.si.storage.dao; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.io.StringWriter; + +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.apache.lucene.document.Document; +import org.apache.lucene.document.Field; +import org.cemagref.simexplorer.si.storage.entities.LoggableElement; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + +public abstract class LoggableElementFactory<E extends LoggableElement> + extends EntityFactory<E> { + + private DocumentBuilder documentBuilder = null; + + private 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 + + 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("description"); + xmlDescription.setNodeValue(element.getDescription()); + xmlElement.appendChild(xmlDescription); + } + + public E loadLuceneElement(Document document) throws Throwable { + String strXMLElement = document.get("xmlElement"); + + InputStream is = new ByteArrayInputStream(strXMLElement.getBytes()); + org.w3c.dom.Document xmlDocument = getBuilder().parse(is); + + // FIXME check first element, document is a not an element + E element = loadXMLElement((Element) xmlDocument.getFirstChild()); + + return element; + } + + public Document saveLuceneElement(E element) throws Throwable { + Document document = new Document(); + + // FIXME save searchable/metadata fields + document.add(new Field("description", element.getDescription(), + Field.Store.YES, Field.Index.UN_TOKENIZED)); + + 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().getName()); + saveXMLElement(xmlDocument, racine, element); + 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("xmlElement", stringResult, Field.Store.COMPRESS, Field.Index.NO)); + + return document; + } + +} Added: 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 (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/DescriptorFactory.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,26 @@ +package org.cemagref.simexplorer.si.storage.dao.factories; + +import org.cemagref.simexplorer.si.storage.dao.EntityFactory; +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 Descriptor createInstance() { + return new Descriptor(); + } + + public Descriptor loadXMLElement(Element xmlElement) throws Throwable { + Descriptor descriptor = createInstance(); + descriptor.setName(xmlElement.getAttribute("name")); + descriptor.setValue(xmlElement.getAttribute("value")); + return descriptor; + } + + public void saveXMLElement(org.w3c.dom.Document document, Element xmlElement, Descriptor element) throws Throwable { + xmlElement.setAttribute("name", element.getName()); + xmlElement.setAttribute("value", element.getValue()); + } + +} Added: 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 (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/dao/factories/ExplorationApplicationFactory.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,35 @@ +package org.cemagref.simexplorer.si.storage.dao.factories; + +import java.util.Set; + +import org.cemagref.simexplorer.si.storage.dao.ElementDAOFactory; +import org.cemagref.simexplorer.si.storage.dao.EntityFactory; +import org.cemagref.simexplorer.si.storage.dao.LoggableElementFactory; +import org.cemagref.simexplorer.si.storage.entities.Component; +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.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + +public class ExplorationApplicationFactory extends LoggableElementFactory<ExplorationApplication> { + + @Override + public void saveXMLElement(Document document, Element xmlElement, ExplorationApplication element) throws Throwable { + super.saveXMLElement(document, xmlElement, element); + saveCollection(element.getExplorations(), "data", "explorationData", ExplorationData.class.getClass(), document, xmlElement); + saveCollection(element.getComponents(), "components", "component", Component.class.getClass(), document, xmlElement); + } + + @Override + public ExplorationApplication loadXMLElement(Element xmlElement) throws Throwable { + ExplorationApplication explorationApplication = super.loadXMLElement(xmlElement); + return explorationApplication; + } + + public ExplorationApplication createInstance() { + return new ExplorationApplication(); + } + +} Added: 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 (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Code.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,21 @@ +package org.cemagref.simexplorer.si.storage.entities; + +public class Code implements Entity { + + private String language; + private String code; + + public String getLanguage() { + return language; + } + public void setLanguage(String language) { + this.language = language; + } + public String getCode() { + return code; + } + public void setCode(String code) { + this.code = code; + } + +} Added: 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 (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Component.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,22 @@ +package org.cemagref.simexplorer.si.storage.entities; + +import java.util.HashSet; +import java.util.Set; + +public class Component extends LoggableElement { + + Set<Constant> constants; + 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; + } + +} Added: 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 (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Constant.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,21 @@ +package org.cemagref.simexplorer.si.storage.entities; + +public class Constant implements Entity { + + 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; + } + +} Added: 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 (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ConstantValue.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,21 @@ +package org.cemagref.simexplorer.si.storage.entities; + +public class ConstantValue implements Entity { + + private Object value; + private Constant constant; + + public Object getValue() { + return value; + } + public void setValue(Object value) { + this.value = value; + } + public Constant getConstant() { + return constant; + } + public void setConstant(Constant constant) { + this.constant = constant; + } + +} Added: 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 (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Descriptor.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,21 @@ +package org.cemagref.simexplorer.si.storage.entities; + +public class Descriptor implements Entity { + + private String name; + private String value; + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getValue() { + return value; + } + public void setValue(String value) { + this.value = value; + } + +} Added: 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 (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Entity.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,5 @@ +package org.cemagref.simexplorer.si.storage.entities; + +public interface Entity { + +} Added: 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 (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationApplication.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,38 @@ +package org.cemagref.simexplorer.si.storage.entities; + +import java.util.HashSet; +import java.util.Set; + + +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> children = new HashSet<LoggableElement>(); + if (explorations != null) { + children.addAll(explorations); + } + if (components != null) { + children.addAll(components); + } + return children; + } + + +} Added: 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 (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/ExplorationData.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,51 @@ +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) { + ConstantValue constantValue = findConstantValue(c); + if (constantValue == null) { + constantValue = new ConstantValue(); + constantValue.setConstant(c); + valuesMap.add(constantValue); + } + constantValue.setValue(value); + } + + public Object getConstantValue(Constant c) { + ConstantValue constantValue = findConstantValue(c); + if (constantValue == null) { + return null; + } else { + return constantValue.getValue(); + } + } + + public Result getResult() { + return result; + } + + public void setResult(Result result) { + this.result = result; + } + + @Override + public Set<LoggableElement> getChildren() { + return new HashSet<LoggableElement>(); + } +} Added: 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 (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Library.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,14 @@ +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>(); + } + +} Added: 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 (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/LoggableElement.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,117 @@ +package org.cemagref.simexplorer.si.storage.entities; + +import java.util.Date; +import java.util.Set; + +import org.apache.lucene.document.Document; + +public abstract class LoggableElement implements Entity { + + private String uuid; + private String name; + private String type; + private String description; + private Integer majorVersion; + private Integer minorVersion; + private Date creationDate; + private String hash; + private Set<Descriptor> descriptors; + private LoggableElement parent; + private Set<LoggableElement> children; + + public String getUuid() { + return uuid; + } + + public void setUuid(String uuid) { + this.uuid = uuid; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + 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 Date getCreationDate() { + return creationDate; + } + + public void setCreationDate(Date creationDate) { + this.creationDate = creationDate; + } + + public String getHash() { + return hash; + } + + public void setHash(String hash) { + this.hash = hash; + } + + public Set<Descriptor> getDescriptors() { + return descriptors; + } + + public void setDescriptors(Set<Descriptor> descriptors) { + this.descriptors = descriptors; + } + + public LoggableElement getParent() { + return parent; + } + + public void setParent(LoggableElement parent) { + this.parent = parent; + } + + public Set<LoggableElement> getVersionChildren() { + return children; + } + + public void setVersionChildren(Set<LoggableElement> children) { + this.children = children; + } + + /** + * Returns children list + * Should not be null + * @return Children list + */ + public abstract Set<LoggableElement> getChildren(); + +} Added: 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 (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Repository.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,5 @@ +package org.cemagref.simexplorer.si.storage.entities; + +public class Repository implements Entity { + +} Added: 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 (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Result.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,5 @@ +package org.cemagref.simexplorer.si.storage.entities; + +public class Result implements Entity { + +} Added: 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 (rev 0) +++ trunk/simexplorer-si-storage/src/java/org/cemagref/simexplorer/si/storage/entities/Structure.java 2007-12-03 17:37:30 UTC (rev 31) @@ -0,0 +1,5 @@ +package org.cemagref.simexplorer.si.storage.entities; + +public interface Structure extends Entity { + +}