Author: glandais Date: 2008-03-13 16:58:58 +0000 (Thu, 13 Mar 2008) New Revision: 1328 Modified: trunk/simexplorer-is/simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/storage/ElementGenerator.java Log: Smarter generateComposite Modified: trunk/simexplorer-is/simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/storage/ElementGenerator.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/storage/ElementGenerator.java 2008-03-13 16:58:37 UTC (rev 1327) +++ trunk/simexplorer-is/simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/storage/ElementGenerator.java 2008-03-13 16:58:58 UTC (rev 1328) @@ -110,7 +110,7 @@ /** The r. */ private Random r = new Random(); - /** The cs. */ + /** Number of words. */ private static int cs; /** The counter. */ @@ -203,19 +203,19 @@ /** * Generate composite. + * * @param <SC> Simple composite wanted * @param <T> Class of simple composite children * * @param compositeClass the composite class - * @param elementClass the element class * * @return the sC * * @throws Exception the exception */ - public <SC extends SimpleComposite<T>, T extends Entity> SC generateComposite(Class<SC> compositeClass, - Class<T> elementClass) throws Exception { + public <T extends Entity, SC extends SimpleComposite<T>> SC generateComposite(Class<SC> compositeClass) throws Exception { SC elements = compositeClass.newInstance(); + Class<T> elementClass = elements.getChildrenClass(); int i = 3 + r.nextInt(2); for (int j = 0; j < i; j++) { T element = elementClass.newInstance(); @@ -238,13 +238,13 @@ ExplorationApplication ea = new ExplorationApplication(); update(ea); - ExplorationDatas explorationDatas = generateComposite(ExplorationDatas.class, ExplorationData.class); + ExplorationDatas explorationDatas = generateComposite(ExplorationDatas.class); for (ExplorationData object : explorationDatas) { processExplorationData(object); } ea.setExplorations(explorationDatas); - Components components = generateComposite(Components.class, Component.class); + Components components = generateComposite(Components.class); for (Component object : components) { processComponent(object); } @@ -260,7 +260,7 @@ * @throws Exception the exception */ private void processComponent(Component component) throws Exception { - Constants constants = generateComposite(Constants.class, Constant.class); + Constants constants = generateComposite(Constants.class); for (Constant constant : constants) { processConstant(constant); } @@ -268,13 +268,13 @@ component.setStructures(new Structures()); - Codes codes = generateComposite(Codes.class, Code.class); + Codes codes = generateComposite(Codes.class); for (Code code : codes) { processCode(code); } component.setCodes(codes); - Libraries libraries = generateComposite(Libraries.class, Library.class); + Libraries libraries = generateComposite(Libraries.class); for (Library library : libraries) { processLibrary(library); } @@ -340,7 +340,7 @@ explorationData.setResult(result); // explorationData.getMetaData().getAttachments().add(generateAttachment()); - ConstantValues constantValues = generateComposite(ConstantValues.class, ConstantValue.class); + ConstantValues constantValues = generateComposite(ConstantValues.class); for (ConstantValue constantValue : constantValues) { processConstantValue(constantValue); }
participants (1)
-
glandais@users.labs.libre-entreprise.org