r404 - / testTopiaPostgresError testTopiaPostgresError/trunk testTopiaPostgresError/trunk/src testTopiaPostgresError/trunk/src/main testTopiaPostgresError/trunk/src/main/java testTopiaPostgresError/trunk/src/main/java/org testTopiaPostgresError/trunk/src/main/java/org/nuiton testTopiaPostgresError/trunk/src/main/java/org/nuiton/test testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia testTopiaPostgresError/trunk/src/main/resources testTopiaPostgresError/trunk/src/main/webapp t
Author: fdesbois Date: 2010-04-16 20:57:32 +0200 (Fri, 16 Apr 2010) New Revision: 404 Log: Create project for testing error on Topia and Postgres (Socket closed) Added: testTopiaPostgresError/ testTopiaPostgresError/trunk/ testTopiaPostgresError/trunk/LICENSE.txt testTopiaPostgresError/trunk/README.txt testTopiaPostgresError/trunk/changelog.txt testTopiaPostgresError/trunk/pom.xml testTopiaPostgresError/trunk/src/ testTopiaPostgresError/trunk/src/main/ testTopiaPostgresError/trunk/src/main/java/ testTopiaPostgresError/trunk/src/main/java/org/ testTopiaPostgresError/trunk/src/main/java/org/nuiton/ testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/ testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/ testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/StartTest.java testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/StopTest.java testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/ThreadTest.java testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/TopiaManager.java testTopiaPostgresError/trunk/src/main/resources/ testTopiaPostgresError/trunk/src/main/resources/log4j.properties testTopiaPostgresError/trunk/src/main/webapp/ testTopiaPostgresError/trunk/src/main/webapp/META-INF/ testTopiaPostgresError/trunk/src/main/webapp/META-INF/context.xml testTopiaPostgresError/trunk/src/main/webapp/WEB-INF/ testTopiaPostgresError/trunk/src/main/webapp/WEB-INF/web.xml Property changes on: testTopiaPostgresError/trunk ___________________________________________________________________ Added: svn:ignore + target nbactions.xml Property changes on: testTopiaPostgresError/trunk/LICENSE.txt ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL" Property changes on: testTopiaPostgresError/trunk/README.txt ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL" Property changes on: testTopiaPostgresError/trunk/changelog.txt ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL" Added: testTopiaPostgresError/trunk/pom.xml =================================================================== --- testTopiaPostgresError/trunk/pom.xml (rev 0) +++ testTopiaPostgresError/trunk/pom.xml 2010-04-16 18:57:32 UTC (rev 404) @@ -0,0 +1,217 @@ +<?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> + + <!-- ************************************************************* --> + <!-- *** POM Relationships *************************************** --> + <!-- ************************************************************* --> + + <parent> + <groupId>org.nuiton</groupId> + <artifactId>mavenpom4redmine</artifactId> + <version>2.1</version> + </parent> + + <groupId>org.nuiton</groupId> + <artifactId>test-topia-postgres-error</artifactId> + <version>1.0-SNAPSHOT</version> + + + <dependencies> + + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + <version>2.5</version> + </dependency> +<!-- <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>1.4</version> + </dependency> + <dependency> + <groupId>commons-beanutils</groupId> + <artifactId>commons-beanutils</artifactId> + <version>1.8.2</version> + </dependency>--> + <dependency> + <groupId>org.nuiton</groupId> + <artifactId>nuiton-utils</artifactId> + <version>${nuitonutils.version}</version> + <scope>compile</scope> + <exclusions> + <exclusion> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + </exclusion> + </exclusions> + </dependency> + <!-- ToPIA --> + <dependency> + <groupId>org.nuiton.topia</groupId> + <artifactId>topia-persistence</artifactId> + <version>${topia.version}</version> + </dependency> + <dependency> + <groupId>org.nuiton.topia</groupId> + <artifactId>topia-service-migration</artifactId> + <version>${topia.version}</version> + </dependency> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>servlet-api</artifactId> + <version>2.5</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>1.5.10</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + <version>1.5.10</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>postgresql</groupId> + <artifactId>postgresql</artifactId> + <version>8.4-701.jdbc4</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.8.1</version> + <scope>test</scope> + </dependency> + </dependencies> + + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> + + <name>TEST Topia Postgres Error</name> + <description>Test to find the error with application using ToPIA and + Postgres (Socket closed after a long time execution).</description> + <inceptionYear>2010</inceptionYear> + + <organization> + <name>Code Lutin</name> + <url>http://www.codelutin.com/</url> + </organization> + + <!-- Developpers, contributors... --> + <developers> + <developer> + <id>fdesbois</id> + <name>Florian Desbois</name> + <email>fdesbois@codelutin.com</email> + <organization>CodeLutin</organization> + <organizationUrl>http://www.codelutin.com</organizationUrl> + <timezone>+1</timezone> + <roles> + <role>Chef de Projet</role> + <role>Analyste</role> + <role>Développeur</role> + </roles> + </developer> + <!--<developer> + <name>Tony Chemit</name> + <id>tchemit</id> + <email>chemit@codelutin.com</email> + <organization>CodeLutin</organization> + <organizationUrl>http://www.codelutin.com</organizationUrl> + <timezone>+2</timezone> + <roles> + <role>Développeur</role> + </roles> + </developer>--> + </developers> + + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + + <packaging>war</packaging> + + <properties> + <!-- libraries version --> + <i18n.version>1.2.1</i18n.version> + <nuitonutils.version>1.2.2</nuitonutils.version> + <topia.version>2.3.3-SNAPSHOT</topia.version> + </properties> + + <!-- ************************************************************* --> + <!-- *** Build Environment ************************************** --> + <!-- ************************************************************* --> + + <!-- Source control management. --> + <scm> + <connection>scm:svn:http://svn.nuiton.org/svn/sandbox/testTopiaPostgresError/trunk</connection> + <developerConnection>scm:svn:http://svn.nuiton.org/svn/sandbox/testTopiaPostgresError/trunk</developerConnection> + <url>http://www.nuiton.org/repositories/browse/sandbox/testTopiaPostgresError/trunk</url> + </scm> + + <build> +<!-- <resources> + <resource> + <directory>src/main/filters</directory> + <filtering>true</filtering> + </resource> + </resources>--> + + <plugins> + + <!-- plugin site --> +<!-- <plugin> + <artifactId>maven-site-plugin</artifactId> + <dependencies> + <dependency> + <groupId>org.nuiton.jrst</groupId> + <artifactId>doxia-module-jrst</artifactId> + <version>${jrst.version}</version> + </dependency> + </dependencies> + </plugin>--> + + <!--<plugin> + <groupId>org.nuiton.eugene</groupId> + <artifactId>maven-eugene-plugin</artifactId> + <version>${eugene.version}</version> + <configuration> + <inputs>zargo</inputs> + <resolver>org.nuiton.util.FasterCachedResourceResolver</resolver> + </configuration> + <dependencies> + <dependency> + <groupId>org.nuiton.topia</groupId> + <artifactId>topia-persistence</artifactId> + <version>${topia.version}</version> + </dependency> + </dependencies> + </plugin>--> + + <plugin> + <groupId>org.nuiton.i18n</groupId> + <artifactId>maven-i18n-plugin</artifactId> + <version>${i18n.version}</version> + </plugin> + + </plugins> + + </build> + + <!-- No generation of reports for maven-site (will be generated for release) --> + <reporting> + <excludeDefaults>true</excludeDefaults> + </reporting> + + <!-- ************************************************************* --> + <!-- *** Build Environment ************************************** --> + <!-- ************************************************************* --> + + +</project> Property changes on: testTopiaPostgresError/trunk/pom.xml ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL" Added: testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/StartTest.java =================================================================== --- testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/StartTest.java (rev 0) +++ testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/StartTest.java 2010-04-16 18:57:32 UTC (rev 404) @@ -0,0 +1,78 @@ +/** + * *##% ChoReg + * Copyright (C) 2009 CodeLutin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Lesser Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. ##%* + */ + +package org.nuiton.test.topia; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * ViewServices.java + * + * Created on 2009-07-24 + * + * @author fdesbois + * @version $Revision$ + * + * Last update: $Date$ + * by : $Author: fdesbois $ + */ +public class StartTest extends HttpServlet { + + // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> + /** + * Handles the HTTP <code>GET</code> method. + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + + TopiaManager.getInstance().startTest(); + } + + /** + * Handles the HTTP <code>POST</code> method. + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + + } + + /** + * Returns a short description of the servlet. + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// </editor-fold> + +} Property changes on: testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/StartTest.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL" Added: testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/StopTest.java =================================================================== --- testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/StopTest.java (rev 0) +++ testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/StopTest.java 2010-04-16 18:57:32 UTC (rev 404) @@ -0,0 +1,60 @@ + +package org.nuiton.test.topia; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * StopTest + * + * Created: 16 avr. 2010 + * + * @author fdesbois + * @version $Revision$ + * + * Mise a jour: $Date$ + * par : $Author$ + */ +public class StopTest extends HttpServlet { + + // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> + /** + * Handles the HTTP <code>GET</code> method. + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + + TopiaManager.getInstance().stopTest(); + } + + /** + * Handles the HTTP <code>POST</code> method. + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + + } + + /** + * Returns a short description of the servlet. + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// </editor-fold> + +} Property changes on: testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/StopTest.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL" Added: testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/ThreadTest.java =================================================================== --- testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/ThreadTest.java (rev 0) +++ testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/ThreadTest.java 2010-04-16 18:57:32 UTC (rev 404) @@ -0,0 +1,96 @@ + +package org.nuiton.test.topia; + +import org.apache.commons.lang.time.DurationFormatUtils; +import org.nuiton.topia.TopiaContext; +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.migration.MigrationServiceDAOHelper; +import org.nuiton.topia.migration.TMSVersion; +import org.nuiton.topia.migration.TMSVersionDAO; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * ThreadTest + * + * Created: 16 avr. 2010 + * + * @author fdesbois + */ +public class ThreadTest implements Runnable { + + private static final Logger logger = + LoggerFactory.getLogger(ThreadTest.class); + + protected TopiaManager manager = TopiaManager.getInstance(); + + protected volatile boolean stop; + + protected long startTime; + + public synchronized void stop() { + stop = true; + } + + @Override + public void run() { + + if (logger.isInfoEnabled()) { + logger.info("Start Thread"); + } + + startTime = System.currentTimeMillis(); + + while(!stop) { + try { + execute(); + } catch (TopiaException eee) { + long stopTime = System.currentTimeMillis(); + if (logger.isErrorEnabled()) { + logger.error("ERROR after " + + DurationFormatUtils.formatDurationHMS( + stopTime - startTime), eee); + } + manager.stopTest(); + } + } + + if (logger.isInfoEnabled()) { + logger.info("Stop Thread"); + } + } + + protected synchronized void execute() throws TopiaException { + TopiaContext transaction = null; + try { + transaction = manager.getRootContext().beginTransaction(); + + TMSVersionDAO dao = + MigrationServiceDAOHelper.getTMSVersionDAO(transaction); + + TMSVersion version = dao.findByTopiaId(manager.getMainTopiaId()); + + Thread.sleep(100); + + int value = Integer.parseInt(version.getVersion()); + version.setVersion(String.valueOf(value + 1)); + + if ((value % 500 == 0) && logger.isInfoEnabled()) { + long stopTime = System.currentTimeMillis(); + logger.info("Value is " + version.getVersion() + " after " + + DurationFormatUtils.formatDurationHMS(stopTime - startTime)); + } + + transaction.commitTransaction(); + } catch (InterruptedException eee) { + if (logger.isErrorEnabled()) { + logger.error("Thread interrupted during sleep", eee); + } + } finally { + if (transaction != null) { + transaction.closeContext(); + } + } + } + +} Property changes on: testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/ThreadTest.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL" Added: testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/TopiaManager.java =================================================================== --- testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/TopiaManager.java (rev 0) +++ testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/TopiaManager.java 2010-04-16 18:57:32 UTC (rev 404) @@ -0,0 +1,136 @@ + +package org.nuiton.test.topia; + +import java.util.Locale; +import java.util.Properties; +import java.util.logging.Level; +import org.nuiton.i18n.I18n; +import org.nuiton.topia.TopiaContext; +import org.nuiton.topia.TopiaContextFactory; +import org.nuiton.topia.TopiaException; +import org.nuiton.topia.TopiaNotFoundException; +import org.nuiton.topia.migration.MigrationServiceDAOHelper; +import org.nuiton.topia.migration.TMSVersion; +import org.nuiton.topia.migration.TMSVersionDAO; +import org.nuiton.topia.migration.TMSVersionImpl; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * TopiaManager + * + * Created: 16 avr. 2010 + * + * @author fdesbois + * @version $Revision$ + * + * Mise a jour: $Date$ + * par : $Author$ + */ +public class TopiaManager { + + private static final Logger logger = + LoggerFactory.getLogger(TopiaManager.class); + +// protected ApplicationConfig configuration; + + protected static TopiaManager instance; + + protected Properties configuration; + + protected String mainTopiaId; + + protected ThreadTest thread; + + public static TopiaManager getInstance() { + if (instance == null) { + instance = new TopiaManager(); + } + return instance; + } + + private TopiaManager() { + configuration = new Properties(); + // Config for Postgres + configuration.put("hibernate.hbm2ddl.auto", "create"); + configuration.put("hibernate.show_sql", "false"); + configuration.put("hibernate.dialect", + "org.hibernate.dialect.PostgreSQLDialect"); + configuration.put("hibernate.connection.username","topia"); + configuration.put("hibernate.connection.password",""); + configuration.put("hibernate.connection.driver_class", + "org.postgresql.Driver"); + configuration.put("hibernate.connection.url", + "jdbc:postgresql:topiatest"); + + // Config for Topia service Migration + configuration.put("topia.persistence.classes", + TMSVersionImpl.class.getName()); + + I18n.init(Locale.FRANCE); + + // Create first entry + TopiaContext transaction = null; + try { + if (logger.isInfoEnabled()) { + logger.info("Open first transaction to create main entry"); + } + transaction = TopiaContextFactory.getContext(configuration). + beginTransaction(); + TMSVersionDAO dao = + MigrationServiceDAOHelper.getTMSVersionDAO(transaction); + + TMSVersion entry = dao.create(TMSVersion.VERSION, "1"); + + mainTopiaId = entry.getTopiaId(); + if (logger.isInfoEnabled()) { + logger.info("Save the entry with id = " + mainTopiaId); + } + transaction.commitTransaction(); + + } catch (TopiaException eee) { + if (logger.isErrorEnabled()) { + logger.error("Error when create the first entry : ", eee); + } + } finally { + if (transaction != null) { + try { + transaction.closeContext(); + } catch (TopiaException eee) { + if (logger.isErrorEnabled()) { + logger.error("Error on closeContext : ", eee); + } + } + } + } + } + + public TopiaContext getRootContext() throws TopiaNotFoundException { + return TopiaContextFactory.getContext(configuration); + } + + public String getMainTopiaId() { + return mainTopiaId; + } + + public void startTest() { + if (thread == null) { + thread = new ThreadTest(); + new Thread(thread).start(); + } + } + + public void stopTest() { + if (thread != null) { + thread.stop(); + try { + getRootContext().closeContext(); + } catch (TopiaException eee) { + if (logger.isErrorEnabled()) { + logger.error("Error on close root context : ", eee); + } + } + } + } + +} Property changes on: testTopiaPostgresError/trunk/src/main/java/org/nuiton/test/topia/TopiaManager.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL" Added: testTopiaPostgresError/trunk/src/main/resources/log4j.properties =================================================================== --- testTopiaPostgresError/trunk/src/main/resources/log4j.properties (rev 0) +++ testTopiaPostgresError/trunk/src/main/resources/log4j.properties 2010-04-16 18:57:32 UTC (rev 404) @@ -0,0 +1,14 @@ +# Global logging configuration +log4j.rootLogger=INFO, stdout, file +# Console output... +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%c:%L) %M - %m%n + +log4j.appender.file=org.apache.log4j.FileAppender +log4j.appender.file.file=${topiatest.log.home}/topiatest.log +log4j.appender.file.layout=org.apache.log4j.PatternLayout +log4j.appender.file.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p [%t] (%c:%L) %M - %m%n + +log4j.logger.org.nuiton.test.topia=DEBUG +log4j.logger.org.nuiton.topia=INFO \ No newline at end of file Property changes on: testTopiaPostgresError/trunk/src/main/resources/log4j.properties ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL" Added: testTopiaPostgresError/trunk/src/main/webapp/META-INF/context.xml =================================================================== --- testTopiaPostgresError/trunk/src/main/webapp/META-INF/context.xml (rev 0) +++ testTopiaPostgresError/trunk/src/main/webapp/META-INF/context.xml 2010-04-16 18:57:32 UTC (rev 404) @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Context antiJARLocking="true" path="/test-topia-postgres-error"/> Property changes on: testTopiaPostgresError/trunk/src/main/webapp/META-INF/context.xml ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL" Added: testTopiaPostgresError/trunk/src/main/webapp/WEB-INF/web.xml =================================================================== --- testTopiaPostgresError/trunk/src/main/webapp/WEB-INF/web.xml (rev 0) +++ testTopiaPostgresError/trunk/src/main/webapp/WEB-INF/web.xml 2010-04-16 18:57:32 UTC (rev 404) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> +<web-app> + <display-name>Test Topia Postgres Error</display-name> + <servlet> + <servlet-name>StartTest</servlet-name> + <servlet-class>org.nuiton.test.topia.StartTest</servlet-class> + </servlet> + <servlet> + <servlet-name>StopTest</servlet-name> + <servlet-class>org.nuiton.test.topia.StopTest</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>StartTest</servlet-name> + <url-pattern>/start</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>StopTest</servlet-name> + <url-pattern>/stop</url-pattern> + </servlet-mapping> +</web-app> Property changes on: testTopiaPostgresError/trunk/src/main/webapp/WEB-INF/web.xml ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL"
participants (1)
-
fdesbois@users.nuiton.org