Author: tchemit Date: 2009-01-20 23:23:12 +0000 (Tue, 20 Jan 2009) New Revision: 1539 Modified: branches/migration-200901/ branches/migration-200901/simexplorer-is/pom.xml branches/migration-200901/simexplorer-is/simexplorer-is-ear/pom.xml branches/migration-200901/simexplorer-is/simexplorer-is-entities/pom.xml branches/migration-200901/simexplorer-is/simexplorer-is-entities/src/java/fr/cemagref/simexplorer/is/entities/data/RuntimeType.java branches/migration-200901/simexplorer-is/simexplorer-is-security/pom.xml branches/migration-200901/simexplorer-is/simexplorer-is-service/pom.xml branches/migration-200901/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/AuthenticationServiceImpl.java branches/migration-200901/simexplorer-is/simexplorer-is-storage/pom.xml branches/migration-200901/simexplorer-is/simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/exceptions/SimExplorerException.java branches/migration-200901/simexplorer-is/simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/storage/database/lucene/LuceneDatabase.java branches/migration-200901/simexplorer-is/simexplorer-is-storage/src/test/fr/cemagref/simexplorer/is/storage/VersionGenerator.java branches/migration-200901/simexplorer-is/simexplorer-is-swing-generated/pom.xml branches/migration-200901/simexplorer-is/simexplorer-is-swing/pom.xml branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorer.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerContext.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/AdvancedSearchAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/CollapseAllAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/DetailToTreeAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ExpandAllAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/GoFirstPageAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/GoLastPageAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/GoPreviousPageAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ResetSearchAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ShowDetailTabAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/UnconnectAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryAbstractAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryAddAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryDeleteExportAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryUnconnectAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/DownloadAbstractAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/ShowListTabAbstractAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/ShowTabAbstractAction.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/DataEntityModel.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/HistoryModel.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/tab/DetailTabModel.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/tab/ListTabModel.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/tab/SimExplorerAbstractTabModel.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/tab/SynchronizeTabModel.java branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/EntityTreeNodeHelper.java branches/migration-200901/simexplorer-is/simexplorer-is-web/pom.xml branches/migration-200901/simexplorer-is/simexplorer-is-web/src/main/webapp/WEB-INF/app.properties branches/migration-200901/simexplorer-is/simexplorer-is-web/src/main/webapp/WEB-INF/app_fr.properties branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/enviro.rst branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/implementation.rst branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/index.rst branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/old/glassfish.txt branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/old/maven.rst branches/migration-200901/simexplorer-is/src/site/fr/rst/index.rst branches/migration-200901/simexplorer-is/src/site/fr/rst/install.rst branches/migration-200901/simexplorer-is/src/site/fr/rst/rules.rst branches/migration-200901/simexplorer-is/src/site/fr/rst/todo.rst Log: - passage en UTF-8 - debut de refactor des pom Property changes on: branches/migration-200901 ___________________________________________________________________ Name: svn:ignore + *.iml *.ipr Modified: branches/migration-200901/simexplorer-is/pom.xml =================================================================== --- branches/migration-200901/simexplorer-is/pom.xml 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/pom.xml 2009-01-20 23:23:12 UTC (rev 1539) @@ -3,98 +3,49 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <!--The version of maven's project object model--> <modelVersion>4.0.0</modelVersion> - <!--lutinproject.xml--> + <!-- ************************************************************* --> + <!-- *** POM Relationships *************************************** --> + <!-- ************************************************************* --> + <parent> <groupId>lutinlib</groupId> <artifactId>lutinproject</artifactId> <version>2.2</version> </parent> - <!--A unique name for this project--> <groupId>simexplorer-is</groupId> <artifactId>simexplorer-is</artifactId> - <!-- This project is made of modules --> - <packaging>pom</packaging> + <modules> + <module>simexplorer-is-entities</module> + <module>simexplorer-is-security</module> + <module>simexplorer-is-storage</module> + <module>simexplorer-is-service</module> + <module>simexplorer-is-swing-generated</module> + <module>simexplorer-is-swing</module> + <module>simexplorer-is-web</module> + <module>simexplorer-is-ear</module> + </modules> - <name>Common</name> + <dependencies> + <dependency> + <groupId>lutinlib</groupId> + <artifactId>lutinutil</artifactId> + </dependency> + </dependencies> - <!--Version--> - <version>${current.version}</version> + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> - <!--Description--> + <name>Common</name> + <version>1.0-SNAPSHOT</version> <description>SimExplorer Information System</description> - - <!--The project home page--> - <url>http://simexplorer-si.libre-entreprise.org/</url> - - <prerequisites> - <maven>2.0.8</maven> - </prerequisites> - - <!--Tracking--> - <issueManagement> - <system>gforge</system> - <url> - https://labs.libre-entreprise.org/tracker/?group_id=130 - </url> - </issueManagement> - <inceptionYear>2008</inceptionYear> - <!--Any mailing lists for the project--> - <mailingLists> - <mailingList> - <name>simexplorer-si-commits</name> - <subscribe>${labs.lists}-commits</subscribe> - <unsubscribe>${labs.lists}-commits</unsubscribe> - <archive>${labs.lists}-commits</archive> - </mailingList> - <mailingList> - <name>simexplorer-si-devel</name> - <subscribe>${labs.lists}-devel</subscribe> - <unsubscribe>${labs.lists}-devel</unsubscribe> - <archive>${labs.lists}-devel</archive> - </mailingList> - - <mailingList> - <name>simexplorer-si-user</name> - <subscribe>${labs.lists}-user</subscribe> - <unsubscribe>${labs.lists}-user</unsubscribe> - <archive>${labs.lists}-user</archive> - </mailingList> - </mailingLists> - - <!--who the developers are for the project--> - <developers> - <developer> - <id>glandais</id> - <name>Gabriel Landais</name> - <email>landais at codelutin.com</email> - <organization>Code Lutin</organization> - <organizationUrl>http://www.codelutin.com</organizationUrl> - <timezone>+2</timezone> - <roles> - <role>Développeur</role> - </roles> - </developer> - <developer> - <id>tchemit</id> - <name>Tony Chemit</name> - <email>chemit at codelutin.com</email> - <organization>Code Lutin</organization> - <organizationUrl>http://www.codelutin.com</organizationUrl> - <timezone>+2</timezone> - <roles> - <role>Développeur</role> - </roles> - </developer> - </developers> - <licenses> <license> <name>GPL</name> @@ -103,24 +54,46 @@ </license> </licenses> - <!--Source control management--> - <scm> - <connection> - scm:svn:svn://labs.libre-entreprise.org/svnroot/simexplorer-si - </connection> - <developerConnection> - scm:svn:svn+ssh://${username}@labs.libre-entreprise.org/svnroot/simexplorer-si - </developerConnection> - <url> - https://labs.libre-entreprise.org/plugins/scmsvn/viewcvs.php/?root=simexplor... - </url> - </scm> - <organization> <name>Cemagref</name> <url>http://www.cemagref.fr/</url> </organization> + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + + <packaging>pom</packaging> + + <properties> + + <labs.id>130</labs.id> + + <labs.project>simexplorer-si</labs.project> + + <current.version.released>1.0-SNAPSHOT</current.version.released> + + <!-- jaxx version --> + <jaxx.version>0.2-SNAPSHOT</jaxx.version> + + <!-- commandline version --> + <commandline.version>0.7-SNAPSHOT</commandline.version> + + <!-- Tapestry version --> + <tapestry.version>5.0.11</tapestry.version> + + + <!-- source base dir (ne respecte pas la convention maven2) --> + <maven.src.dir>${basedir}/src</maven.src.dir> + + <!-- compile with ? --> + <maven.compile.source>1.6</maven.compile.source> + <maven.compile.target>1.6</maven.compile.target> + <!-- compilation encondig --> + <maven.compile.encoding>UTF-8</maven.compile.encoding> + + </properties> + <build> <plugins> <plugin> @@ -167,7 +140,6 @@ </configuration> </plugin> <plugin> - <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-ejb-plugin</artifactId> <configuration> <ejbVersion>3.0</ejbVersion> @@ -190,34 +162,16 @@ <encoding>${maven.compile.encoding}</encoding> </configuration> </plugin> + + <!-- NO remove this dummy plugin :) no IDE config in project --> <plugin> - <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-eclipse-plugin</artifactId> <configuration> <useProjectReferences>true</useProjectReferences> </configuration> </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - <configuration> - <aggregate>true</aggregate> - <encoding>${maven.compile.encoding}</encoding> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-source-plugin</artifactId> - <executions> - <execution> - <phase>verify</phase> - <goals> - <goal>jar</goal> - </goals> - </execution> - </executions> - </plugin> + <plugin> <groupId>lutinplugin</groupId> <artifactId>maven-i18n-plugin</artifactId> @@ -236,162 +190,52 @@ </plugins> </build> - <!-- - Note : On ecrit directement le profile du projet ici, au lieu - d'utiliser le fichier profiles.xml, pour permettre l'utilisation de - ces proprietes lors d'un lancement de maven sur un module sans passer - par ce module. - Sinon, le fichier profiles.xml n'est pas pris en compte et on est oblige - de dupliquer ces proprietes dans tous les modules. - --> - <profiles> - <profile> - <id>project</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - <properties> - <!-- test (par defaut, on ne les execute pas) --> - <maven.test.skip>true</maven.test.skip> - <maven.reports.generate>false</maven.reports.generate> - </properties> - </profile> - <profile> - <id>tests</id> - <activation> - <activeByDefault>false</activeByDefault> - </activation> - <properties> - <!-- test (par defaut, on ne les execute pas) --> - <maven.test.skip>false</maven.test.skip> - <maven.reports.generate>false</maven.reports.generate> - </properties> - </profile> - <profile> - <id>site</id> - <activation> - <activeByDefault>false</activeByDefault> - </activation> - <properties> - <!-- test (par defaut, on ne les execute pas) --> - <maven.test.skip>false</maven.test.skip> - <maven.reports.generate>true</maven.reports.generate> - </properties> - </profile> - </profiles> - <modules> - <module>simexplorer-is-entities</module> - <module>simexplorer-is-security</module> - <module>simexplorer-is-storage</module> - <module>simexplorer-is-service</module> - <module>simexplorer-is-swing-generated</module> - <module>simexplorer-is-swing</module> - <module>simexplorer-is-web</module> - <module>simexplorer-is-ear</module> - </modules> - - <repositories> - <repository> - <id>SEIS-java.net</id> - <url>http://download.java.net/maven/2</url> - </repository> - <repository> - <id>SEIS-codelutin-lib</id> - <url> - http://lutinbuilder.labs.libre-entreprise.org/maven2 - </url> - </repository> - <repository> - <id>SEIS-openhms</id> - <url>http://open.hmsonline.com/repo/maven2</url> - </repository> - <repository> - <id>SEIS-t5components</id> - <name>T5Components Maven Repository</name> - <url> - http://87.193.218.134:8080/t5components/maven-repository - </url> - </repository> - <repository> - <id>ejb3unit</id> - <name>ejb3unit repository</name> - <url>http://ejb3unit.sourceforge.net/maven2</url> - </repository> - </repositories> - - <pluginRepositories> - <pluginRepository> - <id>SEIS-codelutin-plugin</id> - <url> - http://lutinbuilder.labs.libre-entreprise.org/maven2 - </url> - </pluginRepository> - </pluginRepositories> - - <distributionManagement> - <repository> - <id>labs</id> - <url> - scp://labs.libre-entreprise.org/home/groups/lutinbuilder/htdocs/maven2 - </url> - </repository> - <site> - <id>labs</id> - <url> - scp://labs.libre-entreprise.org/home/groups/simexplorer-si/htdocs/ - </url> - </site> - </distributionManagement> - - - <dependencies> - <dependency> - <groupId>lutinlib</groupId> - <artifactId>lutinutil</artifactId> - <version>0.29.1</version> - <scope>compile</scope> - </dependency> - </dependencies> - <dependencyManagement> <dependencies> + <dependency> + <groupId>lutinlib</groupId> + <artifactId>lutinutil</artifactId> + <version>0.29.1</version> + </dependency> + + <!--dependency> <groupId>simexplorer-is</groupId> <artifactId>simexplorer-is-entities</artifactId> - <version>${current.version}</version> + <version>${project.version}</version> </dependency> <dependency> <groupId>simexplorer-is</groupId> <artifactId>simexplorer-is-storage</artifactId> - <version>${current.version}</version> + <version>${project.version}</version> </dependency> <dependency> <groupId>simexplorer-is</groupId> <artifactId>simexplorer-is-security</artifactId> - <version>${current.version}</version> + <version>${project.version}</version> </dependency> <dependency> <groupId>simexplorer-is</groupId> <artifactId>simexplorer-is-service</artifactId> - <version>${current.version}</version> + <version>${project.version}</version> </dependency> <dependency> <groupId>simexplorer-is</groupId> <artifactId>simexplorer-is-security</artifactId> - <version>${current.version}</version> + <version>${project.version}</version> </dependency> <dependency> <groupId>simexplorer-is</groupId> <artifactId>simexplorer-is-web</artifactId> - <version>${current.version}</version> + <version>${project.version}</version> <type>war</type> </dependency> <dependency> <groupId>simexplorer-is</groupId> <artifactId>simexplorer-is-swing-generated</artifactId> - <version>${current.version}</version> - </dependency> + <version>${project.version}</version> + </dependency--> <dependency> <groupId>com.h2database</groupId> @@ -569,54 +413,68 @@ <!-- Plugins --> + <dependency> - <groupId>org.codelutin.commandline</groupId> - <artifactId>maven-commandline-plugin</artifactId> - <version>${commandline.version}</version> - </dependency> - <dependency> <groupId>lutinplugin</groupId> <artifactId>maven-i18n-plugin</artifactId> <version>0.3</version> </dependency> - <dependency> - <groupId>org.codelutin.jaxx</groupId> - <artifactId>maven-jaxx-plugin</artifactId> - <version>${jaxx.version}</version> - </dependency> </dependencies> </dependencyManagement> - <properties> - <!-- current version --> - <current.version>0.1-SNAPSHOT</current.version> + <!-- ************************************************************* --> + <!-- *** Build Environment ************************************** --> + <!-- ************************************************************* --> - <current.version.released>0.1.RC2.1</current.version.released> + <prerequisites> + <maven>2.0.8</maven> + </prerequisites> - <!-- jaxx version --> - <jaxx.version>0.2-SNAPSHOT</jaxx.version> + <scm> + <connection>scm:svn:svn://labs.libre-entreprise.org/svnroot/simexplorer-si</connection> + <developerConnection>scm:svn:svn+ssh://${username}@labs.libre-entreprise.org/svnroot/simexplorer-si + </developerConnection> + <url>https://labs.libre-entreprise.org/plugins/scmsvn/viewcvs.php/?root=simexplorer-si</url> + </scm> - <!-- commandline version --> - <commandline.version>0.7-SNAPSHOT</commandline.version> + <repositories> + <!-- no this repo is by default in maven ? --> + <repository> + <id>SEIS-java.net</id> + <url>http://download.java.net/maven/2</url> + </repository> - <!-- id du projet du labs (simexplorer) --> - <labs.id>130</labs.id> - <!-- par defaut, mode non verbeux --> - <maven.verbose>false</maven.verbose> - <!-- source base dir (ne respecte pas la convention maven2) --> - <maven.src.dir>${basedir}/src</maven.src.dir> - <!-- compile with ? --> - <maven.compile.source>1.6</maven.compile.source> - <maven.compile.target>1.6</maven.compile.target> - <!-- compilation encondig --> - <maven.compile.encoding>ISO-8859-15</maven.compile.encoding> - <!-- Tapestry version --> - <tapestry.version>5.0.11</tapestry.version> - <!-- Lists URL --> - <labs.lists> - http://lists.labs.libre-entreprise.org/mailman/listinfo/simexplorer-si - </labs.lists> - </properties> + <repository> + <id>SEIS-openhms</id> + <url>http://open.hmsonline.com/repo/maven2</url> + </repository> + <repository> + <id>SEIS-t5components</id> + <name>T5Components Maven Repository</name> + <url>http://87.193.218.134:8080/t5components/maven-repository</url> + </repository> + + <repository> + <id>ejb3unit</id> + <name>ejb3unit repository</name> + <url>http://ejb3unit.sourceforge.net/maven2</url> + </repository> + </repositories> + + <developers> + <developer> + <id>glandais</id> + <name>Gabriel Landais</name> + <email>landais at codelutin.com</email> + <organization>Code Lutin</organization> + <organizationUrl>http://www.codelutin.com</organizationUrl> + <timezone>+2</timezone> + <roles> + <role>Développeur</role> + </roles> + </developer> + </developers> + </project> Modified: branches/migration-200901/simexplorer-is/simexplorer-is-ear/pom.xml =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-ear/pom.xml 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-ear/pom.xml 2009-01-20 23:23:12 UTC (rev 1539) @@ -1,89 +1,109 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <groupId>simexplorer-is</groupId> - <artifactId>simexplorer-is-ear</artifactId> - <name>EAR service</name> + <modelVersion>4.0.0</modelVersion> - <packaging>ear</packaging> - <version>${current.version.released}</version> - <description>simexplore-is ear module</description> + <!-- ************************************************************* --> + <!-- *** POM Relationships *************************************** --> + <!-- ************************************************************* --> - <parent> - <groupId>simexplorer-is</groupId> - <artifactId>simexplorer-is</artifactId> - <version>${current.version}</version> - </parent> + <parent> + <groupId>simexplorer-is</groupId> + <artifactId>simexplorer-is</artifactId> + <version>1.0-SNAPSHOT</version> + </parent> - <build> - <plugins> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>jboss-maven-plugin</artifactId> - <configuration> - <jbossHome>/opt/java/jboss-4.2.2.GA/</jbossHome> - <serverName>simexplorer</serverName> - </configuration> - </plugin> - <plugin> - <artifactId>maven-ear-plugin</artifactId> - <configuration> - <defaultLibBundleDir>lib</defaultLibBundleDir> - <modules> - <webModule> - <groupId>simexplorer-is</groupId> - <artifactId>simexplorer-is-web</artifactId> - <contextRoot>/</contextRoot> - </webModule> - </modules> - </configuration> - </plugin> - </plugins> - </build> + <artifactId>simexplorer-is-ear</artifactId> - <dependencies> - <!-- WAR specific depedencies --> - <dependency> - <groupId>tapestry5-treegrid</groupId> - <artifactId>tapestry5-treegrid</artifactId> - </dependency> - <dependency> - <groupId>org.apache.tapestry</groupId> - <artifactId>tapestry-upload</artifactId> - </dependency> - <dependency> - <groupId>org.apache.tapestry</groupId> - <artifactId>tapestry-core</artifactId> - </dependency> - <dependency> - <groupId>org.apache.tapestry</groupId> - <artifactId>tapestry-ioc</artifactId> - </dependency> - <dependency> - <groupId>org.apache.tapestry</groupId> - <artifactId>t5c-commons</artifactId> - </dependency> + <dependencies> - <dependency> - <groupId>simexplorer-is</groupId> - <artifactId>simexplorer-is-service</artifactId> - <version>${current.version}</version> - <type>ejb</type> - </dependency> - <dependency> - <groupId>simexplorer-is</groupId> - <artifactId>simexplorer-is-security</artifactId> - <version>${current.version}</version> - <type>ejb</type> - </dependency> - <dependency> - <groupId>simexplorer-is</groupId> - <artifactId>simexplorer-is-web</artifactId> - <type>war</type> - </dependency> - </dependencies> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>simexplorer-is-service</artifactId> + <version>${project.version}</version> + <type>ejb</type> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>simexplorer-is-security</artifactId> + <version>${project.version}</version> + <type>ejb</type> + </dependency> + + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>simexplorer-is-web</artifactId> + <version>${project.version}</version> + <type>war</type> + </dependency> + + <!-- WAR specific depedencies --> + <dependency> + <groupId>tapestry5-treegrid</groupId> + <artifactId>tapestry5-treegrid</artifactId> + </dependency> + <dependency> + <groupId>org.apache.tapestry</groupId> + <artifactId>tapestry-upload</artifactId> + </dependency> + <dependency> + <groupId>org.apache.tapestry</groupId> + <artifactId>tapestry-core</artifactId> + </dependency> + <dependency> + <groupId>org.apache.tapestry</groupId> + <artifactId>tapestry-ioc</artifactId> + </dependency> + <dependency> + <groupId>org.apache.tapestry</groupId> + <artifactId>t5c-commons</artifactId> + </dependency> + + </dependencies> + + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> + + <name>EAR service</name> + <description>simexplore-is ear module</description> + + <!-- no, this is not a really good idea to use a such use of version --> + <!--version>${current.version.released}</version--> + + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + + <packaging>ear</packaging> + + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>jboss-maven-plugin</artifactId> + <configuration> + <jbossHome>/opt/java/jboss-4.2.2.GA/</jbossHome> + <serverName>simexplorer</serverName> + </configuration> + </plugin> + <plugin> + <artifactId>maven-ear-plugin</artifactId> + <configuration> + <defaultLibBundleDir>lib</defaultLibBundleDir> + <modules> + <webModule> + <groupId>${project.groupId}</groupId> + <artifactId>simexplorer-is-web</artifactId> + <contextRoot>/</contextRoot> + </webModule> + </modules> + </configuration> + </plugin> + </plugins> + </build> + </project> Modified: branches/migration-200901/simexplorer-is/simexplorer-is-entities/pom.xml =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-entities/pom.xml 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-entities/pom.xml 2009-01-20 23:23:12 UTC (rev 1539) @@ -4,38 +4,44 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> - <!--groupId>simexplorer-is</groupId--> - <artifactId>simexplorer-is-entities</artifactId> - <name>Entities</name> + <!-- ************************************************************* --> + <!-- *** POM Relationships *************************************** --> + <!-- ************************************************************* --> - <version>${current.version}</version> - <description>simexplorer-is entities module</description> - <packaging>jar</packaging> - <parent> <groupId>simexplorer-is</groupId> <artifactId>simexplorer-is</artifactId> - <version>${current.version}</version> + <version>1.0-SNAPSHOT</version> </parent> - <profiles> - <profile> - <id>project</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - <properties> - <!--launch unit tests--> - <maven.test.skip>false</maven.test.skip> - </properties> - </profile> - </profiles> + <artifactId>simexplorer-is-entities</artifactId> + <dependencies> + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + </dependency> + </dependencies> + + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> + + <name>Entities</name> + <description>simexplorer-is entities module</description> + + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + + <packaging>jar</packaging> + <build> <plugins> <plugin> <groupId>lutinplugin</groupId> <artifactId>maven-i18n-plugin</artifactId> + <version>0.3</version> <executions> <execution> <phase>process-classes</phase> @@ -49,10 +55,4 @@ </plugins> </build> - <dependencies> - <dependency> - <groupId>commons-lang</groupId> - <artifactId>commons-lang</artifactId> - </dependency> - </dependencies> </project> Modified: branches/migration-200901/simexplorer-is/simexplorer-is-entities/src/java/fr/cemagref/simexplorer/is/entities/data/RuntimeType.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-entities/src/java/fr/cemagref/simexplorer/is/entities/data/RuntimeType.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-entities/src/java/fr/cemagref/simexplorer/is/entities/data/RuntimeType.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -1,5 +1,5 @@ /* - * Copyright © 2008, Cemagref + * Copyright © 2008, Cemagref * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as Modified: branches/migration-200901/simexplorer-is/simexplorer-is-security/pom.xml =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-security/pom.xml 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-security/pom.xml 2009-01-20 23:23:12 UTC (rev 1539) @@ -1,65 +1,82 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> + <modelVersion>4.0.0</modelVersion> - <groupId>simexplorer-is</groupId> - <artifactId>simexplorer-is-security</artifactId> - <name>Security</name> + <!-- ************************************************************* --> + <!-- *** POM Relationships *************************************** --> + <!-- ************************************************************* --> - <version>${current.version}</version> - <description>SimExplorer SI security module</description> - <packaging>ejb</packaging> + <parent> + <groupId>simexplorer-is</groupId> + <artifactId>simexplorer-is</artifactId> + <version>1.0-SNAPSHOT</version> + </parent> - <parent> - <groupId>simexplorer-is</groupId> - <artifactId>simexplorer-is</artifactId> - <version>${current.version}</version> - </parent> + <artifactId>simexplorer-is-security</artifactId> - <repositories> - <repository> - <snapshots> - <enabled>false</enabled> - </snapshots> - <id>ejb3unit</id> - <name>ejb3unit repository</name> - <url>http://ejb3unit.sourceforge.net/maven2</url> - </repository> - </repositories> + <dependencies> + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + </dependency> + <dependency> + <groupId>javax.persistence</groupId> + <artifactId>persistence-api</artifactId> + </dependency> + <dependency> + <groupId>jboss</groupId> + <artifactId>jboss-ejb3x</artifactId> + </dependency> + <dependency> + <groupId>jboss</groupId> + <artifactId>jboss-annotations-ejb3</artifactId> + </dependency> + <dependency> + <groupId>com.h2database</groupId> + <artifactId>h2</artifactId> + </dependency> + <dependency> + <groupId>com.bm</groupId> + <artifactId>ejb3unit</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>jboss</groupId> + <artifactId>javassist</artifactId> + <scope>test</scope> + </dependency> + </dependencies> - <dependencies> - <dependency> - <groupId>commons-lang</groupId> - <artifactId>commons-lang</artifactId> - </dependency> - <dependency> - <groupId>javax.persistence</groupId> - <artifactId>persistence-api</artifactId> - </dependency> - <dependency> - <groupId>jboss</groupId> - <artifactId>jboss-ejb3x</artifactId> - </dependency> - <dependency> - <groupId>jboss</groupId> - <artifactId>jboss-annotations-ejb3</artifactId> - </dependency> - <dependency> - <groupId>com.h2database</groupId> - <artifactId>h2</artifactId> - </dependency> - <dependency> - <groupId>com.bm</groupId> - <artifactId>ejb3unit</artifactId> - </dependency> - <dependency> - <groupId>jboss</groupId> - <artifactId>javassist</artifactId> - <scope>test</scope> - </dependency> - </dependencies> + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> + + <name>Security</name> + <description>SimExplorer SI security module</description> + + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + + <packaging>ejb</packaging> + + <!-- ************************************************************* --> + <!-- *** Build Environment ************************************** --> + <!-- ************************************************************* --> + + <repositories> + <repository> + <snapshots> + <enabled>false</enabled> + </snapshots> + <id>ejb3unit</id> + <name>ejb3unit repository</name> + <url>http://ejb3unit.sourceforge.net/maven2</url> + </repository> + </repositories> + </project> Modified: branches/migration-200901/simexplorer-is/simexplorer-is-service/pom.xml =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-service/pom.xml 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-service/pom.xml 2009-01-20 23:23:12 UTC (rev 1539) @@ -2,57 +2,33 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> - <artifactId>simexplorer-is-service</artifactId> - <name>Service</name> + <!-- ************************************************************* --> + <!-- *** POM Relationships *************************************** --> + <!-- ************************************************************* --> - <version>${current.version}</version> - <description>services ejb de SimExplorer-IS</description> - <packaging>ejb</packaging> - <parent> <groupId>simexplorer-is</groupId> <artifactId>simexplorer-is</artifactId> - <version>${current.version}</version> + <version>1.0-SNAPSHOT</version> </parent> - <build> - <plugins> - <plugin> - <groupId>lutinplugin</groupId> - <artifactId>maven-i18n-plugin</artifactId> - <executions> - <execution> - <phase>process-classes</phase> - <goals> - <goal>parserJava</goal> - <goal>gen</goal> - </goals> - </execution> - </executions> - </plugin> + <artifactId>simexplorer-is-service</artifactId> - </plugins> - </build> - - - <repositories> - <!-- pour la dependance rmiio --> - <repository> - <id>openhms</id> - <url>http://open.hmsonline.com/repo/maven2</url> - </repository> - </repositories> <dependencies> <dependency> - <groupId>simexplorer-is</groupId> + <groupId>${project.groupId}</groupId> <artifactId>simexplorer-is-storage</artifactId> + <version>${project.version}</version> </dependency> <dependency> - <groupId>simexplorer-is</groupId> + <groupId>${project.groupId}</groupId> <artifactId>simexplorer-is-security</artifactId> + <version>${project.version}</version> </dependency> + <dependency> <groupId>com.healthmarketscience.rmiio</groupId> <artifactId>rmiio</artifactId> @@ -81,7 +57,9 @@ <dependency> <groupId>com.bm</groupId> <artifactId>ejb3unit</artifactId> + <scope>test</scope> </dependency> + <dependency> <groupId>jboss</groupId> <artifactId>javassist</artifactId> @@ -89,4 +67,49 @@ </dependency> </dependencies> + + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> + + <name>Service</name> + + <description>services ejb de SimExplorer-IS</description> + + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + + <packaging>ejb</packaging> + + <build> + <plugins> + <plugin> + <groupId>lutinplugin</groupId> + <artifactId>maven-i18n-plugin</artifactId> + <executions> + <execution> + <phase>process-classes</phase> + <goals> + <goal>parserJava</goal> + <goal>gen</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + + <!-- ************************************************************* --> + <!-- *** Build Environment ************************************** --> + <!-- ************************************************************* --> + + <repositories> + <!-- pour la dependance rmiio --> + <repository> + <id>openhms</id> + <url>http://open.hmsonline.com/repo/maven2</url> + </repository> + </repositories> + </project> Modified: branches/migration-200901/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/AuthenticationServiceImpl.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/AuthenticationServiceImpl.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/AuthenticationServiceImpl.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -440,11 +440,11 @@ } if (canSaveElement(token)) { Group oldGroup = daoActor.getGroup(name); - // si le groupe existe déjà + // si le groupe existe déjà if (oldGroup != null) { // mais qu'il n'est plus visible if (!oldGroup.isVisible()) { - // le rendre à nouveau visible + // le rendre à nouveau visible oldGroup.setVisible(true); updateGroup(token, oldGroup, new ArrayList<Actor>()); } else { @@ -641,7 +641,7 @@ superAdminCheck = true; } String token = null; - // le password est deja haché + // le password est deja haché // User loggedUser = daoActor.loginUser(login, AuthenticationServiceHelper.computeHash(password)); User loggedUser = daoActor.loginUser(login, password); if (loggedUser != null) { Modified: branches/migration-200901/simexplorer-is/simexplorer-is-storage/pom.xml =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-storage/pom.xml 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-storage/pom.xml 2009-01-20 23:23:12 UTC (rev 1539) @@ -1,62 +1,66 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> - <!--groupId>simexplorer-is</groupId--> - <artifactId>simexplorer-is-storage</artifactId> - <name>Storage</name> + <!-- ************************************************************* --> + <!-- *** POM Relationships *************************************** --> + <!-- ************************************************************* --> - <version>${current.version}</version> - <description>simexplorer-is storage module</description> - <packaging>jar</packaging> + <parent> + <groupId>simexplorer-is</groupId> + <artifactId>simexplorer-is</artifactId> + <version>1.0-SNAPSHOT</version> + </parent> - <parent> - <groupId>simexplorer-is</groupId> - <artifactId>simexplorer-is</artifactId> - <version>${current.version}</version> - </parent> + <artifactId>simexplorer-is-storage</artifactId> - <profiles> - <profile> - <id>project</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - <properties> - <!--launch unit tests--> - <maven.test.skip>true</maven.test.skip> - </properties> - </profile> - </profiles> - - <build> - <plugins> - - </plugins> - </build> - <dependencies> - <dependency> - <groupId>simexplorer-is</groupId> - <artifactId>simexplorer-is-entities</artifactId> - </dependency> - <dependency> - <groupId>com.thoughtworks.xstream</groupId> - <artifactId>xstream</artifactId> - </dependency> - <dependency> - <groupId>org.apache.lucene</groupId> - <artifactId>lucene-core</artifactId> - </dependency> - <dependency> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </dependency> + <dependency> - <groupId>jboss</groupId> - <artifactId>jboss-ejb3x</artifactId> - </dependency> - </dependencies> + <groupId>${project.groupId}</groupId> + <artifactId>simexplorer-is-entities</artifactId> + <version>${project.version}</version> + </dependency> + + <dependency> + <groupId>com.thoughtworks.xstream</groupId> + <artifactId>xstream</artifactId> + </dependency> + <dependency> + <groupId>org.apache.lucene</groupId> + <artifactId>lucene-core</artifactId> + </dependency> + <dependency> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </dependency> + <dependency> + <groupId>jboss</groupId> + <artifactId>jboss-ejb3x</artifactId> + </dependency> + </dependencies> + + + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> + + <name>Storage</name> + <description>simexplorer-is storage module</description> + + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + + <packaging>jar</packaging> + + <properties> + + <!-- why ? --> + <maven.test.skip>true</maven.test.skip> + + </properties> + </project> \ No newline at end of file Modified: branches/migration-200901/simexplorer-is/simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/exceptions/SimExplorerException.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/exceptions/SimExplorerException.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/exceptions/SimExplorerException.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -17,7 +17,7 @@ package fr.cemagref.simexplorer.is.exceptions; /** - * Exception de base pour toute erreur rencontrée dans un service. + * Exception de base pour toute erreur rencontrée dans un service. * * @author Code Lutin, Landais Gabriel, Chemit Tony */ Modified: branches/migration-200901/simexplorer-is/simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/storage/database/lucene/LuceneDatabase.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/storage/database/lucene/LuceneDatabase.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-storage/src/java/fr/cemagref/simexplorer/is/storage/database/lucene/LuceneDatabase.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -274,7 +274,7 @@ // maximum number of terms for a boolean query int maxTerms = BooleanQuery.getMaxClauseCount() - 1; int i = 0; - // does the current query has not maxTerms éléments + // does the current query has not maxTerms éléments boolean subQueryIsQuery = true; BooleanQuery query = new BooleanQuery(); Modified: branches/migration-200901/simexplorer-is/simexplorer-is-storage/src/test/fr/cemagref/simexplorer/is/storage/VersionGenerator.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-storage/src/test/fr/cemagref/simexplorer/is/storage/VersionGenerator.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-storage/src/test/fr/cemagref/simexplorer/is/storage/VersionGenerator.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -31,7 +31,7 @@ */ public class VersionGenerator { - /** la taille maximum d'une version generée. */ + /** la taille maximum d'une version generée. */ static final int MAX_SIZE = 5; /** la valeur maximum d'un numero de version a generer. */ Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/pom.xml =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/pom.xml 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/pom.xml 2009-01-20 23:23:12 UTC (rev 1539) @@ -5,35 +5,76 @@ <modelVersion>4.0.0</modelVersion> - <artifactId>simexplorer-is-swing</artifactId> - <name>Swing</name> + <!-- ************************************************************* --> + <!-- *** POM Relationships *************************************** --> + <!-- ************************************************************* --> - <version>${current.version}</version> - <description>Java Swing UI SimExplorer-is application</description> - <packaging>jar</packaging> - <parent> <groupId>simexplorer-is</groupId> <artifactId>simexplorer-is</artifactId> - <version>${current.version}</version> + <version>1.0-SNAPSHOT</version> </parent> - <profiles> - <profile> - <id>project</id> - <activation> - <activeByDefault>true</activeByDefault> - </activation> - <properties> - <maven.verbose>false</maven.verbose> - <!--Main class in JAR --> - <maven.jar.main.class> - fr.cemagref.simexplorer.is.ui.swing.SimExplorer - </maven.jar.main.class> - </properties> - </profile> - </profiles> + <artifactId>simexplorer-is-swing</artifactId> + <dependencies> + <!-- pour obtenir les services de simexplorer-is --> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>simexplorer-is-service</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>simexplorer-is-swing-generated</artifactId> + <version>${project.version}</version> + </dependency> + + <!-- librairie commandline-ui --> + <dependency> + <groupId>org.codelutin.commandline</groupId> + <artifactId>commandline-ui</artifactId> + </dependency> + <dependency> + <groupId>org.codelutin.commandline</groupId> + <artifactId>commandline-ui-action</artifactId> + </dependency> + <!-- librairie jaxx --> + <dependency> + <groupId>org.codelutin.jaxx</groupId> + <artifactId>jaxx-swing-action</artifactId> + </dependency> + <dependency> + <groupId>org.codelutin.jaxx</groupId> + <artifactId>jaxx-swing-tab</artifactId> + </dependency> + <!-- pour avoir les ejb jboss --> + <dependency> + <groupId>jboss</groupId> + <artifactId>jbossall-client</artifactId> + </dependency> + </dependencies> + + + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> + + <name>Swing</name> + <description>Java Swing UI SimExplorer-is application</description> + + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + + <packaging>jar</packaging> + + <properties> + <!--Main class in JAR --> + <maven.jar.main.class>fr.cemagref.simexplorer.is.ui.swing.SimExplorer</maven.jar.main.class> + + </properties> + <build> <plugins> <!-- Compile phase --> @@ -105,6 +146,7 @@ </execution> </executions> </plugin> + <plugin> <groupId>org.codelutin.jaxx</groupId> <artifactId>maven-jaxx-plugin</artifactId> @@ -172,14 +214,10 @@ <configuration> <archive> <manifest> - <mainClass> - ${maven.jar.main.class} - </mainClass> + <mainClass>${maven.jar.main.class}</mainClass> <addClasspath>true</addClasspath> <addExtensions/> - <classpathPrefix> - ./dependency/ - </classpathPrefix> + <classpathPrefix>./dependency/</classpathPrefix> </manifest> </archive> </configuration> @@ -191,10 +229,7 @@ <version>2.0.0</version> <configuration> <defaultDistro>ubuntu_hardy</defaultDistro> - <shortDescription> - Java Swing UI SimExplorer-is application - </shortDescription> - + <shortDescription>Java Swing UI SimExplorer-is application</shortDescription> <defaults> <srcAuxFilesDir>src/pkg</srcAuxFilesDir> <section>app-office</section> @@ -208,6 +243,10 @@ </plugins> </build> + <!-- ************************************************************* --> + <!-- *** Build Environment ************************************** --> + <!-- ************************************************************* --> + <pluginRepositories> <pluginRepository> <id>evolvis-release-repository</id> @@ -219,38 +258,4 @@ </pluginRepository> </pluginRepositories> - <dependencies> - <!-- pour obtenir les services de simexplorer-is --> - <dependency> - <groupId>simexplorer-is</groupId> - <artifactId>simexplorer-is-service</artifactId> - </dependency> - <dependency> - <groupId>simexplorer-is</groupId> - <artifactId>simexplorer-is-swing-generated</artifactId> - </dependency> - <!-- librairie commandline-ui --> - <dependency> - <groupId>org.codelutin.commandline</groupId> - <artifactId>commandline-ui</artifactId> - </dependency> - <dependency> - <groupId>org.codelutin.commandline</groupId> - <artifactId>commandline-ui-action</artifactId> - </dependency> - <!-- librairie jaxx --> - <dependency> - <groupId>org.codelutin.jaxx</groupId> - <artifactId>jaxx-swing-action</artifactId> - </dependency> - <dependency> - <groupId>org.codelutin.jaxx</groupId> - <artifactId>jaxx-swing-tab</artifactId> - </dependency> - <!-- pour avoir les ejb jboss --> - <dependency> - <groupId>jboss</groupId> - <artifactId>jbossall-client</artifactId> - </dependency> - </dependencies> </project> Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorer.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorer.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorer.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -48,7 +48,7 @@ * <p/> * chargement du context * - * @param args les arguments passés à l'application + * @param args les arguments passés à l'application */ public static void init(String... args) { @@ -76,7 +76,7 @@ } - /** Lancement de l'ui après init de l'application. */ + /** Lancement de l'ui aprÚs init de l'application. */ public static void launch() { // init ui Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerContext.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerContext.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/SimExplorerContext.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -39,11 +39,11 @@ import org.codelutin.jaxx.action.factory.ActionFactory; /** - * Le context de l'application, implanté en singleton. + * Le context de l'application, implanté en singleton. * <p/> * Contient la configuration de l'application, le parseur d'options, les services, ... * <p/> - * Contient aussi des méthodes qui appelent les services + * Contient aussi des méthodes qui appelent les services * * @author Code Lutin, Landais Gabriel, Chemit Tony */ @@ -52,10 +52,10 @@ /** le token pour la connexion au serveur distant */ protected String token; - /** le service de données distant */ + /** le service de données distant */ protected StorageService remoteService; - /** le service de données local */ + /** le service de données local */ protected StorageService localService; /** le cache de LE local */ @@ -68,7 +68,7 @@ protected ActionFactory<SimExplorerBaseAction> actionFactory; /** - * Retourne (et instancie la première fois l'usine d'actions) + * Retourne (et instancie la premiÚre fois l'usine d'actions) * * @return l'usine d'actions * @see ActionFactory @@ -82,7 +82,7 @@ } /** - * @return <code>true</code> si l'utilisateur est connecté, + * @return <code>true</code> si l'utilisateur est connecté, * <code>false</code> sinon. */ public boolean isConnected() { @@ -90,9 +90,9 @@ } /** - * @return le token utilisé pour identifié l'utilisateur sur le serveur distant. + * @return le token utilisé pour identifié l'utilisateur sur le serveur distant. * <p/> - * <b>Si est null ou vide cela veut que l'utilisateur n'est pas connecté.</b> + * <b>Si est null ou vide cela veut que l'utilisateur n'est pas connecté.</b> */ public String getToken() { return token; Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/AdvancedSearchAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/AdvancedSearchAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/AdvancedSearchAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -19,7 +19,7 @@ import fr.cemagref.simexplorer.is.ui.swing.actions.util.SimExplorerAbstractTabAction; /** - * Action pour réinitialiser une recherche d'application + * Action pour réinitialiser une recherche d'application * * @author Code Lutin, Landais Gabriel, Chemit Tony */ Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/CollapseAllAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/CollapseAllAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/CollapseAllAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -24,7 +24,7 @@ import java.awt.event.ActionEvent; /** - * Pour réduire tous les noeuds de l'arbe d'une application + * Pour réduire tous les noeuds de l'arbe d'une application * * @author Code Lutin, Landais Gabriel, Chemit Tony */ Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/DetailToTreeAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/DetailToTreeAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/DetailToTreeAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -23,7 +23,7 @@ import java.awt.event.ActionEvent; /** - * Action pour positionner un element comme root de l'arbre de navigation à + * Action pour positionner un element comme root de l'arbre de navigation à * partir de son detail * * @author Code Lutin, Landais Gabriel, Chemit Tony @@ -60,7 +60,7 @@ return false; } if (selected == null) { - // on doit retrouver l'élément à traiter à partir de la source + // on doit retrouver l'élément à traiter à partir de la source selected = findSelectedItem(e); } return selected != null && selected.getUuid() != null; @@ -73,7 +73,7 @@ //log.info("detailToTree selected : "+selected); //getModel().synch(selected.isRemote(), element1); - // ajout de l'élément dans l'historique + // ajout de l'élément dans l'historique getContext().fireSelectedAction("historyAdd", e.getSource(), selected); } Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ExpandAllAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ExpandAllAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ExpandAllAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -24,8 +24,8 @@ import java.awt.event.ActionEvent; /** - * Pour dérouler tous les noeuds de l'arbre de navigation à partir du noeud - * sélectionné. + * Pour dérouler tous les noeuds de l'arbre de navigation à partir du noeud + * sélectionné. * * @author Code Lutin, Landais Gabriel, Chemit Tony */ Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/GoFirstPageAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/GoFirstPageAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/GoFirstPageAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -21,7 +21,7 @@ import java.awt.event.ActionEvent; /** - * Action pour afficher la première page + * Action pour afficher la premiÚre page * * @author Code Lutin, Landais Gabriel, Chemit Tony */ Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/GoLastPageAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/GoLastPageAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/GoLastPageAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -22,7 +22,7 @@ import java.awt.event.ActionEvent; /** - * Action pour afficher la dernière page + * Action pour afficher la derniÚre page * * @author Code Lutin, Landais Gabriel, Chemit Tony */ Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/GoPreviousPageAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/GoPreviousPageAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/GoPreviousPageAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -22,7 +22,7 @@ import java.awt.event.ActionEvent; /** - * Action pour afficher la page précédente + * Action pour afficher la page précédente * * @author Code Lutin, Landais Gabriel, Chemit Tony */ Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ResetSearchAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ResetSearchAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ResetSearchAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -22,7 +22,7 @@ import java.awt.event.ActionEvent; /** - * Action pour réinitialiser une recherche d'application + * Action pour réinitialiser une recherche d'application * * @author Code Lutin, Landais Gabriel, Chemit Tony */ Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ShowDetailTabAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ShowDetailTabAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/ShowDetailTabAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -42,7 +42,7 @@ import java.awt.event.ItemListener; /** - * Action pour afficher le tab de détail d'un LoggableElement. + * Action pour afficher le tab de détail d'un LoggableElement. * * @author Code Lutin, Landais Gabriel, Chemit Tony */ @@ -58,15 +58,15 @@ ) public class ShowDetailTabAction extends ShowTabAbstractAction<JDetailTab, DetailTabModel> implements SelectedAction { - /** la donnée à afficher dans l'onglet de détail */ + /** la donnée à afficher dans l'onglet de détail */ protected DataEntityModel selected; /** le listener sur le changement de noeud dans l'arbre de navigation */ protected NavigationSelectionListener navigationSelectionListener; - /** le listener sur les actions propres à l'arbre de navigation */ + /** le listener sur les actions propres à l'arbre de navigation */ protected TreeActionUpdater treeActionUpdater; /** le listener sur le changement de version */ protected VersionSelectionListener versionSelectionListener; - /** le listener sur le changement de fichier attaché */ + /** le listener sur le changement de fichier attaché */ protected AttachmentSelectionListener attachmentSelectionListener; private static final long serialVersionUID = 6643631041114311643L; @@ -105,7 +105,7 @@ } } } else { - // on doit retrouver l'élément à traiter à partir de la source + // on doit retrouver l'élément à traiter à partir de la source selected = findSelectedItem(e); } } @@ -114,14 +114,14 @@ return false; } - // préparation du modèle de détail + // préparation du modÚle de détail DetailTabModel detailModel = getDetailModel(); - // synchronisation de l'élément sélectionné + // synchronisation de l'élément sélectionné detailModel.setSelectedItem(selected); - // chargement de l'élément à partir du service - // délégué au model de selection + // chargement de l'élément à partir du service + // délégué au model de selection return detailModel.getSelectedItem().getLe(getContext()) != null; } @@ -157,7 +157,7 @@ @Override protected void updateUI(JDetailTab ui, DetailTabModel model) { - // ajout de l'élément dans l'historique + // ajout de l'élément dans l'historique getContext().fireSelectedAction("historyAdd", e.getSource(), selected); } Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/UnconnectAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/UnconnectAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/UnconnectAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -69,10 +69,10 @@ } /** - * Rafraichit les uis après un changement de status de connexion de l'utilisateur. + * Rafraichit les uis aprÚs un changement de status de connexion de l'utilisateur. * <p/> - * Si l'utilisateur est déconnecté, alors toutes les ui et actions liées au - * mode remote sont fermées et les actions correspondantes sont rendues + * Si l'utilisateur est déconnecté, alors toutes les ui et actions liées au + * mode remote sont fermées et les actions correspondantes sont rendues * inaccessibles. */ @Override Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryAbstractAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryAbstractAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryAbstractAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -45,7 +45,7 @@ /** * @param model le model d'historique, non null - * @return le noeud à partir de l'historique + * @return le noeud à partir de l'historique */ protected abstract EntityTreeNode getHistoryEntry(HistoryModel<EntityTreeNode> model); Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryAddAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryAddAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryAddAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -54,7 +54,7 @@ } protected boolean hasHistoryEntry(HistoryModel<EntityTreeNode> model) { - // cette action doit toujours être configurée avant lancement + // cette action doit toujours être configurée avant lancement if (selected == null) { throw new IllegalStateException("the SelectedAction (" + getActionName() + ") must have a not null selected before action performed"); } Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryDeleteExportAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryDeleteExportAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryDeleteExportAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -20,7 +20,7 @@ import fr.cemagref.simexplorer.is.ui.swing.model.HistoryModel; /** - * Action de suppresion de l'element exporté (i.e sur l'autre base) + * Action de suppresion de l'element exporté (i.e sur l'autre base) * dans l'historique. * * @author Code Lutin, Landais Gabriel, Chemit Tony Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryUnconnectAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryUnconnectAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/history/HistoryUnconnectAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -78,7 +78,7 @@ } Integer pos; if (!current.isRemote()) { - // on doit repositionner sur l'élément local courant + // on doit repositionner sur l'élément local courant pos = datas.indexOf(current); } else { // on se met sur le dernier element Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/DownloadAbstractAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/DownloadAbstractAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/DownloadAbstractAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -27,7 +27,7 @@ import java.io.IOException; /** - * Action pour downloader un résultat ou une librairie + * Action pour downloader un résultat ou une librairie * * @author Code Lutin, Landais Gabriel, Chemit Tony */ Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/ShowListTabAbstractAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/ShowListTabAbstractAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/ShowListTabAbstractAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -51,7 +51,7 @@ /** flag pour indiquer si la liste est locale ou remote */ protected boolean remote; - /** le listener sur le changement de meta selectionnée */ + /** le listener sur le changement de meta selectionnée */ protected ListMetaSelectionListener listMetaSelectionListener; /** le listener sur le changement de tri */ protected TableRowSorterListener rowSorterListener; Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/ShowTabAbstractAction.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/ShowTabAbstractAction.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/actions/util/ShowTabAbstractAction.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -28,7 +28,7 @@ */ public abstract class ShowTabAbstractAction<U extends JAXXTab, M extends SimExplorerAbstractTabModel> extends SimExplorerAbstractTabAction { /** - * Methode utilisée lors du premier + * Methode utilisée lors du premier * * @param ui l'ui de l'onglet * @param model le model de l'onglet Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/DataEntityModel.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/DataEntityModel.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/DataEntityModel.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -27,7 +27,7 @@ /** * Le modele qui encapsule un DataEntity. * - * Le chargement des données est intelligent, . + * Le chargement des données est intelligent, . * * TODO mettre en place un cache pour optimiser les acces aux bases. * @@ -39,13 +39,13 @@ /** flag pour savoir si la source est remote ou non */ protected Boolean remote; - /** l'uuid de l'élément sélectionné */ + /** l'uuid de l'élément sélectionné */ protected String uuid; - /** la version de l'élément sélectionné */ + /** la version de l'élément sélectionné */ protected Version version; - /** le type de l'entity encapsulée */ + /** le type de l'entity encapsulée */ protected transient EntityTypeEnum type; /** l'objet selectionne ou son le */ Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/HistoryModel.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/HistoryModel.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/HistoryModel.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -21,19 +21,19 @@ import java.util.List; /** - * Modèle d'un historique générique. + * ModÚle d'un historique générique. * * @author Code Lutin, Landais Gabriel, Chemit Tony */ public class HistoryModel<E> implements Serializable { - /** la liste de données */ + /** la liste de données */ protected List<E> data; - /** la position actuellement utilisée */ + /** la position actuellement utilisée */ protected Integer currentIndex; - /** la capacité de l'historique */ + /** la capacité de l'historique */ protected int capacity; private static final long serialVersionUID = -6436315419371336090L; @@ -51,15 +51,15 @@ } /** - * Ajoute à l'historique une donnée après la position courante s'il y avait - * déjà des données ou en première position le cas échéant. + * Ajoute à l'historique une donnée aprÚs la position courante s'il y avait + * déjà des données ou en premiÚre position le cas échéant. * <p/> - * Les données suivant la position courante sont supprimées. + * Les données suivant la position courante sont supprimées. * <p/> - * Si l'historique dépasse la capacité, on supprime la première donnée de + * Si l'historique dépasse la capacité, on supprime la premiÚre donnée de * l'historique * - * @param e la donnée à ajouter + * @param e la donnée à ajouter */ public void add(E e) { @@ -67,8 +67,8 @@ int newIndex = currentIndex + 1; // il faut supprimer tous les elements au dela de la position courante while (data.size() > newIndex) { - //TODO utiliser un autre container plus optimiser pour cette opération - // car ArrayList recopie à chaque fois l'ensemble du contenu + //TODO utiliser un autre container plus optimiser pour cette opération + // car ArrayList recopie à chaque fois l'ensemble du contenu data.remove(newIndex); } } else { @@ -126,7 +126,7 @@ } /** - * @return l'element suivant par rapport a l'élément courant + * @return l'element suivant par rapport a l'élément courant * @throws IllegalStateException si pas de donnes ou deja sur le dernier */ public E getNext() throws IllegalStateException { @@ -138,7 +138,7 @@ } /** - * @return l'element suivant par rapport a l'élément courant + * @return l'element suivant par rapport a l'élément courant * @throws IllegalStateException si pas de donnes ou deja sur le dernier */ public E gotoNext() throws IllegalStateException { Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/tab/DetailTabModel.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/tab/DetailTabModel.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/tab/DetailTabModel.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -26,7 +26,7 @@ import org.apache.commons.logging.LogFactory; /** - * Le model pour un Tab contenant le détail d'une application. + * Le model pour un Tab contenant le détail d'une application. * <p/> * TODO * @@ -34,16 +34,16 @@ */ public class DetailTabModel extends SimExplorerAbstractTabModel { - /** la propriété pour indiquer un changement de racine d'arbre */ + /** la propriété pour indiquer un changement de racine d'arbre */ public static final String ROOT_NODE_PROPERTY_CHANGED = "rootNodePropertyChanged"; - /** la propriété pour indiquer un changement de sélection de noeud dans l'arbre */ + /** la propriété pour indiquer un changement de sélection de noeud dans l'arbre */ public static final String SELECTED_NODE_PROPERTY_CHANGED = "selectedNodePropertyChanged"; - /** la propriété pour indiquer un changement de sélection de version */ + /** la propriété pour indiquer un changement de sélection de version */ public static final String SELECTED_VERSION_INDEX_PROPERTY_CHANGED = "selectedVersionIndexPropertyChanged"; - /** la propriété pour indiquer un changement de sélection de fichier attaché */ + /** la propriété pour indiquer un changement de sélection de fichier attaché */ public static final String SELECTED_ATTACHMENT_INDEX_PROPERTY_CHANGED = "selectedAttachmentIndexPropertyChanged"; private static final long serialVersionUID = 4851121531481734868L; @@ -54,32 +54,32 @@ protected EntityTreeNode rootNode; /** - * le LoggableElement sélectionné dans l'arbre de navigation (ou null - * si le node sélectionné n'est pas un LoggableElement) + * le LoggableElement sélectionné dans l'arbre de navigation (ou null + * si le node sélectionné n'est pas un LoggableElement) */ protected LoggableElement selectedNode; /** - * le LoggableElement affiché dans le panel de détail : il correspond au LE - * sélectionné avec la version sélectionné (ou null si le node sélectionné + * le LoggableElement affiché dans le panel de détail : il correspond au LE + * sélectionné avec la version sélectionné (ou null si le node sélectionné * n'est pas un LoggableElement) */ protected LoggableElement detailNode; /** - * la liste des versions disponibles pour le LoggableElement sélectionné - * dans l'arbre (ou null si pas de LoggableElement sélectionné dans l'arbre + * la liste des versions disponibles pour le LoggableElement sélectionné + * dans l'arbre (ou null si pas de LoggableElement sélectionné dans l'arbre * de navigation) */ protected Version[] versions; /** - * l'index de la version sélectionnée dans la liste des versions (ou null + * l'index de la version sélectionnée dans la liste des versions (ou null * si la liste des versions est nulle) */ protected Integer selectedVersionIndex; /** - * l'index de l'attachment sélectionné dans la liste des attachments (ou + * l'index de l'attachment sélectionné dans la liste des attachments (ou * null si pas liste vide) */ protected Integer selectedAttachmentIndex; Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/tab/ListTabModel.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/tab/ListTabModel.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/tab/ListTabModel.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -30,13 +30,13 @@ */ public class ListTabModel extends SimExplorerAbstractTabModel { - /** la propriété pour indiquer un changement de sélection de ligne dans la table */ + /** la propriété pour indiquer un changement de sélection de ligne dans la table */ public static final String SELECTED_ROW_PROPERTY_CHANGED = "selectedRowPropertyChanged"; - /** la propriété pour indiquer un changement dans le modele de requete */ + /** la propriété pour indiquer un changement dans le modele de requete */ public static final String QUERY_PROPERTY_CHANGED = "queryPropertyChanged"; - /** la propriété pour indiquer un changement dans le modele de pagination */ + /** la propriété pour indiquer un changement dans le modele de pagination */ public static final String PAGINATION_PROPERTY_CHANGED = "paginationPropertyChanged"; private static final long serialVersionUID = -3623331875470531459L; @@ -53,10 +53,10 @@ /** le modele de pagination avant modification */ protected final PaginationModel oldPagination; - /** la liste des données */ + /** la liste des données */ protected MetaData[] list; - /** l'index de la donnée sélectionné dans l'ui */ + /** l'index de la donnée sélectionné dans l'ui */ protected int selectedIndex; public ListTabModel(SimExplorerContext context) { @@ -261,7 +261,7 @@ } /** - * Le modèle de pagination d'une liste + * Le modÚle de pagination d'une liste * * @author tony */ Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/tab/SimExplorerAbstractTabModel.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/tab/SimExplorerAbstractTabModel.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/tab/SimExplorerAbstractTabModel.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -37,10 +37,10 @@ */ public abstract class SimExplorerAbstractTabModel implements TabModel { - /** l'onglet associé au model */ + /** l'onglet associé au model */ protected SimExplorerTab tab; - /** le dernier élément sélectionné dans l'onglet */ + /** le dernier élément sélectionné dans l'onglet */ protected DataEntityModel selectedItem; /** flag pour savoir si la source est remote ou non */ @@ -48,7 +48,7 @@ protected final SimExplorerContext context; - /** support pourles changements des propriétés */ + /** support pourles changements des propriétés */ protected PropertyChangeSupport changeSupport; private static final long serialVersionUID = 4136959472154027361L; Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/tab/SynchronizeTabModel.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/tab/SynchronizeTabModel.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/model/tab/SynchronizeTabModel.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -28,18 +28,18 @@ */ public class SynchronizeTabModel extends SimExplorerAbstractTabModel { - /** la clef de l'évènement après des sources */ + /** la clef de l'évÚnement aprÚs des sources */ public static final String SOURCES_PROPERTY_CHANGED = "sourcesPropertyChanged"; - /** la clef de l'évènement après la modification du root de l'arbre local */ + /** la clef de l'évÚnement aprÚs la modification du root de l'arbre local */ public static final String LOCAL_ROOT_NODE_PROPERTY_CHANGED = "rootLocalNodePropertyChanged"; - /** la clef de l'évènement après la modification du root de l'arbre distant */ + /** la clef de l'évÚnement aprÚs la modification du root de l'arbre distant */ public static final String REMOTE_ROOT_NODE_PROPERTY_CHANGED = "rootRemoteNodePropertyChanged"; - /** la clef de l'évènement après la modification du noeud sélectionné dans l'arbre local */ + /** la clef de l'évÚnement aprÚs la modification du noeud sélectionné dans l'arbre local */ public static final String LOCAL_SELECTED_NODE_PROPERTY_CHANGED = "selectedLocalNodePropertyChanged"; - /** la clef de l'évènement après la modification du noeud sélectionné dans l'arbre distant */ + /** la clef de l'évÚnement aprÚs la modification du noeud sélectionné dans l'arbre distant */ public static final String REMOTE_SELECTED_NODE_PROPERTY_CHANGED = "selectedRemoteNodePropertyChanged"; private static final long serialVersionUID = -3623331875470531459L; @@ -50,10 +50,10 @@ /** la racine de l'abre de navigation distant. */ protected LoggableElement remoteRootNode; - /** l'élément dans l'arbre de navigation local sélectionné */ + /** l'élément dans l'arbre de navigation local sélectionné */ protected LoggableElement localSelectedNode; - /** l'élément de l'arbre de navigation distant sélectionné */ + /** l'élément de l'arbre de navigation distant sélectionné */ protected LoggableElement remoteSelectedNode; public SynchronizeTabModel(SimExplorerContext context) { @@ -62,7 +62,7 @@ /** * @param remote flag pour indiquer sur quel arbre on travaille - * @return le LE encapsulé dans le root de l'arbre de navigation, ou null + * @return le LE encapsulé dans le root de l'arbre de navigation, ou null */ public LoggableElement getRootNode(boolean remote) { return remote ? remoteRootNode : localRootNode; @@ -70,7 +70,7 @@ /** * @param remote flag pour indiquer sur quel arbre on travaille - * @return le LE encapsulé dans le noeud sélection de l'arbre de navigation, ou null + * @return le LE encapsulé dans le noeud sélection de l'arbre de navigation, ou null */ public LoggableElement getSelectedNode(boolean remote) { return remote ? remoteSelectedNode : localSelectedNode; @@ -132,7 +132,7 @@ LoggableElement[] result = new LoggableElement[2]; if (selected == null) { - // rien de plus à faire + // rien de plus à faire return result; } @@ -193,8 +193,8 @@ Version[] versions = context.getVersions(remote, uuid); Version requiredVersion = null; if (versions.length != 0) { - // on prend la dernière version disponible dans la base (i.e - // la première de la liste des versions :)) + // on prend la derniÚre version disponible dans la base (i.e + // la premiÚre de la liste des versions :)) requiredVersion = versions[0]; } return requiredVersion; Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/EntityTreeNodeHelper.java =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/EntityTreeNodeHelper.java 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing/src/java/fr/cemagref/simexplorer/is/ui/swing/ui/EntityTreeNodeHelper.java 2009-01-20 23:23:12 UTC (rev 1539) @@ -30,9 +30,9 @@ import javax.swing.tree.TreePath; /** - * La classe responsable de la création des arbres de {@link fr.cemagref.simexplorer.is.ui.swing.model.EntityTreeNode} à - * partir de {@link LoggableElement} . <p/> La classe possède une instance cachée par thread qui délègue la construction - * del'arbre de navigation à un visiteur de {@link LoggableElement}. <p/> + * La classe responsable de la création des arbres de {@link fr.cemagref.simexplorer.is.ui.swing.model.EntityTreeNode} à + * partir de {@link LoggableElement} . <p/> La classe possÚde une instance cachée par thread qui délÚgue la construction + * del'arbre de navigation à un visiteur de {@link LoggableElement}. <p/> * * @author Code Lutin, Landais Gabriel, Chemit Tony */ @@ -41,10 +41,10 @@ protected static Log log = LogFactory.getLog(EntityTreeNodeHelper.class); /** - * Construit un arbre de navigation à partir d'un {@link LoggableElement}. + * Construit un arbre de navigation à partir d'un {@link LoggableElement}. * - * @param v la donnée à visiter - * @param remote flag pour indiquer si on travaille sur des données locales ou en remote. + * @param v la donnée à visiter + * @param remote flag pour indiquer si on travaille sur des données locales ou en remote. * @return le noeud parent de l'arbre de nivation construit. */ public static EntityTreeNode build(LoggableElement v, boolean remote) { @@ -141,13 +141,13 @@ // /** // * Implantation de {@link SimpleEntityVisitor} pour construire l'arbre de navigation d'un {@link LoggableElement}. -// * <p/> Cette classe est stateless, tous ces états internes doivent être nettoyé après une visite, en utilisant la -// * méthode {@link #reset()}. <p/> +// * <p/> Cette classe est stateless, tous ces états internes doivent être nettoyé aprÚs une visite, en utilisant la +// * méthode {@link #reset()}. <p/> // */ // public static class EntityVisitorBuilder implements EntityVisitor { // // /** -// * le noeud parent de tous les autres. <p/> Ce noeud est positionné par la méthode +// * le noeud parent de tous les autres. <p/> Ce noeud est positionné par la méthode // * {@link #markRootNode(EntityTreeNode)}. // */ // protected EntityTreeNode rootNode; @@ -156,8 +156,8 @@ // protected Deque<EntityTreeNode> nodeStack; // // /** -// * flag qui indique si on travaille sur des objet locaux ou distants. <p/> Cette information est conservé dans -// * les nodes pour permettre de gérer de manière transparent des objet locaux ou distants. +// * flag qui indique si on travaille sur des objet locaux ou distants. <p/> Cette information est conservé dans +// * les nodes pour permettre de gérer de maniÚre transparent des objet locaux ou distants. // */ // protected Boolean remote; // @@ -227,7 +227,7 @@ // } // // /** -// * Tente de marquerle node donné comme noeud ancêtre de tous les autres. <p/> Le positionnement n'a lieu que si +// * Tente de marquerle node donné comme noeud ancêtre de tous les autres. <p/> Le positionnement n'a lieu que si // * on a pas encore de rootNode. // * // * @param node le node a positionner comme rootNode (si nessecaire) @@ -239,8 +239,8 @@ // } // // /** -// * La méthode pour réinitialiser les états interne de la classe. <p/> Cette méthode doit être appeler après -// * chaque visite, afin d'assurer la propriété stateless de la classe. +// * La méthode pour réinitialiser les états interne de la classe. <p/> Cette méthode doit être appeler aprÚs +// * chaque visite, afin d'assurer la propriété stateless de la classe. // */ // protected void reset() { // nodeStack = new ArrayDeque<EntityTreeNode>(); Modified: branches/migration-200901/simexplorer-is/simexplorer-is-swing-generated/pom.xml =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-swing-generated/pom.xml 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-swing-generated/pom.xml 2009-01-20 23:23:12 UTC (rev 1539) @@ -5,19 +5,55 @@ <modelVersion>4.0.0</modelVersion> + <!-- ************************************************************* --> + <!-- *** POM Relationships *************************************** --> + <!-- ************************************************************* --> + + <parent> + <groupId>simexplorer-is</groupId> + <artifactId>simexplorer-is</artifactId> + <version>1.0-SNAPSHOT</version> + </parent> + <artifactId>simexplorer-is-swing-generated</artifactId> + + <dependencies> + <!-- librairie des widgets lutin --> + <dependency> + <groupId>lutinlib</groupId> + <artifactId>lutinwidget</artifactId> + </dependency> + <!-- librairie Jaxx --> + <dependency> + <groupId>org.codelutin.jaxx</groupId> + <artifactId>jaxx-swing</artifactId> + </dependency> + <dependency> + <groupId>org.codelutin.jaxx</groupId> + <artifactId>util</artifactId> + </dependency> + <!-- librairie commandline --> + <dependency> + <groupId>org.codelutin.commandline</groupId> + <artifactId>commandline-core</artifactId> + </dependency> + </dependencies> + + + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> + <name>Swing-jaxx and commandline</name> - <version>${current.version}</version> <description>Java Swing - jaxx UI and commandline for SimExplorer-is</description> + + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + <packaging>jar</packaging> - <parent> - <groupId>simexplorer-is</groupId> - <artifactId>simexplorer-is</artifactId> - <version>${current.version}</version> - </parent> - <properties> <maven.java.src.dir>${maven.src.dir}/java</maven.java.src.dir> <maven.classes.dir>${basedir}/target/classes</maven.classes.dir> @@ -51,7 +87,7 @@ </concreteContextFQN> <_projectName>SimExplorer-SI</_projectName> <_configFileName>.simexplorer-si-1</_configFileName> - <_version>${current.version}</_version> + <_version>${project.version}</_version> <_projectURL>http://simexplorer-si.labs.libre-entreprise.org</_projectURL> <_organisationName>Cemagref</_organisationName> <_organisationURL>http://www.cemagref.fr</_organisationURL> @@ -71,6 +107,7 @@ </execution> </executions> </plugin> + <plugin> <groupId>org.codelutin.jaxx</groupId> <artifactId>maven-jaxx-plugin</artifactId> @@ -104,6 +141,7 @@ </dependency> </dependencies> </plugin> + <!-- Compile phase --> <plugin> <groupId>lutinplugin</groupId> @@ -129,25 +167,4 @@ </plugins> </build> - <dependencies> - <!-- librairie des widgets lutin --> - <dependency> - <groupId>lutinlib</groupId> - <artifactId>lutinwidget</artifactId> - </dependency> - <!-- librairie Jaxx --> - <dependency> - <groupId>org.codelutin.jaxx</groupId> - <artifactId>jaxx-swing</artifactId> - </dependency> - <dependency> - <groupId>org.codelutin.jaxx</groupId> - <artifactId>util</artifactId> - </dependency> - <!-- librairie commandline --> - <dependency> - <groupId>org.codelutin.commandline</groupId> - <artifactId>commandline-core</artifactId> - </dependency> - </dependencies> </project> Modified: branches/migration-200901/simexplorer-is/simexplorer-is-web/pom.xml =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-web/pom.xml 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-web/pom.xml 2009-01-20 23:23:12 UTC (rev 1539) @@ -2,73 +2,29 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> - <groupId>simexplorer-is</groupId> - <artifactId>simexplorer-is-web</artifactId> - <name>Web</name> + <!-- ************************************************************* --> + <!-- *** POM Relationships *************************************** --> + <!-- ************************************************************* --> - <packaging>war</packaging> - <version>${current.version}</version> - <description>simexplorer-is web module</description> - <parent> <groupId>simexplorer-is</groupId> <artifactId>simexplorer-is</artifactId> - <version>${current.version}</version> + <version>1.0-SNAPSHOT</version> </parent> - <build> - <plugins> - <!--WebApp in JAR --> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-war-plugin</artifactId> - <version>2.0.2</version> - <configuration> - <warSourceDirectory> - ${basedir}/src/main/webapp - </warSourceDirectory> - <warSourceExcludes> - WEB-INF/lib/*.jar - </warSourceExcludes> - <archive> - <manifest> - <addClasspath>true</addClasspath> - <classpathPrefix>lib/</classpathPrefix> - </manifest> - </archive> - </configuration> - </plugin> - <!-- Run the application using "mvn jetty:run" --> - <plugin> - <groupId>org.mortbay.jetty</groupId> - <artifactId>maven-jetty-plugin</artifactId> - <configuration> - <!-- Log to the console. --> - <requestLog - implementation="org.mortbay.jetty.NCSARequestLog"> - <!-- This doesn't do anything for Jetty, but is a workaround for a Maven bug - that prevents the requestLog from being set. --> - <append>true</append> - </requestLog> - <connectors> - <connector - implementation="org.mortbay.jetty.nio.SelectChannelConnector"> - <port>9090</port> - <maxIdleTime>60000</maxIdleTime> - </connector> - </connectors> - </configuration> - </plugin> - </plugins> - </build> + <artifactId>simexplorer-is-web</artifactId> <dependencies> + <dependency> - <groupId>simexplorer-is</groupId> + <groupId>${project.groupId}</groupId> <artifactId>simexplorer-is-service</artifactId> + <version>${project.version}</version> </dependency> + <dependency> <groupId>tapestry5-treegrid</groupId> <artifactId>tapestry5-treegrid</artifactId> @@ -104,4 +60,60 @@ <classifier>jdk15</classifier> </dependency> </dependencies> + + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> + + <name>Web</name> + <description>simexplorer-is web module</description> + + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + + <packaging>war</packaging> + + <build> + <plugins> + <!--WebApp in JAR --> + <plugin> + <artifactId>maven-war-plugin</artifactId> + <version>2.0.2</version> + <configuration> + <warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory> + <warSourceExcludes>WEB-INF/lib/*.jar</warSourceExcludes> + <archive> + <manifest> + <addClasspath>true</addClasspath> + <classpathPrefix>lib/</classpathPrefix> + </manifest> + </archive> + </configuration> + </plugin> + + <!-- Run the application using "mvn jetty:run" --> + <plugin> + <groupId>org.mortbay.jetty</groupId> + <artifactId>maven-jetty-plugin</artifactId> + <configuration> + <!-- Log to the console. --> + <requestLog implementation="org.mortbay.jetty.NCSARequestLog"> + <!-- This doesn't do anything for Jetty, but is a workaround for a Maven bug + that prevents the requestLog from being set. --> + <append>true</append> + </requestLog> + <connectors> + <connector + implementation="org.mortbay.jetty.nio.SelectChannelConnector"> + <port>9090</port> + <maxIdleTime>60000</maxIdleTime> + </connector> + </connectors> + </configuration> + </plugin> + </plugins> + </build> + + </project> \ No newline at end of file Modified: branches/migration-200901/simexplorer-is/simexplorer-is-web/src/main/webapp/WEB-INF/app.properties =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-web/src/main/webapp/WEB-INF/app.properties 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-web/src/main/webapp/WEB-INF/app.properties 2009-01-20 23:23:12 UTC (rev 1539) @@ -62,11 +62,11 @@ simexplorer.ui.web.layout.search=Search simexplorer.ui.web.layout.localeen=English -simexplorer.ui.web.layout.localefr=Français +simexplorer.ui.web.layout.localefr=Français simexplorer.ui.web.layout.logout=Logout -simexplorer.ui.web.layout.copyright=Copyright © 2008. Cemagref - GPL +simexplorer.ui.web.layout.copyright=Copyright © 2008. Cemagref - GPL simexplorer.ui.web.layout.install=Generate data Modified: branches/migration-200901/simexplorer-is/simexplorer-is-web/src/main/webapp/WEB-INF/app_fr.properties =================================================================== --- branches/migration-200901/simexplorer-is/simexplorer-is-web/src/main/webapp/WEB-INF/app_fr.properties 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/simexplorer-is-web/src/main/webapp/WEB-INF/app_fr.properties 2009-01-20 23:23:12 UTC (rev 1539) @@ -10,7 +10,7 @@ simexplorer.ui.web.delete.action=Supprimer simexplorer.ui.web.details.action=Details simexplorer.ui.web.description=Description -simexplorer.ui.web.explorationdata=Données d'exploration +simexplorer.ui.web.explorationdata=Données d'exploration simexplorer.ui.web.explorations=Explorations simexplorer.ui.web.export.action=Exporter simexplorer.ui.web.hash=Hash @@ -21,31 +21,31 @@ simexplorer.ui.web.library=Librairie simexplorer.ui.web.name=Nom simexplorer.ui.web.rights.action=Droits -simexplorer.ui.web.result=Résultat +simexplorer.ui.web.result=Résultat simexplorer.ui.web.structure=Structure simexplorer.ui.web.structures=Structures simexplorer.ui.web.title.applicationlist=Liste des applications -simexplorer.ui.web.title.deleteelement=Suppression d'un élément -simexplorer.ui.web.title.elementdetail=Détail d'un élément -simexplorer.ui.web.title.elementexport=Export d'un élément -simexplorer.ui.web.title.elementhistory=Historique d'un élément -simexplorer.ui.web.title.elementimport=Import d'un élément -simexplorer.ui.web.title.elementmetadata=Metadonnées d'un élément -simexplorer.ui.web.title.elementrights=Droits sur un élément -simexplorer.ui.web.title.elementmanage=Gestion des droits sur les éléments +simexplorer.ui.web.title.deleteelement=Suppression d'un élément +simexplorer.ui.web.title.elementdetail=Détail d'un élément +simexplorer.ui.web.title.elementexport=Export d'un élément +simexplorer.ui.web.title.elementhistory=Historique d'un élément +simexplorer.ui.web.title.elementimport=Import d'un élément +simexplorer.ui.web.title.elementmetadata=Metadonnées d'un élément +simexplorer.ui.web.title.elementrights=Droits sur un élément +simexplorer.ui.web.title.elementmanage=Gestion des droits sur les éléments simexplorer.ui.web.title.groupedit=Edition d'un groupe simexplorer.ui.web.title.grouplist=Liste des groupes simexplorer.ui.web.title.install=Installation simexplorer.ui.web.title.login=Login simexplorer.ui.web.title.pageerror=Erreur -simexplorer.ui.web.title.searchresults=Résultats de la recherche (%s) +simexplorer.ui.web.title.searchresults=Résultats de la recherche (%s) simexplorer.ui.web.title.useredit=Edition d'un utilisateur simexplorer.ui.web.title.userlist=Liste des utilisateurs simexplorer.ui.web.type=Type simexplorer.ui.web.value=Valeur simexplorer.ui.web.values=Valeurs simexplorer.ui.web.version=Versions -simexplorer.ui.web.groupHierarchy=Hiérarchie des groupes +simexplorer.ui.web.groupHierarchy=Hiérarchie des groupes simexplorer.ui.web.layout.pagetitle=Simexplorer SI @@ -54,7 +54,7 @@ simexplorer.ui.web.layout.list=Liste simexplorer.ui.web.layout.import=Import -simexplorer.ui.web.layout.manageelements=Gérer les éléments +simexplorer.ui.web.layout.manageelements=Gérer les éléments simexplorer.ui.web.layout.administration=Administration simexplorer.ui.web.layout.userlist=Utilisateurs simexplorer.ui.web.layout.grouplist=Groupes @@ -62,13 +62,13 @@ simexplorer.ui.web.layout.search=Rechercher simexplorer.ui.web.layout.localeen=English -simexplorer.ui.web.layout.localefr=Français +simexplorer.ui.web.layout.localefr=Français -simexplorer.ui.web.layout.logout=Déconnexion +simexplorer.ui.web.layout.logout=Déconnexion -simexplorer.ui.web.layout.copyright=Copyright © 2008. Cemagref - GPL +simexplorer.ui.web.layout.copyright=Copyright © 2008. Cemagref - GPL -simexplorer.ui.web.layout.install=Générer des données +simexplorer.ui.web.layout.install=Générer des données simexplorer.ui.web.login.invalid=Echec de la connexion simexplorer.ui.web.login.requestaccount=Ouvrir un compte @@ -95,47 +95,47 @@ simexplorer.ui.web.groupMembers=Groupes membres simexplorer.ui.web.memberOf=Membre de -simexplorer.ui.web.ownerOf=Propriétaire de +simexplorer.ui.web.ownerOf=Propriétaire de simexplorer.ui.web.none=Aucun -simexplorer.ui.web.resetPassword=Réinitialiser le mot de passe -simexplorer.ui.web.ownerOfGroups=Propriétaire des groupes -simexplorer.ui.web.ownerOfElements=Propriétaire des éléments +simexplorer.ui.web.resetPassword=Réinitialiser le mot de passe +simexplorer.ui.web.ownerOfGroups=Propriétaire des groupes +simexplorer.ui.web.ownerOfElements=Propriétaire des éléments -simexplorer.ui.web.delete.confirmdelete=Confirmer la suppression de l'élément -simexplorer.ui.web.delete.confirmdeleteAll=Confirmer la suppression de l'élément dans toutes ses versions -simexplorer.ui.web.delete.deleteimpossible=Cet élément ne peut pas être supprimé, au moins un autre élément l'utilise : -simexplorer.ui.web.delete.deleteimpossibleAll=Cet élément ne peut pas être supprimé dans toutes ses versions, au moins un autre élément l'utilise dans une de ses versions : +simexplorer.ui.web.delete.confirmdelete=Confirmer la suppression de l'élément +simexplorer.ui.web.delete.confirmdeleteAll=Confirmer la suppression de l'élément dans toutes ses versions +simexplorer.ui.web.delete.deleteimpossible=Cet élément ne peut pas être supprimé, au moins un autre élément l'utilise : +simexplorer.ui.web.delete.deleteimpossibleAll=Cet élément ne peut pas être supprimé dans toutes ses versions, au moins un autre élément l'utilise dans une de ses versions : -simexplorer.ui.web.export.downloadxml=Télécharger le fichier XML -simexplorer.ui.web.export.downloadfull=Télécharger le fichier XML et tous ces fichiers dans une archive ZIP +simexplorer.ui.web.export.downloadxml=Télécharger le fichier XML +simexplorer.ui.web.export.downloadfull=Télécharger le fichier XML et tous ces fichiers dans une archive ZIP simexplorer.ui.web.export.noAttachment=Sans fichier simexplorer.ui.web.export.attachments=Fichiers simexplorer.ui.web.import.explorationapplication=Application d'exploration simexplorer.ui.web.import.library=Librairie -simexplorer.ui.web.elementlist.details=Détails +simexplorer.ui.web.elementlist.details=Détails -simexplorer.ui.web.elementmanage.filterowner=Seulement les éléments dont le propriétaire est +simexplorer.ui.web.elementmanage.filterowner=Seulement les éléments dont le propriétaire est simexplorer.ui.web.elementmanage.ok=Ok -simexplorer.ui.web.metadata.properties=Propriétés -simexplorer.ui.web.metadata.usedby=Cet élément est utilisé par -simexplorer.ui.web.metadata.using=Cet élément utilise -simexplorer.ui.web.metadata.action=Metadonnées +simexplorer.ui.web.metadata.properties=Propriétés +simexplorer.ui.web.metadata.usedby=Cet élément est utilisé par +simexplorer.ui.web.metadata.using=Cet élément utilise +simexplorer.ui.web.metadata.action=Metadonnées simexplorer.ui.web.metadata.uuid=UUID simexplorer.ui.web.metadata.version=Version simexplorer.ui.web.metadata.name=Nom simexplorer.ui.web.metadata.type=Type simexplorer.ui.web.metadata.description=Description -simexplorer.ui.web.metadata.creationDate=Date de création +simexplorer.ui.web.metadata.creationDate=Date de création simexplorer.ui.web.metadata.hash=Hash simexplorer.ui.web.metadata.parentversion=Parent de version simexplorer.ui.web.metadata.attachments=Fichiers simexplorer.ui.web.metadata.descriptors=Descripteurs -simexplorer.ui.web.rights.properties=Propriétés -simexplorer.ui.web.rights.owner=Propriétaires +simexplorer.ui.web.rights.properties=Propriétés +simexplorer.ui.web.rights.owner=Propriétaires simexplorer.ui.web.rights.read=Lecture simexplorer.ui.web.rights.write=Ecriture simexplorer.ui.web.rights.admin=Administration @@ -144,18 +144,18 @@ simexplorer.ui.web.error.unknowException=Exception inconnue simexplorer.ui.web.error.errorMessage=Une erreur inconnue s'est produite. -simexplorer.ui.web.error.exceptionDetails=Détails de l'erreur -simexplorer.ui.web.error.security=Pas assez de droits pour réaliser cette action. +simexplorer.ui.web.error.exceptionDetails=Détails de l'erreur +simexplorer.ui.web.error.security=Pas assez de droits pour réaliser cette action. simexplorer.ui.web.generatedata=Generate data -uuid-label=Détails +uuid-label=Détails version-label=Version name-label=Nom entityTypeLibelle-label=Type description-label=Description -creationDate-label=Date création -owner-label=Propriétaire +creationDate-label=Date création +owner-label=Propriétaire read-label=Lecture write-label=Ecriture admin-label=Admin @@ -168,8 +168,8 @@ AllFields=Tous les champs Name=Nom Description=Description -Descriptors=Mots-clés +Descriptors=Mots-clés AttachmentsName=Noms fichiers AttachmentsContent=Contenu fichiers -searchField-label=Texte recherché +searchField-label=Texte recherché Modified: branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/enviro.rst =================================================================== --- branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/enviro.rst 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/enviro.rst 2009-01-20 23:23:12 UTC (rev 1539) @@ -1,18 +1,18 @@ ============================== -Environnement de développement +Environnement de développement ============================== -Environnement d'exécution +Environnement d'exécution ========================= -Bien entendu, il est indispensable d'installer l'application comme spécifié dans . +Bien entendu, il est indispensable d'installer l'application comme spécifié dans . Maven ===== -SimExplorer-IS utilise Maven2 comme outil de build. Ainsi, il est nécessaire d'installer Maven 2.0.8 sur le poste de développement. -Aucune configuration spéciale n'est à prévoir. +SimExplorer-IS utilise Maven2 comme outil de build. Ainsi, il est nécessaire d'installer Maven 2.0.8 sur le poste de développement. +Aucune configuration spéciale n'est à prévoir. Voir http://maven.apache.org/download.html @@ -22,34 +22,34 @@ Eclipse ======= -Le développement du projet a été en partie réalisée avec Eclipse 3.3. La version simple Java est suffisante pour ce projet. +Le développement du projet a été en partie réalisée avec Eclipse 3.3. La version simple Java est suffisante pour ce projet. -Tous les modules sont inclus dans un seul projet, chaque module ayant ses entrées dans le classpath. Ce fichier est présent dans Subversion, le fichier généré par le plugin -Maven n'étant pas compatible avec certains aspects des fonctionnalités Maven utilisées. +Tous les modules sont inclus dans un seul projet, chaque module ayant ses entrées dans le classpath. Ce fichier est présent dans Subversion, le fichier généré par le plugin +Maven n'étant pas compatible avec certains aspects des fonctionnalités Maven utilisées. Plugins ------- -Les dépendances sont gérées avec le plugin Maven pour Eclipse. Il est nécessaire de l'installer via l'update site http://m2eclipse.codehaus.org/update-dev +Les dépendances sont gérées avec le plugin Maven pour Eclipse. Il est nécessaire de l'installer via l'update site http://m2eclipse.codehaus.org/update-dev La gestion de version se fait avec le plugin Subclipse, installable via l'update site http://subclipse.tigris.org/update_1.2.x -Enfin, le module web peut être lancé en mode debug depuis Eclipse grâce à Jetty Launcher (update site : http://run-jetty-run.googlecode.com/svn/trunk/updatesite). -Le "Webapp dir" étant simexplorer-is-web/src/main/webapp/META-INF quand on créé une configuration de debug. -Ce plugin permet d'éditer le site Tapestry en appliquant les modifications en temps réél (modification de classe, de page, de properties, ...). +Enfin, le module web peut être lancé en mode debug depuis Eclipse grâce à Jetty Launcher (update site : http://run-jetty-run.googlecode.com/svn/trunk/updatesite). +Le "Webapp dir" étant simexplorer-is-web/src/main/webapp/META-INF quand on créé une configuration de debug. +Ce plugin permet d'éditer le site Tapestry en appliquant les modifications en temps réél (modification de classe, de page, de properties, ...). -Débuggage +Débuggage --------- -Le module Swing avec le débugger natif d'Eclipse. -Le module Web est débuggé par le plugin RunJettyRun. +Le module Swing avec le débugger natif d'Eclipse. +Le module Web est débuggé par le plugin RunJettyRun. -Le module Service est débuggé via une connexion tcp sur le serveur JBoss. +Le module Service est débuggé via une connexion tcp sur le serveur JBoss. Dans le module simexplorer-is-ear, on peut trouver trois scripts : -- rundebug.sh : ce fichier est à copier dans le dossier de JBoss (/opt/java/jboss-4.2.2.GA/bin/) -- deploy.sh : exécute la commande Maven mvn -o clean package jboss:harddeploy. Il va ainsi construire l'EAR et le mettre dans le dossier deploy du serveur -- debug.sh : lance le script rundebug.sh, avec le serveur simexplorer. Ainsi, un port 8787 est ouvert, permettant à Eclipse de s'y connecter afin de permettre le débuggage. +- rundebug.sh : ce fichier est à copier dans le dossier de JBoss (/opt/java/jboss-4.2.2.GA/bin/) +- deploy.sh : exécute la commande Maven mvn -o clean package jboss:harddeploy. Il va ainsi construire l'EAR et le mettre dans le dossier deploy du serveur +- debug.sh : lance le script rundebug.sh, avec le serveur simexplorer. Ainsi, un port 8787 est ouvert, permettant à Eclipse de s'y connecter afin de permettre le débuggage. Packaging @@ -58,13 +58,13 @@ Liste des principales commandes Maven : - mvn clean : nettoye le dossier target -- mvn compile : génère et compile les classes -- mvn package : créé les archives des modules -- mvn install : installe les modules dans le dépôt Maven local -- mvn deploy : déploie les modules dans le dépôt Maven Libre-Entreprise +- mvn compile : génÚre et compile les classes +- mvn package : créé les archives des modules +- mvn install : installe les modules dans le dépÃŽt Maven local +- mvn deploy : déploie les modules dans le dépÃŽt Maven Libre-Entreprise -Options générales : +Options générales : -- -U : force la mise à jour de tous les artifacts -- -o : travail hors ligne, pour utiliser uniquement le dépôt local +- -U : force la mise à jour de tous les artifacts +- -o : travail hors ligne, pour utiliser uniquement le dépÃŽt local Modified: branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/implementation.rst =================================================================== --- branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/implementation.rst 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/implementation.rst 2009-01-20 23:23:12 UTC (rev 1539) @@ -1,42 +1,42 @@ =============================== -SimExplorer SI - Implémentation +SimExplorer SI - Implémentation =============================== -Découpage +Découpage ========= Module entities --------------- Ce premier module a pour objectifs : - #. les classes de données - #. les types de contenus attachés aux données - #. le parcours des données pour l'interface graphique + #. les classes de données + #. les types de contenus attachés aux données + #. le parcours des données pour l'interface graphique -Classes de données +Classes de données __________________ -Ce sont des classes sérializables. Elles représentent le modèle de données fournies. -Le type "LoggableElement" se voit rattaché une association vers un "MetaData". Cette classe contient -toutes les propriétés nécessaires au fonctionnement de Simexplorer SI. +Ce sont des classes sérializables. Elles représentent le modÚle de données fournies. +Le type "LoggableElement" se voit rattaché une association vers un "MetaData". Cette classe contient +toutes les propriétés nécessaires au fonctionnement de Simexplorer SI. -Toutes les classes héritent de Entity, en étant soit un "Leaf" (feuille), soit un "Composite". -Une classe abstraite SimpleComposite implémentant List doit être utilisée pour créer des listes de données, +Toutes les classes héritent de Entity, en étant soit un "Leaf" (feuille), soit un "Composite". +Une classe abstraite SimpleComposite implémentant List doit être utilisée pour créer des listes de données, comme Codes, Libraries, etc. -Pour l'affichage simple, la méthode toString() est utilisée. Pour l'affichage en grille, getRow permet -de spécifier les différentes propriétés affichées. +Pour l'affichage simple, la méthode toString() est utilisée. Pour l'affichage en grille, getRow permet +de spécifier les différentes propriétés affichées. -Les données sont parcourues par un visiteur, héritant d'EntityVisitor. EntityVisitorTreeNode implémente -cette interface et est dérivée pour le module web et le module Swing. +Les données sont parcourues par un visiteur, héritant d'EntityVisitor. EntityVisitorTreeNode implémente +cette interface et est dérivée pour le module web et le module Swing. -EntityTypeEnum recense les différents types d'éléments de l'application, afin de retrouver les libellés, etc. +EntityTypeEnum recense les différents types d'éléments de l'application, afin de retrouver les libellés, etc. Types de contenus _________________ -Afin de traiter les contenus attachés aux données, ContentType permet de spécifier le type d'un contenu en -fournissant le MIME type et une méthode virtuelle de conversion d'un flux en texte, afin de l'afficher ou de +Afin de traiter les contenus attachés aux données, ContentType permet de spécifier le type d'un contenu en +fournissant le MIME type et une méthode virtuelle de conversion d'un flux en texte, afin de l'afficher ou de l'indexer pour la recherche. Module storage @@ -45,115 +45,115 @@ Database ________ -Cette interface spécifie comment les meta données doivent être gérées. +Cette interface spécifie comment les meta données doivent être gérées. On y trouvera : #. ouverture/fermeture/commit - #. insertion d'élément - #. Récupération d'un élément dans sa dernière version, ou dans une version spécifique - grâce à l'obtention de toutes ses versions - #. Recherche paginée d'élements (ie comptage et extraction d'un sous ensemble des résultats) : - - par propriétés + #. insertion d'élément + #. Récupération d'un élément dans sa derniÚre version, ou dans une version spécifique + grâce à l'obtention de toutes ses versions + #. Recherche paginée d'élements (ie comptage et extraction d'un sous ensemble des résultats) : + - par propriétés - par type - par recherche dans le contenu - #. Suppression d'un élément + #. Suppression d'un élément -Une implémentation est fournie, basée sur Lucene. +Une implémentation est fournie, basée sur Lucene. Attachment __________ -On trouvera dans cette interface les méthodes nécessaires à la gestion du stockage des flux. +On trouvera dans cette interface les méthodes nécessaires à la gestion du stockage des flux. Ainsi, on peut stocker/retrouver/effacer un flux. -Un flux est l'association d'une meta donnée, d'un champ et d'un contenu (InputStream). +Un flux est l'association d'une meta donnée, d'un champ et d'un contenu (InputStream). -Une implementation est fournie, basée sur le système de fichiers. +Une implementation est fournie, basée sur le systÚme de fichiers. Engine ______ On trouvera dans ce dernier package l'association de "Database" et "Attachment". -On retrouvera grosso modo les méthodes disponibles dans "Database", agrémentées des flux de contenu, -en convertissant les contenus attaché aux meta données en données indexables par exemple. +On retrouvera grosso modo les méthodes disponibles dans "Database", agrémentées des flux de contenu, +en convertissant les contenus attaché aux meta données en données indexables par exemple. StorageEngine propose aussi le stockage de flux temporaires, afin de dupliquer des InputStream. Module service -------------- -Ce module est constitué d'une interface du service et de ses implémentations. -On retrouvera dans cette interface tout ce qui est nécessaire au fonctionnement de : - #. l'application web, en accès EJB +Ce module est constitué d'une interface du service et de ses implémentations. +On retrouvera dans cette interface tout ce qui est nécessaire au fonctionnement de : + #. l'application web, en accÚs EJB #. le service de stockage local du client lourd, en instance locale - #. la connexion au serveur central, en accès EJB + #. la connexion au serveur central, en accÚs EJB Module web ---------- -L'accès au service EJB se fait via StorageServiceFactory. Si le proxy n'a pas été initialisé, -on recherche l'EJB via des propriétés JNDI propres à JBoss. -Un ContextListener ouvre le service lors du lancement du serveur, et le ferme à son arrêt. +L'accÚs au service EJB se fait via StorageServiceFactory. Si le proxy n'a pas été initialisé, +on recherche l'EJB via des propriétés JNDI propres à JBoss. +Un ContextListener ouvre le service lors du lancement du serveur, et le ferme à son arrêt. -Un composant Layout permet de définir toutes les pages. Les autres pages utilisent alors -uniquement ce composant dans leur page, et mette leur contenu propre à l'intérieur. +Un composant Layout permet de définir toutes les pages. Les autres pages utilisent alors +uniquement ce composant dans leur page, et mette leur contenu propre à l'intérieur. Authentification/Autorisations ============================== -On souhaite pouvoir gérer des utilisateurs et des groupes ayant des droits sur les entités de l'application. +On souhaite pouvoir gérer des utilisateurs et des groupes ayant des droits sur les entités de l'application. L'authentification ------------------ -Les utilisateurs et les groupes sont des données pouvant être stockées dans une base de données, -embarquée type H2 ou dédiée type PostGreSQL. -Afin de permettre le choix de la base et la simplification du développement de l'intégration et du -développement, le stockage sera géré par JPA. +Les utilisateurs et les groupes sont des données pouvant être stockées dans une base de données, +embarquée type H2 ou dédiée type PostGreSQL. +Afin de permettre le choix de la base et la simplification du développement de l'intégration et du +développement, le stockage sera géré par JPA. -L'authentification en elle même peut se baser sur JAAS, afin de bénéficier de son expérience -de sécurisation. +L'authentification en elle même peut se baser sur JAAS, afin de bénéficier de son expérience +de sécurisation. -Deux possibilités s'offrent pour l'authentification : - - se baser entièrement la sécurité de JBoss (JBossSX) - Cette solution a l'avantage et l'inconvénient d'être très intégré aux EJB, permettant - de retrouver le Principal de façon simple. De plus, si l'application web est lancée dans le même - JBoss, elle peut utiliser le même contexte de sécurité. +Deux possibilités s'offrent pour l'authentification : + - se baser entiÚrement la sécurité de JBoss (JBossSX) + Cette solution a l'avantage et l'inconvénient d'être trÚs intégré aux EJB, permettant + de retrouver le Principal de façon simple. De plus, si l'application web est lancée dans le même + JBoss, elle peut utiliser le même contexte de sécurité. - - créer un EJB d'authentification et fournir un "token" à l'utilisateur - Cette solution implique des développement plus lourds lors des appels métiers, en demandant - à l'utilisateur du service de prouver qu'il est bien authentifié. Le système utilisé serait celui - utilisé par les applications web pour authentifier l'utilisateur, avec un cookie contenant un identifiant - de session. Ce contexte de connexion est alors à passer à chaque appel de méthode. + - créer un EJB d'authentification et fournir un "token" à l'utilisateur + Cette solution implique des développement plus lourds lors des appels métiers, en demandant + à l'utilisateur du service de prouver qu'il est bien authentifié. Le systÚme utilisé serait celui + utilisé par les applications web pour authentifier l'utilisateur, avec un cookie contenant un identifiant + de session. Ce contexte de connexion est alors à passer à chaque appel de méthode. -La deuxième solution possède le net avantage de ne pas dépendre sur l'implémentation de sécurité de JBoss. +La deuxiÚme solution possÚde le net avantage de ne pas dépendre sur l'implémentation de sécurité de JBoss. Les autorisations ----------------- -De la même façon que la base de données est gérée, une interface définie ce que doit implémenter le service +De la même façon que la base de données est gérée, une interface définie ce que doit implémenter le service de gestion des autorisations : - #. Ajout/création/suppression d'entités (uniquement son identifiant) - #. Ajout/création/suppression des permissions sur les entités - #. Vérification des permissions sur un élément par rapport à un utilisateur - #. Filtrage d'une liste de résultats + #. Ajout/création/suppression d'entités (uniquement son identifiant) + #. Ajout/création/suppression des permissions sur les entités + #. Vérification des permissions sur un élément par rapport à un utilisateur + #. Filtrage d'une liste de résultats -Le principal problème réside dans la recherche par contenu. En effet, cette partie étant gérée par la base -de données, il est possible d'intéragir avec les résultats uniquement a posteriori. Ainsi, le comptage -du nombre de résultats auquel l'utilisateur a accès n'est pas possible. -Il est néanmoins possible d'afficher le nombre de résultats hors filtrage, puis d'appliquer les autorisations -à l'affichage de chaque ligne de résultat. L'utilisateur obtient alors tout de même le nombre d'éléments -auxquels il n'a pas accès. +Le principal problÚme réside dans la recherche par contenu. En effet, cette partie étant gérée par la base +de données, il est possible d'intéragir avec les résultats uniquement a posteriori. Ainsi, le comptage +du nombre de résultats auquel l'utilisateur a accÚs n'est pas possible. +Il est néanmoins possible d'afficher le nombre de résultats hors filtrage, puis d'appliquer les autorisations +à l'affichage de chaque ligne de résultat. L'utilisateur obtient alors tout de même le nombre d'éléments +auxquels il n'a pas accÚs. Utilisation service =================== -L'interface StorageService est la base commune à l'application web et au client lourd. +L'interface StorageService est la base commune à l'application web et au client lourd. -Ce service est disponible sur le serveur afin d'afficher les données dans l'application web, et pour -synchroniser le client lourd avec les données locales. +Ce service est disponible sur le serveur afin d'afficher les données dans l'application web, et pour +synchroniser le client lourd avec les données locales. -Une instance est aussi disponible par client lourd lancé, afin de gérer les données stockées localement. +Une instance est aussi disponible par client lourd lancé, afin de gérer les données stockées localement. -Afin d'accéder au service sur le serveur, le code suivant est nécessaire : +Afin d'accéder au service sur le serveur, le code suivant est nécessaire : :: @@ -169,7 +169,7 @@ storageService = (StorageService) context .lookup("StorageService"); -On trouve alors dans storageService un proxy attaquant le service EJB déployé dans JBoss. +On trouve alors dans storageService un proxy attaquant le service EJB déployé dans JBoss. -Les classes nécessaires à l'accès au serveur JBoss sont contenus dans jbossall-client (disponible sur le -dépôt maven java.net). \ No newline at end of file +Les classes nécessaires à l'accÚs au serveur JBoss sont contenus dans jbossall-client (disponible sur le +dépÃŽt maven java.net). \ No newline at end of file Modified: branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/index.rst =================================================================== --- branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/index.rst 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/index.rst 2009-01-20 23:23:12 UTC (rev 1539) @@ -5,83 +5,83 @@ Introduction ============ -Ce document détaille la solution proposée en réponse à la demande d'un outil +Ce document détaille la solution proposée en réponse à la demande d'un outil d'exploration de simulation. -Spécifications +Spécifications ============== -Découpage +Découpage --------- -Plusieurs parties ont été identifiées : +Plusieurs parties ont été identifiées : - - Une première partie s'exécute sur le serveur d'application et fournit les services - d'authentification et de gestion des données. + - Une premiÚre partie s'exécute sur le serveur d'application et fournit les services + d'authentification et de gestion des données. - Une seconde partie sert les pages web au navigateur l'utilisateur - - Une dernière partie s'exécute sur la machine de l'utilisateur, avec des données locales + - Une derniÚre partie s'exécute sur la machine de l'utilisateur, avec des données locales et une communication avec le serveur. Serveur d'application --------------------- -Base de données +Base de données _______________ -Une base de données de type PostGreSQL sert de référentiel pour les autorisations et les -données métier. +Une base de données de type PostGreSQL sert de référentiel pour les autorisations et les +données métier. -Pour certains types de données (résultat de simulation par exemple), le flux pourra être -stocké sur le disque. +Pour certains types de données (résultat de simulation par exemple), le flux pourra être +stocké sur le disque. -Les objets persistants sont générés depuis le modèle de conception. +Les objets persistants sont générés depuis le modÚle de conception. Authentification ________________ L'authentification inclut la gestion des utilisateurs et des groupes. Mais elle permet aussi -la gestion des droits sur les données. +la gestion des droits sur les données. -Ces informations sont stockées par des objets persistants générés. +Ces informations sont stockées par des objets persistants générés. -La logique associant les utilisateurs, les groupes et les données est implantée via un service. +La logique associant les utilisateurs, les groupes et les données est implantée via un service. -L'utilisation d'une brique d'authentification est possible, à partir du moment où elle est -capable de gérer des droits sur des entités. +L'utilisation d'une brique d'authentification est possible, à partir du moment où elle est +capable de gérer des droits sur des entités. .. figure:: ../../../../xmi/images/entities.png - :alt: Diagramme de classe entités pour l'authentification + :alt: Diagramme de classe entités pour l'authentification - Diagramme de classe entités pour l'authentification. + Diagramme de classe entités pour l'authentification. .. figure:: ../../../../xmi/images/auth.png :alt: Diagramme de classe services pour l'authentification Diagramme de classe services pour l'authentification. -Stockage des données +Stockage des données ____________________ -Ce composant a la charge de gérer l'ensemble des informations relatives aux explorations. +Ce composant a la charge de gérer l'ensemble des informations relatives aux explorations. -Celui-ci inclut une logique métier sur les versions et doit être en mesure de synchroniser +Celui-ci inclut une logique métier sur les versions et doit être en mesure de synchroniser son statut avec celui du client lourd. -Des services exposent la gestion des informations et des versions en tenant compte de l'identité -de l'utilisateur connecté. +Des services exposent la gestion des informations et des versions en tenant compte de l'identité +de l'utilisateur connecté. .. figure:: ../../../../xmi/images/data.png - :alt: Diagramme de classe entités pour le stockage + :alt: Diagramme de classe entités pour le stockage - Diagramme de classe entités pour le stockage. + Diagramme de classe entités pour le stockage. Application web --------------- -A partir des briques du serveur d'application, le serveur web permet à l'utilisateur connecté avec -un client léger (navigateur standard) de manipuler les données auxquelles il a accès. +A partir des briques du serveur d'application, le serveur web permet à l'utilisateur connecté avec +un client léger (navigateur standard) de manipuler les données auxquelles il a accÚs. -L'application réutilise la logique métier du serveur d'application. +L'application réutilise la logique métier du serveur d'application. Client lourd ------------ @@ -89,29 +89,29 @@ Autonomie _________ -Le client lourd doit pouvoir être possible de l'embarquer dans l'application RCP SimExplorer. De plus, -il doit être utilisé de façon déconnecté du serveur d'application. +Le client lourd doit pouvoir être possible de l'embarquer dans l'application RCP SimExplorer. De plus, +il doit être utilisé de façon déconnecté du serveur d'application. -Mode embarqué +Mode embarqué _____________ -SimExplorer SI doit être accessible depuis l'application existante. +SimExplorer SI doit être accessible depuis l'application existante. -Le mode de communication avec cette application est à déterminer. +Le mode de communication avec cette application est à déterminer. -Mode déconnecté +Mode déconnecté _______________ -L'utilisateur peut uniquement interragir avec les données locales. +L'utilisateur peut uniquement interragir avec les données locales. -Le fonctionnement est très similaire à la partie données du serveur d'application, l'authentification en -moins. Ainsi, les données sont stockées dans une base locale, avec des fichiers externes pour les +Le fonctionnement est trÚs similaire à la partie données du serveur d'application, l'authentification en +moins. Ainsi, les données sont stockées dans une base locale, avec des fichiers externes pour les informations trop volumineuses. -Mode connecté +Mode connecté _____________ -Dans ce mode l'utilisateur peut consulter/supprimer des données du serveur selon son authentification. +Dans ce mode l'utilisateur peut consulter/supprimer des données du serveur selon son authentification. -Une synchronisation est possible, la logique étant executé côté serveur et le client est mis à jour en -fonction du traitement réalisé. +Une synchronisation est possible, la logique étant executé cÃŽté serveur et le client est mis à jour en +fonction du traitement réalisé. Modified: branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/old/glassfish.txt =================================================================== --- branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/old/glassfish.txt 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/old/glassfish.txt 2009-01-20 23:23:12 UTC (rev 1539) @@ -6,12 +6,12 @@ Fonctions --------- -Au niveau des standards, GlassFish est une implémentation complète de la norme Java EE 5 qui recouvre: +Au niveau des standards, GlassFish est une implémentation complÚte de la norme Java EE 5 qui recouvre: - * EJB 3 (approche POJO, configuration par exception, injection de dépendance). L'occasion de se refaire une idée sur les EJB. - * JPA (Java Persistence API): standard implémenté par TopLink (par défaut dans GlassFish), Hibernate ou OpenJPA + * EJB 3 (approche POJO, configuration par exception, injection de dépendance). L'occasion de se refaire une idée sur les EJB. + * JPA (Java Persistence API): standard implémenté par TopLink (par défaut dans GlassFish), Hibernate ou OpenJPA * JAX-WS 2.x: nouvelle pile pour les services web - * JAXB 2.0: mise en corresponsance (mapping) XML/Java utilisée par JAX-WS 2.0 - * JSF (Java Server Faces) - Framework MVC dont Apache MyFaces et JSF RI sont des implémentations libres + * JAXB 2.0: mise en corresponsance (mapping) XML/Java utilisée par JAX-WS 2.0 + * JSF (Java Server Faces) - Framework MVC dont Apache MyFaces et JSF RI sont des implémentations libres * StAX - parseur de streaming XML - * JSP 2.1 & Servlet 2.5: pour faire de l'injection de dépendance dans le conteneur web + * JSP 2.1 & Servlet 2.5: pour faire de l'injection de dépendance dans le conteneur web Modified: branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/old/maven.rst =================================================================== --- branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/old/maven.rst 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/src/site/fr/rst/devel/old/maven.rst 2009-01-20 23:23:12 UTC (rev 1539) @@ -1,4 +1,4 @@ -Les dépôts suivants doivent être disponibles dans le fichier ~/.m2/settings.xml : +Les dépÃŽts suivants doivent être disponibles dans le fichier ~/.m2/settings.xml : :: <repository> Modified: branches/migration-200901/simexplorer-is/src/site/fr/rst/index.rst =================================================================== --- branches/migration-200901/simexplorer-is/src/site/fr/rst/index.rst 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/src/site/fr/rst/index.rst 2009-01-20 23:23:12 UTC (rev 1539) @@ -1,4 +1,4 @@ -Le Cemagref développe un outil d'exploration de simulation, SimExplorer. Les explorations sont faites par la programmation de plans d'expériences qui génèrent un grand nombre de simulations. +Le Cemagref développe un outil d'exploration de simulation, SimExplorer. Les explorations sont faites par la programmation de plans d'expériences qui génÚrent un grand nombre de simulations. -Simexplorer-IS mets en place des outils qui permettent de gérer toutes les données et les codes permettant de définir une application d'exploration, aussi bien par leur stockage -que par les autorisations données aux utilisateurs pour les manipuler. +Simexplorer-IS mets en place des outils qui permettent de gérer toutes les données et les codes permettant de définir une application d'exploration, aussi bien par leur stockage +que par les autorisations données aux utilisateurs pour les manipuler. Modified: branches/migration-200901/simexplorer-is/src/site/fr/rst/install.rst =================================================================== --- branches/migration-200901/simexplorer-is/src/site/fr/rst/install.rst 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/src/site/fr/rst/install.rst 2009-01-20 23:23:12 UTC (rev 1539) @@ -8,21 +8,21 @@ Plateforme ---------- -SimExplorer SI étant en pur Java, toutes les plateformes supportant JBoss 4.2 sont compatibles. -Nous traiterons pour le moment uniquement des plateformes à base Linux 2.6. +SimExplorer SI étant en pur Java, toutes les plateformes supportant JBoss 4.2 sont compatibles. +Nous traiterons pour le moment uniquement des plateformes à base Linux 2.6. Java ---- -Il est nécessaire d'installer au minimum un JRE 1.6 disponible sur le site de Sun. +Il est nécessaire d'installer au minimum un JRE 1.6 disponible sur le site de Sun. JBoss ----- -L'application nécessite le serveur d'application JBoss AS 4.2.2GA. -L'archive correspondant à la version supportée est jboss-4.2.2.GA.zip. +L'application nécessite le serveur d'application JBoss AS 4.2.2GA. +L'archive correspondant à la version supportée est jboss-4.2.2.GA.zip. -Après avoir décompressé l'archive dans un dossier, dupliquer le dossier server/default en serveur/simexplorer. +AprÚs avoir décompressé l'archive dans un dossier, dupliquer le dossier server/default en serveur/simexplorer. Installation ============ @@ -30,9 +30,9 @@ Dossiers -------- -Créer le dossier /var/local/simexplorer/h2. Ce dossier contiendra la base de données contenant les -informations de sécurité. Lorsque l'application sera lancée pour la première fois, d'autres dossiers -seront créés dans /var/local/simexplorer/ pour la base Lucene et les données. +Créer le dossier /var/local/simexplorer/h2. Ce dossier contiendra la base de données contenant les +informations de sécurité. Lorsque l'application sera lancée pour la premiÚre fois, d'autres dossiers +seront créés dans /var/local/simexplorer/ pour la base Lucene et les données. Applicatif ---------- @@ -42,16 +42,16 @@ Configuration ------------- -TODO Suppression des application déployés automatiquement par JBoss +TODO Suppression des application déployés automatiquement par JBoss -L'application étant déployée sur la racine du serveur, il est nécessaire de désactiver l'application déjà -présente à cette place. Pour cela, renommer le dossier /opt/java/jboss-4.2.2.GA/server/simexplorer/deploy/jboss-web.deployer/ROOT.war +L'application étant déployée sur la racine du serveur, il est nécessaire de désactiver l'application déjà +présente à cette place. Pour cela, renommer le dossier /opt/java/jboss-4.2.2.GA/server/simexplorer/deploy/jboss-web.deployer/ROOT.war en /opt/java/jboss-4.2.2.GA/server/simexplorer/deploy/jboss-web.deployer/deployer.war -L'application utilise le pool de mail intégré à JBoss. Ainsi, il est nécessaire de modifier les propriétés +L'application utilise le pool de mail intégré à JBoss. Ainsi, il est nécessaire de modifier les propriétés mail.smtp.host et mail.from dans le fichier /opt/java/jboss-4.2.2.GA/server/simexplorer/deploy/mail-service.xml -Exécution +Exécution ========= Lancer JBoss via son script de lancement : @@ -60,10 +60,10 @@ bin/run.sh -b 0.0.0.0 -c simexplorer -Première connexion +PremiÚre connexion ================== -Si la configuration du serveur n'a pas été modifiée, se connecter à l'application +Si la configuration du serveur n'a pas été modifiée, se connecter à l'application via l'URL http://ADRESSE-DU-SERVEUR:8080/simexplorer-is-web Se connecter avec le login superadmin et le mot de passe password. @@ -71,12 +71,12 @@ Initialisation ============== -Si la configuration du serveur n'a pas été modifiée, initialiser l'application -via l'URL http://ADRESSE-DU-SERVEUR:8080/simexplorer-is-web/install en étant connecté en tant -que superadmin. Cette page permet de générer des explorations d'application aléatoires, cette -opération peut s'avérer assez longue (plus d'une minute). +Si la configuration du serveur n'a pas été modifiée, initialiser l'application +via l'URL http://ADRESSE-DU-SERVEUR:8080/simexplorer-is-web/install en étant connecté en tant +que superadmin. Cette page permet de générer des explorations d'application aléatoires, cette +opération peut s'avérer assez longue (plus d'une minute). -Récapitulatif +Récapitulatif ============= PC client Modified: branches/migration-200901/simexplorer-is/src/site/fr/rst/rules.rst =================================================================== --- branches/migration-200901/simexplorer-is/src/site/fr/rst/rules.rst 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/src/site/fr/rst/rules.rst 2009-01-20 23:23:12 UTC (rev 1539) @@ -1,29 +1,29 @@ Security ======== -Accès à l'EJB +AccÚs à l'EJB ------------- -L'accès peut se faire uniquement au sein d'autres EJB déployés au sein du même serveur d'application (EJB local). +L'accÚs peut se faire uniquement au sein d'autres EJB déployés au sein du même serveur d'application (EJB local). Permissions ----------- -Droits sur un élément : +Droits sur un élément : - - owner : l'utilisateur est propriétaire, il a tous les droits - - admin : l'utilisateur peut gérer les droits sur l'élément. Il peut aussi le supprimer. Il peut bien sûr lire et écrire. - - write : l'utilisateur peut créer une nouvelle version, et le lire - - read : l'utilisateur peut uniquement lire l'élément (dans toutes ses versions) - - le superadmin possède tous les droits sur tous les éléments - - "atomique" : droits explicites ou d'admin ou propriétaire de l'Actor - - global : droits atomique de l'Actor ou d'un de ses parents (memberOf récursif). Ainsi - si l'utilisateur n'a pas les droits explicites, mais qu'un de ses groupes auxquels il apprtient les possède, - l'utilisateur acquière ces droits. - - si un User est propriétaire d'un groupe sans en être membre, il n'a pas les droits du groupe - - tout utilisateur a tous les droits sur un id non encore enregistré (permet l'enregistrement d'un nouvel élément) + - owner : l'utilisateur est propriétaire, il a tous les droits + - admin : l'utilisateur peut gérer les droits sur l'élément. Il peut aussi le supprimer. Il peut bien sûr lire et écrire. + - write : l'utilisateur peut créer une nouvelle version, et le lire + - read : l'utilisateur peut uniquement lire l'élément (dans toutes ses versions) + - le superadmin possÚde tous les droits sur tous les éléments + - "atomique" : droits explicites ou d'admin ou propriétaire de l'Actor + - global : droits atomique de l'Actor ou d'un de ses parents (memberOf récursif). Ainsi + si l'utilisateur n'a pas les droits explicites, mais qu'un de ses groupes auxquels il apprtient les possÚde, + l'utilisateur acquiÚre ces droits. + - si un User est propriétaire d'un groupe sans en être membre, il n'a pas les droits du groupe + - tout utilisateur a tous les droits sur un id non encore enregistré (permet l'enregistrement d'un nouvel élément) -Exemple : Si l'utilisateur a les droits d'écriture, il a aussi les droits de lecture. +Exemple : Si l'utilisateur a les droits d'écriture, il a aussi les droits de lecture. +--------+-------+-------+-------+-------+ | | Owner | Admin | Write | Read | @@ -39,12 +39,12 @@ | Read | O | O | O | O | +--------+-------+-------+-------+-------+ -Sauvegarde d'un élément : +Sauvegarde d'un élément : - - les droits associés sont mis à jour via cette méthode - - aucune permission n'est créée si l'utilisateur est super admin - - une permission est créée si et seulement si aucune permission n'existe avec cet utilisateur. - La permission créée a pour propriétaire l'utilisateur sauvant l'élément, donc tous les droits. + - les droits associés sont mis à jour via cette méthode + - aucune permission n'est créée si l'utilisateur est super admin + - une permission est créée si et seulement si aucune permission n'existe avec cet utilisateur. + La permission créée a pour propriétaire l'utilisateur sauvant l'élément, donc tous les droits. Storage ======= @@ -52,76 +52,76 @@ Config ------ -Sera modifié prochainement (utilisation d'un fichier par défaut et/ou d'un fichier externe et/ou de la +Sera modifié prochainement (utilisation d'un fichier par défaut et/ou d'un fichier externe et/ou de la configuration commandline). Stockage des "Attachments" -------------------------- -Les flux associés aux entités sont sauvées sur le disque par FileSystemAttachmentHandler. -Le dossier de base est retrouvé via la configuration. Afin de ne pas générer trop de dossiers dans -ce dossier, les données sont stockées dans une arborescence correspondant aux trois premiers caractères +Les flux associés aux entités sont sauvées sur le disque par FileSystemAttachmentHandler. +Le dossier de base est retrouvé via la configuration. Afin de ne pas générer trop de dossiers dans +ce dossier, les données sont stockées dans une arborescence correspondant aux trois premiers caractÚres de leur id. -Ainsi, l'élément avec l'id efjsisjd sera stocké dans le dossier /baseFolder/e/f/j/efjsisjd. -Si l'id a moins de trois caractères, le dossier est directement l'id. +Ainsi, l'élément avec l'id efjsisjd sera stocké dans le dossier /baseFolder/e/f/j/efjsisjd. +Si l'id a moins de trois caractÚres, le dossier est directement l'id. -Le stockage des données (storeData) met à jour l'Attachment associé (hash et taille). +Le stockage des données (storeData) met à jour l'Attachment associé (hash et taille). -Aucun contrôle métier n'est fait à ce niveau. +Aucun contrÃŽle métier n'est fait à ce niveau. Database -------- -Cette classe gère uniquement le stockage des données spécifiques à SimExplorer IS. De plus, elle doit -être en mesure d'indexer les données afin d'effecture les recherches. +Cette classe gÚre uniquement le stockage des données spécifiques à SimExplorer IS. De plus, elle doit +être en mesure d'indexer les données afin d'effecture les recherches. -L'implémentation par défaut est LuceneDatabase. +L'implémentation par défaut est LuceneDatabase. -Le dossier où est stocké l'index est spécifié dans la configuration, ainsi que l'intervalle de -compactage de l'index (réduction du nombre de fichiers utilisés pour l'index). +Le dossier où est stocké l'index est spécifié dans la configuration, ainsi que l'intervalle de +compactage de l'index (réduction du nombre de fichiers utilisés pour l'index). -Un pool de searchers permet de traiter les requêtes en parallèle de l'insertion. Une insertion invalide -le pool et les searchers doivent être recréés à la requête suivante. +Un pool de searchers permet de traiter les requêtes en parallÚle de l'insertion. Une insertion invalide +le pool et les searchers doivent être recréés à la requête suivante. -Le filtrage des données (afin d'afficher uniquement les éléments que l'utilisateur peut lire) est détaché -du module de sécurité (les données étant stockées dans deux systèmes différents, JPA d'un côté, Lucene +Le filtrage des données (afin d'afficher uniquement les éléments que l'utilisateur peut lire) est détaché +du module de sécurité (les données étant stockées dans deux systÚmes différents, JPA d'un cÃŽté, Lucene de l'autre). -Il est maintenu en mémoire une liste de filtre sur les éléments visibles pour un utilisateur. Cette liste -est gérée par le service liant sécurité et persistence. La méthode updateFilter met à jour le filtre -d'un utilisateur en passant en paramètre la liste des ids des éléments qu'il a le droit de visualiser. -Un filtre Lucene est créé à partir de cette liste, avec de très bonnes performances (voir +Il est maintenu en mémoire une liste de filtre sur les éléments visibles pour un utilisateur. Cette liste +est gérée par le service liant sécurité et persistence. La méthode updateFilter met à jour le filtre +d'un utilisateur en passant en paramÚtre la liste des ids des éléments qu'il a le droit de visualiser. +Un filtre Lucene est créé à partir de cette liste, avec de trÚs bonnes performances (voir http://www.nabble.com/Security-filtering-from-external-DB-td15630408.html). -Deux types de données sont sauvées dans la base Lucene : +Deux types de données sont sauvées dans la base Lucene : - - les MetaData : des méthodes permettent de transformer un Document lucene en MetaData et vice versa. - Ces méthodes ne sont appellées uniquement si c'est vraiment utile, pour l'affichage d'un élément ou le - chargement d'un élément. Tout Document d'un ensemble Hits (résultat de recherche) peut être converti, - mais c'est une opération coûteuse, nottament sur des milliers d'éléments... + - les MetaData : des méthodes permettent de transformer un Document lucene en MetaData et vice versa. + Ces méthodes ne sont appellées uniquement si c'est vraiment utile, pour l'affichage d'un élément ou le + chargement d'un élément. Tout Document d'un ensemble Hits (résultat de recherche) peut être converti, + mais c'est une opération coûteuse, nottament sur des milliers d'éléments... - les hierarchies entre MetaData : on conserve dans l'index les relations d'un MetaData, avec ses parents - et ses enfants. Cela permettra d'appliquer les règles métiers durant les ajouts/suppressions. Lors - du clonage d'un élément, une méthode permet de dupliquer les associations des éléments utilisés par le cloné. + et ses enfants. Cela permettra d'appliquer les rÚgles métiers durant les ajouts/suppressions. Lors + du clonage d'un élément, une méthode permet de dupliquer les associations des éléments utilisés par le cloné. -Pour ces deux types de données, un champ composite avec l'id et la version est créé, afin de faciliter les +Pour ces deux types de données, un champ composite avec l'id et la version est créé, afin de faciliter les recherches. -La base peut être explorée avec Luke (http://www.getopt.org/luke). +La base peut être explorée avec Luke (http://www.getopt.org/luke). -Aucun contrôle métier n'est fait à ce niveau. +Aucun contrÃŽle métier n'est fait à ce niveau. StorageEngine ------------- -Dans son implémentation de base, StorageEngineImpl, cette classe sert de liant entre les métadonnées et les fichiers. +Dans son implémentation de base, StorageEngineImpl, cette classe sert de liant entre les métadonnées et les fichiers. -Elle délègue toutes ses méthodes aux implémentations de Database et AttachmentHandler. Elle permet tout de même de stocker -des fichiers temporaires avec un MetaData spécifique dédié. De plus, elle a en charge la conversion des Attachment en -données indexables, en passant par les ContentType des données (méthode saveElement). +Elle délÚgue toutes ses méthodes aux implémentations de Database et AttachmentHandler. Elle permet tout de même de stocker +des fichiers temporaires avec un MetaData spécifique dédié. De plus, elle a en charge la conversion des Attachment en +données indexables, en passant par les ContentType des données (méthode saveElement). -En mode serveur, cette classe est utilisée en EJB, via StorageEngineSecuImpl. Cela permet d'accéder à l'EJB CredentialManager. -Ainsi, on peut contrôler toutes les actions de l'utilisateur en vérifiant ses droits. +En mode serveur, cette classe est utilisée en EJB, via StorageEngineSecuImpl. Cela permet d'accéder à l'EJB CredentialManager. +Ainsi, on peut contrÃŽler toutes les actions de l'utilisateur en vérifiant ses droits. -Les règles évoquées dans la partie Security s'appliquent. +Les rÚgles évoquées dans la partie Security s'appliquent. Service ======= @@ -134,24 +134,24 @@ des groupes de l'utilisateur - Droits de suppression d'un groupe : droits d'administration sur le groupe - Droits de suppression d'un utilisateur : droits d'administration sur l'utilisateur - - Droits de consultation d'un utilisateur/groupe : l'utilisateur doit être connecté (ie token valide) - - Droits de création d'un utilisateur/groupe : l'utilisateur doit être admin ou superadmin - - Droits de mise à jour = droits d'administration + - Droits de consultation d'un utilisateur/groupe : l'utilisateur doit être connecté (ie token valide) + - Droits de création d'un utilisateur/groupe : l'utilisateur doit être admin ou superadmin + - Droits de mise à jour = droits d'administration -Création d'un utilisateur : un mail est envoyé à l'adresse spécifiée avec son mot de passe et son login. +Création d'un utilisateur : un mail est envoyé à l'adresse spécifiée avec son mot de passe et son login. Suppression d'un groupe/utilisateur : suppression logique (visible = false) -Mise à jour d'un groupe : la récursion est vérifiée et supprimée le cas échéant -Mise à jour d'un utilisateur : seul le super admin peut modifier le fait qu'il soit admin ou superadmin +Mise à jour d'un groupe : la récursion est vérifiée et supprimée le cas échéant +Mise à jour d'un utilisateur : seul le super admin peut modifier le fait qu'il soit admin ou superadmin -A la première connexion, on vérifie si le superadmin existe, sinon il est créé avec le mot de passe password. -Le paramètre password passée à la méthode de login n'est pas le mot de passe en clair, mais un hash (voir AuthenticationServiceHelper). -Au login, les token vieux de plus de 24h sont supprimés. -Chaque appel à getLoggedUser mets à jour la date de login à l'instant présent. +A la premiÚre connexion, on vérifie si le superadmin existe, sinon il est créé avec le mot de passe password. +Le paramÚtre password passée à la méthode de login n'est pas le mot de passe en clair, mais un hash (voir AuthenticationServiceHelper). +Au login, les token vieux de plus de 24h sont supprimés. +Chaque appel à getLoggedUser mets à jour la date de login à l'instant présent. -La demande d'un compte envoie un mail au superadmin avec le login désiré et l'adresse mail de l'utilisateur. +La demande d'un compte envoie un mail au superadmin avec le login désiré et l'adresse mail de l'utilisateur. -Un nouveau mot de passe peut être généré si l'administrateur possède les droits d'administration sur cet utilisateur. Un -mail est alors envoyé à l'adresse de l'utilisateur. +Un nouveau mot de passe peut être généré si l'administrateur possÚde les droits d'administration sur cet utilisateur. Un +mail est alors envoyé à l'adresse de l'utilisateur. Storage ------- @@ -159,65 +159,65 @@ Suppression ~~~~~~~~~~~ -La suppression sans spécifier la version revient à supprimer toutes les versions. -On vérifiera alors que toutes les versions peuvent être supprimées avant de procéder à la suppression en elle même. +La suppression sans spécifier la version revient à supprimer toutes les versions. +On vérifiera alors que toutes les versions peuvent être supprimées avant de procéder à la suppression en elle même. -Un élément peut être supprimé si et seulement si l'une des conditions suivantes est respectée : - - l'élément est une exploration d'application - - l'élement est un ensemble de données d'exploration ou un composant, et que celui ci n'est utilisé +Un élément peut être supprimé si et seulement si l'une des conditions suivantes est respectée : + - l'élément est une exploration d'application + - l'élement est un ensemble de données d'exploration ou un composant, et que celui ci n'est utilisé que par une seule exploration d'application au plus. - - l'élément n'est pas d'un des types pré cités, et que celui-ci n'est utilisé par aucun autre élément. + - l'élément n'est pas d'un des types pré cités, et que celui-ci n'est utilisé par aucun autre élément. -=> un élement qui va être supprimé peut avoir au maximum un seul parent. +=> un élement qui va être supprimé peut avoir au maximum un seul parent. -Lors de la suppression d'un ensemble de données d'exploration ou d'un composant, si l'élément a un parent de type -exploration d'application, celui ci est supprimé. +Lors de la suppression d'un ensemble de données d'exploration ou d'un composant, si l'élément a un parent de type +exploration d'application, celui ci est supprimé. -La suppression est ensuite effectuée en supprimant l'élément ainsi que tous ses enfants qui étaient utilisés uniquement par sa descendance directe. -La méthode réalisant cette suppression en cascade est implentée de façon récursive, soit ES l'élément à supprimer, et E l'élément traité dans la méthode. +La suppression est ensuite effectuée en supprimant l'élément ainsi que tous ses enfants qui étaient utilisés uniquement par sa descendance directe. +La méthode réalisant cette suppression en cascade est implentée de façon récursive, soit ES l'élément à supprimer, et E l'élément traité dans la méthode. On initialise la suppression par un getDeletableChildren(ES) : -Dans cette méthode, si E a un parent au plus : - - E est marqué comme étant à être supprimé (toujours le cas pour ES) - - pour tous les éléments utilisés par E, on appele la méthode récursivement getDeletableChildren(E.enfant(i)) -Les éléments marqués comme étant à supprimer sont alors véritablement effacés. +Dans cette méthode, si E a un parent au plus : + - E est marqué comme étant à être supprimé (toujours le cas pour ES) + - pour tous les éléments utilisés par E, on appele la méthode récursivement getDeletableChildren(E.enfant(i)) +Les éléments marqués comme étant à supprimer sont alors véritablement effacés. Sauvegarde ~~~~~~~~~~ -On va dans cette procédure sauvegarder un LoggableElement et ses attachments. On ne connait pas à priori si l'élément -est présent dans le service de stockage. +On va dans cette procédure sauvegarder un LoggableElement et ses attachments. On ne connait pas à priori si l'élément +est présent dans le service de stockage. -Si l'élément ne contient aucune méta données (typiquement en provenance de SimExplorer sur un nouvel élément), on créé -des méta données par défaut (UUID, version à 1, date de création). -Dans tous les cas, on met à jour les métadonnées avec les données intrinsèques de l'élément (nom, description, type, hash, etc). +Si l'élément ne contient aucune méta données (typiquement en provenance de SimExplorer sur un nouvel élément), on créé +des méta données par défaut (UUID, version à 1, date de création). +Dans tous les cas, on met à jour les métadonnées avec les données intrinsÚques de l'élément (nom, description, type, hash, etc). -Dans un premier temps, on regarde si l'élément existe déjà en base, de façon exacte ou non. +Dans un premier temps, on regarde si l'élément existe déjà en base, de façon exacte ou non. -On récupère donc le metadata du dernier élément avec le même uuid. Pour cela, on compare les hash si ils existent. -Si ils ne sont pas égaux (ou qu'aucun élément existe avec cet uuid), on continue la création (on crééra la bonne version le moment venu (TODO ref)). +On récupÚre donc le metadata du dernier élément avec le même uuid. Pour cela, on compare les hash si ils existent. +Si ils ne sont pas égaux (ou qu'aucun élément existe avec cet uuid), on continue la création (on crééra la bonne version le moment venu (TODO ref)). -Si les deux hash des éléments sont égaux, on vérifie l'égalité de façon explicite (deux élément différents peuvent avoir le même hash). -Si le test d'égalite écoue, la création continue, les éléments sont différents. +Si les deux hash des éléments sont égaux, on vérifie l'égalité de façon explicite (deux élément différents peuvent avoir le même hash). +Si le test d'égalite écoue, la création continue, les éléments sont différents. -A ce stade, les éléments sont strictement égaux. La création est annulée. Mais les versions peuvent être différentes. -Il est alors nécessaire de synchroniser les versions, entre celle qui est reçue et celle qui est déjà stockée. +A ce stade, les éléments sont strictement égaux. La création est annulée. Mais les versions peuvent être différentes. +Il est alors nécessaire de synchroniser les versions, entre celle qui est reçue et celle qui est déjà stockée. - - les deux versions sont égales : on ne mets rien à jour. - - la version en base est supérieure à celle fournie, la base n'est pas modifié. Cependant, la version de la métadonnée de l'élément - à sauvegarder est mise à jour. Cette mise à jour doit être traitée par la méthode appelant la sauvegarde (TODO ref). - - si la version en base est inférieure à celle à sauvegarder, on vérifie que l'utilisateur peut créer une nouvelle version de l'élément - - si non, l'élément sera sauvée avec nouvel UUID, mais on ne s'en occupe pas pour le moment (TODO ref). - - si oui, on duplique le dernier élément en base, en lui affectant la version de l'élément en cours de sauvegarde + - les deux versions sont égales : on ne mets rien à jour. + - la version en base est supérieure à celle fournie, la base n'est pas modifié. Cependant, la version de la métadonnée de l'élément + à sauvegarder est mise à jour. Cette mise à jour doit être traitée par la méthode appelant la sauvegarde (TODO ref). + - si la version en base est inférieure à celle à sauvegarder, on vérifie que l'utilisateur peut créer une nouvelle version de l'élément + - si non, l'élément sera sauvée avec nouvel UUID, mais on ne s'en occupe pas pour le moment (TODO ref). + - si oui, on duplique le dernier élément en base, en lui affectant la version de l'élément en cours de sauvegarde -Si l'élément est à créer (ie le dernier élément en base est différent de celui en cours d'enregistrement), -on traite tout d'abord le problème des versions. +Si l'élément est à créer (ie le dernier élément en base est différent de celui en cours d'enregistrement), +on traite tout d'abord le problÚme des versions. -L'élément en cours de création est toujours le dernier. -Ensuite, on regarde si une autre version existe déjà : - - si non, aucun traitement n'est requis, on utilise la version spécifiée - - si oui, on vérifie que l'utilisateur a le droit de créer une nouvelle version : - - si oui, on met à jour le précédent en le spécifiant comme "n'étant pas la dernière version" - - si oui, on incrémente la version de l'élément en cours de sauvegarde si nécessaire - - si non, on créée un nouvel élément (ie un nouvel UUID) +L'élément en cours de création est toujours le dernier. +Ensuite, on regarde si une autre version existe déjà : + - si non, aucun traitement n'est requis, on utilise la version spécifiée + - si oui, on vérifie que l'utilisateur a le droit de créer une nouvelle version : + - si oui, on met à jour le précédent en le spécifiant comme "n'étant pas la derniÚre version" + - si oui, on incrémente la version de l'élément en cours de sauvegarde si nécessaire + - si non, on créée un nouvel élément (ie un nouvel UUID) - dans tous les cas, on stocke les informations sur le parent en version Modified: branches/migration-200901/simexplorer-is/src/site/fr/rst/todo.rst =================================================================== --- branches/migration-200901/simexplorer-is/src/site/fr/rst/todo.rst 2009-01-20 18:49:52 UTC (rev 1538) +++ branches/migration-200901/simexplorer-is/src/site/fr/rst/todo.rst 2009-01-20 23:23:12 UTC (rev 1539) @@ -2,7 +2,7 @@ SimExplorer SI - TODO ===================== -Client léger +Client léger ============ Consultation @@ -14,63 +14,63 @@ Client lourd ============ - - Synchronisation d'un élément avec le serveur (tests) + - Synchronisation d'un élément avec le serveur (tests) - export, import (tests) - configuration - API -Fonctionnalités seconde réunion +Fonctionnalités seconde réunion =============================== Serveur ------- - - (NOK) Créer les interfaces accessibles via d'autres protocoles que RMI + - (NOK) Créer les interfaces accessibles via d'autres protocoles que RMI (WebService, CORBA). - (NOK) Remplacer l'invoker jrmp par http afin de permettre l'utilisation de proxy (voir http://www.jtips.info/index.php?title=JBoss/HttpInvoker et http.proxyHost, http.proxyPort, proxySet, http.proxy.username et - http.proxy.password) (dans le module swing, les propriétés de config sont présentes) + http.proxy.password) (dans le module swing, les propriétés de config sont présentes) Interface Swing --------------- - - Créer des méthodes afin de permettre à SimExplorer d'utiliser le SI comme plugin + - Créer des méthodes afin de permettre à SimExplorer d'utiliser le SI comme plugin Documentation ------------- - Documentation utilisateur - - Enoncer les règles métiers qui ont été développées dans un document - indépendant du code - - Documentation développeur - - Documentation intégration (backup, dumps, configuration) + - Enoncer les rÚgles métiers qui ont été développées dans un document + indépendant du code + - Documentation développeur + - Documentation intégration (backup, dumps, configuration) - Configuration log4j (hibernate, etc) -Reste à faire (Autre) +Reste à faire (Autre) ===================== - Gestion des attachments transparente pour SimExplorer - Document format du fichier zip - Types de fichiers joints (uniquement texte pour le moment), visualisation? -Règles modifiées +RÚgles modifiées ================ - Gestion des droits : - * (NOK) Un élément possède un unique propriétaire - * (NOK) L'utilisateur mettant à jour un élément en devient le propriétaire - --> Un élément peut avoir plusieurs propriétaires, une personne écrivant un nouvelle version est ajouté à cette liste -> OK + * (NOK) Un élément possÚde un unique propriétaire + * (NOK) L'utilisateur mettant à jour un élément en devient le propriétaire + --> Un élément peut avoir plusieurs propriétaires, une personne écrivant un nouvelle version est ajouté à cette liste -> OK - Versionnement * Exceptions : - + (NOK) Export sur le serveur, après l'export d'un autre utilisateur : création d'un nouvel élément, en conservant l'historique de l'élément - --> L'élément conserve son id si l'utilisateur a les droits d'écriture, sinon un nouvel élément est créé. - * (NOK) Suppression d'un CE ou de DE : suppression des AE associées (avec message de confirmation...) - * (NOK) Suppression d'une AE : les CE et les DE orphelins (ie utilisés uniquement par cette AE) sont supprimés - --> Un élément peut être supprimer si, et seulement si, l'élement n'est utilisé que par un autre élément au maximum, qui sera lui aussi supprimé selon les même rêgles. Les - éléments supprimés sont tous les enfants (quelque soit le niveau), qui n'ont qu'un seul parent. + + (NOK) Export sur le serveur, aprÚs l'export d'un autre utilisateur : création d'un nouvel élément, en conservant l'historique de l'élément + --> L'élément conserve son id si l'utilisateur a les droits d'écriture, sinon un nouvel élément est créé. + * (NOK) Suppression d'un CE ou de DE : suppression des AE associées (avec message de confirmation...) + * (NOK) Suppression d'une AE : les CE et les DE orphelins (ie utilisés uniquement par cette AE) sont supprimés + --> Un élément peut être supprimer si, et seulement si, l'élement n'est utilisé que par un autre élément au maximum, qui sera lui aussi supprimé selon les même rêgles. Les + éléments supprimés sont tous les enfants (quelque soit le niveau), qui n'ont qu'un seul parent. \ No newline at end of file