You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by br...@apache.org on 2005/08/04 09:06:20 UTC

svn commit: r227315 [2/2] - in /maven/continuum/trunk: ./ continuum-api/src/main/java/org/apache/maven/continuum/configuration/ continuum-api/src/main/java/org/apache/maven/continuum/utils/ continuum-api/src/test/ continuum-api/src/test/java/ continuum...

Modified: maven/continuum/trunk/continuum-core/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/main/resources/META-INF/plexus/components.xml?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/continuum/trunk/continuum-core/src/main/resources/META-INF/plexus/components.xml Thu Aug  4 00:04:54 2005
@@ -103,6 +103,9 @@
         <requirement>
           <role>org.codehaus.plexus.action.ActionManager</role>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.continuum.utils.WorkingDirectoryService</role>
+        </requirement>
       </requirements>
     </component>
 
@@ -129,6 +132,9 @@
         <requirement>
           <role>org.apache.maven.scm.manager.ScmManager</role>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.continuum.utils.WorkingDirectoryService</role>
+        </requirement>
       </requirements>
     </component>
 
@@ -145,9 +151,22 @@
       </requirements>
     </component>
 
+    <component>
+      <role>org.apache.maven.continuum.utils.WorkingDirectoryService</role>
+      <implementation>org.apache.maven.continuum.utils.DefaultWorkingDirectoryService</implementation>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.continuum.store.ContinuumStore</role>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.continuum.configuration.ConfigurationService</role>
+        </requirement>
+      </requirements>
+    </component>
+
     <!-- TODO: Remove these two once the plexus bug where plexus would pick
-         the first component with role hint if no component without a role hint exists
-         and was looked up -->
+the first component with role hint if no component without a role hint exists
+and was looked up -->
     <component>
       <role>ContinuumStore</role>
       <role-hint>modello</role-hint>
@@ -246,6 +265,9 @@
         <requirement>
           <role>org.apache.maven.continuum.execution.maven.m2.MavenBuilderHelper</role>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.continuum.utils.WorkingDirectoryService</role>
+        </requirement>
       </requirements>
     </component>
 
@@ -289,6 +311,9 @@
         <requirement>
           <role>org.apache.maven.continuum.execution.maven.m1.MavenOneMetadataHelper</role>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.continuum.utils.WorkingDirectoryService</role>
+        </requirement>
       </requirements>
     </component>
 
@@ -313,6 +338,9 @@
         <requirement>
           <role>org.codehaus.plexus.commandline.ExecutableResolver</role>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.continuum.utils.WorkingDirectoryService</role>
+        </requirement>
       </requirements>
       <configuration>
         <default-executable>ant</default-executable>
@@ -330,6 +358,9 @@
         <requirement>
           <role>org.codehaus.plexus.commandline.ExecutableResolver</role>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.continuum.utils.WorkingDirectoryService</role>
+        </requirement>
       </requirements>
     </component>
 
@@ -478,6 +509,7 @@
      | JDO
      |
      |-->
+<!--
     <component>
       <role>org.codehaus.plexus.jdo.JdoFactory</role>
       <implementation>org.codehaus.plexus.jdo.DefaultJdoFactory</implementation>
@@ -493,9 +525,7 @@
           </property>
           <property>
             <name>javax.jdo.option.ConnectionURL</name>
-            <!--
-            -->
-            <value>jdbc:hsqldb:.</value>
+            <value>jdbc:hsqldb:faen</value>
           </property>
           <property>
             <name>javax.jdo.option.ConnectionUserName</name>
@@ -505,12 +535,6 @@
             <name>javax.jdo.option.ConnectionPassword</name>
             <value></value>
           </property>
-          <!--
-           | NOTE: This is the only value HSQLDB supports so we're hardcoding this value
-           | here to prevent JPOX from complaining about the lack of support when running the
-           | unit tests. When running with Continuum in a production enviroment
-           | READ_COMMITTED should be used.
-           |-->
           <property>
             <name>org.jpox.transactionIsolation</name>
             <value>READ_UNCOMMITTED</value>
@@ -520,27 +544,27 @@
             <value>READ_UNCOMMITTED</value>
           </property>
           <property>
-            <name>org.jpox.autoCreateSchema</name>
-            <value>true</value>
-          </property>
-          <property>
             <name>org.jpox.autoStartMechanism</name>
             <value>SchemaTable</value>
           </property>
           <property>
+            <name>org.jpox.autoCreateSchema</name>
+            <value>true</value>
+          </property>
+          <property>
             <name>org.jpox.autoStartMechanismMode</name>
             <value>Quiet</value>
           </property>
-          <!-- TODO: check if we need this on
+          <!- - TODO: check if we need this on
                     <property>
                       <name>javax.jdo.option.Multithreaded</name>
                       <value>true</value>
                     </property>
-          -->
+          - ->
         </properties>
       </configuration>
     </component>
-
+-->
     <!--
      |
      | Velocity
@@ -585,6 +609,9 @@
         <requirement>
           <role>org.apache.maven.continuum.store.ContinuumStore</role>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.continuum.utils.WorkingDirectoryService</role>
+        </requirement>
       </requirements>
     </component>
     <component>
@@ -608,6 +635,9 @@
         <requirement>
           <role>org.apache.maven.continuum.store.ContinuumStore</role>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.continuum.utils.WorkingDirectoryService</role>
+        </requirement>
       </requirements>
     </component>
     <component>
@@ -705,8 +735,7 @@
     <component>
       <role>org.codehaus.plexus.action.Action</role>
       <role-hint>update-project-from-working-directory</role-hint>
-      <implementation>
-        org.apache.maven.continuum.core.action.UpdateProjectFromWorkingDirectoryContinuumAction</implementation>
+      <implementation>org.apache.maven.continuum.core.action.UpdateProjectFromWorkingDirectoryContinuumAction</implementation>
       <requirements>
         <requirement>
           <role>org.apache.maven.continuum.execution.manager.BuildExecutorManager</role>
@@ -714,6 +743,9 @@
         <requirement>
           <role>org.apache.maven.continuum.store.ContinuumStore</role>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.continuum.utils.WorkingDirectoryService</role>
+        </requirement>
       </requirements>
     </component>
     <component>
@@ -727,8 +759,12 @@
         <requirement>
           <role>org.apache.maven.continuum.store.ContinuumStore</role>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.continuum.utils.WorkingDirectoryService</role>
+        </requirement>
       </requirements>
     </component>
+
     <!--
      |
      | Scheduler
@@ -767,7 +803,6 @@
         </properties>
       </configuration>
     </component>
-
 
   </components>
 </component-set>

Modified: maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java (original)
+++ maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java Thu Aug  4 00:04:54 2005
@@ -16,11 +16,16 @@
  * limitations under the License.
  */
 
+import org.apache.maven.continuum.project.ContinuumProject;
 import org.apache.maven.continuum.project.MavenTwoProject;
 import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
 import org.codehaus.plexus.taskqueue.TaskQueue;
 import org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor;
 
