Author: dlanglais Date: 2010-03-04 21:12:10 +0100 (Thu, 04 Mar 2010) New Revision: 188 Log: G?\195?\169n?\195?\169rateur de fichier xml (afin de tester le chargement de fichier plus ou moins volumineux). -> test?\195?\169 avec un fichier de ~100 Mo (1000000 de lignes et 5 colonnes) l'actuel plugin de chargement ne tient pas la charge (freeze de l'appli). Surement du ?\195?\160 SaxBuilder. -> l'?\195?\169criture du fichier est par contre tr?\195?\168s rapide (~10 secondes). Added: trunk/msm-fromtoXML/src/test/java/org/nuiton/mapstoragemanager/plugins/exporter/Generator.java Modified: trunk/msm-fromtoXML/pom.xml trunk/msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/exporter/ToXML.java trunk/msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/importer/FromXML.java Modified: trunk/msm-fromtoXML/pom.xml =================================================================== --- trunk/msm-fromtoXML/pom.xml 2010-03-04 18:27:07 UTC (rev 187) +++ trunk/msm-fromtoXML/pom.xml 2010-03-04 20:12:10 UTC (rev 188) @@ -209,6 +209,26 @@ </plugins> </pluginManagement> <plugins> + + <!--<plugin> + <artifactId>maven-assembly-plugin</artifactId> + <version></version> + <configuration> + <descriptorRefs> + <descriptorRef>jar-with-dependencies</descriptorRef> + </descriptorRefs> + </configuration> + <executions> + <execution> + <id>make-assembly</id> this is used for inheritance merges + <phase>package</phase> append to the packaging phase. + <goals> + <goal>attached</goal> goals == mojos + </goals> + </execution> + </executions> + </plugin>--> + <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> @@ -219,6 +239,7 @@ <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> + <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> @@ -227,6 +248,7 @@ <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> + </plugins> </build> <properties> Modified: trunk/msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/exporter/ToXML.java =================================================================== --- trunk/msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/exporter/ToXML.java 2010-03-04 18:27:07 UTC (rev 187) +++ trunk/msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/exporter/ToXML.java 2010-03-04 20:12:10 UTC (rev 188) @@ -162,11 +162,16 @@ * @param file the file in which we save the database. */ private static void save(final File file) { + long t1 = System.currentTimeMillis(); try { XMLOutputter output = new XMLOutputter(Format.getPrettyFormat()); FileOutputStream fos = new FileOutputStream(file); +// GZIPOutputStream gzos = new GZIPOutputStream(fos); +// output.output(document, gzos); output.output(document, fos); fos.close(); + long t2 = System.currentTimeMillis(); + LOG.info("temps d'enregistrement : " + (t2 - t1) + " ms."); } catch (IOException ex) { LOG.error(ex, ex); } Modified: trunk/msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/importer/FromXML.java =================================================================== --- trunk/msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/importer/FromXML.java 2010-03-04 18:27:07 UTC (rev 187) +++ trunk/msm-fromtoXML/src/main/java/org/nuiton/mapstoragemanager/plugins/importer/FromXML.java 2010-03-04 20:12:10 UTC (rev 188) @@ -138,11 +138,14 @@ * @throws IOException IOException */ private static void open(final File file) throws IOException { + long t1 = System.currentTimeMillis(); //On crée une instance de SAXBuilder SAXBuilder saxBuilder = new SAXBuilder(); try { // we construct the jdom document from the file. document = saxBuilder.build(file); + long t2 = System.currentTimeMillis(); + LOG.info("temps de chargement : " + (t2 - t1) + " ms."); } catch (JDOMException ex) { LOG.error(ex, ex); } Added: trunk/msm-fromtoXML/src/test/java/org/nuiton/mapstoragemanager/plugins/exporter/Generator.java =================================================================== --- trunk/msm-fromtoXML/src/test/java/org/nuiton/mapstoragemanager/plugins/exporter/Generator.java (rev 0) +++ trunk/msm-fromtoXML/src/test/java/org/nuiton/mapstoragemanager/plugins/exporter/Generator.java 2010-03-04 20:12:10 UTC (rev 188) @@ -0,0 +1,75 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package org.nuiton.mapstoragemanager.plugins.exporter; + +import java.io.File; +import java.util.ArrayList; +import java.util.Random; +import java.util.Set; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.mapstoragemanager.plugins.BigTable; +import org.nuiton.mapstoragemanager.plugins.Exporter; +import org.nuiton.mapstoragemanager.plugins.bighashmapv2.BigHashMapV2; +import org.nuiton.mapstoragemanager.plugins.getFile; + +/** + * + * @author Dorian Langlais + */ +public class Generator { + + /** + * Logger. + */ + private static final Log LOG = LogFactory.getLog(Generator.class); + + public static void main(String[] args) { + + BigTable bt = new BigHashMapV2(); + String btName = "Random"; + ArrayList<String> columnsNames = new ArrayList<String>(); + columnsNames.add(0,"1er Quart"); + columnsNames.add(1,"2nd Quart"); + columnsNames.add(2,"3eme Quart"); + columnsNames.add(3,"4eme Quart"); + + bt.createTable(btName); + bt.createColumn(btName, "Iteration"); + bt.createColumn(btName, columnsNames.get(0)); + bt.createColumn(btName, columnsNames.get(1)); + bt.createColumn(btName, columnsNames.get(2)); + bt.createColumn(btName, columnsNames.get(3)); + + Set<String> columns = bt.getColumnsNames(btName); + Integer nbIteration = 100000; + Random random = new java.util.Random(); + Double currentRandom; + int nbColumns = columns.size() - 1; + + while (nbIteration-->0) { + currentRandom = random.nextDouble(); + + bt.put( + btName, + "Iteration", + nbIteration.toString(), + nbIteration.toString()); + + bt.put( + btName, + columnsNames.get((int) (currentRandom * nbColumns)), + nbIteration.toString(), + currentRandom.toString()); + } + + Exporter exporter = new ToXML(); + File exportTest = + getFile.getTestFile("/src/test/resources/generator.xml"); + exporter.exportTo(bt,exportTest); +// exportTest.delete(); + } +}