You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ep...@apache.org on 2006/09/21 02:12:33 UTC

svn commit: r448412 [2/4] - in /maven/continuum/branches/release-integration/continuum: ./ continuum-api/ continuum-api/src/main/java/org/apache/maven/continuum/execution/ continuum-api/src/main/java/org/apache/maven/continuum/project/builder/ continuu...

Added: maven/continuum/branches/release-integration/continuum/continuum-model/src/main/mdo/continuum.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-model/src/main/mdo/continuum.xml?view=auto&rev=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-model/src/main/mdo/continuum.xml (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-model/src/main/mdo/continuum.xml Wed Sep 20 17:12:28 2006
@@ -0,0 +1,1191 @@
+<model>
+  <id>continuum</id>
+  <name>Continuum</name>
+  <description>Continuum's object model.</description>
+  <defaults>
+    <default>
+      <key>package</key>
+      <value>org.apache.maven.continuum.model.project</value>
+    </default>
+  </defaults>
+
+  <classes>
+    <!--
+     TODO: need another root element that encases all the independant trees here
+    -->
+
+    <class rootElement="true">
+      <name>ProjectGroup</name>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>id</name>
+          <version>1.0.0+</version>
+          <required>true</required>
+          <type>int</type>
+          <identifier>true</identifier>
+        </field>
+        <field>
+          <name>groupId</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>name</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field stash.maxSize="8192">
+          <name>description</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field jpox.mappedBy="projectGroup" jpox.fetchGroupNames="projectgroup-projects project-build-details">
+          <name>projects</name>
+          <version>1.0.0+</version>
+          <association jpox.join="false">
+            <type>Project</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+        <field jpox.fetchGroupNames="project-build-details">
+          <name>notifiers</name>
+          <version>1.0.0+</version>
+          <association>
+            <type>ProjectNotifier</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+        <field jpox.fetchGroupNames="project-build-details">
+          <name>buildDefinitions</name>
+          <version>1.0.0+</version>
+          <association>
+            <type>BuildDefinition</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+      </fields>
+    </class>
+
+    <class>
+      <name>Project</name>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>id</name>
+          <required>true</required>
+          <identifier>true</identifier>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>groupId</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>artifactId</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>executorId</name>
+          <version>1.0.0</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>name</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field stash.maxSize="8192">
+          <name>description</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field stash.maxSize="256">
+          <name>url</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field stash.maxSize="256">
+          <name>scmUrl</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>scmTag</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>scmUsername</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>scmPassword</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>version</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <!-- TODO: should these 3 just be queried from the builds list? -->
+        <field>
+          <name>state</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+          <defaultValue>1</defaultValue>
+        </field>
+        <field>
+          <name>oldState</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <!-- TODO: maybe buildresult itself? -->
+        <field>
+          <name>latestBuildId</name>
+          <version>1.0.0</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>buildNumber</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field stash.maxSize="256">
+          <name>workingDirectory</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field jpox.mappedBy="project" jpox.fetchGroupNames="project-with-builds">
+          <name>buildResults</name>
+          <version>1.0.0+</version>
+          <association jpox.join="false">
+            <type>BuildResult</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+        <!-- TODO: remove -->
+        <field jpox.fetchGroupNames="project-with-checkout-result">
+          <name>checkoutResult</name>
+          <version>1.0.0+</version>
+          <association>
+            <type>ScmResult</type>
+          </association>
+        </field>
+        <field jpox.fetchGroupNames="project-all-details">
+          <name>developers</name>
+          <version>1.0.0+</version>
+          <association jpox.join="false">
+            <type>ProjectDeveloper</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+        <field jpox.fetchGroupNames="project-all-details project-dependencies">
+          <name>parent</name>
+          <version>1.0.0+</version>
+          <association jpox.join="false">
+            <type>ProjectDependency</type>
+          </association>
+        </field>
+        <field jpox.fetchGroupNames="project-all-details project-dependencies">
+          <name>dependencies</name>
+          <version>1.0.0+</version>
+          <association jpox.join="false">
+            <type>ProjectDependency</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+        <field>
+          <name>projectGroup</name>
+          <version>1.0.0+</version>
+          <required>true</required>
+          <association stash.part="true" jpox.dependent="false">
+            <type>ProjectGroup</type>
+          </association>
+        </field>
+        <field jpox.fetchGroupNames="project-build-details project-all-details">
+          <name>notifiers</name>
+          <version>1.0.0+</version>
+          <association>
+            <type>ProjectNotifier</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+        <field jpox.fetchGroupNames="project-build-details project-all-details">
+          <name>buildDefinitions</name>
+          <version>1.0.0+</version>
+          <association>
+            <type>BuildDefinition</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+      </fields>
+    </class>
+
+    <class>
+      <name>ProjectNotifier</name>
+      <version>1.0.0+</version>
+      <description>
+        Configures one method for notifying users/developers when a build breaks.
+      </description>
+      <fields>
+        <field>
+          <name>id</name>
+          <required>true</required>
+          <identifier>true</identifier>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>type</name>
+          <version>1.0.0+</version>
+          <defaultValue>mail</defaultValue>
+          <type>String</type>
+          <description>The mechanism used to deliver notifications.</description>
+        </field>
+        <field>
+          <name>from</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+          <description>The origin of the notifier (pom or user).</description>
+        </field>
+        <field>
+          <name>enabled</name>
+          <version>1.0.0+</version>
+          <defaultValue>true</defaultValue>
+          <type>boolean</type>
+        </field>
+        <field>
+          <name>recipientType</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>sendOnSuccess</name>
+          <version>1.0.0+</version>
+          <type>boolean</type>
+          <defaultValue>true</defaultValue>
+        </field>
+        <field>
+          <name>sendOnFailure</name>
+          <version>1.0.0+</version>
+          <type>boolean</type>
+          <defaultValue>true</defaultValue>
+        </field>
+        <field>
+          <name>sendOnError</name>
+          <version>1.0.0+</version>
+          <type>boolean</type>
+          <defaultValue>true</defaultValue>
+        </field>
+        <field>
+          <name>sendOnWarning</name>
+          <version>1.0.0+</version>
+          <type>boolean</type>
+          <defaultValue>true</defaultValue>
+        </field>
+        <field>
+          <name>configuration</name>
+          <version>1.0.0+</version>
+          <description>Extended configuration specific to this notifier goes here.</description>
+          <type>Map</type>
+          <association xml.mapStyle="inline" stash.part="true" stash.keyType="java.lang.String">
+            <type>String</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+      </fields>
+      <codeSegments>
+        <codeSegment>
+          <version>1.0.0+</version>
+          <code><![CDATA[
+
+              public static final int FROM_PROJECT = 1;
+
+              public static final int FROM_USER = 2;
+
+              public boolean isFromProject()
+              {
+                  return from == FROM_PROJECT;
+              }
+
+              public boolean isFromUser()
+              {
+                  return from == FROM_USER;
+              }
+          ]]></code>
+        </codeSegment>
+      </codeSegments>
+    </class>
+
+    <class>
+      <name>ProjectDeveloper</name>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>scmId</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>name</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>email</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>continuumId</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+      </fields>
+    </class>
+
+    <class>
+      <name>ProjectDependency</name>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>groupId</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>artifactId</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>version</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+      </fields>
+    </class>
+
+    <class>
+      <name>BuildResult</name>
+      <version>1.0.0+</version>
+      <description><![CDATA[
+        This class is a single continuum build.
+      ]]></description>
+      <fields>
+        <field>
+          <name>project</name>
+          <version>1.0.0+</version>
+          <!-- required>true</required -->
+          <association stash.part="true" jpox.dependent="false">
+            <type>Project</type>
+          </association>
+        </field>
+        <field>
+          <name>id</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+          <identifier>true</identifier>
+        </field>
+        <field>
+          <name>buildNumber</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>state</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>trigger</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>startTime</name>
+          <version>1.0.0+</version>
+          <!-- TODO: Because JPOX persists as UTC and pulls back using the local time, we have to take over -->
+          <type>long</type>
+        </field>
+        <field>
+          <name>endTime</name>
+          <version>1.0.0+</version>
+          <!-- TODO: Because JPOX persists as UTC and pulls back using the local time, we have to take over -->
+          <type>long</type>
+        </field>
+        <field stash.maxSize="8192">
+          <name>error</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>success</name>
+          <version>1.0.0+</version>
+          <type>boolean</type>
+        </field>
+        <field>
+          <name>exitCode</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field jpox.fetchGroupNames="build-result-with-details">
+          <name>scmResult</name>
+          <version>1.0.0+</version>
+          <association>
+            <type>ScmResult</type>
+          </association>
+        </field>
+        <field jpox.fetchGroupNames="build-result-with-details">
+          <name>testResult</name>
+          <version>1.0.0+</version>
+          <association>
+            <type>TestResult</type>
+          </association>
+        </field>
+      </fields>
+    </class>
+
+    <class>
+      <name>ScmResult</name>
+      <packageName>org.apache.maven.continuum.model.scm</packageName>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>success</name>
+          <version>1.0.0+</version>
+          <type>boolean</type>
+        </field>
+        <field>
+          <name>commandLine</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field stash.maxSize="1024">
+          <name>providerMessage</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <!-- TODO: page to disk? -->
+        <field stash.maxSize="1024">
+          <name>commandOutput</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field stash.maxSize="8192">
+          <name>exception</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>changes</name>
+          <version>1.0.0+</version>
+          <association stash.part="true" jpox.join="false">
+            <type>ChangeSet</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+      </fields>
+    </class>
+
+    <class>
+      <name>ChangeSet</name>
+      <packageName>org.apache.maven.continuum.model.scm</packageName>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>author</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field stash.maxSize="8192">
+          <name>comment</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>date</name>
+          <version>1.0.0+</version>
+          <!-- TODO: Because JPOX persists as UTC and pulls back using the local time, we have to take over -->
+          <type>long</type>
+        </field>
+        <field>
+          <name>files</name>
+          <version>1.0.0+</version>
+          <association stash.part="true" jpox.join="false">
+            <type>ChangeFile</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+      </fields>
+      <codeSegments>
+        <codeSegment>
+          <version>1.0.0+</version>
+          <code><![CDATA[
+            /**
+             * @return Returns string representation of the changeset
+             */
+            public String toString()
+            {
+                String result = author + "\n" + date + "\n";
+
+                if ( files != null )
+                {
+                    for ( java.util.Iterator i = files.iterator(); i.hasNext(); )
+                    {
+                        ChangeFile file = (ChangeFile) i.next();
+
+                        result += file + "\n";
+                    }
+                }
+
+                result += comment;
+
+                return result;
+            }
+
+            /**
+             * @see java.lang.Object#equals(java.lang.Object)
+             */
+            public boolean equals( Object obj )
+            {
+                if ( obj instanceof ChangeSet )
+                {
+                    ChangeSet changeSet = (ChangeSet) obj;
+
+                    if ( toString().equals( changeSet.toString() ) )
+                    {
+                        return true;
+                    }
+                }
+
+                return false;
+            }
+
+            public java.util.Date getDateAsDate()
+            {
+                if ( date > 0 )
+                {
+                    return new java.util.Date( date );
+                }
+
+                return null;
+            }
+          ]]></code>
+        </codeSegment>
+      </codeSegments>
+    </class>
+
+    <class>
+      <name>ChangeFile</name>
+      <packageName>org.apache.maven.continuum.model.scm</packageName>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>name</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>revision</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>status</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+      </fields>
+      <codeSegments>
+        <codeSegment>
+          <version>1.0.0+</version>
+          <code><![CDATA[
+            /**
+             * Provide a version of the object as a string for debugging purposes
+             *
+             * @return a {@link String}made up of the properties of the object
+             */
+            public String toString()
+            {
+                StringBuffer buffer = new StringBuffer( getName() );
+
+                if ( getRevision() != null )
+                {
+                    buffer.append( ", " ).append( getRevision() );
+                }
+
+                return buffer.toString();
+            }
+          ]]></code>
+        </codeSegment>
+      </codeSegments>
+    </class>
+
+    <class>
+      <name>TestResult</name>
+      <packageName>org.apache.maven.continuum.model.scm</packageName>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>testCount</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>failureCount</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>totalTime</name>
+          <version>1.0.0+</version>
+          <type>long</type>
+        </field>
+        <field>
+          <name>suiteResults</name>
+          <version>1.0.0+</version>
+          <association stash.part="true" jpox.join="false">
+            <type>SuiteResult</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+      </fields>
+    </class>
+
+    <class>
+      <name>SuiteResult</name>
+      <packageName>org.apache.maven.continuum.model.scm</packageName>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>name</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>testCount</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>failureCount</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>totalTime</name>
+          <version>1.0.0+</version>
+          <type>long</type>
+        </field>
+        <field>
+          <name>failures</name>
+          <version>1.0.0+</version>
+          <association stash.part="true" jpox.join="false">
+            <type>TestCaseFailure</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+      </fields>
+    </class>
+
+    <class>
+      <name>TestCaseFailure</name>
+      <packageName>org.apache.maven.continuum.model.scm</packageName>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>name</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field stash.maxSize="8192">
+          <name>exception</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+      </fields>
+    </class>
+
+    <class>
+      <name>BuildDefinition</name>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>id</name>
+          <required>true</required>
+          <identifier>true</identifier>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>defaultForProject</name>
+          <version>1.0.0+</version>
+          <type>boolean</type>
+          <defaultValue>false</defaultValue>
+        </field>
+        <field>
+          <name>goals</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>arguments</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>buildFile</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>schedule</name>
+          <version>1.0.0+</version>
+          <association stash.part="true" jpox.dependent="false">
+            <type>Schedule</type>
+          </association>
+        </field>
+        <field>
+          <name>profile</name>
+          <version>1.0.0+</version>
+          <association stash.part="true" jpox.dependent="false">
+            <type>Profile</type>
+          </association>
+        </field>
+        <field jpox.nullValue="default">
+          <name>latestBuildId</name>
+          <version>1.0.0</version>
+          <type>int</type>
+          <defaultValue>0</defaultValue>
+        </field>
+      </fields>
+    </class>
+
+    <class>
+      <name>Schedule</name>
+      <version>1.0.0+</version>
+      <description><![CDATA[
+        Schedule for a project.
+      ]]></description>
+      <fields>
+        <field>
+          <name>id</name>
+          <identifier>true</identifier>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>active</name>
+          <version>1.0.0+</version>
+          <type>boolean</type>
+        </field>
+        <field>
+          <name>name</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>description</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>delay</name>
+          <description><![CDATA[
+            Delay in seconds.
+          ]]></description>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>maxJobExecutionTime</name>
+          <description>
+            Maximum execution time of a job in seconds before it's
+            terminated.
+          </description>
+          <version>1.0.0+</version>
+          <type>int</type>
+          <defaultValue>3600</defaultValue>
+        </field>
+        <field>
+          <name>cronExpression</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+      </fields>
+    </class>
+
+    <class>
+      <name>Profile</name>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>id</name>
+          <identifier>true</identifier>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>active</name>
+          <version>1.0.0+</version>
+          <type>boolean</type>
+        </field>
+        <field>
+          <name>name</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>description</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>scmMode</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>buildWithoutChanges</name>
+          <version>1.0.0+</version>
+          <type>boolean</type>
+        </field>
+        <field>
+          <name>jdk</name>
+          <version>1.0.0+</version>
+          <association stash.part="true" jpox.dependent="false">
+            <type>Installation</type>
+          </association>
+        </field>
+        <field>
+          <name>builder</name>
+          <version>1.0.0+</version>
+          <association stash.part="true" jpox.dependent="false">
+            <type>Installation</type>
+          </association>
+        </field>
+      </fields>
+    </class>
+
+    <class>
+      <name>Installation</name>
+      <packageName>org.apache.maven.continuum.model.system</packageName>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>version</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>path</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>name</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+      </fields>
+    </class>
+
+    <class>
+      <name>SystemConfiguration</name>
+      <packageName>org.apache.maven.continuum.model.system</packageName>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>guestAccountEnabled</name>
+          <version>1.0.0+</version>
+          <type>boolean</type>
+          <defaultValue>true</defaultValue>
+        </field>
+        <field>
+          <name>defaultScheduleDescription</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+          <defaultValue>Run hourly</defaultValue>
+        </field>
+        <field>
+          <name>defaultScheduleCronExpression</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+          <defaultValue>0 0 * * * ?</defaultValue>
+        </field>
+        <field>
+          <name>workingDirectory</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+          <defaultValue>working-directory</defaultValue>
+        </field>
+        <field>
+          <name>buildOutputDirectory</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+          <defaultValue>build-output-directory</defaultValue>
+        </field>
+        <field>
+          <name>deploymentRepositoryDirectory</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>baseUrl</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>companyName</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>companyLogoUrl</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>companyUrl</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>initialized</name>
+          <version>1.0.0+</version>
+          <type>boolean</type>
+          <defaultValue>false</defaultValue>
+        </field>
+      </fields>
+    </class>
+
+    <class>
+      <name>UserGroup</name>
+      <packageName>org.apache.maven.continuum.model.system</packageName>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>id</name>
+          <identifier>true</identifier>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>name</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>description</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>permissions</name>
+          <version>1.0.0+</version>
+          <association stash.part="true" jpox.dependent="false">
+            <type>Permission</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+      </fields>
+    </class>
+    <class>
+      <name>ContinuumUser</name>
+      <packageName>org.apache.maven.continuum.model.system</packageName>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>accountId</name>
+          <version>1.0.0+</version>
+          <type>int</type>
+          <identifier>true</identifier>
+        </field>
+        <field>
+          <name>username</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>guest</name>
+          <version>1.0.0+</version>
+          <type>boolean</type>
+          <defaultValue>false</defaultValue>
+        </field>
+        <field>
+          <name>hashedPassword</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>fullName</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>email</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>group</name>
+          <version>1.0.0+</version>
+          <association stash.part="true" jpox.dependent="false">
+            <type>UserGroup</type>
+          </association>
+        </field>
+        <field>
+          <name>notificationAddresses</name>
+          <version>1.0.0+</version>
+          <association stash.part="true" >
+            <type>NotificationAddress</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+      </fields>
+      <codeSegments>
+        <codeSegment>
+          <version>1.0.0+</version>
+          <code><![CDATA[
+            public String getPassword()
+            {
+                return "";
+            }
+
+            public void setPassword( String password )
+            {
+                setHashedPassword( crypt( password ) );
+            }
+
+            public boolean equalsPassword( String password )
+            {
+                if ( hashedPassword == null && password == null )
+                {
+                    return true;
+                }
+
+                if ( ( hashedPassword == null && password != null ) || ( hashedPassword == null && password != null ) )
+                {
+                    return false;
+                }
+
+                return hashedPassword.equals( crypt( password ) );
+            }
+
+            private String crypt( String data )
+            {
+                try
+                {
+                    java.security.MessageDigest digester = java.security.MessageDigest.getInstance( "SHA-1" );
+                    digester.reset();
+                    digester.update( data.getBytes() );
+                    return encode( digester.digest() );
+                }
+                catch( Exception e )
+                {
+                    return data;
+                }
+            }
+
+            /**
+             * Encodes a 128 bit or 160-bit byte array into a String.
+             *
+             * @param binaryData Array containing the digest
+             * @return Encoded hex string, or null if encoding failed
+             */
+            private String encode( byte[] binaryData )
+            {
+                if ( binaryData.length != 16 && binaryData.length != 20 )
+                {
+                    int bitLength = binaryData.length * 8;
+                    throw new IllegalArgumentException( "Unrecognised length for binary data: " + bitLength + " bits" );
+                }
+
+                String retValue = "";
+
+                for ( int i = 0; i < binaryData.length; i++ )
+                {
+                    String t = Integer.toHexString( binaryData[i] & 0xff );
+
+                    if ( t.length() == 1 )
+                    {
+                        retValue += ( "0" + t );
+                    }
+                    else
+                    {
+                        retValue += t;
+                    }
+                }
+
+                return retValue.trim();
+            }
+          ]]></code>
+        </codeSegment>
+      </codeSegments>
+    </class>
+
+    <class>
+      <name>Permission</name>
+      <packageName>org.apache.maven.continuum.model.system</packageName>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>id</name>
+          <identifier>true</identifier>
+          <version>1.0.0+</version>
+          <type>int</type>
+        </field>
+        <field>
+          <name>name</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>description</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+      </fields>
+    </class>
+
+    <class>
+      <name>NotificationAddress</name>
+      <version>1.0.0+</version>
+      <packageName>org.apache.maven.continuum.model.system</packageName>
+      <description>
+        Configures one method for notifying users/developers when a build breaks.
+      </description>
+      <fields>
+        <field>
+          <name>type</name>
+          <version>1.0.0+</version>
+          <defaultValue>mail</defaultValue>
+          <type>String</type>
+          <description>The mechanism used to deliver notifications.</description>
+        </field>
+        <field>
+          <name>address</name>
+          <version>1.0.0+</version>
+          <type>String</type>
+        </field>
+        <field>
+          <name>configuration</name>
+          <version>1.0.0+</version>
+          <description>Extended configuration specific to this notifier goes here.</description>
+          <type>Map</type>
+          <association xml.mapStyle="inline" stash.part="true" stash.keyType="java.lang.String">
+            <type>String</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
+      </fields>
+    </class>
+  </classes>
+</model>

Propchange: maven/continuum/branches/release-integration/continuum/continuum-model/src/main/mdo/continuum.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: maven/continuum/branches/release-integration/continuum/continuum-notifiers/continuum-notifier-api/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-notifiers/continuum-notifier-api/pom.xml?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-notifiers/continuum-notifier-api/pom.xml (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-notifiers/continuum-notifier-api/pom.xml Wed Sep 20 17:12:28 2006
@@ -7,5 +7,4 @@
   <modelVersion>4.0.0</modelVersion>
   <artifactId>continuum-notifier-api</artifactId>
   <name>Continuum Notifier API</name>
-  <version>1.1-SNAPSHOT</version>
 </project>

Modified: maven/continuum/branches/release-integration/continuum/continuum-notifiers/continuum-notifier-irc/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-notifiers/continuum-notifier-irc/pom.xml?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-notifiers/continuum-notifier-irc/pom.xml (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-notifiers/continuum-notifier-irc/pom.xml Wed Sep 20 17:12:28 2006
@@ -7,7 +7,6 @@
   <modelVersion>4.0.0</modelVersion>
   <artifactId>continuum-notifier-irc</artifactId>
   <name>Continuum IRC Notifier</name>
-  <version>1.1-SNAPSHOT</version>
   <dependencies>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
@@ -17,7 +16,7 @@
     <dependency>
       <groupId>org.apache.maven.continuum</groupId>
       <artifactId>continuum-notifier-api</artifactId>
-      <version>1.1-SNAPSHOT</version>
+      <version>${pom.version}</version>
     </dependency>
   </dependencies>
 </project>

Modified: maven/continuum/branches/release-integration/continuum/continuum-notifiers/continuum-notifier-jabber/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-notifiers/continuum-notifier-jabber/pom.xml?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-notifiers/continuum-notifier-jabber/pom.xml (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-notifiers/continuum-notifier-jabber/pom.xml Wed Sep 20 17:12:28 2006
@@ -7,12 +7,11 @@
   <modelVersion>4.0.0</modelVersion>
   <artifactId>continuum-notifier-jabber</artifactId>
   <name>Continuum Jabber Notifier</name>
-  <version>1.1-SNAPSHOT</version>
   <dependencies>
     <dependency>
       <groupId>org.apache.maven.continuum</groupId>
       <artifactId>continuum-notifier-api</artifactId>
-      <version>1.1-SNAPSHOT</version>
+      <version>${pom.version}</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>

Modified: maven/continuum/branches/release-integration/continuum/continuum-notifiers/continuum-notifier-msn/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-notifiers/continuum-notifier-msn/pom.xml?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-notifiers/continuum-notifier-msn/pom.xml (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-notifiers/continuum-notifier-msn/pom.xml Wed Sep 20 17:12:28 2006
@@ -7,7 +7,6 @@
   <modelVersion>4.0.0</modelVersion>
   <artifactId>continuum-notifier-msn</artifactId>
   <name>Continuum MSN Notifier</name>
-  <version>1.1-SNAPSHOT</version>
   <dependencies>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
@@ -17,7 +16,7 @@
     <dependency>
       <groupId>org.apache.maven.continuum</groupId>
       <artifactId>continuum-notifier-api</artifactId>
-      <version>1.1-SNAPSHOT</version>
+      <version>${pom.version}</version>
     </dependency>
   </dependencies>
 </project>

Modified: maven/continuum/branches/release-integration/continuum/continuum-notifiers/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-notifiers/pom.xml?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-notifiers/pom.xml (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-notifiers/pom.xml Wed Sep 20 17:12:28 2006
@@ -8,7 +8,6 @@
   <artifactId>continuum-notifiers</artifactId>
   <packaging>pom</packaging>
   <name>Continuum Notifiers</name>
-  <version>1.1-SNAPSHOT</version>
   <modules>
     <module>continuum-notifier-api</module>
     <module>continuum-notifier-irc</module>

Modified: maven/continuum/branches/release-integration/continuum/continuum-plexus-application/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-plexus-application/pom.xml?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-plexus-application/pom.xml (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-plexus-application/pom.xml Wed Sep 20 17:12:28 2006
@@ -8,7 +8,6 @@
   <artifactId>continuum-plexus-application</artifactId>
   <packaging>plexus-application</packaging>
   <name>Continuum Plexus Application</name>
-  <version>1.1-SNAPSHOT</version>
   <build>
     <plugins>
       <plugin>
@@ -22,7 +21,7 @@
         </executions>
         <configuration>
           <descriptor>src/assembly/bin.xml</descriptor>
-          <finalName>continuum-1.1-SNAPSHOT</finalName>
+          <finalName>continuum-${pom.version}</finalName>
         </configuration>
       </plugin>
       <plugin>

Modified: maven/continuum/branches/release-integration/continuum/continuum-release/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-release/pom.xml?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-release/pom.xml (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-release/pom.xml Wed Sep 20 17:12:28 2006
@@ -16,12 +16,10 @@
     <dependency>
       <groupId>org.apache.maven.continuum</groupId>
       <artifactId>continuum-api</artifactId>
-      <version>1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-project</artifactId>
-      <version>2.0.4</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.plugins</groupId>
@@ -31,7 +29,6 @@
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-taskqueue</artifactId>
-      <version>1.0-alpha-3</version>
     </dependency>
   </dependencies>
   <build>

Modified: maven/continuum/branches/release-integration/continuum/continuum-release/src/test/java/org/apache/maven/continuum/release/executors/ReleaseTaskExecutorTest.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-release/src/test/java/org/apache/maven/continuum/release/executors/ReleaseTaskExecutorTest.java?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-release/src/test/java/org/apache/maven/continuum/release/executors/ReleaseTaskExecutorTest.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-release/src/test/java/org/apache/maven/continuum/release/executors/ReleaseTaskExecutorTest.java Wed Sep 20 17:12:28 2006
@@ -18,9 +18,7 @@
 
 import org.apache.maven.continuum.release.tasks.PrepareReleaseProjectTask;
 import org.apache.maven.continuum.release.tasks.PerformReleaseProjectTask;
-import org.apache.maven.continuum.release.ContinuumReleaseManager;
 import org.apache.maven.plugins.release.config.ReleaseDescriptor;
-import org.apache.maven.plugins.release.ReleaseResult;
 import org.apache.maven.scm.manager.NoSuchScmProviderException;
 import org.apache.maven.scm.manager.ScmManager;
 import org.apache.maven.scm.repository.ScmRepository;
@@ -30,7 +28,6 @@
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.taskqueue.Task;
 import org.codehaus.plexus.taskqueue.execution.TaskExecutor;
-import org.codehaus.plexus.taskqueue.execution.TaskExecutionException;
 
 import java.io.File;
 
@@ -40,8 +37,6 @@
 public class ReleaseTaskExecutorTest
     extends PlexusTestCase
 {
-    private ContinuumReleaseManager releaseManager;
-
     private ScmManager scmManager;
 
     private TaskExecutor prepareExec;
@@ -67,11 +62,6 @@
         {
             performExec = (TaskExecutor) lookup( TaskExecutor.class.getName(), "perform-release" );
         }
-
-        if ( releaseManager == null )
-        {
-            releaseManager = (ContinuumReleaseManager) lookup( ContinuumReleaseManager.ROLE );
-        }
     }
 
     public void testReleaseSimpleProject()
@@ -95,7 +85,7 @@
         String pom = FileUtils.fileRead( new File( workDir, "pom.xml" ) );
         assertTrue( "Test dev version", pom.indexOf( "<version>1.0-SNAPSHOT</version>" ) > 0 );
 
-        doPrepareWithNoError( descriptor );
+        prepareExec.executeTask( getPrepareTask( "testRelease", descriptor ) );
 
         pom = FileUtils.fileRead( new File( workDir, "pom.xml" ) );
         assertTrue( "Test version increment", pom.indexOf( "<version>1.1-SNAPSHOT</version>" ) > 0 );
@@ -131,7 +121,7 @@
         String pom = FileUtils.fileRead( new File( workDir, "pom.xml" ) );
         assertTrue( "Test dev version", pom.indexOf( "<version>1.1-SNAPSHOT</version>" ) > 0 );
 
-        doPrepareWithNoError( descriptor );
+        prepareExec.executeTask( getPrepareTask( "testRelease", descriptor ) );
 
         pom = FileUtils.fileRead( new File( workDir, "pom.xml" ) );
         assertTrue( "Test version increment", pom.indexOf( "<version>2.1-SNAPSHOT</version>" ) > 0 );
@@ -143,26 +133,7 @@
         pom = FileUtils.fileRead( new File( testDir, "pom.xml" ) );
         assertTrue( "Test released version", pom.indexOf( "<version>2.0</version>" ) > 0 );
 
-        performExec.executeTask( getPerformTask( "testRelease", descriptor,
-                                                 new File( getBasedir(), "target/test-classes/build-dir" ) ) );
-
-        ReleaseResult result = (ReleaseResult) releaseManager.getReleaseResults().get( "testRelease" );
-        if ( result.getResultCode() != ReleaseResult.SUCCESS )
-        {
-            fail( "Error in release:perform. Release output follows: " + result.getOutput() );
-        }
-    }
-
-    private void doPrepareWithNoError( ReleaseDescriptor descriptor )
-        throws TaskExecutionException
-    {
-        prepareExec.executeTask( getPrepareTask( "testRelease", descriptor ) );
-
-        ReleaseResult result = (ReleaseResult) releaseManager.getReleaseResults().get( "testRelease" );
-        if ( result.getResultCode() != ReleaseResult.SUCCESS )
-        {
-            fail( "Error in release:prepare. Release output follows:\n" + result.getOutput() );
-        }
+        performExec.executeTask( getPerformTask( "testRelease", descriptor, new File( getBasedir(), "target/test-classes/build-dir" ) ) );
     }
 
     private Task getPrepareTask( String releaseId, ReleaseDescriptor descriptor )

Modified: maven/continuum/branches/release-integration/continuum/continuum-rpc-client/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-rpc-client/pom.xml?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-rpc-client/pom.xml (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-rpc-client/pom.xml Wed Sep 20 17:12:28 2006
@@ -7,7 +7,6 @@
   <modelVersion>4.0.0</modelVersion>
   <artifactId>continuum-rpc-client</artifactId>
   <name>Continuum client XML-RPC</name>
-  <version>1.1-SNAPSHOT</version>
   <description>XML-RPC client code for accessing Apache Continuum servers</description>
   <build>
     <plugins>
@@ -25,7 +24,7 @@
         <configuration>
           <version>1.0.0</version>
           <packageWithVersion>false</packageWithVersion>
-          <model>../continuum-model/src/main/mdo/continuum.mdo</model>
+          <model>../continuum-model/src/main/mdo/continuum.xml</model>
         </configuration>
       </plugin>
     </plugins>

Modified: maven/continuum/branches/release-integration/continuum/continuum-sandbox/continuum-python/continuum.py
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-sandbox/continuum-python/continuum.py?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-sandbox/continuum-python/continuum.py (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-sandbox/continuum-python/continuum.py Wed Sep 20 17:12:28 2006
@@ -1,5 +1,5 @@
 import os
-from time import strftime, gmtime
+from time import strftime, localtime
 import xmlrpclib
 
 class XmlRpcException:
@@ -327,10 +327,10 @@
         map[ "totalTime" ] = int( map[ "endTime" ] )/ 1000 - int( map[ "startTime" ] ) / 1000
 
         self.id = map[ "id" ]
+        self.state = int( map[ "state" ] )
         self.buildNumber = map[ "buildNumber" ]
-        if self.buildNumber == '0':
+        if ( self.state != Continuum.STATE_OK ):
             self.buildNumber = ''
-        self.state = int( map[ "state" ] )
         if ( map.has_key( "trigger" ) ):
             self.forced = map[ "trigger" ] == Continuum.TRIGGER_FORCED
             self.trigger = int( map[ "trigger" ] )
@@ -338,8 +338,8 @@
             self.forced = False
             self.trigger = 0
 
-        self.startTime = gmtime( int( map[ "startTime" ] ) / 1000 )
-        self.endTime = gmtime( int( map[ "endTime" ] ) / 1000 )
+        self.startTime = localtime( int( map[ "startTime" ] ) / 1000 )
+        self.endTime = localtime( int( map[ "endTime" ] ) / 1000 )
         self.totalTime = map[ "totalTime" ]
         self.error = map.get( "error" )
         self.map = map
@@ -412,7 +412,7 @@
         self.map = map
         self.author = map[ "author" ]
         self.comment = map[ "comment" ]
-        self.date = gmtime( int( map[ "date" ] ) / 1000 )
+        self.date = localtime( int( map[ "date" ] ) / 1000 )
 
         self.files = list()
         for f in map[ "files" ]:

Modified: maven/continuum/branches/release-integration/continuum/continuum-store/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-store/pom.xml?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-store/pom.xml (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-store/pom.xml Wed Sep 20 17:12:28 2006
@@ -7,7 +7,6 @@
   <modelVersion>4.0.0</modelVersion>
   <artifactId>continuum-store</artifactId>
   <name>Continuum Store</name>
-  <version>1.1-SNAPSHOT</version>
   <dependencies>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>

Modified: maven/continuum/branches/release-integration/continuum/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java Wed Sep 20 17:12:28 2006
@@ -36,6 +36,7 @@
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
 
 import javax.jdo.Extent;
+import javax.jdo.FetchPlan;
 import javax.jdo.JDOHelper;
 import javax.jdo.JDOUserException;
 import javax.jdo.PersistenceManager;
@@ -1404,6 +1405,7 @@
         PersistenceManager pm = pmf.getPersistenceManager();
 
         pm.getFetchPlan().setMaxFetchDepth( -1 );
+        pm.getFetchPlan().setDetachmentOptions( FetchPlan.DETACH_LOAD_FIELDS );
 
         return pm;
     }

Modified: maven/continuum/branches/release-integration/continuum/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java Wed Sep 20 17:12:28 2006
@@ -1752,7 +1752,7 @@
     private ContinuumStore createStore()
         throws Exception
     {
-        ConfigurableJdoFactory jdoFactory = (ConfigurableJdoFactory) lookup( JdoFactory.ROLE );
+        DefaultConfigurableJdoFactory jdoFactory = (DefaultConfigurableJdoFactory) lookup( JdoFactory.ROLE );
         assertEquals( DefaultConfigurableJdoFactory.class.getName(), jdoFactory.getClass().getName() );
 
         jdoFactory.setPersistenceManagerFactoryClass( "org.jpox.PersistenceManagerFactoryImpl" );
@@ -1781,7 +1781,7 @@
             System.setProperty( (String) entry.getKey(), (String) entry.getValue() );
         }
 
-        SchemaTool.createSchemaTables( new URL[]{getClass().getResource( "/META-INF/package.jdo" )}, false );
+        SchemaTool.createSchemaTables( new URL[]{getClass().getResource( "/META-INF/package.jdo" )}, null, false );
 
         PersistenceManagerFactory pmf = jdoFactory.getPersistenceManagerFactory();
 

Modified: maven/continuum/branches/release-integration/continuum/continuum-store/src/test/resources/log4j.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-store/src/test/resources/log4j.xml?view=diff&rev=448412&r1=448139&r2=448412
==============================================================================
    (empty)

Modified: maven/continuum/branches/release-integration/continuum/continuum-test/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-test/pom.xml?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-test/pom.xml (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-test/pom.xml Wed Sep 20 17:12:28 2006
@@ -7,7 +7,6 @@
   <modelVersion>4.0.0</modelVersion>
   <artifactId>continuum-test</artifactId>
   <name>Continuum Test</name>
-  <version>1.1-SNAPSHOT</version>
   <dependencies>
     <dependency>
       <groupId>junit</groupId>
@@ -19,7 +18,7 @@
       <artifactId>plexus-jdo2</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven.continuum.jpox</groupId>
+      <groupId>jpox</groupId>
       <artifactId>jpox-enhancer</artifactId>
     </dependency>
     <dependency>

Modified: maven/continuum/branches/release-integration/continuum/continuum-test/src/main/java/org/apache/maven/continuum/AbstractContinuumTest.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-test/src/main/java/org/apache/maven/continuum/AbstractContinuumTest.java?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-test/src/main/java/org/apache/maven/continuum/AbstractContinuumTest.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-test/src/main/java/org/apache/maven/continuum/AbstractContinuumTest.java Wed Sep 20 17:12:28 2006
@@ -102,7 +102,7 @@
 
         assertEquals( DefaultConfigurableJdoFactory.class.getName(), o.getClass().getName() );
 
-        ConfigurableJdoFactory jdoFactory = (ConfigurableJdoFactory) o;
+        DefaultConfigurableJdoFactory jdoFactory = (DefaultConfigurableJdoFactory) o;
 
         jdoFactory.setPersistenceManagerFactoryClass( "org.jpox.PersistenceManagerFactoryImpl" );
 
@@ -129,7 +129,7 @@
             System.setProperty( (String) entry.getKey(), (String) entry.getValue() );
         }
 
-        SchemaTool.createSchemaTables( new URL[]{getClass().getResource( "/META-INF/package.jdo" )}, false );
+        SchemaTool.createSchemaTables( new URL[]{getClass().getResource( "/META-INF/package.jdo" )}, null, false );
 
         // ----------------------------------------------------------------------
         // Check the configuration

Modified: maven/continuum/branches/release-integration/continuum/continuum-web/pom.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-web/pom.xml?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-web/pom.xml (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-web/pom.xml Wed Sep 20 17:12:28 2006
@@ -7,7 +7,6 @@
   <modelVersion>4.0.0</modelVersion>
   <artifactId>continuum-web</artifactId>
   <name>Continuum Web</name>
-  <version>1.1-SNAPSHOT</version>
   <build>
     <resources>
       <resource>

Modified: maven/continuum/branches/release-integration/continuum/continuum-web/src/main/resources/templates/screens/ProjectBuild.vm
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-web/src/main/resources/templates/screens/ProjectBuild.vm?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-web/src/main/resources/templates/screens/ProjectBuild.vm (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-web/src/main/resources/templates/screens/ProjectBuild.vm Wed Sep 20 17:12:28 2006
@@ -61,9 +61,9 @@
         <td>$state.generate($build)</td>
       </tr>
       <tr class="b">
-        <th>Build#</th>
+        <th>Build #</th>
         <td>
-        #if ( $build.buildNumber != 0 )
+        #if ( $build.state == 2 )
           $build.buildNumber
         #else
           &nbsp;

Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Sep 20 17:12:28 2006
@@ -1,4 +1,3 @@
-
 target
 .classpath
 .project
@@ -7,3 +6,4 @@
 *.ipr
 *.iws
 ${plexus.home}
+derby.log

Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AbstractNotifierEditAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AbstractNotifierEditAction.java?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AbstractNotifierEditAction.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AbstractNotifierEditAction.java Wed Sep 20 17:12:28 2006
@@ -44,7 +44,7 @@
 
     private boolean sendOnWarning;
 
-    public String execute()
+    public String save()
         throws ContinuumException
     {
         boolean isNew = false;
@@ -82,7 +82,7 @@
         return SUCCESS;
     }
 
-    public String doDefault()
+    public String edit()
         throws ContinuumException
     {
         notifier = getNotifier();
@@ -104,7 +104,7 @@
 
         initConfiguration( notifier.getConfiguration() );
 
-        return INPUT;
+        return SUCCESS;
     }
 
     protected abstract void initConfiguration( Map configuration );

Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/BuildDefinitionAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/BuildDefinitionAction.java?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/BuildDefinitionAction.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/BuildDefinitionAction.java Wed Sep 20 17:12:28 2006
@@ -36,9 +36,8 @@
  * role-hint="buildDefinition"
  */
 public class BuildDefinitionAction
-    extends ContinuumActionSupport
+    extends ContinuumConfirmAction
 {
-    public static final String CONFIRM = "confirm";
 
     private int buildDefinitionId;
 
@@ -98,9 +97,8 @@
      * @return action result
      */
     public String input()
+        throws ContinuumException
     {
-        try
-        {
         if ( executor == null )
         {
             if ( projectId != 0 )
@@ -111,39 +109,23 @@
             {
                 Project project = (Project) getContinuum().getProjectGroup( projectGroupId ).getProjects().get( 0 );
                 executor = project.getExecutorId();
-
             }
-
-        }
-        }
-        catch ( ContinuumException e )
-        {
-            addActionError( "error determining executor type" );
-            return ERROR;
         }
 
         if ( buildDefinitionId != 0 )
         {
-            try
-            {
-                BuildDefinition buildDefinition = getContinuum().getBuildDefinition( buildDefinitionId );
-                goals = buildDefinition.getGoals();
-                arguments = buildDefinition.getArguments();
-                buildFile = buildDefinition.getBuildFile();
-                defaultBuildDefinition = buildDefinition.isDefaultForProject();
-
-            }
-            catch ( ContinuumException ce )
-            {
-                addActionError( "error getting build id" );
-                return ERROR;
-            }
+            BuildDefinition buildDefinition = getContinuum().getBuildDefinition( buildDefinitionId );
+            goals = buildDefinition.getGoals();
+            arguments = buildDefinition.getArguments();
+            buildFile = buildDefinition.getBuildFile();
+            defaultBuildDefinition = buildDefinition.isDefaultForProject();
         }
 
         return INPUT;
     }
 
     public String saveToProject()
+        throws ContinuumException
     {
 
         try
@@ -162,17 +144,12 @@
             addActionError( cae.getMessage() );
             return INPUT;
         }
-        catch ( ContinuumException ce )
-        {
-            getLogger().info("error saving project build definition", ce);
-            addActionError( "error saving project build definition" );
-            return ERROR;
-        }
 
         return SUCCESS;
     }
 
     public String saveToGroup()
+        throws ContinuumException
     {
         try
         {
@@ -190,55 +167,33 @@
             addActionError( cae.getMessage() );
             return INPUT;
         }
-        catch ( ContinuumException ce )
-        {
-            getLogger().info("error saving group build definition", ce);
-            addActionError( "error saving group build definition" );
-            return ERROR;
-        }
 
         return SUCCESS;
     }
 
     public String removeFromProject()
+        throws ContinuumException
     {
         if ( confirmed )
         {
-            try
-            {
-                getContinuum().removeBuildDefinitionFromProject( projectId, buildDefinitionId );
+            getContinuum().removeBuildDefinitionFromProject( projectId, buildDefinitionId );
 
-                return SUCCESS;
-            }
-            catch ( ContinuumException ce )
-            {
-                getLogger().info("error removing build definition from project", ce);
-                addActionError( "error removing build definition from project" );
-                return ERROR;
-            }
+            return SUCCESS;
         }
         else
-        {
+        {            
             return CONFIRM;
         }
     }
 
     public String removeFromProjectGroup()
+        throws ContinuumException
     {
         if ( confirmed )
         {
-            try
-            {
-                getContinuum().removeBuildDefinitionFromProject( projectGroupId, buildDefinitionId );
+            getContinuum().removeBuildDefinitionFromProject( projectGroupId, buildDefinitionId );
 
-                return SUCCESS;
-            }
-            catch ( ContinuumException ce )
-            {
-                getLogger().info("error removing build definition from project group", ce);
-                addActionError( "error removing build definition from project group" );
-                return ERROR;
-            }
+            return SUCCESS;
         }
         else
         {

Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/CancelBuildAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/CancelBuildAction.java?view=auto&rev=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/CancelBuildAction.java (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/CancelBuildAction.java Wed Sep 20 17:12:28 2006
@@ -0,0 +1,77 @@
+package org.apache.maven.continuum.web.action;
+
+/*
+ * Copyright 2004-2006 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 org.apache.maven.continuum.ContinuumException;
+import org.apache.maven.continuum.buildqueue.BuildProjectTask;
+import org.codehaus.plexus.taskqueue.Task;
+import org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id: CancelBuildAction.java 442951 2006-09-13 11:43:25Z kenney $
+ *
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="cancelBuild"
+ */
+public class CancelBuildAction
+    extends ContinuumActionSupport
+{
+    /** @plexus.requirement role-hint='build-project' */
+    private TaskQueueExecutor taskQueueExecutor;
+
+    private int projectId;
+
+    public String execute()
+        throws ContinuumException
+    {
+        Task task = taskQueueExecutor.getCurrentTask();
+
+        getLogger().info("TaskQueueExecutor: " + taskQueueExecutor );
+
+        if ( task != null )
+        {
+            if ( task instanceof BuildProjectTask )
+            {
+                if ( ( (BuildProjectTask) task ).getProjectId() == projectId )
+                {
+                    getLogger().info( "Cancelling task for project " + projectId );
+                    taskQueueExecutor.cancelTask( task );
+                }
+                else
+                {
+                    getLogger().warn( "Current task is not for the given projectId (" + projectId + "): "
+                        + ( (BuildProjectTask) task ).getProjectId() + "; not cancelling" );
+                }
+            }
+            else
+            {
+                getLogger().warn( "Current task not a BuildProjectTask - not cancelling" );
+            }
+        }
+        else
+        {
+            getLogger().warn( "No task running - not cancelling" );
+        }
+
+        return SUCCESS;
+    }
+
+    public void setProjectId( int projectId )
+    {
+        this.projectId = projectId;
+    }
+}

Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/CancelBuildAction.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ContinuumConfirmAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ContinuumConfirmAction.java?view=auto&rev=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ContinuumConfirmAction.java (added)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ContinuumConfirmAction.java Wed Sep 20 17:12:28 2006
@@ -0,0 +1,109 @@
+package org.apache.maven.continuum.web.action;
+
+/*
+ * 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.
+ */
+
+public class ContinuumConfirmAction 
+    extends ContinuumActionSupport
+{
+
+    public static final String CONFIRM = "confirm";
+
+    protected boolean confirmed = false;
+
+    protected String confirmedDisplay;
+
+    protected String confirmationTitle;
+
+    protected String confirmedName;
+
+    protected String confirmedValue;
+
+    protected String action;
+
+    protected void setConfirmationInfo( String title, String actionName, String displayString, 
+                                        String propertyName, String propertyValue )
+    {
+        action = actionName;
+        confirmationTitle = title;
+        confirmedDisplay = displayString;
+        confirmedName = propertyName;
+        confirmedValue = "" + propertyValue;
+    }
+
+    // setters and getters
+
+    public void setConfirmedName( String name )
+    {
+        confirmedName = name;
+    }
+
+    public String getConfirmedName()
+    {
+        return confirmedName;
+    }
+
+    public void setConfirmedValue( String value )
+    {
+        confirmedValue = value;
+    }
+
+    public String getConfirmedValue()
+    {
+        return confirmedValue;
+    }
+
+    public void setConfirmationTitle( String title )
+    {
+        confirmationTitle = title;
+    }
+
+    public String getConfirmationTitle()
+    {
+        return confirmationTitle;
+    }
+
+    public void setConfirmedDisplay( String display )
+    {
+        confirmedDisplay = display;
+    }
+
+    public String getConfirmedDisplay()
+    {
+        return confirmedDisplay;
+    }
+
+    public void setConfirmed( boolean _confirmed )
+    {
+        confirmed = _confirmed;
+    }
+
+    public boolean getConfirmed()
+    {
+        return confirmed;
+    }
+
+    public void setAction( String _action )
+    {
+        action = _action;
+    }
+
+    public String getAction()
+    {
+        return action;
+    }
+
+}

Propchange: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ContinuumConfirmAction.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectEditAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectEditAction.java?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectEditAction.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectEditAction.java Wed Sep 20 17:12:28 2006
@@ -47,7 +47,7 @@
 
     private String scmTag;
 
-    public String execute()
+    public String save()
         throws ContinuumException
     {
         project = getProject( projectId );
@@ -69,7 +69,7 @@
         return SUCCESS;
     }
 
-    public String doEdit()
+    public String edit()
         throws ContinuumException
     {
         project = getProject( projectId );
@@ -86,7 +86,7 @@
 
         scmTag = project.getScmTag();
 
-        return INPUT;
+        return SUCCESS;
     }
 
     private Project getProject( int projectId )

Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectGroupAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectGroupAction.java?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectGroupAction.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectGroupAction.java Wed Sep 20 17:12:28 2006
@@ -30,7 +30,7 @@
  *   role-hint="projectGroup"
  */
 public class ProjectGroupAction
-    extends ContinuumActionSupport
+    extends ContinuumConfirmAction
 {
     private int projectGroupId;
 
@@ -39,63 +39,51 @@
     private boolean confirmed;
 
     public String summary()
+        throws ContinuumException
     {
-        try
-        {
-            projectGroup = getContinuum().getProjectGroup( projectGroupId );
-        }
-        catch ( ContinuumException e)
-        {
-            addActionError( "unable to retrieve project group" );
-            return ERROR;
-        }
+        projectGroup = getContinuum().getProjectGroup( projectGroupId );
 
         return SUCCESS;
     }
 
     public String members()
+        throws ContinuumException
     {
         return summary();
     }
 
     public String buildDefinitions()
+        throws ContinuumException
     {
         return summary();
     }
 
     public String notifiers()
+        throws ContinuumException
     {
         return summary();
     }
 
     public String remove()
+        throws ContinuumException
     {
         //todo add confirm page like removing build definition
-        try
+        if ( confirmed )
         {
             getContinuum().removeProjectGroup( projectGroupId );
         }
-        catch ( ContinuumException e )
+        else
         {
-            addActionError( "unable to remove project group" );
-            return ERROR;
+            return CONFIRM;
         }
 
         return SUCCESS;
     }
 
     public String build()
+        throws ContinuumException
     {
-        try
-        {
-            getContinuum().buildProjectGroup( projectGroupId );
-        }
-        catch ( ContinuumException e )
-        {
-            addActionError( "unable to initiate build of project group" );
-            getLogger().warn( "unable to initiate build of project group " + projectGroupId );
-            return ERROR;
-        }
+        getContinuum().buildProjectGroup( projectGroupId );
 
         return SUCCESS;
     }

Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java Wed Sep 20 17:12:28 2006
@@ -23,18 +23,15 @@
 
 /**
  * @author Nik Gonzalez
- * @plexus.component role="com.opensymphony.xwork.Action"
- * role-hint="schedule"
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="schedule"
  */
 public class ScheduleAction
-    extends ContinuumActionSupport
+    extends ContinuumConfirmAction
 {
     private int id;
 
     private boolean active = true;
 
-    private String cronExpression;
-
     private int delay;
 
     private String description;
@@ -45,6 +42,24 @@
 
     private Schedule schedule;
 
+    private boolean confirmed;
+
+    private int maxJobExecutionTime;
+
+    private String second = "0";
+
+    private String minute = "0";
+
+    private String hour = "*";
+
+    private String dayOfMonth = "*";
+
+    private String month = "*";
+
+    private String dayOfWeek = "?";
+
+    private String year;
+
     public String summary()
         throws ContinuumException
     {
@@ -61,10 +76,20 @@
             {
                 schedule = getContinuum().getSchedule( id );
                 active = schedule.isActive();
-                cronExpression= schedule.getCronExpression();
+
+                String[] cronEx = schedule.getCronExpression().split( " " );
+                second = cronEx[0];
+                minute = cronEx[1];
+                hour = cronEx[2];
+                dayOfMonth = cronEx[3];
+                month = cronEx[4];
+                dayOfWeek = cronEx[5];
+                year = cronEx[6];
+
                 description = schedule.getDescription();
                 name = schedule.getName();
                 delay = schedule.getDelay();
+                maxJobExecutionTime = schedule.getMaxJobExecutionTime();
             }
             catch ( ContinuumException e )
             {
@@ -81,14 +106,7 @@
         {
             try
             {
-                Schedule schedule = new Schedule();
-                schedule.setActive( active );
-                schedule.setCronExpression( cronExpression );
-                schedule.setDelay( delay );
-                schedule.setDescription( description );
-                schedule.setName( name );
-
-                getContinuum().addSchedule( schedule );
+                getContinuum().addSchedule( setFields( new Schedule() ) );
             }
             catch ( ContinuumException e )
             {
@@ -99,19 +117,9 @@
         }
         else
         {
-
             try
             {
-                schedule = getContinuum().getSchedule( id );
-
-                schedule.setActive( active );
-                schedule.setCronExpression( cronExpression );
-                schedule.setDelay( delay );
-                schedule.setDescription( description );
-                schedule.setName( name );
-
-                getContinuum().updateSchedule( schedule );
-
+                getContinuum().updateSchedule( setFields( getContinuum().getSchedule( id ) ) );
             }
             catch ( ContinuumException e )
             {
@@ -123,6 +131,43 @@
         }
     }
 
+    private Schedule setFields( Schedule schedule )
+    {
+        schedule.setActive( active );
+        schedule.setCronExpression( getCronExpression() );
+        schedule.setDelay( delay );
+        schedule.setDescription( description );
+        schedule.setName( name );
+        schedule.setMaxJobExecutionTime( maxJobExecutionTime );
+
+        return schedule;
+    }
+
+    public String confirm()
+        throws ContinuumException
+    {
+        schedule = getContinuum().getSchedule( id );
+
+        return SUCCESS;
+    }
+
+    public String remove()
+        throws ContinuumException
+    {
+        if ( confirmed )
+        {
+            getContinuum().removeSchedule( id );
+        }
+        else
+        {    
+            setConfirmationInfo( "Schedule Removal", "removeSchedule", name, "id", "" + id );
+                        
+            return CONFIRM;
+        }
+
+        return SUCCESS;
+    }
+
     public Collection getSchedules()
     {
         return schedules;
@@ -148,16 +193,6 @@
         this.active = active;
     }
 
-    public String getCronExpression()
-    {
-        return cronExpression;
-    }
-
-    public void setCronExpression( String cronExpression )
-    {
-        this.cronExpression = cronExpression;
-    }
-
     public int getDelay()
     {
         return delay;
@@ -196,5 +231,101 @@
     public void setSchedule( Schedule schedule )
     {
         this.schedule = schedule;
+    }
+
+    public boolean isConfirmed()
+    {
+        return confirmed;
+    }
+
+    public void setConfirmed( boolean confirmed )
+    {
+        this.confirmed = confirmed;
+    }
+
+    public int getMaxJobExecutionTime()
+    {
+        return maxJobExecutionTime;
+    }
+
+    public void setMaxJobExecutionTime( int maxJobExecutionTime )
+    {
+        this.maxJobExecutionTime = maxJobExecutionTime;
+    }
+
+    public String getSecond()
+    {
+        return second;
+    }
+
+    public void setSecond( String second )
+    {
+        this.second = second;
+    }
+
+    public String getMinute()
+    {
+        return minute;
+    }
+
+    public void setMinute( String minute )
+    {
+        this.minute = minute;
+    }
+
+    public String getHour()
+    {
+        return hour;
+    }
+
+    public void setHour( String hour )
+    {
+        this.hour = hour;
+    }
+
+    public String getDayOfMonth()
+    {
+        return dayOfMonth;
+    }
+
+    public void setDayOfMonth( String dayOfMonth )
+    {
+        this.dayOfMonth = dayOfMonth;
+    }
+
+    public String getYear()
+    {
+        return year;
+    }
+
+    public void setYear( String year )
+    {
+        this.year = year;
+    }
+
+    public String getMonth()
+    {
+        return month;
+    }
+
+    public void setMonth( String month )
+    {
+        this.month = month;
+    }
+
+    public String getDayOfWeek()
+    {
+        return dayOfWeek;
+    }
+
+    public void setDayOfWeek( String dayOfWeek )
+    {
+        this.dayOfWeek = dayOfWeek;
+    }
+
+    private String getCronExpression()
+    {
+        return ( second + " " + minute + " " + hour + " " + dayOfMonth + " " +
+                    month + " " + dayOfWeek + " " + year ).trim();
     }
 }

Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/UserGroupManagementAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/UserGroupManagementAction.java?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/UserGroupManagementAction.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/UserGroupManagementAction.java Wed Sep 20 17:12:28 2006
@@ -31,7 +31,7 @@
  *   role-hint="userGroupManagement"
  */
 public class UserGroupManagementAction
-    extends ContinuumActionSupport
+    extends ContinuumConfirmAction
 {
     private int userGroupId;
 
@@ -111,6 +111,14 @@
 
     public String remove()
     {
+        if ( !confirmed )
+        {
+            setConfirmationInfo( "User Group Removal", "removeUserGroup", name, 
+                                 "userGroupId", "" + userGroupId );
+           
+            return CONFIRM;
+        }
+                       
         try
         {
             getContinuum().removeUserGroup( userGroupId );

Modified: maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/UserManagementAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/UserManagementAction.java?view=diff&rev=448412&r1=448411&r2=448412
==============================================================================
--- maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/UserManagementAction.java (original)
+++ maven/continuum/branches/release-integration/continuum/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/UserManagementAction.java Wed Sep 20 17:12:28 2006
@@ -34,7 +34,7 @@
  *   role-hint="userManagement"
  */
 public class UserManagementAction
-    extends ContinuumActionSupport
+    extends ContinuumConfirmAction
 {
     private int userId;
 
@@ -164,6 +164,13 @@
 
     public String remove()
     {
+        if ( !confirmed )
+        {
+            setConfirmationInfo( "User Removal", "removeUser", username, "userId", "" + userId );
+            
+            return CONFIRM;
+        }
+        
         try
         {
             getContinuum().removeUser( userId );