+import java.io.File;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
 import java.util.List;
 
 /**
@@ -46,6 +51,50 @@
         lookup( TaskQueueExecutor.ROLE, "build-project" );
 
         lookup( TaskQueueExecutor.ROLE, "check-out-project" );
+    }
+
+    public void testAddMavenTwoProjectSet()
+        throws Exception
+    {
+        Continuum continuum = (Continuum) lookup( Continuum.ROLE );
+
+        int projectCount = getStore().getAllProjects().size();
+
+        int projectGroupCount = getStore().getProjectGroups().size();
+
+        File rootPom = getTestFile( "src/test/resources/projects/continuum/continuum-notifiers/pom.xml" );
+
+        ContinuumProjectBuildingResult result = continuum.addMavenTwoProject( rootPom.toURL().toExternalForm() );
+
+        assertNotNull( result );
+
+        assertEquals( "result.warnings.size", 0, result.getWarnings().size() );
+
+        assertEquals( "result.projects.size", 2, result.getProjects().size() );
+
+        assertEquals( "result.projectGroups.size", 1, result.getProjectGroups().size() );
+
+        System.err.println( "number of projects: " + getStore().getAllProjects().size() );
+
+        System.err.println( "number of project groups: " + getStore().getProjectGroups().size() );
+
+        assertEquals( "Total project count", projectCount + 2, getStore().getAllProjects().size() );
+
+        assertEquals( "Total project group count.", projectGroupCount + 1, getStore().getProjectGroups().size() );
+
+        Map projects = new HashMap();
+
+        for ( Iterator i = getStore().getAllProjects().iterator(); i.hasNext(); )
+        {
+            ContinuumProject project = (ContinuumProject) i.next();
+
+            projects.put( project.getName(), project );
+        }
+
+        assertTrue( "no irc notifier", projects.containsKey( "Continuum IRC Notifier" ) );
+
+        assertTrue( "no jabber notifier", projects.containsKey( "Continuum Jabber Notifier" ) );
+        // TODO: assert that the project is the in the group
     }
 
     public void testUpdateMavenTwoProject()

Modified: maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/configuration/ConfigurationServiceTest.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/configuration/ConfigurationServiceTest.java?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/configuration/ConfigurationServiceTest.java (original)
+++ maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/configuration/ConfigurationServiceTest.java Thu Aug  4 00:04:54 2005
@@ -53,6 +53,8 @@
 
         assertEquals( "build-output", service.getBuildOutputDirectory().getName() );
 
+        assertEquals( "working-directory", service.getWorkingDirectory().getName() );
+
         ContinuumJdk jdk = new ContinuumJdk();
 
         jdk.setVersion( "1.3" );
@@ -100,6 +102,5 @@
         jdk = (ContinuumJdk) jdks.get( "1.5" );
 
         assertEquals( "/jdks/1.5", jdk.getHome() );
-
     }
 }

Modified: maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/execution/manager/DefaultBuildExecutorManagerTest.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/execution/manager/DefaultBuildExecutorManagerTest.java?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/execution/manager/DefaultBuildExecutorManagerTest.java (original)
+++ maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/execution/manager/DefaultBuildExecutorManagerTest.java Thu Aug  4 00:04:54 2005
@@ -16,14 +16,14 @@
  * limitations under the License.
  */
 
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.continuum.AbstractContinuumTest;
 
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
  * @version $Id$
  */
 public class DefaultBuildExecutorManagerTest
-    extends PlexusTestCase
+    extends AbstractContinuumTest
 {
     public void testBasic()
         throws Exception

Modified: maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/execution/maven/m1/MavenOneBuildExecutorTest.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/execution/maven/m1/MavenOneBuildExecutorTest.java?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/execution/maven/m1/MavenOneBuildExecutorTest.java (original)
+++ maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/execution/maven/m1/MavenOneBuildExecutorTest.java Thu Aug  4 00:04:54 2005
@@ -16,24 +16,23 @@
  * limitations under the License.
  */
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
+import org.apache.maven.continuum.AbstractContinuumTest;
 import org.apache.maven.continuum.execution.manager.BuildExecutorManager;
 import org.apache.maven.continuum.project.ContinuumNotifier;
 import org.apache.maven.continuum.project.MavenOneProject;
-
-import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
 
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
  * @version $Id$
  */
 public class MavenOneBuildExecutorTest
-    extends PlexusTestCase
+    extends AbstractContinuumTest
 {
     public void testUpdatingAProjectFromScmWithAExistingProjectAndAEmptyMaven1Pom()
         throws Exception

Modified: maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java (original)
+++ maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java Thu Aug  4 00:04:54 2005
@@ -128,8 +128,8 @@
 
         assertEquals( 1, result.getWarnings().size() );
 
-        assertTrue( "Does not end with I'm-not-here-project/pom.xml",
-                    result.getWarnings().get( 0 ).toString().endsWith( "I'm-not-here-project/pom.xml" ) );
+        assertTrue( "Does not end with \"I'm-not-here-project/pom.xml\"",
+                    result.getWarnings().get( 0 ).toString().indexOf( "I'm-not-here-project/pom.xml" ) != -1 );
 
         // ----------------------------------------------------------------------
         // Assert the project group built

Modified: maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/scm/ContinuumScmTest.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/scm/ContinuumScmTest.java?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/scm/ContinuumScmTest.java (original)
+++ maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/scm/ContinuumScmTest.java Thu Aug  4 00:04:54 2005
@@ -16,14 +16,14 @@
  * limitations under the License.
  */
 
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.continuum.AbstractContinuumTest;
 
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
  * @version $Id$
  */
 public class ContinuumScmTest
-    extends PlexusTestCase
+    extends AbstractContinuumTest
 {
     public void testBasic()
         throws Exception

Modified: maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/store/AbstractContinuumStoreTest.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/store/AbstractContinuumStoreTest.java?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/store/AbstractContinuumStoreTest.java (original)
+++ maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/store/AbstractContinuumStoreTest.java Thu Aug  4 00:04:54 2005
@@ -1,5 +1,21 @@
 package org.apache.maven.continuum.store;
 
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -7,7 +23,6 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 import java.util.Set;
 
 import org.apache.maven.continuum.AbstractContinuumTest;
@@ -20,6 +35,7 @@
 import org.apache.maven.continuum.project.ContinuumProjectState;
 import org.apache.maven.continuum.project.MavenTwoProject;
 import org.apache.maven.continuum.project.ContinuumSchedule;
+import org.apache.maven.continuum.project.ContinuumProjectGroup;
 import org.apache.maven.continuum.scm.ScmFile;
 import org.apache.maven.continuum.scm.ScmResult;
 
@@ -69,21 +85,49 @@
     public void testAddProject()
         throws Exception
     {
-        Properties configuration = new Properties();
+        MavenTwoProject expected = makeMavenTwoProject( "Test Project",
+                                                        "foo@bar.com",
+                                                        "1.0",
+                                                        "a b" );
+
+        ContinuumProject actual = store.addProject( expected );
+
+        assertNotNull( "The project added is null", actual );
+
+        assertNotNull( "The project id is null.", actual.getId() );
+
+        assertProjectEquals( makeMavenTwoProject( "Test Project",
+                                                  "foo@bar.com",
+                                                  "1.0",
+                                                  "a b" ),
+                                actual );
+    }
+
+    public void testAddProjectWithProjectGroup()
+        throws Exception
+    {
+        ContinuumProjectGroup projectGroup = createStubProjectGroup( "name", "description" );
+
+        MavenTwoProject expected = makeMavenTwoProject( "Test Project",
+                                                        "foo@bar.com",
+                                                        "1.0",
+                                                        "a b" );
+
+        expected.setProjectGroup( projectGroup );
 
-        configuration.setProperty( "foo", "bar" );
+        ContinuumProject actual = store.addProject( expected );
 
-        ContinuumProject actual = store.addProject( makeMavenTwoProject( "Test Project",
-                                                                         "foo@bar.com",
-                                                                         "1.0",
-                                                                         "a b" ) );
+        assertNotNull( "The project added is null", actual );
 
         assertNotNull( "The project id is null.", actual.getId() );
 
+        assertNotNull( "The project group is null.", actual.getProjectGroup() );
+
         assertProjectEquals( makeMavenTwoProject( "Test Project",
                                                   "foo@bar.com",
                                                   "1.0",
-                                                  "a b" ), actual );
+                                                  "a b" ),
+                             actual );
     }
 
     public void testGetNonExistingProject()
@@ -225,11 +269,6 @@
         {
             // expected
         }
-        // TODO: Remove me when the generated stuff throws a better exception when the object is missing
-        catch ( ContinuumStoreException ex )
-        {
-            // expected
-        }
     }
 
     public void testGetAllProjects()
