From: Mathieu Baudier Date: Tue, 30 Oct 2007 18:52:08 +0000 (+0000) Subject: Revert HSQL DB changes (still force shutdown, but reuse connection) X-Git-Tag: argeo-slc-2.1.7~3185 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=a29c28266fef35c1620f6582ec182bad7f7f85ae;p=gpl%2Fargeo-slc.git Revert HSQL DB changes (still force shutdown, but reuse connection) Improve log4j management git-svn-id: https://svn.argeo.org/slc/trunk@678 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcAntConfig.java b/org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcAntConfig.java index 2487b20ea..124aa0d21 100644 --- a/org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcAntConfig.java +++ b/org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcAntConfig.java @@ -6,6 +6,8 @@ import java.io.IOException; import java.util.Properties; import java.util.StringTokenizer; +import org.springframework.util.Log4jConfigurer; + import org.apache.tools.ant.Project; /** Load reference to directories from an slcRoot.properties file */ @@ -95,7 +97,7 @@ public class SlcAntConfig { PROPERTY_FILE_NAMES_PROPERTY, "slc.properties"), ","); while (st.hasMoreTokens()) { String fileName = st.nextToken(); - properties.putAll(loadFile(confDir.getAbsolutePath() + "/" + properties.putAll(loadFile(confDir.getAbsolutePath() + File.separator + fileName)); } @@ -117,6 +119,17 @@ public class SlcAntConfig { all.setProperty(DEFAULT_TEST_RUN_PROPERTY, "defaultTestRun"); } + // Default log4j + if (all.getProperty("log4j.configuration") == null) { + System.setProperty("log4j.configuration",confDir + .getCanonicalPath() + + File.separator + "log4j.properties" ); + // TODO: fix dependency to log4j + Log4jConfigurer.initLogging(confDir + .getCanonicalPath() + + File.separator + "log4j.properties"); + } + return all; } catch (Exception e) { throw new SlcAntException("Unexpected exception while configuring", diff --git a/org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java b/org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java index a56a35455..07678c6ab 100644 --- a/org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java +++ b/org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java @@ -26,7 +26,7 @@ import org.argeo.slc.core.structure.tree.TreeSPath; * application context and a structure registry with the Ant project. */ public class SlcProjectHelper extends ProjectHelperImpl { - private static Log log = LogFactory.getLog(SlcProjectHelper.class); + private static Log log ; public static String REF_ROOT_CONTEXT = "slcApplicationContext"; public static String REF_STRUCTURE_REGISTRY = "slcStructureRegistry"; @@ -37,7 +37,6 @@ public class SlcProjectHelper extends ProjectHelperImpl { @Override public void parse(Project project, Object source) throws BuildException { - log.debug("Entered SLC project helper"); // look for root file File projectBaseDir = project.getBaseDir(); @@ -46,6 +45,12 @@ public class SlcProjectHelper extends ProjectHelperImpl { throw new SlcAntException("Cannot find SLC root file"); } SlcAntConfig.initProject(project, slcRootFile); + + if(log == null){ + // log4j is initialized only now + log = LogFactory.getLog(SlcProjectHelper.class); + } + log.debug("SLC properties are set, starting initialization.."); // init Spring application context initSpringContext(project); diff --git a/org.argeo.slc/src/main/java/org/argeo/slc/core/structure/SimpleSElement.java b/org.argeo.slc/src/main/java/org/argeo/slc/core/structure/SimpleSElement.java index 9dcf71661..7e6023a3d 100644 --- a/org.argeo.slc/src/main/java/org/argeo/slc/core/structure/SimpleSElement.java +++ b/org.argeo.slc/src/main/java/org/argeo/slc/core/structure/SimpleSElement.java @@ -1,5 +1,7 @@ package org.argeo.slc.core.structure; +import org.argeo.slc.core.structure.tree.TreeSPath; + /** * Implementation of StructureElement for tree based registries, * using TreeSPath diff --git a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/AsynchronousTreeTestResultListener.java b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/AsynchronousTreeTestResultListener.java index 4a86aa2b4..6440fd2d1 100644 --- a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/AsynchronousTreeTestResultListener.java +++ b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/AsynchronousTreeTestResultListener.java @@ -18,25 +18,19 @@ public abstract class AsynchronousTreeTestResultListener implements thread.start(); } - public void destroy() { - thread = null; - synchronized (partStructs) { - partStructs.notifyAll(); - } - } - - /** Finish the remaining and destroy*/ - public void close(){ + /** Finish the remaining and destroy */ + public void close() { synchronized (partStructs) { // TODO: put a timeout while (partStructs.size() != 0) { try { - partStructs.wait(); + partStructs.wait(500); } catch (InterruptedException e) { // silent } } - destroy(); + thread = null; + partStructs.notifyAll(); } } @@ -73,7 +67,6 @@ public abstract class AsynchronousTreeTestResultListener implements } } - protected static class PartStruct { public final TreeSPath path; public final NumericTRId resultId; diff --git a/org.argeo.slc/src/test/java/org/argeo/slc/example/junit/TestAntBuild.java b/org.argeo.slc/src/test/java/org/argeo/slc/example/junit/TestAntBuild.java index 37440b6a0..1894b5a5a 100644 --- a/org.argeo.slc/src/test/java/org/argeo/slc/example/junit/TestAntBuild.java +++ b/org.argeo.slc/src/test/java/org/argeo/slc/example/junit/TestAntBuild.java @@ -2,15 +2,13 @@ package org.argeo.slc.example.junit; import java.io.File; -import org.argeo.slc.ant.AntRegistryUtil; - import junit.framework.TestCase; +import org.argeo.slc.ant.AntRegistryUtil; + public class TestAntBuild extends TestCase { public void testAllRunSimple() { File slcBaseDir = new File("./src/test/slc").getAbsoluteFile(); - System.setProperty("log4j.configuration", "file:///"+slcBaseDir.getPath() - + "/conf/log4j.properties"); File antFile = new File(slcBaseDir.getPath() + "/root/Category1/SubCategory2/build.xml"); diff --git a/org.argeo.slc/src/test/slc/conf/data.xml b/org.argeo.slc/src/test/slc/conf/data.xml index db94ba527..6688a83c6 100644 --- a/org.argeo.slc/src/test/slc/conf/data.xml +++ b/org.argeo.slc/src/test/slc/conf/data.xml @@ -5,13 +5,14 @@ + class="org.springframework.jdbc.datasource.SingleConnectionDataSource" + destroy-method="destroy"> + value="jdbc:hsqldb:file:${slc.workDir}/results/hsqldb/db;shutdown=true" /> + hibernate.dialect=org.hibernate.dialect.HSQLDialect cache.provider_class=org.hibernate.cache.NoCacheProvider - cache.use_query_cache=false - cache.use_minimal_puts=false - max_fetch_depth=3 - current_session_context_class=thread + cache.use_query_cache=false cache.use_minimal_puts=false + max_fetch_depth=3 current_session_context_class=thread hibernate.hbm2ddl.auto=update diff --git a/org.argeo.slc/src/test/slc/conf/slc.xml b/org.argeo.slc/src/test/slc/conf/slc.xml index 104864836..879c75a12 100644 --- a/org.argeo.slc/src/test/slc/conf/slc.xml +++ b/org.argeo.slc/src/test/slc/conf/slc.xml @@ -22,7 +22,7 @@ + > @@ -41,12 +41,12 @@ + init-method="init"> + init-method="init"> diff --git a/org.argeo.slc/src/test/slc/root/Category1/SubCategory2/build.xml b/org.argeo.slc/src/test/slc/root/Category1/SubCategory2/build.xml index a33c4b8c6..734efcbe2 100644 --- a/org.argeo.slc/src/test/slc/root/Category1/SubCategory2/build.xml +++ b/org.argeo.slc/src/test/slc/root/Category1/SubCategory2/build.xml @@ -3,6 +3,7 @@ +