Modifications required for web
authorMathieu Baudier <mbaudier@argeo.org>
Sat, 15 Dec 2007 23:03:46 +0000 (23:03 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Sat, 15 Dec 2007 23:03:46 +0000 (23:03 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@867 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

14 files changed:
org.argeo.slc.core/.settings/org.eclipse.wst.validation.prefs
org.argeo.slc.core/src/main/java/org/argeo/slc/core/structure/StructureRegistry.java
org.argeo.slc.core/src/main/java/org/argeo/slc/core/structure/tree/TreeSPath.java
org.argeo.slc.core/src/main/java/org/argeo/slc/core/structure/tree/TreeSRegistry.java
org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/PartSubList.java
org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultPersister.java
org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/htmlreport/FullHtmlTreeReport.java
org.argeo.slc.core/src/main/java/org/argeo/slc/dao/structure/tree/TreeSRegistryDao.java
org.argeo.slc.core/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultDao.java [new file with mode: 0644]
org.argeo.slc.core/src/main/java/org/argeo/slc/hibernate/structure/tree/TreeSRegistryDaoHibernate.java
org.argeo.slc.core/src/main/java/org/argeo/slc/hibernate/test/tree/TestResultDaoHibernate.java
org.argeo.slc.core/src/main/resources/org/argeo/slc/hibernate/structure/tree/TreeSRegistry.hbm.xml
org.argeo.slc.core/src/test/java/org/argeo/slc/hibernate/structure/tree/TreeSRegistryDaoHibernateTest.java
org.argeo.slc.core/src/test/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernateTest.java

index 6e94d2f289bd96a7e6607e3c0a2c2d45702cdb4e..06127039bf76cd80554b6b319ec590331aa4eb93 100644 (file)
@@ -1,6 +1,6 @@
-#Sat Dec 15 15:02:13 CET 2007\r
+#Sun Dec 16 00:03:13 CET 2007\r
 DELEGATES_PREFERENCE=delegateValidatorListorg.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator\=org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator;org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator\=org.eclipse.wst.wsdl.validation.internal.eclipse.Validator;\r
-USER_BUILD_PREFERENCE=enabledBuildValidatorListorg.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.wst.html.internal.validation.HTMLValidator;org.eclipse.jst.jsp.core.internal.validation.JSPContentValidator;org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator;org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.jst.jsf.validation.internal.appconfig.AppConfigValidator;org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.jst.jsf.validation.internal.JSPSemanticsValidator;org.eclipse.wst.wsi.ui.internal.WSIMessageValidator;org.eclipse.wst.common.componentcore.internal.ModuleCoreValidator;\r
-USER_MANUAL_PREFERENCE=enabledManualValidatorListorg.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.wst.html.internal.validation.HTMLValidator;org.eclipse.jst.jsp.core.internal.validation.JSPContentValidator;org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator;org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.jst.jsf.validation.internal.appconfig.AppConfigValidator;org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.jst.jsf.validation.internal.JSPSemanticsValidator;org.eclipse.wst.wsi.ui.internal.WSIMessageValidator;org.eclipse.wst.common.componentcore.internal.ModuleCoreValidator;\r
-USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationtrueversion1.1.102.v200709122200\r
+USER_BUILD_PREFERENCE=enabledBuildValidatorListorg.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.jst.jsp.core.internal.validation.JSPContentValidator;org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator;org.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.jst.jsf.validation.internal.JSPSemanticsValidator;org.eclipse.wst.wsi.ui.internal.WSIMessageValidator;org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.wst.common.componentcore.internal.ModuleCoreValidator;org.eclipse.jst.jsf.validation.internal.appconfig.AppConfigValidator;\r
+USER_MANUAL_PREFERENCE=enabledManualValidatorListorg.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.jst.jsp.core.internal.validation.JSPContentValidator;org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator;org.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.jst.jsf.validation.internal.JSPSemanticsValidator;org.eclipse.wst.wsi.ui.internal.WSIMessageValidator;org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.wst.common.componentcore.internal.ModuleCoreValidator;org.eclipse.jst.jsf.validation.internal.appconfig.AppConfigValidator;\r
+USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationfalseversion1.1.102.v200709122200\r
 eclipse.preferences.version=1\r
index 6461ee5b94dc27eabc67d3a7fe3b7f16088706bb..ed0fa592394a15d230947ea9d34742899d84689c 100644 (file)
@@ -9,7 +9,7 @@ public interface StructureRegistry {
        /** All mode: everything is executed regardless of the active paths. */\r
        public static String ALL = "ALL";\r
        /** Active mode: only the active paths are executed. */\r
-       public static String ACTIVE = "ACTIVE";\r
+       public static String ACTIVE = "STATUS_ACTIVE";\r
 \r
        /** Adds an element to the registry. */\r
        public void register(StructurePath path, StructureElement element);\r
@@ -28,7 +28,7 @@ public interface StructureRegistry {
         * \r
         * @see #READ\r
         * @see #ALL\r
-        * @see #ACTIVE\r
+        * @see #STATUS_ACTIVE\r
         */\r
        public void setMode(String mode);\r
 \r
@@ -37,19 +37,19 @@ public interface StructureRegistry {
         * \r
         * @see #READ\r
         * @see #ALL\r
-        * @see #ACTIVE\r
+        * @see #STATUS_ACTIVE\r
         */\r
        public String getMode();\r
 \r
        /**\r
         * Gets the list of active paths, which will be run if executed in\r
-        * <code>ACTIVE</code> mode.\r
+        * <code>STATUS_ACTIVE</code> mode.\r
         */\r
        public List<StructurePath> getActivePaths();\r
 \r
        /**\r
         * Sets the list of active path, which will be run if executed in\r
-        * <code>ACTIVE</code> mode.\r
+        * <code>STATUS_ACTIVE</code> mode.\r
         */\r
        public void setActivePaths(List<StructurePath> activePaths);\r
 }\r
index c8564cb9a491f738c3c57ac954ed580d837aac14..3003069965588982c7cac8e97b600326a8d91590 100644 (file)
@@ -149,7 +149,7 @@ public class TreeSPath implements StructurePath, Comparable<StructurePath> {
                return getAsUniqueString().compareTo(o.getAsUniqueString());\r
        }\r
 \r
-       Long getTid() {\r
+       public Long getTid() {\r
                return tid;\r
        }\r
 \r
index 32ea36413657a858d132263102a049d94431ff94..e38f31e9d3337595006b2b169bdf42632fa33278 100644 (file)
@@ -13,9 +13,11 @@ import org.argeo.slc.core.structure.StructureRegistry;
 \r
 /** Tree based implementation of a structure registry. */\r
 public class TreeSRegistry implements StructureRegistry {\r
+       public final static String STATUS_ACTIVE = "STATUS_ACTIVE";\r
+       \r
        /** For ORM */\r
        private Long tid;\r
-       private TreeSPath root;\r
+       private String status;\r
        private Map<TreeSPath, SimpleSElement> elements = new TreeMap<TreeSPath, SimpleSElement>();\r
 \r
        private String mode = StructureRegistry.ALL;\r
@@ -65,14 +67,13 @@ public class TreeSRegistry implements StructureRegistry {
                this.activePaths = activePaths;\r
        }\r
 \r
-       /** Gets the related root path. */\r
-       public TreeSPath getRoot() {\r
-               return root;\r
+\r
+       public String getStatus() {\r
+               return status;\r
        }\r
 \r
-       /** Sets the related root path. */\r
-       public void setRoot(TreeSPath root) {\r
-               this.root = root;\r
+       public void setStatus(String status) {\r
+               this.status = status;\r
        }\r
 \r
        /** Gets the elements. */\r
index 113ef48bbfd9a08d087dfd27851a35e6b2a34acd..71843e41c8c5883b42e4f7c33686cdd656637704 100644 (file)
@@ -4,6 +4,7 @@ import java.util.List;
 import java.util.Vector;\r
 \r
 import org.argeo.slc.core.test.TestResultPart;\r
+import org.argeo.slc.core.test.TestStatus;\r
 \r
 /**\r
  * List of <code>TestResultPart</code>. It can be used to build complex\r
@@ -38,4 +39,12 @@ public class PartSubList {
                this.tid = tid;\r
        }\r
 \r
+       public Boolean getIsPassed(){\r
+               for(TestResultPart part: parts){\r
+                       if(part.getStatus()!=TestStatus.PASSED){\r
+                               return false;\r
+                       }\r
+               }\r
+               return true;\r
+       }\r
 }\r
index ca92b49084e9f045fcc5ed824e2d1b0987a2b7d5..db7107f9b6b14b9ae5011ef83da8e32fef3cd237 100644 (file)
@@ -83,13 +83,13 @@ public class TreeTestResultPersister extends AsynchronousTreeTestResultListener
        }\r
 \r
        private TreeSRegistry getOrCreateTreeSRegistry(TreeSPath path) {\r
-               TreeSRegistry registry = treeSRegistryDao.getTreeSRegistry(path);\r
+               TreeSRegistry registry = treeSRegistryDao.getActiveTreeSRegistry();\r
                if (registry == null) {\r
                        registry = new TreeSRegistry();\r
                        TreeSPath root = treeSPathDao.getOrCreate(path.getRoot());\r
-                       registry.setRoot(root);\r
+                       registry.setStatus(TreeSRegistry.STATUS_ACTIVE);\r
                        treeSRegistryDao.create(registry);\r
-                       return treeSRegistryDao.getTreeSRegistry(path);\r
+                       return treeSRegistryDao.getActiveTreeSRegistry();\r
                } else {\r
                        return registry;\r
                }\r
index 4afd8dc634a5708fffcccebcf64257c3e9f5bd4b..d69dfa4f9647818de5d302320d58d930d75ae5ec 100644 (file)
@@ -117,7 +117,7 @@ public class FullHtmlTreeReport implements TestReport, StructureAware {
                StructureRegistry registry = null;\r
                if (treeSRegistryDao != null) {\r
                        TreeSPath path = result.getResultParts().firstKey();\r
-                       registry = treeSRegistryDao.getTreeSRegistry(path);\r
+                       registry = treeSRegistryDao.getActiveTreeSRegistry();\r
                }\r
                if (registry == null) {\r
                        registry = localRegistry;\r
index 99e41734122be561e613a963f51c1af435fe0679..aee0bc27da81a5f0c0fc3698cb42418bfb1209cf 100644 (file)
@@ -10,7 +10,7 @@ import org.argeo.slc.core.structure.tree.TreeSRegistry;
  */\r
 public interface TreeSRegistryDao {\r
        /** Gets the TreeSRegistry which has the same root path as the provided path. */\r
-       public TreeSRegistry getTreeSRegistry(TreeSPath treeSPath);\r
+       public TreeSRegistry getActiveTreeSRegistry();\r
 \r
        /** Creates a new registry. */\r
        public void create(TreeSRegistry registry);\r
diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultDao.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultDao.java
new file mode 100644 (file)
index 0000000..878519c
--- /dev/null
@@ -0,0 +1,12 @@
+package org.argeo.slc.dao.test.tree;\r
+\r
+import java.util.List;\r
+\r
+import org.argeo.slc.core.structure.tree.TreeSPath;\r
+import org.argeo.slc.core.test.tree.TreeTestResult;\r
+import org.argeo.slc.dao.test.TestResultDao;\r
+\r
+public interface TreeTestResultDao extends TestResultDao {\r
+       /** Lists results containing this path*/\r
+       public List<TreeTestResult> listResults(TreeSPath path);\r
+}\r
index 3effc45d1989c9049bcd526944d4559ae228e351..57d06dd1470972eb5d238719f2a91b7b649726f1 100644 (file)
@@ -27,10 +27,9 @@ public class TreeSRegistryDaoHibernate extends HibernateDaoSupport implements
                getHibernateTemplate().update(registry);\r
        }\r
 \r
-       public TreeSRegistry getTreeSRegistry(TreeSPath treeSPath) {\r
+       public TreeSRegistry getActiveTreeSRegistry() {\r
                List<?> list = getHibernateTemplate().find(\r
-                               "from TreeSRegistry where root.asUniqueString=?",\r
-                               treeSPath.getRoot().getAsUniqueString());\r
+                               "from TreeSRegistry where status=?", TreeSRegistry.STATUS_ACTIVE);\r
                if (list.size() == 0) {\r
                        return null;\r
                } else {\r
index afe76abeb68bcf79fc4a90fcd1dbaaf006022149..98df1e6c9033252ada19bb286d726c796542420a 100644 (file)
@@ -4,10 +4,12 @@ import java.util.List;
 \r
 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;\r
 \r
+import org.argeo.slc.core.structure.tree.TreeSPath;\r
 import org.argeo.slc.core.test.NumericTRId;\r
 import org.argeo.slc.core.test.TestResult;\r
 import org.argeo.slc.core.test.TestResultId;\r
-import org.argeo.slc.dao.test.TestResultDao;\r
+import org.argeo.slc.core.test.tree.TreeTestResult;\r
+import org.argeo.slc.dao.test.tree.TreeTestResultDao;\r
 \r
 /**\r
  * The Hibernate implementation for tree-based result of the test result dao.\r
@@ -15,7 +17,7 @@ import org.argeo.slc.dao.test.TestResultDao;
  * @see TreeTestResult\r
  */\r
 public class TestResultDaoHibernate extends HibernateDaoSupport implements\r
-               TestResultDao {\r
+               TreeTestResultDao {\r
 \r
        public void create(TestResult testResult) {\r
                getHibernateTemplate().save(testResult);\r
@@ -43,4 +45,11 @@ public class TestResultDaoHibernate extends HibernateDaoSupport implements
                                "from TreeTestResult");\r
        }\r
 \r
+       public List<TreeTestResult> listResults(TreeSPath path) {\r
+               List<TreeTestResult> list = getHibernateTemplate().find(\r
+                               "from TreeTestResult res where ? in indices(res.resultParts)",\r
+                               path);\r
+               return list;\r
+       }\r
+\r
 }\r
index 9ae3d760495909d2affc7703ece098a5418b0bbc..b931df0335b891ee6b3bebca8d31df536b28f506 100644 (file)
@@ -8,8 +8,7 @@
                        <generator class="native" />\r
                </id>\r
 \r
-               <many-to-one name="root" column="ROOT_PATH_ID" unique="true"\r
-                       not-null="true" />\r
+               <property name="status" column="STATUS" not-null="true"/>\r
                        \r
                <map name="elements" table="REGISTRY_ELEMENTS" cascade="all"\r
                        lazy="false" sort="natural">\r
index 0fc9f4cdb84bf21288c477f6afa479e212fa6f2b..a066c9b0d43eec9ef6c191abe54e984d750b05e6 100644 (file)
@@ -23,13 +23,13 @@ public class TreeSRegistryDaoHibernateTest extends SpringBasedTestCase {
                treeSPathDao.create(path);\r
 \r
                TreeSRegistry registry = new TreeSRegistry();\r
-               registry.setRoot(root);\r
+               registry.setStatus(TreeSRegistry.STATUS_ACTIVE);\r
                String desc = "desc";\r
                registry.register(path, new SimpleSElement(desc));\r
 \r
                treeSRegistryDao.create(registry);\r
 \r
-               TreeSRegistry registry2 = treeSRegistryDao.getTreeSRegistry(path);\r
+               TreeSRegistry registry2 = treeSRegistryDao.getActiveTreeSRegistry();\r
                SimpleSElement element = registry2.getElements().get(path);\r
                assertEquals(desc, element.getLabel());\r
        }\r
index 8ec8410bc5cd632dc7f2516b9cf7b37fed801a14..db528c38ff075c23b807facfe1dd19e737321266 100644 (file)
@@ -1,6 +1,7 @@
 package org.argeo.slc.hibernate.test.tree;\r
 \r
 import java.util.Date;\r
+import java.util.List;\r
 \r
 import org.argeo.slc.core.structure.tree.TreeSPath;\r
 import org.argeo.slc.core.test.NumericTRId;\r
@@ -10,6 +11,7 @@ import org.argeo.slc.core.test.tree.PartSubList;
 import org.argeo.slc.core.test.tree.TreeTestResult;\r
 import org.argeo.slc.dao.structure.tree.TreeSPathDao;\r
 import org.argeo.slc.dao.test.TestResultDao;\r
+import org.argeo.slc.dao.test.tree.TreeTestResultDao;\r
 import org.argeo.slc.unit.SpringBasedTestCase;\r
 \r
 public class TreeTestResultDaoHibernateTest extends SpringBasedTestCase {\r
@@ -18,7 +20,7 @@ public class TreeTestResultDaoHibernateTest extends SpringBasedTestCase {
                TreeSPathDao treeSPathDao = (TreeSPathDao) getContext().getBean(\r
                                "treeSPathDao");\r
 \r
-               TestResultDao testResultDao = (TestResultDao) getContext().getBean(\r
+               TreeTestResultDao testResultDao = (TreeTestResultDao) getContext().getBean(\r
                                "testResultDao");\r
 \r
                String pathParentStr = "/root/testParent";\r
@@ -63,6 +65,11 @@ public class TreeTestResultDaoHibernateTest extends SpringBasedTestCase {
                assertEquals(msgFailed, part1.getMessage());\r
 \r
                assertEquals(closeDate, treeTestResult2.getCloseDate());\r
+               \r
+               List<TreeTestResult> results = testResultDao.listResults(path);\r
+               assertEquals(1, results.size());\r
+               assertEquals(trId, results.get(0).getTestResultId());\r
+               \r
        }\r
 \r
        @Override\r