@@ -291,7 +330,13 @@
     public void testRemoveProject()
         throws Exception
     {
-        ContinuumProject project = addMavenTwoProject( store, "Remove Test Project" );
+//        ContinuumProject project = addMavenTwoProject( store,
+//                                                       "Remove Test Project" );
+        ContinuumProject project = addMavenTwoProject( store,
+                                                       "name1",
+                                                       "nagEmailAddress1",
+                                                       "version1",
+                                                       "commandLineArguments1" );
 
         ContinuumBuild build = createBuild( store, project.getId(), false );
 
@@ -323,8 +368,15 @@
     public void testGetLatestBuildForProject()
         throws Exception
     {
-        String projectId = addMavenTwoProject( store,
-                                               makeStubMavenTwoProject( "Last project" ) ).getId();
+//        String projectId = addMavenTwoProject( store,
+//                                               makeStubMavenTwoProject( "Last project" ) ).getId();
+        ContinuumProject project = addMavenTwoProject( store,
+                                                       "name1",
+                                                       "nagEmailAddress1",
+                                                       "version1",
+                                                       "commandLineArguments1" );
+
+        String projectId = project.getId();
 
         assertNull( store.getLatestBuildForProject( projectId ) );
 
@@ -346,9 +398,14 @@
     public void testUpdateMavenTwoProject()
         throws Exception
     {
-        String projectId = addMavenTwoProject( store, "Maven Two Project" ).getId();
+//        ContinuumProject project = addMavenTwoProject( store, "Maven Two Project" );
+        MavenTwoProject project = addMavenTwoProject( store,
+                                                       "name1",
+                                                       "nagEmailAddress1",
+                                                       "version1",
+                                                       "commandLineArguments1" );
 
-        MavenTwoProject project = (MavenTwoProject) store.getProject( projectId );
+        String projectId = project.getId();
 
         project.setName( "New name" );
         project.setGoals( "clean test" );
@@ -357,6 +414,7 @@
 
         project = (MavenTwoProject) store.getProject( projectId );
 
+
         assertEquals( "New name", project.getName() );
         assertEquals( "clean test", project.getGoals() );
     }
@@ -407,7 +465,12 @@
     {
         lookup( JdoFactory.ROLE );
 
-        String projectId = addMavenTwoProject( store, "Build Test Project" ).getId();
+//        String projectId = addMavenTwoProject( store, "Build Test Project" ).getId();
+        String projectId = addMavenTwoProject( store,
+                                               "name1",
+                                               "nagEmailAddress1",
+                                               "version1",
+                                               "commandLineArguments1" ).getId();
 
         // ----------------------------------------------------------------------
         // Construct a build object
@@ -477,11 +540,26 @@
         // Set up projects
         // ----------------------------------------------------------------------
 
-        String projectId = addMavenTwoProject( store, "Association Test Project" ).getId();
-
-        String projectIdFoo = addMavenTwoProject( store, "Foo Project" ).getId();
-
-        String projectIdBar = addMavenTwoProject( store, "Bar Project" ).getId();
+//        String projectId = addMavenTwoProject( store, "Association Test Project" ).getId();
+        String projectId = addMavenTwoProject( store,
+                                               "Association Test Project",
+                                               "nagEmailAddress1",
+                                               "version1",
+                                               "commandLineArguments1" ).getId();
+
+//        String projectIdFoo = addMavenTwoProject( store, "Foo Project" ).getId();
+        String projectIdFoo = addMavenTwoProject( store,
+                                                  "Foo Project",
+                                                  "nagEmailAddress1",
+                                                  "version1",
+                                                  "commandLineArguments1" ).getId();
+
+//        String projectIdBar = addMavenTwoProject( store, "Bar Project" ).getId();
+        String projectIdBar = addMavenTwoProject( store,
+                                                  "Bar Project",
+                                                  "nagEmailAddress1",
+                                                  "version1",
+                                                  "commandLineArguments1" ).getId();
 
         // ----------------------------------------------------------------------
         //
@@ -493,6 +571,7 @@
         {
             expectedBuilds.add( createBuild( store, projectId, false ).getId() );
 
+
             createBuild( store, projectIdFoo, false );
 
             createBuild( store, projectIdBar, false );
@@ -530,11 +609,15 @@
         }
     }
 
-/*
-    public void testGetLatestBuild()
+    public void DISABLEDtestGetLatestBuild()
         throws Exception
     {
-        String projectId = addMavenTwoProject( store, "Association Test Project" ).getId();
+//        String projectId = addMavenTwoProject( store, "Association Test Project" ).getId();
+        String projectId = addMavenTwoProject( store,
+                                               "name1",
+                                               "nagEmailAddress1",
+                                               "version1",
+                                               "commandLineArguments1" ).getId();
 
         int size = 10;
 
@@ -561,7 +644,6 @@
 
         assertEquals( size, actualBuilds.size() );
     }
-*/
 
     public void testBuildResult()
         throws Exception
@@ -572,7 +654,12 @@
         //
         // ----------------------------------------------------------------------
 
-        String projectId = addMavenTwoProject( store, "Build Result Project" ).getId();
+//        String projectId = addMavenTwoProject( store, "Build Result Project" ).getId();
+        String projectId = addMavenTwoProject( store,
+                                               "name1",
+                                               "nagEmailAddress1",
+                                               "version1",
+                                               "commandLineArguments1" ).getId();
 
         long now = System.currentTimeMillis();
 
@@ -658,11 +745,16 @@
     // Schedules
     // ----------------------------------------------------------------------
 
-    public void testScheduleAdditionAndRemovalFromProject()
+    public void DISABLEDtestScheduleAdditionAndRemovalFromProject()
         throws Exception
     {
         // create project
-        ContinuumProject project = addMavenTwoProject( store, "Project Scheduling" );
+//        ContinuumProject project = addMavenTwoProject( store, "Project Scheduling" );
+        ContinuumProject project = addMavenTwoProject( store,
+                                                       "Project Scheduling",
+                                                       "nagEmailAddress1",
+                                                       "version1",
+                                                       "commandLineArguments1" );
 
         String projectId = project.getId();
 
@@ -673,15 +765,14 @@
 
         s = store.addSchedule( s );
 
-        project.addSchedule( s );
+        assertEquals( 1, store.getSchedules().size() );
 
-        // update project
-        store.updateProject( project );
+        assertEquals( 1, store.getAllProjects().size() );
 
-        assertEquals( 1, store.getSchedules().size() );
+        project.addSchedule( s );
 
-        // retrieve project
-        project = store.getProject( projectId );
+        // update and retrieve project
+        project = store.updateProject( project );
 
         assertNotNull( project );
 
@@ -735,7 +826,7 @@
         assertNotNull( schedule );
     }
 
-    public void testProjectAdditionAndRemovalFromSchedule()
+    public void DISABLEDtestProjectAdditionAndRemovalFromSchedule()
         throws Exception
     {
         // create schedule
@@ -743,7 +834,12 @@
 
         schedule = store.addSchedule( schedule );
 
-        ContinuumProject project = addMavenTwoProject( store, "Project" );
+//        ContinuumProject project = addMavenTwoProject( store, "Project" );
+        ContinuumProject project = addMavenTwoProject( store,
+                                                       "Project Schedule Test Project",
+                                                       "nagEmailAddress1",
+                                                       "version1",
+                                                       "commandLineArguments1" );
 
         // add project
         schedule.addProject( project );
@@ -762,7 +858,7 @@
         project = (ContinuumProject) schedule.getProjects().iterator().next();
 
         // test values within project
-        assertEquals( "Project", project.getName() );
+        assertEquals( "Project Schedule Test Project", project.getName() );
 
         // ----------------------------------------------------------------------
         // Now lookup the project on its own and make sure the schedule is

Modified: maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/store/ContinuumTypicalUsageTest.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/store/ContinuumTypicalUsageTest.java?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/store/ContinuumTypicalUsageTest.java (original)
+++ maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/store/ContinuumTypicalUsageTest.java Thu Aug  4 00:04:54 2005
@@ -17,8 +17,6 @@
  */
 
 import org.apache.maven.continuum.AbstractContinuumTest;
-import org.apache.maven.continuum.Continuum;
-import org.apache.maven.continuum.initialization.DefaultContinuumInitializer;
 import org.apache.maven.continuum.project.ContinuumProjectGroup;
 import org.apache.maven.continuum.project.MavenTwoProject;
 
@@ -55,31 +53,60 @@
     public void testContinuumTypicalUsage()
         throws Exception
     {
-        Continuum continuum = (Continuum) lookup( Continuum.ROLE );
+        ContinuumProjectGroup projectGroup = AbstractContinuumTest.getDefaultProjectGroup( getStore() );
 
-        ContinuumProjectGroup defaultProjectGroup = AbstractContinuumTest.getDefaultProjectGroup( getStore() );
-            //continuum.getDefaultProjectGroup();
+        int projectGroupProjectCount = projectGroup.getProjects().size();
+
+        int projectCount = getStore().getAllProjects().size();
+
+        int projectGroupCount = getStore().getProjectGroups().size();
 
         // ----------------------------------------------------------------------
         // At this point we can now accept new projects into the system
         // ----------------------------------------------------------------------
 
-        MavenTwoProject project = makeStubMavenTwoProject( "test1" );
+        MavenTwoProject project1 = makeStubMavenTwoProject( "Typical Project 1" );
+
+        project1.setProjectGroup( projectGroup );
+
+        project1 = addMavenTwoProject( getStore(), project1 );
 
-        project = addMavenTwoProject( getStore(), project );
+        assertNotNull( project1.getProjectGroup() );
+
+        assertEquals( projectGroup.getName(), project1.getProjectGroup().getName() );
+
+        assertEquals( projectGroup.getDescription(), project1.getProjectGroup().getDescription() );
+
+        assertEquals( projectGroup.getGroupId(), project1.getProjectGroup().getGroupId() );
 
         // ----------------------------------------------------------------------
-        // Now that we have a project we want to add it to the default project group
+        //
         // ----------------------------------------------------------------------
 
-        defaultProjectGroup.addProject( project );
+        MavenTwoProject project2 = makeStubMavenTwoProject( "Typical Project 2" );
+
+        project2.setProjectGroup( projectGroup );
+
+        project2 = addMavenTwoProject( getStore(), project2 );
+
+        assertNotNull( project2.getProjectGroup() );
+
+        assertEquals( projectGroup.getName(), project2.getProjectGroup().getName() );
+
+        assertEquals( projectGroup.getDescription(), project2.getProjectGroup().getDescription() );
+
+        assertEquals( projectGroup.getGroupId(), project2.getProjectGroup().getGroupId() );
+
+        // ----------------------------------------------------------------------
+        //
+        // ----------------------------------------------------------------------
 
-        getStore().updateProjectGroup( defaultProjectGroup );
+        projectGroup = getDefaultProjectGroup( getStore() );
 
-        assertEquals( defaultProjectGroup.getName(), project.getProjectGroup().getName() );
+        assertEquals( projectGroupProjectCount + 2, projectGroup.getProjects().size() );
 
-        assertEquals( defaultProjectGroup.getDescription(), project.getProjectGroup().getDescription() );
+        assertEquals( projectCount + 2, getStore().getAllProjects().size() );
 
-        assertEquals( defaultProjectGroup.getGroupId(), project.getProjectGroup().getGroupId() );
+        assertEquals( projectGroupCount, getStore().getProjectGroups().size() );
     }
 }

Modified: maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/store/NewModelTest.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/store/NewModelTest.java?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/store/NewModelTest.java (original)
+++ maven/continuum/trunk/continuum-core/src/test/java/org/apache/maven/continuum/store/NewModelTest.java Thu Aug  4 00:04:54 2005
@@ -33,7 +33,7 @@
 public class NewModelTest
     extends AbstractContinuumTest
 {
-    public void testAddingBuildGroupToProjectAndUpdatingProject()
+    public void DISABLEDtestAddingBuildGroupToProjectAndUpdatingProject()
         throws Exception
     {
         ContinuumProject project = addMavenTwoProject( getStore(), "Project Scheduling" );
@@ -53,7 +53,7 @@
         assertEquals( 1, project.getBuildGroups().size() );
     }
 
-    public void testProjectAdditionAndRemovalFromBuildGroup()
+    public void DISABLEDtestProjectAdditionAndRemovalFromBuildGroup()
         throws Exception
     {
         // create buildGroup
@@ -165,7 +165,7 @@
         assertNotNull( project );
     }
 
-    public void testBuildSettingsAdditionAndRemovalFromBuildGroup()
+    public void DISABLEDtestBuildSettingsAdditionAndRemovalFromBuildGroup()
         throws Exception
     {
         // create buildSettings
@@ -224,7 +224,7 @@
         assertNotNull( buildGroup );
     }
 
-    public void testBuildSettingsAdditionAndRemovalFromProjectGroup()
+    public void DISABLEDtestBuildSettingsAdditionAndRemovalFromProjectGroup()
         throws Exception
     {
         // create buildSettings
@@ -287,7 +287,7 @@
     // We're not exactly sure why this beasty doesn't work.
     // ----------------------------------------------------------------------
 
-    public void xtestBasic()
+    public void DISABLEDtestBasic()
         throws Exception
     {
         // ----------------------------------------------------------------------

Modified: maven/continuum/trunk/continuum-core/src/test/resources/configuration.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/test/resources/configuration.xml?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/resources/configuration.xml (original)
+++ maven/continuum/trunk/continuum-core/src/test/resources/configuration.xml Thu Aug  4 00:04:54 2005
@@ -1,4 +1,5 @@
 <configuration>
   <url>http://localhost:8080/continuum/servlet/continuum</url>
   <build-output-directory>build-output</build-output-directory>
+  <working-directory>working-directory</working-directory>
 </configuration>

Modified: maven/continuum/trunk/continuum-core/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-core/src/test/resources/log4j.properties?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-core/src/test/resources/log4j.properties (original)
+++ maven/continuum/trunk/continuum-core/src/test/resources/log4j.properties Thu Aug  4 00:04:54 2005
@@ -4,7 +4,11 @@
 log4j.appender.root.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n
 
 # JPOX Categories
-log4j.category.JPOX=ERROR, root
+log4j.category.JPOX=WARN, root
+log4j.category.JPOX.RDBMS=ERROR, root
+log4j.category.JPOX.RDBMS.Schema=WARN, root
+log4j.category.JPOX.RDBMS.DDL=DEBUG, root
+log4j.category.JPOX.RDBMS.SQL=WARN, root
 
 #log4j.category.JPOX.JDO=DEBUG, root
 #log4j.category.JPOX.Cache=DEBUG, root

Modified: maven/continuum/trunk/continuum-model/pom.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-model/pom.xml?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-model/pom.xml (original)
+++ maven/continuum/trunk/continuum-model/pom.xml Thu Aug  4 00:04:54 2005
@@ -27,6 +27,11 @@
             </goals>
           </execution>
         </executions>
+        <configuration>
+          <driverName>org.hsqldb.jdbcDriver</driverName>
+          <url>jdbc:hsqldb:mem:foo</url>
+          <username>sa</username>
+        </configuration>
       </plugin>
       <plugin>
         <groupId>org.codehaus.modello</groupId>

Modified: maven/continuum/trunk/continuum-model/src/main/resources/META-INF/package.jdo
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-model/src/main/resources/META-INF/package.jdo?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-model/src/main/resources/META-INF/package.jdo (original)
+++ maven/continuum/trunk/continuum-model/src/main/resources/META-INF/package.jdo Thu Aug  4 00:04:54 2005
@@ -6,21 +6,23 @@
 
 <jdo>
   <package name="org.apache.maven.continuum.project">
-    <class name="ContinuumProject" detachable="true" identity-type="application">
+    <class name="ContinuumProject" detachable="true" identity-type="application" objectid-class="javax.jdo.identity.StringIdentity" table="project">
+      <inheritance strategy="new-table">
+        <discriminator strategy="class-name">
+          <column name="PROJECT_TYPE"/>
+        </discriminator>
+      </inheritance>
       <field name="id" persistence-modifier="persistent" primary-key="true" value-strategy="native"/>
       <field name="name" persistence-modifier="persistent"/>
       <field name="scmUrl" persistence-modifier="persistent"/>
       <field name="version" persistence-modifier="persistent"/>
-      <field name="workingDirectory" persistence-modifier="persistent"/>
-<!--
       <field name="path" persistence-modifier="persistent"/>
--->
       <field name="state" persistence-modifier="none"/>
       <field name="executorId" persistence-modifier="persistent"/>
       <field name="latestBuildId" persistence-modifier="persistent"/>
       <field name="previousBuildId" persistence-modifier="persistent"/>
       <field name="buildNumber" persistence-modifier="persistent"/>
-      <field name="scmResult" persistence-modifier="persistent" dependent="true"/>
+      <field name="scmResult" persistence-modifier="persistent" default-fetch-group="true" dependent="true"/>
       <field name="checkOutErrorMessage" persistence-modifier="persistent"/>
       <field name="checkOutErrorException" persistence-modifier="persistent"/>
       <field name="mailType" persistence-modifier="persistent"/>
@@ -43,12 +45,12 @@
         <collection element-type="ContinuumDependency" dependent-element="true"/>
       </field>
       <!-- Schedules exist on their own, so we don't want cascading deletes affect them. -->
-      <field name="schedules" persistence-modifier="persistent">
+      <field name="schedules" persistence-modifier="persistent" table="project_schedules">
         <collection element-type="ContinuumSchedule"/>
         <join/>
       </field>
 
-      <field name="buildGroups" persistence-modifier="persistent">
+      <field name="buildGroups" persistence-modifier="persistent" table="project_build_groups">
         <collection element-type="ContinuumBuildGroup"/>
         <join/>
       </field>
@@ -56,6 +58,7 @@
       <field name="projectGroup" persistence-modifier="persistent"/>
 
       <fetch-group name="project-detail">
+        <field name="scmResult"/>
         <field name="builds"/>
         <field name="developers"/>
         <field name="notifiers"/>
@@ -63,11 +66,10 @@
         <field name="schedules"/>
         <field name="buildGroups"/>
         <field name="projectGroup"/>
-        <field name="scmResult"/>
       </fetch-group>
     </class>
 
-    <class name="ContinuumSchedule" detachable="true" identity-type="application">
+    <class name="ContinuumSchedule" detachable="true" identity-type="application" objectid-class="javax.jdo.identity.StringIdentity" table="schedule">
       <field name="projects" persistence-modifier="persistent" mapped-by="schedules">
         <collection element-type="ContinuumProject"/>
       </field>
@@ -83,41 +85,49 @@
       </fetch-group>
     </class>
 
-    <class name="ContinuumNotifier" detachable="true" identity-type="datastore">
+    <class name="ContinuumNotifier" detachable="true" identity-type="datastore" table="notifier">
       <field name="type" persistence-modifier="persistent"/>
-      <field name="configuration" persistence-modifier="persistent" default-fetch-group="true">
-        <map key-type="java.lang.String" value-type="String" dependent-key="true" dependent-value="true"/>
+      <field name="configuration" persistence-modifier="persistent" default-fetch-group="true" table="notifier_configuration">
+        <map key-type="java.lang.String" value-type="java.lang.String" dependent-key="true" dependent-value="true"/>
         <join/>
       </field>
     </class>
-    <class name="ContinuumDeveloper" detachable="true" identity-type="application">
+    <class name="ContinuumDeveloper" detachable="true" identity-type="application" objectid-class="javax.jdo.identity.StringIdentity" table="developer">
       <field name="id" persistence-modifier="persistent" primary-key="true" value-strategy="native"/>
       <field name="name" persistence-modifier="persistent"/>
       <field name="email" persistence-modifier="persistent"/>
     </class>
-    <class name="ContinuumDependency" detachable="true" identity-type="datastore">
+    <class name="ContinuumDependency" detachable="true" identity-type="datastore" table="dependency">
       <field name="groupId" persistence-modifier="persistent"/>
       <field name="artifactId" persistence-modifier="persistent"/>
       <field name="version" persistence-modifier="persistent"/>
     </class>
     <class name="MavenTwoProject" persistence-capable-superclass="org.apache.maven.continuum.project.ContinuumProject" detachable="true">
-      <inheritance strategy="new-table"/>
-      <field name="goals" persistence-modifier="persistent"/>
+      <inheritance strategy="superclass-table"/>
+      <field name="goals" persistence-modifier="persistent">
+        <column name="M2_GOALS"/>
+      </field>
     </class>
     <class name="MavenOneProject" persistence-capable-superclass="org.apache.maven.continuum.project.ContinuumProject" detachable="true">
-      <inheritance strategy="new-table"/>
-      <field name="goals" persistence-modifier="persistent"/>
+      <inheritance strategy="superclass-table"/>
+      <field name="goals" persistence-modifier="persistent">
+        <column name="M1_GOALS"/>
+      </field>
     </class>
     <class name="AntProject" persistence-capable-superclass="org.apache.maven.continuum.project.ContinuumProject" detachable="true">
-      <inheritance strategy="new-table"/>
-      <field name="executable" persistence-modifier="persistent"/>
+      <inheritance strategy="superclass-table"/>
+      <field name="executable" persistence-modifier="persistent">
+        <column name="ANT_EXECUTABLE"/>
+      </field>
       <field name="targets" persistence-modifier="persistent"/>
     </class>
     <class name="ShellProject" persistence-capable-superclass="org.apache.maven.continuum.project.ContinuumProject" detachable="true">
-      <inheritance strategy="new-table"/>
-      <field name="executable" persistence-modifier="persistent"/>
+      <inheritance strategy="superclass-table"/>
+      <field name="executable" persistence-modifier="persistent">
+        <column name="SHELL_EXECUTABLE"/>
+      </field>
     </class>
-    <class name="ContinuumBuild" detachable="true" identity-type="application">
+    <class name="ContinuumBuild" detachable="true" identity-type="application" objectid-class="javax.jdo.identity.StringIdentity" table="build">
       <field name="project" persistence-modifier="persistent" null-value="exception" default-fetch-group="false"/>
       <field name="id" persistence-modifier="persistent" primary-key="true" value-strategy="native"/>
       <field name="state" persistence-modifier="persistent"/>
@@ -134,14 +144,14 @@
 
     <!-- New Object Model -->
 
-    <class name="ContinuumBuildGroup" detachable="true" identity-type="application">
+    <class name="ContinuumBuildGroup" detachable="true" identity-type="application" objectid-class="javax.jdo.identity.StringIdentity" table="build_group">
       <field name="id" persistence-modifier="persistent" primary-key="true" value-strategy="native"/>
       <field name="name" persistence-modifier="persistent"/>
       <field name="description" persistence-modifier="persistent"/>
       <field name="projects" persistence-modifier="persistent" mapped-by="buildGroups">
         <collection element-type="ContinuumProject"/>
       </field>
-      <field name="buildSettings" persistence-modifier="persistent">
+      <field name="buildSettings" persistence-modifier="persistent" table="build_group_settings">
         <collection element-type="ContinuumBuildSettings"/>
         <join/>
       </field>
@@ -151,7 +161,7 @@
       </fetch-group>
     </class>
 
-    <class name="ContinuumProjectGroup" detachable="true" identity-type="application">
+    <class name="ContinuumProjectGroup" detachable="true" identity-type="application" objectid-class="javax.jdo.identity.StringIdentity" table="project_group">
       <field name="id" persistence-modifier="persistent" primary-key="true" value-strategy="native"/>
       <field name="groupId" persistence-modifier="persistent"/>
       <field name="name" persistence-modifier="persistent"/>
@@ -163,7 +173,7 @@
       <field name="projects" persistence-modifier="persistent" mapped-by="projectGroup">
         <collection element-type="ContinuumProject"/>
       </field>
-      <field name="buildSettings" persistence-modifier="persistent">
+      <field name="buildSettings" persistence-modifier="persistent" table="pg_build_settings">
         <collection element-type="ContinuumBuildSettings"/>
         <join/>
       </field>
@@ -173,7 +183,7 @@
       </fetch-group>
     </class>
 
-    <class name="ContinuumBuildSettings" detachable="true" identity-type="application">
+    <class name="ContinuumBuildSettings" detachable="true" identity-type="application" objectid-class="javax.jdo.identity.StringIdentity" table="build_settings">
       <field name="id" persistence-modifier="persistent" primary-key="true" value-strategy="native"/>
       <field name="name" persistence-modifier="persistent"/>
       <field name="notificationScheme" persistence-modifier="persistent"/>
@@ -195,10 +205,12 @@
 
   </package>
   <package name="org.apache.maven.continuum.scm">
-    <class name="ScmResult" detachable="true" identity-type="datastore">
+    <class name="ScmResult" detachable="true" identity-type="datastore" table="scm_result">
       <field name="success" persistence-modifier="persistent"/>
-      <field name="providerMessage" persistence-modifier="persistent"/>
-      <field name="commandOutput" persistence-modifier="persistent"/>
+      <field name="providerMessage" persistence-modifier="persistent">
+      </field>
+      <field name="commandOutput" persistence-modifier="persistent">
+      </field>
       <field name="files" persistence-modifier="persistent" default-fetch-group="true">
         <collection element-type="ScmFile" dependent-element="true"/>
       </field>
@@ -206,16 +218,16 @@
         <collection element-type="ChangeSet" dependent-element="true"/>
       </field>
     </class>
-    <class name="ScmFile" detachable="true" identity-type="datastore">
+    <class name="ScmFile" detachable="true" identity-type="datastore" table="scm_file">
       <field name="path" persistence-modifier="persistent"/>
     </class>
-    <class name="ChangeSet" detachable="true" identity-type="datastore">
+    <class name="ChangeSet" detachable="true" identity-type="datastore" table="change_set">
       <field name="author" persistence-modifier="persistent"/>
       <field name="comment" persistence-modifier="persistent"/>
       <field name="date" persistence-modifier="persistent"/>
       <field name="file" persistence-modifier="persistent" default-fetch-group="true" dependent="true"/>
     </class>
-    <class name="ChangeFile" detachable="true" identity-type="datastore">
+    <class name="ChangeFile" detachable="true" identity-type="datastore" table="change_file">
       <field name="name" persistence-modifier="persistent"/>
       <field name="revision" persistence-modifier="persistent"/>
     </class>
@@ -224,10 +236,10 @@
   <!-- Profiles -->
 
   <package name="org.apache.maven.continuum.profile">
-    <class name="ContinuumProfile" detachable="true" identity-type="datastore">
+    <class name="ContinuumProfile" detachable="true" identity-type="datastore" table="profile">
       <field name="jdk" persistence-modifier="persistent"/>
     </class>
-    <class name="ContinuumJdk" detachable="true" identity-type="datastore">
+    <class name="ContinuumJdk" detachable="true" identity-type="datastore" table="jdk">
       <field name="version" persistence-modifier="persistent"/>
       <field name="home" persistence-modifier="persistent"/>
     </class>

Modified: maven/continuum/trunk/continuum-model/src/main/resources/continuum.mdo
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-model/src/main/resources/continuum.mdo?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-model/src/main/resources/continuum.mdo (original)
+++ maven/continuum/trunk/continuum-model/src/main/resources/continuum.mdo Thu Aug  4 00:04:54 2005
@@ -32,6 +32,7 @@
           <version>1.0.0</version>
           <type>String</type>
         </field>
+        <!-- TODO: Remove -->
         <field>
           <name>scmUrl</name>
           <version>1.0.0</version>
@@ -43,18 +44,10 @@
           <type>String</type>
         </field>
         <field>
-          <name>workingDirectory</name>
+          <name>path</name>
           <version>1.0.0</version>
           <type>String</type>
         </field>
-        <!--
-        add stash.storable="false" to workingDirectory and scmUrl
-                <field>
-                  <name>path</name>
-                  <version>1.0.0</version>
-                  <type>String</type>
-                </field>
-        -->
         <field stash.storable="false">
           <name>state</name>
           <version>1.0.0</version>

Modified: maven/continuum/trunk/continuum-plexus-application/plexus-jamvm.sh
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-plexus-application/plexus-jamvm.sh?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-plexus-application/plexus-jamvm.sh (original)
+++ maven/continuum/trunk/continuum-plexus-application/plexus-jamvm.sh Thu Aug  4 00:04:54 2005
@@ -5,14 +5,14 @@
 PWD=`pwd`
 
 GNU_CLASSPATH=$HOME/opt/classpath-HEAD/share/classpath/glibj.zip
-JAVA=$HOME/opt/jamvm-1.3.0/bin/jamvm
+JAVA=$HOME/opt/jamvm-1.3.2/bin/jamvm
 
 #    -Xbootclasspath:$GNU_CLASSPATH \
 #    -verbose:{class,gc,jni} \
 
 $JAVA \
     -Xnoasyncgc \
-    -classpath $PWD/target/plexus-test-runtime/core/boot/classworlds-1.1-alpha-1.jar \
+    -classpath $PWD/target/plexus-test-runtime/core/boot/classworlds-1.1-alpha-2.jar \
     -Dclassworlds.conf=$PWD/target/plexus-test-runtime/conf/classworlds.conf \
     -Dplexus.core=$PWD/target/plexus-test-runtime/core \
     -Djava.io.tmpdir=$PWD/target/plexus-test-runtime/temp \

Modified: maven/continuum/trunk/continuum-plexus-application/plexus-kaffe.sh
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-plexus-application/plexus-kaffe.sh?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-plexus-application/plexus-kaffe.sh (original)
+++ maven/continuum/trunk/continuum-plexus-application/plexus-kaffe.sh Thu Aug  4 00:04:54 2005
@@ -8,13 +8,14 @@
 #JAVA="$JAVA -verbose"
 JAVA=kaffe 
 JAVA=$HOME/opt/kaffe/bin/kaffe
+JAVA=$HOME/opt/Linux-i686/kaffe-cvs/bin/kaffe
 
 #    -fullversion \
 #    -Xbootclasspath/p:$HOME/opt/classpath-HEAD/share/classpath/glibj.zip \
 #    -verbose \
 $JAVA \
     -Xmx128m \
-    -classpath $PWD/target/plexus-test-runtime/core/boot/classworlds-1.1-alpha-1.jar \
+    -classpath $PWD/target/plexus-test-runtime/core/boot/classworlds-1.1-alpha-2.jar \
     -Dclassworlds.conf=$PWD/target/plexus-test-runtime/conf/classworlds.conf \
     -Dplexus.core=$PWD/target/plexus-test-runtime/core \
     -Djava.io.tmpdir=$PWD/target/plexus-test-runtime/temp \

Modified: maven/continuum/trunk/continuum-plexus-application/plexus-sablevm.sh
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-plexus-application/plexus-sablevm.sh?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-plexus-application/plexus-sablevm.sh (original)
+++ maven/continuum/trunk/continuum-plexus-application/plexus-sablevm.sh Thu Aug  4 00:04:54 2005
@@ -8,7 +8,6 @@
 JAVA=$HOME/opt/sablevm-trunk/bin/sablevm
 
 $JAVA \
-    -Xbootclasspath $GNU_CLASSPATH \
     -classpath $PWD/target/plexus-test-runtime/core/boot/classworlds-1.1-alpha-1.jar \
     -Dclassworlds.conf=$PWD/target/plexus-test-runtime/conf/classworlds.conf \
     -Dplexus.core=$PWD/target/plexus-test-runtime/core \

Modified: maven/continuum/trunk/continuum-plexus-application/pom.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-plexus-application/pom.xml?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-plexus-application/pom.xml (original)
+++ maven/continuum/trunk/continuum-plexus-application/pom.xml Thu Aug  4 00:04:54 2005
@@ -9,6 +9,14 @@
   <version>1.0-beta-1-SNAPSHOT</version>
   <name>Continuum Plexus Application</name>
   <packaging>plexus-application</packaging>
+  <repositories>
+    <repository>
+      <id>apache.snapshots</id>
+      <url>http://cvs.apache.org/repository</url>
+      <layout>legacy</layout>
+    </repository>
+  </repositories>
+
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.continuum</groupId>
@@ -153,9 +161,9 @@
     </dependency>
 
     <dependency>
-      <groupId>hsqldb</groupId>
-      <artifactId>hsqldb</artifactId>
-      <version>1.7.3.0</version>
+      <groupId>incubator-derby</groupId>
+      <artifactId>derby</artifactId>
+      <version>10.0.2.1</version>
       <scope>runtime</scope>
     </dependency>
   </dependencies>

Modified: maven/continuum/trunk/continuum-plexus-application/src/conf/application.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-plexus-application/src/conf/application.xml?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-plexus-application/src/conf/application.xml (original)
+++ maven/continuum/trunk/continuum-plexus-application/src/conf/application.xml Thu Aug  4 00:04:54 2005
@@ -139,8 +139,8 @@
           <role>org.codehaus.plexus.ircbot.IrcBot</role>
         </requirement>
         <requirement>
-          <role>org.apache.maven.continuum.store.ContinuumStore</role>        
-        </requirement>        
+          <role>org.apache.maven.continuum.store.ContinuumStore</role>
+        </requirement>
         <requirement>
           <role>org.apache.maven.continuum.configuration.ConfigurationService</role>
         </requirement>
@@ -168,7 +168,7 @@
         </requirement>
         <!--
         <requirement>
-          <role>org.apache.maven.continuum.store.ContinuumStore</role>        
+          <role>org.apache.maven.continuum.store.ContinuumStore</role>
         </requirement>
         -->
       </requirements>
@@ -201,7 +201,7 @@
         </requirement>
         <!--
         <requirement>
-          <role>org.apache.maven.continuum.store.ContinuumStore</role>        
+          <role>org.apache.maven.continuum.store.ContinuumStore</role>
         </requirement>
         -->
       </requirements>
@@ -241,7 +241,7 @@
         <delay>3600</delay>
       </configuration>
     </component>
-    
+
     <component>
       <role>org.apache.maven.continuum.trigger.ContinuumTrigger</role>
       <role-hint>quartz-alarm-clock</role-hint>
@@ -252,7 +252,7 @@
         </requirement>
         <requirement>
           <role>org.apache.maven.continuum.scheduler.ContinuumScheduler</role>
-        </requirement>        
+        </requirement>
       </requirements>
       <configuration>
         <!--
@@ -266,7 +266,7 @@
         |-->
         <delay>3600</delay>
       </configuration>
-    </component>    
+    </component>
 
     <component>
       <role>org.apache.maven.continuum.network.ConnectionFactory</role>
@@ -313,22 +313,37 @@
             <value>true</value>
           </property>
           <property>
+            <name>org.jpox.autoCreateColumns</name>
+            <value>true</value>
+          </property>
+          <property>
             <name>org.jpox.autoStartMechanism</name>
             <value>SchemaTable</value>
           </property>
           <property>
             <name>org.jpox.autoStartMechanismMode</name>
-            <value>Quiet</value>
+            <value>Ignored</value>
+          </property>
+          <property>
+            <name>org.jpox.validateTables</name>
+            <value>false</value>
+          </property>
+          <property>
+            <name>org.jpox.validateColumns</name>
+            <value>false</value>
           </property>
-          <!-- JDBC connection configuration -->
-          <!-- -->
+          <property>
+            <name>org.jpox.validateConstraints</name>
+            <value>false</value>
+          </property>
+          <!-- Apache Derby Configuration -->
           <property>
             <name>javax.jdo.option.ConnectionDriverName</name>
-            <value>org.hsqldb.jdbcDriver</value>
+            <value>org.apache.derby.jdbc.EmbeddedDriver</value>
           </property>
           <property>
             <name>javax.jdo.option.ConnectionURL</name>
-            <value>jdbc:hsqldb:${plexus.home}/database</value>
+            <value>jdbc:derby:${plexus.home}/database;create=true</value>
           </property>
           <property>
             <name>javax.jdo.option.ConnectionUserName</name>
@@ -338,6 +353,8 @@
             <name>javax.jdo.option.ConnectionPassword</name>
             <value></value>
           </property>
+
+          <!-- Postgresql Configuration -->
           <!--
           <property>
             <name>javax.jdo.option.ConnectionDriverName</name>
@@ -351,28 +368,43 @@
             <name>javax.jdo.option.ConnectionUserName</name>
             <value>trygvis</value>
           </property>
+          <property>
+            <name>javax.jdo.option.ConnectionPassword</name>
+            <value></value>
+          </property>
+          -->
+
+          <!-- HSQLDB Configuration -->
+          <!--
+            NOTE: NO NOT USE THIS CONFIGURATION FOR A PRODUCTION SYSTEM.
+            HSQLDB keeps all data in memory at all times.
           -->
           <!--
-          | NOTE: This is the only value HSQLDB supports so we're hardcoding this value
-          | here to prevent JPOX from complaining about the lack of support when running the
-          | unit tests. When running with Continuum in a production enviroment
-          | READ_COMMITTED should be used.
-          |-->
           <property>
-            <name>org.jpox.transactionIsolation</name>
-            <value>READ_UNCOMMITTED</value>
+            <name>javax.jdo.option.ConnectionDriverName</name>
+            <value>org.hsqldb.jdbcDriver</value>
           </property>
           <property>
-            <name>org.jpox.poid.transactionIsolation</name>
-            <value>READ_UNCOMMITTED</value>
+            <name>javax.jdo.option.ConnectionURL</name>
+            <value>jdbc:hsqldb:${plexus.home}/database</value>
+          </property>
+          <property>
+            <name>javax.jdo.option.ConnectionUserName</name>
+            <value>sa</value>
           </property>
           <property>
             <name>javax.jdo.option.ConnectionPassword</name>
             <value></value>
           </property>
+          -->
+
+          <property>
+            <name>org.jpox.transactionIsolation</name>
+            <value>READ_COMMITTED</value>
+          </property>
           <property>
-            <name>hsqldb.nio_data_file</name>
-            <value>false</value>
+            <name>org.jpox.poid.transactionIsolation</name>
+            <value>READ_COMMITTED</value>
           </property>
         </properties>
       </configuration>
@@ -410,7 +442,7 @@
           <property>
             <name>file.resource.loader.cache</name>
             <value>@velocity.resource.caching@</value>
-          </property>          
+          </property>
         </properties>
       </configuration>
     </component>
@@ -503,8 +535,16 @@
             <level>WARN</level>
           </level>
           <level>
+            <hierarchy>org.codehaus.plexus.mailsender.MailSender</hierarchy>
+            <level>INFO</level>
+          </level>
+          <level>
             <hierarchy>JPOX</hierarchy>
-            <level>ERROR</level>
+            <level>INFO</level>
+          </level>
+          <level>
+            <hierarchy>JPOX.Cache</hierarchy>
+            <level>WARN</level>
           </level>
         </levels>
       </configuration>

Modified: maven/continuum/trunk/continuum-plexus-application/src/conf/configuration.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-plexus-application/src/conf/configuration.xml?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-plexus-application/src/conf/configuration.xml (original)
+++ maven/continuum/trunk/continuum-plexus-application/src/conf/configuration.xml Thu Aug  4 00:04:54 2005
@@ -1,3 +1,4 @@
 <configuration>
   <url>http://localhost:8080/continuum/servlet/continuum</url>
+  <working-directory>working-directory</working-directory>
 </configuration>

Modified: maven/continuum/trunk/continuum-site/src/site/apt/configuration.apt
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-site/src/site/apt/configuration.apt?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-site/src/site/apt/configuration.apt (original)
+++ maven/continuum/trunk/continuum-site/src/site/apt/configuration.apt Thu Aug  4 00:04:54 2005
@@ -75,9 +75,11 @@
 ** Example Jetty Configuration
 
  This is a example configuration on how to configure Jetty with one normal HTTP
- listener and one proxy HTTP listener. With configuration Jetty will listen on
- two ports, 8080 and 8090. Continuum can be used from either
- http://localhost:8080 or http://www.company.com/continuum.
+ listener and one proxy HTTP listener. With this configuration Jetty will
+ listen on two ports; 8080 and 8090. Continuum can be used from either
+ http://localhost:8080 or http://www.company.com/continuum. Note that the
+ proxying listener will make Continuum write out URLs with the configured proxy
+ host and port.
 
 +----+
 <service>

Modified: maven/continuum/trunk/continuum-test/pom.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-test/pom.xml?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-test/pom.xml (original)
+++ maven/continuum/trunk/continuum-test/pom.xml Thu Aug  4 00:04:54 2005
@@ -13,5 +13,9 @@
       <groupId>org.apache.maven.continuum</groupId>
       <artifactId>continuum-api</artifactId>
     </dependency>
+    <dependency>
+      <groupId>plexus</groupId>
+      <artifactId>plexus-jdo2</artifactId>
+    </dependency>
   </dependencies>
 </project>

Modified: maven/continuum/trunk/continuum-test/src/main/java/org/apache/maven/continuum/AbstractContinuumTest.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-test/src/main/java/org/apache/maven/continuum/AbstractContinuumTest.java?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-test/src/main/java/org/apache/maven/continuum/AbstractContinuumTest.java (original)
+++ maven/continuum/trunk/continuum-test/src/main/java/org/apache/maven/continuum/AbstractContinuumTest.java Thu Aug  4 00:04:54 2005
@@ -34,12 +34,21 @@
 import org.apache.maven.continuum.store.ContinuumStoreException;
 import org.apache.maven.continuum.utils.ContinuumUtils;
 import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.jdo.JdoFactory;
+import org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory;
+import org.codehaus.plexus.jdo.ConfigurableJdoFactory;
 import org.codehaus.plexus.util.FileUtils;
+import org.jpox.SchemaTool;
 
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Properties;
+import java.util.Iterator;
+import java.util.Map;
+import javax.jdo.JDOHelper;
+import javax.jdo.PersistenceManagerFactory;
+import javax.jdo.PersistenceManager;
 import java.io.IOException;
 
 /**
@@ -55,6 +64,8 @@
      */
     private static ContinuumProjectGroup defaultProjectGroup;
 
+    private ContinuumStore store;
+
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
@@ -65,6 +76,8 @@
         super.setUp();
 
         setUpConfigurationService( (ConfigurationService) lookup( ConfigurationService.ROLE ) );
+
+        getStore();
     }
 
     public static void setUpConfigurationService( ConfigurationService configurationService )
@@ -73,6 +86,8 @@
         configurationService.setInMemoryMode( true );
 
         configurationService.setBuildOutputDirectory( getTestFile( "target/build-output" ) );
+
+        configurationService.setWorkingDirectory( getTestFile( "target/working-directory" ) );
     }
 
     public static ContinuumProjectGroup getDefaultProjectGroup( ContinuumStore store )
@@ -102,7 +117,75 @@
     protected ContinuumStore getStore()
         throws Exception
     {
-        return (ContinuumStore) lookup( ContinuumStore.ROLE );
+        if ( store != null )
+        {
+            return store;
+        }
+
+        // ----------------------------------------------------------------------
+        // Set up the JDO factory
+        // ----------------------------------------------------------------------
+
+        Object o = lookup( JdoFactory.ROLE );
+
+        assertEquals( DefaultConfigurableJdoFactory.class.getName(), o.getClass().getName() );
+
+        ConfigurableJdoFactory jdoFactory = (ConfigurableJdoFactory) o;
+
+        jdoFactory.setPersistenceManagerFactoryClass( "org.jpox.PersistenceManagerFactoryImpl" );
+
+        jdoFactory.setDriverName( "org.hsqldb.jdbcDriver" );
+
+        jdoFactory.setUrl( "jdbc:hsqldb:mem:foo" );
+
+        jdoFactory.setUserName( "sa" );
+
+        jdoFactory.setPassword( "" );
+
+        jdoFactory.setProperty( "org.jpox.transactionIsolation", "READ_UNCOMMITTED" );
+
+        jdoFactory.setProperty( "org.jpox.poid.transactionIsolation", "READ_UNCOMMITTED" );
+
+        // ----------------------------------------------------------------------
+        // Create the tables
+        // ----------------------------------------------------------------------
+
+        Properties properties = jdoFactory.getProperties();
+
+        for ( Iterator it = properties.entrySet().iterator(); it.hasNext(); )
+        {
+            Map.Entry entry = (Map.Entry) it.next();
+
+            System.setProperty( (String) entry.getKey(), (String) entry.getValue() );
+        }
+
+        String[] files = new String[]{
+            getTestPath( "../continuum-model/src/main/resources/META-INF/package.jdo" ),
+        };
+
+        boolean verbose = false;
+
+        SchemaTool.createSchemaTables( files, verbose );
+
+        // ----------------------------------------------------------------------
+        // Check the configuration
+        // ----------------------------------------------------------------------
+
+        PersistenceManagerFactory pmf = jdoFactory.getPersistenceManagerFactory();
+
+        assertNotNull( pmf );
+
+        PersistenceManager pm = pmf.getPersistenceManager();
+
+        pm.close();
+
+        // ----------------------------------------------------------------------
+        //
+        // ----------------------------------------------------------------------
+
+        store = (ContinuumStore) lookup( ContinuumStore.ROLE );
+
+        return store;
     }
 
     // ----------------------------------------------------------------------
@@ -181,9 +264,6 @@
         project.setCommandLineArguments( commandLineArguments );
         project.setExecutorId( executorId );
 
-        // TODO: Remove
-        project.setWorkingDirectory( "/tmp" );
-
         return project;
     }
 
@@ -219,11 +299,15 @@
                                                       MavenTwoProject project )
         throws Exception
     {
-        if ( project.getProjectGroup() != null )
+        if ( project.getProjectGroup() == null )
         {
             project.setProjectGroup( getDefaultProjectGroup( store ) );
         }
 
+        assertNotNull( "project group == null", project.getProjectGroup() );
+
+        assertTrue( "!JDOHelper.isDetached( project.getProjectGroup() )", JDOHelper.isDetached( project.getProjectGroup() ) );
+
         // ----------------------------------------------------------------------
         //
         // ----------------------------------------------------------------------
@@ -232,6 +316,8 @@
 
         assertNotNull( addedProject );
 
+        assertNotNull( "project group == null", addedProject.getProjectGroup() );
+
         // ----------------------------------------------------------------------
         //
         // ----------------------------------------------------------------------
@@ -250,7 +336,9 @@
 
         scmResult.addFile( scmFile );
 
-        addedProject = setCheckoutDone( store, addedProject, scmResult, null, null );
+//        addedProject = setCheckoutDone( store, addedProject, scmResult, null, null );
+
+        assertNotNull( "project group == null", addedProject.getProjectGroup() );
 
         return (MavenTwoProject) addedProject;
     }
@@ -313,7 +401,7 @@
 
         project.setCheckOutErrorMessage( errorMessage );
 
-        project.setCheckOutErrorException( ContinuumUtils.throwableToString( exception ) );
+        project.setCheckOutErrorException( ContinuumUtils.throwableMessagesToString( exception ) );
 
         return store.updateProject( project );
     }

