Author: tchemit Date: 2008-01-23 14:13:46 +0000 (Wed, 23 Jan 2008) New Revision: 431 Added: trunk/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/ElementGenerator.java Removed: trunk/simexplorer-is-service/src/test/fr/cemagref/simexplorer/is/service/test/ElementGenerator.java Modified: trunk/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/MockStorageServiceImpl.java trunk/simexplorer-is-service/src/test/fr/cemagref/simexplorer/is/service/test/StorageServiceMassInsert.java Log: implantation de la m?\195?\169thode getLement du service + d?\195?\169placement generator Copied: trunk/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/ElementGenerator.java (from rev 430, trunk/simexplorer-is-service/src/test/fr/cemagref/simexplorer/is/service/test/ElementGenerator.java) =================================================================== --- trunk/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/ElementGenerator.java (rev 0) +++ trunk/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/ElementGenerator.java 2008-01-23 14:13:46 UTC (rev 431) @@ -0,0 +1,177 @@ +/* +* ##% Copyright (C) 2008 Code Lutin, Gabriel Landais +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License +* as published by the Free Software Foundation; either version 2 +* of the License, or (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +* ##% */ +package fr.cemagref.simexplorer.is.service; + +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Random; +import java.util.Set; +import java.util.UUID; + +import fr.cemagref.simexplorer.is.entities.data.Code; +import fr.cemagref.simexplorer.is.entities.data.Component; +import fr.cemagref.simexplorer.is.entities.data.Constant; +import fr.cemagref.simexplorer.is.entities.data.ConstantValue; +import fr.cemagref.simexplorer.is.entities.data.DataEntity; +import fr.cemagref.simexplorer.is.entities.data.ExplorationApplication; +import fr.cemagref.simexplorer.is.entities.data.ExplorationData; +import fr.cemagref.simexplorer.is.entities.data.Library; +import fr.cemagref.simexplorer.is.entities.data.LoggableElement; +import fr.cemagref.simexplorer.is.entities.data.Result; +import fr.cemagref.simexplorer.is.entities.data.Structure; +import fr.cemagref.simexplorer.is.entities.metadata.MetaDataEntity; +import fr.cemagref.simexplorer.is.entities.metadata.Version; +import fr.cemagref.simexplorer.is.factories.BaseEntityFactory; + +public class ElementGenerator { + + private Random r = new Random(); + + private String shortString() { + return Long.toHexString(r.nextLong()); + } + + private String longString() { + return UUID.randomUUID().toString(); + } + + private void update(LoggableElement element) throws Exception { + MetaDataEntity metaData = new MetaDataEntity(); + metaData.setUuid(shortString()); + metaData.setName(longString()); + metaData.setType(element.getClass().getSimpleName()); + + StringBuffer sb = new StringBuffer(""); + int c = 3 + r.nextInt(5); + for (int i = 0; i < c; i++) { + sb.append(shortString()); + sb.append(" "); + } + metaData.setDescription(sb.toString()); + + Version v = new Version("0"); + c = 2 + r.nextInt(2); + for (int i = 0; i < c; i++) { + v.setVersion(i, r.nextInt(5)); + } + metaData.setVersion(v.toString()); + metaData.setCreationDate(new Date()); + metaData.setHash(shortString()); + metaData.setLatest(true); + + Map<String, String> descriptors = new HashMap<String, String>(); + int i = 5 + r.nextInt(10); + for (int j = 0; j < i; j++) { + descriptors.put(Integer.toString(j), shortString()); + } + metaData.setDescriptors(descriptors); + + element.setMetaData(metaData); + } + + private <T extends DataEntity> Set<T> generateArray(Class<T> clazz) + throws Exception { + Set<T> elements = new HashSet<T>(); + int i = 3 + r.nextInt(2); + for (int j = 0; j < i; j++) { + T element = BaseEntityFactory.<T>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<ExplorationData> datas = generateArray(ExplorationData.class); + for (ExplorationData object : datas) { + processExplorationData(object); + } + ea.setExplorations(datas); + Set<Component> components = generateArray(Component.class); + for (Component object : components) { + processComponent(object); + } + ea.setComponents(components); + return ea; + } + + private void processComponent(Component component) throws Exception { + Set<Constant> constants = generateArray(Constant.class); + for (Constant constant : constants) { + processConstant(constant); + } + component.setConstants(constants); + + component.setStructures(new HashSet<Structure>()); + + Set<Code> codes = generateArray(Code.class); + for (Code code : codes) { + processCode(code); + } + component.setCodes(codes); + + Set<Library> libraries = generateArray(Library.class); + for (Library library : libraries) { + processLibrary(library); + } + component.setLibraries(libraries); + + } + + private void processLibrary(Library library) { + } + + private void processCode(Code code) { + code.setCode(shortString()); + code.setLanguage(shortString()); + } + + private void processConstant(Constant constant) { + constant.setName(shortString()); + constant.setType(String.class); + } + + private void processExplorationData(ExplorationData explorationData) + throws Exception { + Result result = new Result(); + explorationData.setResult(result); + + Set<ConstantValue> constantValues = generateArray(ConstantValue.class); + for (ConstantValue constantValue : constantValues) { + processConstantValue(constantValue); + } + explorationData.setValuesMap(constantValues); + + } + + private void processConstantValue(ConstantValue constantValue) { + Constant constant = new Constant(); + constant.setName(shortString()); + constant.setType(Integer.class); + + constantValue.setConstant(constant); + constantValue.setValue(Integer.toString(r.nextInt())); + } + +} Modified: trunk/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/MockStorageServiceImpl.java =================================================================== --- trunk/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/MockStorageServiceImpl.java 2008-01-23 11:17:09 UTC (rev 430) +++ trunk/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/MockStorageServiceImpl.java 2008-01-23 14:13:46 UTC (rev 431) @@ -21,6 +21,7 @@ import com.healthmarketscience.rmiio.RemoteInputStream; import com.healthmarketscience.rmiio.RemoteOutputStream; import fr.cemagref.simexplorer.is.entities.data.LoggableElement; +import fr.cemagref.simexplorer.is.entities.data.ExplorationApplication; import fr.cemagref.simexplorer.is.entities.metadata.MetaDataEntity; import fr.cemagref.simexplorer.is.storage.MetaDataGenerator; @@ -34,9 +35,13 @@ public class MockStorageServiceImpl implements StorageService { static final int SIZE = 400; - SortedMap<String, MetaDataEntity> mockData; - List<String> mockDataIndex; + protected SortedMap<String, MetaDataEntity> mockData; + + protected List<String> mockDataIndex; + + protected ElementGenerator generator; + public SortedMap<String, MetaDataEntity> mockData() { if (mockData == null) { mockData = new TreeMap<String, MetaDataEntity>(); @@ -107,8 +112,20 @@ return result; } + public ElementGenerator getGenerator() { + if (generator == null) { + generator = new ElementGenerator(); + } + return generator; + } + public LoggableElement getElement(String token, String uuid, String version) throws Exception { - return (LoggableElement) checkImplemented(); + + + ExplorationApplication explorationApplication = getGenerator().generateRandomEA(); + explorationApplication.getMetaData().setUuid(uuid); + explorationApplication.getMetaData().setVersion(version); + return explorationApplication; } public String loginUser(String login, String password) { Deleted: trunk/simexplorer-is-service/src/test/fr/cemagref/simexplorer/is/service/test/ElementGenerator.java =================================================================== --- trunk/simexplorer-is-service/src/test/fr/cemagref/simexplorer/is/service/test/ElementGenerator.java 2008-01-23 11:17:09 UTC (rev 430) +++ trunk/simexplorer-is-service/src/test/fr/cemagref/simexplorer/is/service/test/ElementGenerator.java 2008-01-23 14:13:46 UTC (rev 431) @@ -1,177 +0,0 @@ -/* -* ##% Copyright (C) 2008 Code Lutin, Gabriel Landais -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License -* as published by the Free Software Foundation; either version 2 -* of the License, or (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -* ##% */ -package fr.cemagref.simexplorer.is.service.test; - -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Random; -import java.util.Set; -import java.util.UUID; - -import fr.cemagref.simexplorer.is.entities.data.Code; -import fr.cemagref.simexplorer.is.entities.data.Component; -import fr.cemagref.simexplorer.is.entities.data.Constant; -import fr.cemagref.simexplorer.is.entities.data.ConstantValue; -import fr.cemagref.simexplorer.is.entities.data.DataEntity; -import fr.cemagref.simexplorer.is.entities.data.ExplorationApplication; -import fr.cemagref.simexplorer.is.entities.data.ExplorationData; -import fr.cemagref.simexplorer.is.entities.data.Library; -import fr.cemagref.simexplorer.is.entities.data.LoggableElement; -import fr.cemagref.simexplorer.is.entities.data.Result; -import fr.cemagref.simexplorer.is.entities.data.Structure; -import fr.cemagref.simexplorer.is.entities.metadata.MetaDataEntity; -import fr.cemagref.simexplorer.is.entities.metadata.Version; -import fr.cemagref.simexplorer.is.factories.BaseEntityFactory; - -public class ElementGenerator { - - private Random r = new Random(); - - private String shortString() { - return Long.toHexString(r.nextLong()); - } - - private String longString() { - return UUID.randomUUID().toString(); - } - - private void update(LoggableElement element) throws Exception { - MetaDataEntity metaData = new MetaDataEntity(); - metaData.setUuid(shortString()); - metaData.setName(longString()); - metaData.setType(element.getClass().getSimpleName()); - - StringBuffer sb = new StringBuffer(""); - int c = 3 + r.nextInt(5); - for (int i = 0; i < c; i++) { - sb.append(shortString()); - sb.append(" "); - } - metaData.setDescription(sb.toString()); - - Version v = new Version("0"); - c = 2 + r.nextInt(2); - for (int i = 0; i < c; i++) { - v.setVersion(i, r.nextInt(5)); - } - metaData.setVersion(v.toString()); - metaData.setCreationDate(new Date()); - metaData.setHash(shortString()); - metaData.setLatest(true); - - Map<String, String> descriptors = new HashMap<String, String>(); - int i = 5 + r.nextInt(10); - for (int j = 0; j < i; j++) { - descriptors.put(Integer.toString(j), shortString()); - } - metaData.setDescriptors(descriptors); - - element.setMetaData(metaData); - } - - private <T extends DataEntity> Set<T> generateArray(Class<T> clazz) - throws Exception { - Set<T> elements = new HashSet<T>(); - int i = 3 + r.nextInt(2); - for (int j = 0; j < i; j++) { - T element = BaseEntityFactory.<T>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<ExplorationData> datas = generateArray(ExplorationData.class); - for (ExplorationData object : datas) { - processExplorationData(object); - } - ea.setExplorations(datas); - Set<Component> components = generateArray(Component.class); - for (Component object : components) { - processComponent(object); - } - ea.setComponents(components); - return ea; - } - - private void processComponent(Component component) throws Exception { - Set<Constant> constants = generateArray(Constant.class); - for (Constant constant : constants) { - processConstant(constant); - } - component.setConstants(constants); - - component.setStructures(new HashSet<Structure>()); - - Set<Code> codes = generateArray(Code.class); - for (Code code : codes) { - processCode(code); - } - component.setCodes(codes); - - Set<Library> libraries = generateArray(Library.class); - for (Library library : libraries) { - processLibrary(library); - } - component.setLibraries(libraries); - - } - - private void processLibrary(Library library) { - } - - private void processCode(Code code) { - code.setCode(shortString()); - code.setLanguage(shortString()); - } - - private void processConstant(Constant constant) { - constant.setName(shortString()); - constant.setType(String.class); - } - - private void processExplorationData(ExplorationData explorationData) - throws Exception { - Result result = new Result(); - explorationData.setResult(result); - - Set<ConstantValue> constantValues = generateArray(ConstantValue.class); - for (ConstantValue constantValue : constantValues) { - processConstantValue(constantValue); - } - explorationData.setValuesMap(constantValues); - - } - - private void processConstantValue(ConstantValue constantValue) { - Constant constant = new Constant(); - constant.setName(shortString()); - constant.setType(Integer.class); - - constantValue.setConstant(constant); - constantValue.setValue(Integer.toString(r.nextInt())); - } - -} Modified: trunk/simexplorer-is-service/src/test/fr/cemagref/simexplorer/is/service/test/StorageServiceMassInsert.java =================================================================== --- trunk/simexplorer-is-service/src/test/fr/cemagref/simexplorer/is/service/test/StorageServiceMassInsert.java 2008-01-23 11:17:09 UTC (rev 430) +++ trunk/simexplorer-is-service/src/test/fr/cemagref/simexplorer/is/service/test/StorageServiceMassInsert.java 2008-01-23 14:13:46 UTC (rev 431) @@ -27,6 +27,7 @@ import fr.cemagref.simexplorer.is.factories.XmlConstants; import fr.cemagref.simexplorer.is.service.StorageServiceClient; import fr.cemagref.simexplorer.is.service.StorageServiceCommon; +import fr.cemagref.simexplorer.is.service.ElementGenerator; public class StorageServiceMassInsert extends TestCase {
participants (1)
-
tchemit@users.labs.libre-entreprise.org