You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2006/02/09 17:03:30 UTC
svn commit: r376331 - in /maven/sandbox/proficio: ./ proficio-api/
proficio-api/src/ proficio-api/src/main/ proficio-api/src/main/java/
proficio-api/src/main/java/org/ proficio-api/src/main/java/org/apache/
proficio-api/src/main/java/org/apache/maven/ ...
Author: jvanzyl
Date: Thu Feb 9 08:03:26 2006
New Revision: 376331
URL: http://svn.apache.org/viewcvs?rev=376331&view=rev
Log:
unfinished cut for sharing purposes
Added:
maven/sandbox/proficio/
maven/sandbox/proficio/notes.txt (with props)
maven/sandbox/proficio/pom.xml (with props)
maven/sandbox/proficio/proficio-api/
maven/sandbox/proficio/proficio-api/pom.xml (with props)
maven/sandbox/proficio/proficio-api/src/
maven/sandbox/proficio/proficio-api/src/main/
maven/sandbox/proficio/proficio-api/src/main/java/
maven/sandbox/proficio/proficio-api/src/main/java/org/
maven/sandbox/proficio/proficio-api/src/main/java/org/apache/
maven/sandbox/proficio/proficio-api/src/main/java/org/apache/maven/
maven/sandbox/proficio/proficio-api/src/main/java/org/apache/maven/proficio/
maven/sandbox/proficio/proficio-api/src/main/java/org/apache/maven/proficio/DefaultProficio.java (with props)
maven/sandbox/proficio/proficio-api/src/main/java/org/apache/maven/proficio/Proficio.java (with props)
maven/sandbox/proficio/proficio-api/src/test/
maven/sandbox/proficio/proficio-api/src/test/java/
maven/sandbox/proficio/proficio-api/src/test/java/org/
maven/sandbox/proficio/proficio-api/src/test/java/org/apache/
maven/sandbox/proficio/proficio-api/src/test/java/org/apache/maven/
maven/sandbox/proficio/proficio-api/src/test/java/org/apache/maven/proficio/
maven/sandbox/proficio/proficio-api/src/test/java/org/apache/maven/proficio/AppTest.java (with props)
maven/sandbox/proficio/proficio-core/
maven/sandbox/proficio/proficio-core/pom.xml (with props)
maven/sandbox/proficio/proficio-core/src/
maven/sandbox/proficio/proficio-core/src/main/
maven/sandbox/proficio/proficio-core/src/main/java/
maven/sandbox/proficio/proficio-core/src/main/java/org/
maven/sandbox/proficio/proficio-core/src/main/java/org/apache/
maven/sandbox/proficio/proficio-core/src/main/java/org/apache/maven/
maven/sandbox/proficio/proficio-core/src/main/java/org/apache/maven/proficio/
maven/sandbox/proficio/proficio-core/src/main/java/org/apache/maven/proficio/DefaultProficio.java (with props)
maven/sandbox/proficio/proficio-core/src/main/java/org/apache/maven/proficio/Proficio.java (with props)
maven/sandbox/proficio/proficio-core/src/test/
maven/sandbox/proficio/proficio-core/src/test/java/
maven/sandbox/proficio/proficio-core/src/test/java/org/
maven/sandbox/proficio/proficio-core/src/test/java/org/apache/
maven/sandbox/proficio/proficio-core/src/test/java/org/apache/maven/
maven/sandbox/proficio/proficio-core/src/test/java/org/apache/maven/proficio/
maven/sandbox/proficio/proficio-core/src/test/java/org/apache/maven/proficio/AppTest.java (with props)
maven/sandbox/proficio/proficio-model/
maven/sandbox/proficio/proficio-model/pom.xml (with props)
maven/sandbox/proficio/proficio-model/src/
maven/sandbox/proficio/proficio-model/src/main/
maven/sandbox/proficio/proficio-model/src/main/mdo/
maven/sandbox/proficio/proficio-model/src/main/mdo/proficio.mdo
maven/sandbox/proficio/proficio-plugins/
maven/sandbox/proficio/proficio-web/
maven/sandbox/proficio/proficio-xmlrpc/
Added: maven/sandbox/proficio/notes.txt
URL: http://svn.apache.org/viewcvs/maven/sandbox/proficio/notes.txt?rev=376331&view=auto
==============================================================================
--- maven/sandbox/proficio/notes.txt (added)
+++ maven/sandbox/proficio/notes.txt Thu Feb 9 08:03:26 2006
@@ -0,0 +1,37 @@
+Continuum failed to prove that plexus is good for developing applications. I still want to be able to whip together
+an application in a day like you can with Ruby on Rails.
+
+o easy database persistence
+o easy webservices: xmlrpc,SOAP,optimized REST (using modello)
+o easy scripting of components
+o convenient development mode where things are reloaded correctly
+o testing proved to be incredibly difficult
+
+Workflow for creating an application
+
+o design a white site or gui app
+ - here a javascript screen builder would be idea or something like abeile for a gui builder
+
+o create the object model
+o create the application model
+o create the workflow
+o create rules
+o need to be able to do this visually
+
+
+Persistence?
+
+OJB
+JPOX seemed to be a failure
+Mr Persister
+Stash
+iBatis
+
+Security
+
+Acegi
+Plexus Security
+What other options are there?
+
+My dream of the half-day application prototype. Something fully working that is usable. A quick app that works but
+is then fully customizable.
\ No newline at end of file
Propchange: maven/sandbox/proficio/notes.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/proficio/notes.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/proficio/pom.xml
URL: http://svn.apache.org/viewcvs/maven/sandbox/proficio/pom.xml?rev=376331&view=auto
==============================================================================
--- maven/sandbox/proficio/pom.xml (added)
+++ maven/sandbox/proficio/pom.xml Thu Feb 9 08:03:26 2006
@@ -0,0 +1,17 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.proficio</groupId>
+ <artifactId>proficio</artifactId>
+ <packaging>jar</packaging>
+ <version>1</version>
+ <name>Maven Quick Start Archetype</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
Propchange: maven/sandbox/proficio/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/proficio/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/proficio/proficio-api/pom.xml
URL: http://svn.apache.org/viewcvs/maven/sandbox/proficio/proficio-api/pom.xml?rev=376331&view=auto
==============================================================================
--- maven/sandbox/proficio/proficio-api/pom.xml (added)
+++ maven/sandbox/proficio/proficio-api/pom.xml Thu Feb 9 08:03:26 2006
@@ -0,0 +1,17 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.proficio</groupId>
+ <artifactId>proficio</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>Maven Quick Start Archetype</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-9</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
Propchange: maven/sandbox/proficio/proficio-api/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/proficio/proficio-api/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/proficio/proficio-api/src/main/java/org/apache/maven/proficio/DefaultProficio.java
URL: http://svn.apache.org/viewcvs/maven/sandbox/proficio/proficio-api/src/main/java/org/apache/maven/proficio/DefaultProficio.java?rev=376331&view=auto
==============================================================================
--- maven/sandbox/proficio/proficio-api/src/main/java/org/apache/maven/proficio/DefaultProficio.java (added)
+++ maven/sandbox/proficio/proficio-api/src/main/java/org/apache/maven/proficio/DefaultProficio.java Thu Feb 9 08:03:26 2006
@@ -0,0 +1,13 @@
+package org.apache.maven.proficio;
+
+/**
+ * Hello world!
+ *
+ */
+public class DefaultProficio
+{
+ public static void main( String[] args )
+ {
+ System.out.println( "Hello World!" );
+ }
+}
Propchange: maven/sandbox/proficio/proficio-api/src/main/java/org/apache/maven/proficio/DefaultProficio.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/proficio/proficio-api/src/main/java/org/apache/maven/proficio/DefaultProficio.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/proficio/proficio-api/src/main/java/org/apache/maven/proficio/Proficio.java
URL: http://svn.apache.org/viewcvs/maven/sandbox/proficio/proficio-api/src/main/java/org/apache/maven/proficio/Proficio.java?rev=376331&view=auto
==============================================================================
--- maven/sandbox/proficio/proficio-api/src/main/java/org/apache/maven/proficio/Proficio.java (added)
+++ maven/sandbox/proficio/proficio-api/src/main/java/org/apache/maven/proficio/Proficio.java Thu Feb 9 08:03:26 2006
@@ -0,0 +1,12 @@
+/*
+ * Copyright (c) 2006 Your Corporation. All Rights Reserved.
+ */
+package org.apache.maven.proficio;
+
+/**
+ * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
+ * @version $Id$
+ */
+public interface Proficio
+{
+}
Propchange: maven/sandbox/proficio/proficio-api/src/main/java/org/apache/maven/proficio/Proficio.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/proficio/proficio-api/src/main/java/org/apache/maven/proficio/Proficio.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/proficio/proficio-api/src/test/java/org/apache/maven/proficio/AppTest.java
URL: http://svn.apache.org/viewcvs/maven/sandbox/proficio/proficio-api/src/test/java/org/apache/maven/proficio/AppTest.java?rev=376331&view=auto
==============================================================================
--- maven/sandbox/proficio/proficio-api/src/test/java/org/apache/maven/proficio/AppTest.java (added)
+++ maven/sandbox/proficio/proficio-api/src/test/java/org/apache/maven/proficio/AppTest.java Thu Feb 9 08:03:26 2006
@@ -0,0 +1,38 @@
+package org.apache.maven.proficio;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public AppTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ return new TestSuite( AppTest.class );
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+ assertTrue( true );
+ }
+}
Propchange: maven/sandbox/proficio/proficio-api/src/test/java/org/apache/maven/proficio/AppTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/proficio/proficio-api/src/test/java/org/apache/maven/proficio/AppTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/proficio/proficio-core/pom.xml
URL: http://svn.apache.org/viewcvs/maven/sandbox/proficio/proficio-core/pom.xml?rev=376331&view=auto
==============================================================================
--- maven/sandbox/proficio/proficio-core/pom.xml (added)
+++ maven/sandbox/proficio/proficio-core/pom.xml Thu Feb 9 08:03:26 2006
@@ -0,0 +1,17 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.proficio</groupId>
+ <artifactId>proficio</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>Maven Quick Start Archetype</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>1.0-alpha-9</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
Propchange: maven/sandbox/proficio/proficio-core/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/proficio/proficio-core/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/proficio/proficio-core/src/main/java/org/apache/maven/proficio/DefaultProficio.java
URL: http://svn.apache.org/viewcvs/maven/sandbox/proficio/proficio-core/src/main/java/org/apache/maven/proficio/DefaultProficio.java?rev=376331&view=auto
==============================================================================
--- maven/sandbox/proficio/proficio-core/src/main/java/org/apache/maven/proficio/DefaultProficio.java (added)
+++ maven/sandbox/proficio/proficio-core/src/main/java/org/apache/maven/proficio/DefaultProficio.java Thu Feb 9 08:03:26 2006
@@ -0,0 +1,13 @@
+package org.apache.maven.proficio;
+
+/**
+ * Hello world!
+ *
+ */
+public class DefaultProficio
+{
+ public static void main( String[] args )
+ {
+ System.out.println( "Hello World!" );
+ }
+}
Propchange: maven/sandbox/proficio/proficio-core/src/main/java/org/apache/maven/proficio/DefaultProficio.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/proficio/proficio-core/src/main/java/org/apache/maven/proficio/DefaultProficio.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/proficio/proficio-core/src/main/java/org/apache/maven/proficio/Proficio.java
URL: http://svn.apache.org/viewcvs/maven/sandbox/proficio/proficio-core/src/main/java/org/apache/maven/proficio/Proficio.java?rev=376331&view=auto
==============================================================================
--- maven/sandbox/proficio/proficio-core/src/main/java/org/apache/maven/proficio/Proficio.java (added)
+++ maven/sandbox/proficio/proficio-core/src/main/java/org/apache/maven/proficio/Proficio.java Thu Feb 9 08:03:26 2006
@@ -0,0 +1,12 @@
+/*
+ * Copyright (c) 2006 Your Corporation. All Rights Reserved.
+ */
+package org.apache.maven.proficio;
+
+/**
+ * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
+ * @version $Id$
+ */
+public interface Proficio
+{
+}
Propchange: maven/sandbox/proficio/proficio-core/src/main/java/org/apache/maven/proficio/Proficio.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/proficio/proficio-core/src/main/java/org/apache/maven/proficio/Proficio.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/proficio/proficio-core/src/test/java/org/apache/maven/proficio/AppTest.java
URL: http://svn.apache.org/viewcvs/maven/sandbox/proficio/proficio-core/src/test/java/org/apache/maven/proficio/AppTest.java?rev=376331&view=auto
==============================================================================
--- maven/sandbox/proficio/proficio-core/src/test/java/org/apache/maven/proficio/AppTest.java (added)
+++ maven/sandbox/proficio/proficio-core/src/test/java/org/apache/maven/proficio/AppTest.java Thu Feb 9 08:03:26 2006
@@ -0,0 +1,38 @@
+package org.apache.maven.proficio;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public AppTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ return new TestSuite( AppTest.class );
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+ assertTrue( true );
+ }
+}
Propchange: maven/sandbox/proficio/proficio-core/src/test/java/org/apache/maven/proficio/AppTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/proficio/proficio-core/src/test/java/org/apache/maven/proficio/AppTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/proficio/proficio-model/pom.xml
URL: http://svn.apache.org/viewcvs/maven/sandbox/proficio/proficio-model/pom.xml?rev=376331&view=auto
==============================================================================
--- maven/sandbox/proficio/proficio-model/pom.xml (added)
+++ maven/sandbox/proficio/proficio-model/pom.xml Thu Feb 9 08:03:26 2006
@@ -0,0 +1,30 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.proficio</groupId>
+ <artifactId>proficio-model</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>Proficio Model</name>
+ <url>http://maven.apache.org</url>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-5</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>java</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.0.0</version>
+ <packageWithVersion>false</packageWithVersion>
+ <model>src/main/mdo/proficio.mdo</model>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: maven/sandbox/proficio/proficio-model/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/sandbox/proficio/proficio-model/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/sandbox/proficio/proficio-model/src/main/mdo/proficio.mdo
URL: http://svn.apache.org/viewcvs/maven/sandbox/proficio/proficio-model/src/main/mdo/proficio.mdo?rev=376331&view=auto
==============================================================================
--- maven/sandbox/proficio/proficio-model/src/main/mdo/proficio.mdo (added)
+++ maven/sandbox/proficio/proficio-model/src/main/mdo/proficio.mdo Thu Feb 9 08:03:26 2006
@@ -0,0 +1,994 @@
+<model>
+ <id>proficio</id>
+ <name>Proficio</name>
+ <description>Proficio's object model.</description>
+ <defaults>
+ <default>
+ <key>package</key>
+ <value>org.apache.maven.proficio.model</value>
+ </default>
+ </defaults>
+
+ <classes>
+ <class rootElement="true">
+ <name>ProjectGroup</name>
+ <version>1.0.0+</version>
+ <fields>
+ <field>
+ <name>id</name>
+ <version>1.0.0+</version>
+ <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">
+ <name>projects</name>
+ <version>1.0.0+</version>
+ <association stash.part="true" 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">
+ <name>parent</name>
+ <version>1.0.0+</version>
+ <association stash.part="true" jpox.join="false">
+ <type>ProjectDependency</type>
+ </association>
+ </field>
+ <field jpox.fetchGroupNames="project-all-details">
+ <name>dependencies</name>
+ <version>1.0.0+</version>
+ <association stash.part="true" 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>
+ </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>
+ </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>
+ </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>
+ </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>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>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>