Modified: maven/continuum/trunk/continuum-web/src/main/java/org/apache/maven/continuum/web/action/AddMavenTwoProject.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/java/org/apache/maven/continuum/web/action/AddMavenTwoProject.java?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/java/org/apache/maven/continuum/web/action/AddMavenTwoProject.java (original)
+++ maven/continuum/trunk/continuum-web/src/main/java/org/apache/maven/continuum/web/action/AddMavenTwoProject.java Thu Aug  4 00:04:54 2005
@@ -10,7 +10,7 @@
 
 /**
  * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
- * @version $Id:$
+ * @version $Id$
  */
 public class AddMavenTwoProject
     extends AbstractEntityAction

Modified: maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/Summary.vm
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/Summary.vm?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/Summary.vm (original)
+++ maven/continuum/trunk/continuum-web/src/main/resources/templates/screens/Summary.vm Thu Aug  4 00:04:54 2005
@@ -40,17 +40,17 @@
 
       <tr class="$css.nextClass">
         <td>$state.generate( $item )</td>
-        <td>$item.name</td>
-        <td>$item.version</td>
+        <td>$!item.name</td>
+        <td>$!item.version</td>
         <td>$item.buildNumber</td>
-        <td><a href="$link.setPage('View.vm').addPathInfo('fid', "${item.executorId}Project").addPathInfo('id', $item.id)">View</a></td>
+        <td><a href="$link.setPage('View.vm').addPathInfo('fid', "$!{item.executorId}Project").addPathInfo('id', $item.id)">View</a></td>
 
         ## Operations
 
-        <td><a href="$link.setPage('Edit.vm').addPathInfo('fid', "${item.executorId}Project").addPathInfo('id', $item.id)">Edit</a></td>
+        <td><a href="$link.setPage('Edit.vm').addPathInfo('fid', "$!{item.executorId}Project").addPathInfo('id', $item.id)">Edit</a></td>
 
         #if ( $item.state == 1 || $item.state == 2 || $item.state == 3 || $item.state == 4 )
-        <td><a href="$link.setPage('Delete.vm').addPathInfo('fid', "${item.executorId}Project").addPathInfo('id', $item.id)">Delete</a></td>
+        <td><a href="$link.setPage('Delete.vm').addPathInfo('fid', "$!{item.executorId}Project").addPathInfo('id', $item.id)">Delete</a></td>
         #else
         <td>Delete</td>
         #end

Modified: maven/continuum/trunk/pom.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/pom.xml?rev=227315&r1=227314&r2=227315&view=diff
==============================================================================
--- maven/continuum/trunk/pom.xml (original)
+++ maven/continuum/trunk/pom.xml Thu Aug  4 00:04:54 2005
@@ -160,6 +160,11 @@
         <artifactId>plexus-utils</artifactId>
         <version>1.0.2-SNAPSHOT</version>
       </dependency>       
+      <dependency>
+        <groupId>plexus</groupId>
+        <artifactId>plexus-jdo2</artifactId>
+        <version>1.0-alpha-2-SNAPSHOT</version>
+      </dependency>       
     </dependencies>    
   </dependencyManagement>