You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ev...@apache.org on 2008/05/01 17:19:55 UTC
svn commit: r652556 [1/3] - in /continuum/branches/continuum-jpa-evenisse:
./ src/ src/main/ src/main/java/ src/main/java/org/
src/main/java/org/apache/ src/main/java/org/apache/continuum/
src/main/java/org/apache/continuum/dao/ src/main/java/org/apach...
Author: evenisse
Date: Thu May 1 08:19:53 2008
New Revision: 652556
URL: http://svn.apache.org/viewvc?rev=652556&view=rev
Log:
Add JPA implementation based on NamedQueries
Added:
continuum/branches/continuum-jpa-evenisse/TODO.txt (with props)
continuum/branches/continuum-jpa-evenisse/pom.xml (with props)
continuum/branches/continuum-jpa-evenisse/src/
continuum/branches/continuum-jpa-evenisse/src/main/
continuum/branches/continuum-jpa-evenisse/src/main/java/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/api/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/api/GenericDao.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/impl/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/impl/DaoFactoryImpl.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/impl/GenericDaoJpa.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonCreatedEntity.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonPersistableEntity.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonUpdatableEntity.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildDefinition.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildDefinitionTemplate.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildResult.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ContinuumModelloMetadata.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ContinuumProjectState.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/Project.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectDependency.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectDeveloper.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectGroup.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectNotifier.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/Schedule.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ChangeFile.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ChangeSet.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ScmResult.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/SuiteResult.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/TestCaseFailure.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/TestResult.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/system/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/system/ContinuumDatabase.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/system/Installation.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/system/NotificationAddress.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/system/Profile.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/system/SystemConfiguration.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/service/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/service/api/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/service/api/ProjectGroupService.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/service/api/ProjectService.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/service/impl/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/service/impl/ProjectGroupServiceImpl.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/service/impl/ProjectServiceImpl.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/store/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/store/api/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/store/api/DeprecatedSystemStore.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/store/api/EntityNotFoundException.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/store/api/Query.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/store/api/QueryFactory.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/store/api/Store.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/store/api/StoreException.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/store/jpa/
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/store/jpa/JpaStore.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/store/jpa/JpaStoreFactory.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/store/jpa/ProjectGroupQuery.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/store/jpa/ProjectNotifierQuery.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/store/jpa/ProjectQuery.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/store/jpa/StoreSupport.java (with props)
continuum/branches/continuum-jpa-evenisse/src/main/resources/
continuum/branches/continuum-jpa-evenisse/src/test/
continuum/branches/continuum-jpa-evenisse/src/test/java/
continuum/branches/continuum-jpa-evenisse/src/test/java/org/
continuum/branches/continuum-jpa-evenisse/src/test/java/org/apache/
continuum/branches/continuum-jpa-evenisse/src/test/java/org/apache/continuum/
continuum/branches/continuum-jpa-evenisse/src/test/java/org/apache/continuum/store/
continuum/branches/continuum-jpa-evenisse/src/test/java/org/apache/continuum/store/ApplicationContextAwareStoreTestCase.java (with props)
continuum/branches/continuum-jpa-evenisse/src/test/java/org/apache/continuum/store/jpa/
continuum/branches/continuum-jpa-evenisse/src/test/java/org/apache/continuum/store/jpa/JpaProjectGroupStoreTest.java (with props)
continuum/branches/continuum-jpa-evenisse/src/test/java/org/apache/continuum/store/jpa/JpaProjectStoreTest.java (with props)
continuum/branches/continuum-jpa-evenisse/src/test/java/org/apache/openjpa/
continuum/branches/continuum-jpa-evenisse/src/test/java/org/apache/openjpa/persistence/
continuum/branches/continuum-jpa-evenisse/src/test/java/org/apache/openjpa/persistence/test/
continuum/branches/continuum-jpa-evenisse/src/test/java/org/apache/openjpa/persistence/test/PersistenceTestCase.java (with props)
continuum/branches/continuum-jpa-evenisse/src/test/java/org/apache/openjpa/persistence/test/SQLListenerTestCase.java (with props)
continuum/branches/continuum-jpa-evenisse/src/test/java/org/apache/openjpa/persistence/test/SingleEMFTestCase.java (with props)
continuum/branches/continuum-jpa-evenisse/src/test/java/org/apache/openjpa/persistence/test/SingleEMTestCase.java (with props)
continuum/branches/continuum-jpa-evenisse/src/test/resources/
continuum/branches/continuum-jpa-evenisse/src/test/resources/META-INF/
continuum/branches/continuum-jpa-evenisse/src/test/resources/META-INF/org.apache.openjpa.lib.conf.ProductDerivation
continuum/branches/continuum-jpa-evenisse/src/test/resources/META-INF/persistence.xml (with props)
continuum/branches/continuum-jpa-evenisse/src/test/resources/META-INF/spring-config.xml (with props)
continuum/branches/continuum-jpa-evenisse/src/test/resources/sql/
continuum/branches/continuum-jpa-evenisse/src/test/resources/sql/project-group-table-data.sql
continuum/branches/continuum-jpa-evenisse/src/test/resources/sql/project-notifier-table-data.sql
continuum/branches/continuum-jpa-evenisse/src/test/resources/sql/project-table-data.sql
Added: continuum/branches/continuum-jpa-evenisse/TODO.txt
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/TODO.txt?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/TODO.txt (added)
+++ continuum/branches/continuum-jpa-evenisse/TODO.txt Thu May 1 08:19:53 2008
@@ -0,0 +1,5 @@
+
+TODO for Continuum JPA store implementation
+-------------------------------------------
+
+1) Review JPA annotated Entities.
Propchange: continuum/branches/continuum-jpa-evenisse/TODO.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/TODO.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/pom.xml
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/pom.xml?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/pom.xml (added)
+++ continuum/branches/continuum-jpa-evenisse/pom.xml Thu May 1 08:19:53 2008
@@ -0,0 +1,55 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.continuum</groupId>
+ <artifactId>continuum-model-jpa</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>continuum-model-jpa</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.4</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.openjpa</groupId>
+ <artifactId>openjpa</artifactId>
+ <version>1.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <version>1.8.0.7</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring</artifactId>
+ <version>2.5</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <version>2.5</version>
+ </dependency>
+
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: continuum/branches/continuum-jpa-evenisse/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/api/GenericDao.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/api/GenericDao.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/api/GenericDao.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/api/GenericDao.java Thu May 1 08:19:53 2008
@@ -0,0 +1,34 @@
+package org.apache.continuum.dao.api;
+
+import org.springframework.dao.DataAccessException;
+import org.springframework.orm.ObjectRetrievalFailureException;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public interface GenericDao<T>
+{
+ Class<T> getPersistentClass();
+
+ T findById( long id )
+ throws ObjectRetrievalFailureException;
+
+ @SuppressWarnings("unchecked")
+ List<T> findAll();
+
+ @SuppressWarnings("unchecked")
+ List<T> findByNamedQueryAndNamedParams( Class<T> entityClass, String queryName, Map<String, Object> params )
+ throws DataAccessException;
+
+ T findUniqByNamedQueryAndNamedParams( Class<T> entityClass, String queryName, Map<String, Object> params );
+
+ T saveOrUpdate( T entity );
+
+ void delete( long id );
+
+ void delete( T entity );
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/api/GenericDao.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/api/GenericDao.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/impl/DaoFactoryImpl.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/impl/DaoFactoryImpl.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/impl/DaoFactoryImpl.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/impl/DaoFactoryImpl.java Thu May 1 08:19:53 2008
@@ -0,0 +1,28 @@
+package org.apache.continuum.dao.impl;
+
+import org.apache.continuum.dao.api.GenericDao;
+import org.apache.continuum.model.project.Project;
+import org.apache.continuum.model.project.ProjectGroup;
+import org.apache.continuum.model.project.ProjectNotifier;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public class DaoFactoryImpl
+{
+ public GenericDao<ProjectGroup> createProjectGroupDao()
+ {
+ return new GenericDaoJpa<ProjectGroup>( ProjectGroup.class );
+ }
+
+ public GenericDao<Project> createProjectDao()
+ {
+ return new GenericDaoJpa<Project>( Project.class );
+ }
+
+ public GenericDao<ProjectNotifier> createNotifierDao()
+ {
+ return new GenericDaoJpa<ProjectNotifier>( ProjectNotifier.class );
+ }
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/impl/DaoFactoryImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/impl/DaoFactoryImpl.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/impl/GenericDaoJpa.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/impl/GenericDaoJpa.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/impl/GenericDaoJpa.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/impl/GenericDaoJpa.java Thu May 1 08:19:53 2008
@@ -0,0 +1,106 @@
+package org.apache.continuum.dao.impl;
+
+import org.apache.continuum.dao.api.GenericDao;
+import org.apache.continuum.model.CommonPersistableEntity;
+import org.springframework.dao.DataAccessException;
+import org.springframework.orm.ObjectRetrievalFailureException;
+import org.springframework.orm.jpa.JpaCallback;
+import org.springframework.orm.jpa.support.JpaDaoSupport;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceException;
+import javax.persistence.Query;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public class GenericDaoJpa<T extends CommonPersistableEntity>
+ extends JpaDaoSupport
+ implements GenericDao<T>
+{
+ private Class<T> entityClass;
+
+ public GenericDaoJpa()
+ {
+ }
+
+ public GenericDaoJpa( Class<T> type )
+ {
+ entityClass = type;
+ }
+
+ public Class<T> getPersistentClass()
+ {
+ return entityClass;
+ }
+
+ public T findById( long id )
+ throws ObjectRetrievalFailureException
+ {
+ return getJpaTemplate().find( getPersistentClass(), id );
+ }
+
+ @SuppressWarnings("unchecked")
+ public List<T> findAll()
+ {
+ String q = "SELECT z FROM " + entityClass.getSimpleName() + " z";
+ return (List<T>) getJpaTemplate().find( q );
+ }
+
+ @SuppressWarnings("unchecked")
+ public List<T> findByNamedQueryAndNamedParams( Class<T> entityClass, String queryName, Map<String, Object> params )
+ throws DataAccessException
+ {
+ return (List<T>) getJpaTemplate().findByNamedQueryAndNamedParams( queryName, params );
+ }
+
+ @SuppressWarnings("unchecked")
+ public T findUniqByNamedQueryAndNamedParams( Class<T> entityClass, final String queryName,
+ final Map<String, Object> params )
+ throws DataAccessException
+ {
+ JpaCallback cb = new JpaCallback()
+ {
+ public Object doInJpa( EntityManager entityManager )
+ throws PersistenceException
+ {
+ Query q = entityManager.createNamedQuery( queryName );
+ for ( String key : params.keySet() )
+ {
+ q.setParameter( key, params.get( key ) );
+ }
+ return q.getSingleResult();
+ }
+ };
+ return (T) getJpaTemplate().execute( cb );
+ }
+
+ @Transactional
+ public T saveOrUpdate( T entity )
+ {
+ if ( null == entity.getId() )
+ {
+ getJpaTemplate().persist( entity );
+ }
+ else
+ {
+ entity = getJpaTemplate().merge( entity );
+ }
+ return entity;
+ }
+
+ @Transactional
+ public void delete( long id )
+ {
+ delete( findById( id ) );
+ }
+
+ public void delete( T entity )
+ {
+ getJpaTemplate().remove( entity );
+ }
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/impl/GenericDaoJpa.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/dao/impl/GenericDaoJpa.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonCreatedEntity.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonCreatedEntity.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonCreatedEntity.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonCreatedEntity.java Thu May 1 08:19:53 2008
@@ -0,0 +1,45 @@
+/**
+ *
+ */
+package org.apache.continuum.model;
+
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.MappedSuperclass;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+/**
+ * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
+ * @version $Id$
+ */
+@MappedSuperclass
+public abstract class CommonCreatedEntity extends CommonPersistableEntity
+{
+
+ /**
+ * Date the entity was created.
+ */
+ @Temporal( TemporalType.TIMESTAMP )
+ @Column( name = "DATE_CREATED" )
+ private Date dateCreated;
+
+ /**
+ * @return the dateCreated
+ */
+ public Date getDateCreated()
+ {
+ return dateCreated;
+ }
+
+ /**
+ * @param dateCreated
+ * the dateCreated to set
+ */
+ public void setDateCreated( Date dateCreated )
+ {
+ this.dateCreated = dateCreated;
+ }
+
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonCreatedEntity.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonCreatedEntity.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonPersistableEntity.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonPersistableEntity.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonPersistableEntity.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonPersistableEntity.java Thu May 1 08:19:53 2008
@@ -0,0 +1,90 @@
+/**
+ *
+ */
+package org.apache.continuum.model;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.MappedSuperclass;
+
+/**
+ * Common persistable entity.
+ *
+ * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
+ * @version $Id$
+ */
+@MappedSuperclass
+public abstract class CommonPersistableEntity implements Serializable
+{
+
+ /**
+ * Unique persistence identifier.
+ * <p>
+ * This is <code>null</code> if not persisted.
+ */
+ @Id
+ @GeneratedValue( strategy = GenerationType.IDENTITY )
+ @Column( name = "ID" )
+ private Long id;
+
+ /**
+ * @return the id which is the unique persistence identifier.
+ */
+ public Long getId()
+ {
+ return id;
+ }
+
+ /**
+ * @param id
+ * Unique persistence identifier to set.
+ */
+ public void setId( Long id )
+ {
+ this.id = id;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode()
+ {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ( ( id == null ) ? 0 : id.hashCode() );
+ return result;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ @Override
+ public boolean equals( Object obj )
+ {
+ if ( this == obj )
+ return true;
+ if ( obj == null )
+ return false;
+ if ( getClass() != obj.getClass() )
+ return false;
+ CommonPersistableEntity other = (CommonPersistableEntity) obj;
+ if ( id == null )
+ {
+ if ( other.id != null )
+ return false;
+ }
+ else if ( !id.equals( other.id ) )
+ return false;
+ return true;
+ }
+
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonPersistableEntity.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonPersistableEntity.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonUpdatableEntity.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonUpdatableEntity.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonUpdatableEntity.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonUpdatableEntity.java Thu May 1 08:19:53 2008
@@ -0,0 +1,70 @@
+/**
+ *
+ */
+package org.apache.continuum.model;
+
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.MappedSuperclass;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+import javax.persistence.Version;
+
+/**
+ * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
+ * @version $Id$
+ */
+@MappedSuperclass
+public abstract class CommonUpdatableEntity extends CommonCreatedEntity
+{
+
+ /**
+ * Date the entity was last updated.
+ */
+ @Temporal( TemporalType.TIMESTAMP )
+ @Column( name = "DATE_UPDATED" )
+ private Date dateUpdated;
+
+ /**
+ * Version for optimistic locking.
+ */
+ @Version
+ @Column( name = "OBJ_VERSION" )
+ private long objectVersion;
+
+ /**
+ * @return the dateUpdated
+ */
+ public Date getDateUpdated()
+ {
+ return dateUpdated;
+ }
+
+ /**
+ * @param dateUpdated
+ * the dateUpdated to set
+ */
+ public void setDateUpdated( Date dateUpdated )
+ {
+ this.dateUpdated = dateUpdated;
+ }
+
+ /**
+ * @return the version
+ */
+ public long getObjectVersion()
+ {
+ return objectVersion;
+ }
+
+ /**
+ * @param version
+ * the version to set
+ */
+ public void setObjectVersion( long version )
+ {
+ this.objectVersion = version;
+ }
+
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonUpdatableEntity.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/CommonUpdatableEntity.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildDefinition.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildDefinition.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildDefinition.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildDefinition.java Thu May 1 08:19:53 2008
@@ -0,0 +1,97 @@
+package org.apache.continuum.model.project;
+
+import org.apache.continuum.model.CommonUpdatableEntity;
+import org.apache.continuum.model.system.Profile;
+
+import javax.persistence.Basic;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+/**
+ * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
+ * @version $Id$
+ */
+@Entity
+@Table(name = "BUILD_DEFINITION")
+public class BuildDefinition
+ extends CommonUpdatableEntity
+{
+
+ /**
+ * Field defaultForProject
+ */
+ @Basic
+ @Column(name = "FLG_DEFAULT_PROJECT", nullable = false)
+ private boolean defaultForProject = false;
+
+ /**
+ * Field goals
+ */
+ @Basic
+ @Column(name = "GOALS")
+ private String goals;
+
+ /**
+ * Field arguments
+ */
+ @Basic
+ @Column(name = "ARGUMENTS")
+ private String arguments;
+
+ /**
+ * Field buildFile
+ */
+ @Basic
+ @Column(name = "BUILD_FILE")
+ private String buildFile;
+
+ /**
+ * Field buildFresh
+ */
+ @Basic
+ @Column(name = "FLG_BUILD_FRESH", nullable = false)
+ private boolean buildFresh = false;
+
+ /**
+ * Field description
+ */
+ @Basic
+ @Column(name = "DESCRIPTION")
+ private String description;
+
+ /**
+ * Field type
+ */
+ @Basic
+ @Column(name = "TYPE")
+ private String type;
+
+ /**
+ * Field schedule
+ */
+ @OneToOne
+ private Schedule schedule;
+
+ /**
+ * Field profile
+ */
+ @OneToOne
+ private Profile profile;
+
+ /**
+ * Field alwaysBuild
+ */
+ @Basic
+ @Column(name = "FLG_ALWAYS_BUILD")
+ private boolean alwaysBuild = false;
+
+ /**
+ * Field template
+ */
+ @Basic
+ @Column(name = "FLG_TEMPLATE")
+ private boolean template = false;
+
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildDefinition.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildDefinition.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildDefinitionTemplate.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildDefinitionTemplate.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildDefinitionTemplate.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildDefinitionTemplate.java Thu May 1 08:19:53 2008
@@ -0,0 +1,116 @@
+package org.apache.continuum.model.project;
+
+import org.apache.continuum.model.CommonUpdatableEntity;
+
+import javax.persistence.Basic;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+import java.util.List;
+
+/**
+ * Template which contains some buildDefinitions
+ *
+ * @version $Id$
+ */
+@Entity
+@Table(name = "BUILD_DEFINITION_TEMPLATE")
+public class BuildDefinitionTemplate
+ extends CommonUpdatableEntity
+{
+
+ /**
+ * Field name
+ */
+ @Basic
+ @Column(name = "NAME", nullable = false)
+ private String name;
+
+ /**
+ * Field continuumDefault
+ */
+ @Basic
+ @Column(name = "FLG_CONTINUUM_DEFAULT", nullable = false)
+ private boolean continuumDefault = false;
+
+ /**
+ * Field type
+ * <p/>
+ * TODO: Enum?
+ */
+ @Basic
+ @Column(name = "TEMPLATE_TYPE")
+ private String type;
+
+ /**
+ * Field buildDefinitions
+ */
+ @OneToMany
+ private List<BuildDefinition> buildDefinitions;
+
+ /**
+ * @return the name
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * @param name the name to set
+ */
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ /**
+ * @return the continuumDefault
+ */
+ public boolean isContinuumDefault()
+ {
+ return continuumDefault;
+ }
+
+ /**
+ * @param continuumDefault the continuumDefault to set
+ */
+ public void setContinuumDefault( boolean continuumDefault )
+ {
+ this.continuumDefault = continuumDefault;
+ }
+
+ /**
+ * @return the type
+ */
+ public String getType()
+ {
+ return type;
+ }
+
+ /**
+ * @param type the type to set
+ */
+ public void setType( String type )
+ {
+ this.type = type;
+ }
+
+ /**
+ * @return the buildDefinitions
+ */
+ public List<BuildDefinition> getBuildDefinitions()
+ {
+ return buildDefinitions;
+ }
+
+ /**
+ * @param buildDefinitions the buildDefinitions to set
+ */
+ public void setBuildDefinitions( List<BuildDefinition> buildDefinitions )
+ {
+ this.buildDefinitions = buildDefinitions;
+ }
+
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildDefinitionTemplate.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildDefinitionTemplate.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildResult.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildResult.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildResult.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildResult.java Thu May 1 08:19:53 2008
@@ -0,0 +1,336 @@
+package org.apache.continuum.model.project;
+
+import org.apache.continuum.model.CommonUpdatableEntity;
+import org.apache.continuum.model.scm.ScmResult;
+import org.apache.continuum.model.scm.TestResult;
+
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * This class is a single continuum build.
+ *
+ * @version $Id$
+ */
+@Entity
+@Table(name = "BUILD_RESULT")
+public class BuildResult
+ extends CommonUpdatableEntity
+{
+
+ /**
+ * Field project
+ */
+ @ManyToOne
+ @JoinColumn(name = "ID_PROJECT")
+ private Project project;
+
+ /**
+ * Field buildDefinition
+ */
+ @OneToOne
+ @JoinColumn(name = "ID_BUILD_DEFINITION")
+ private BuildDefinition buildDefinition = null;
+
+ /**
+ * Field buildNumber
+ */
+ @Basic
+ @Column(name = "BUILD_NUMBER")
+ private int buildNumber = 0;
+
+ /**
+ * Field state.
+ * <p/>
+ * TODO: This is a candidate for enum.
+ */
+ @Basic
+ @Column(name = "RESULT_STATE")
+ private int state = 0;
+
+ /**
+ * Field trigger
+ * <p/>
+ * TODO: enum?
+ */
+ @Basic
+ @Column(name = "RESULT_TRIGGER")
+ private int trigger = 0;
+
+ /**
+ * Field startTime
+ */
+ @Temporal(TemporalType.TIME)
+ @Column(name = "START_TIME", nullable = false)
+ private Date startTime;
+
+ /**
+ * Field endTime
+ */
+ @Temporal(TemporalType.TIME)
+ @Column(name = "END_TIME", nullable = false)
+ private Date endTime;
+
+ /**
+ * Field error
+ */
+ @Basic
+ @Column(name = "ERROR")
+ private String error;
+
+ /**
+ * Field success
+ */
+ @Basic
+ @Column(name = "FLG_SUCCESS", nullable = false)
+ private boolean success = false;
+
+ /**
+ * Field exitCode
+ */
+ @Basic
+ @Column(name = "EXIT_CODE", nullable = false)
+ private int exitCode = 0;
+
+ /**
+ * Field scmResult
+ */
+ @OneToOne(fetch = FetchType.EAGER)
+ private ScmResult scmResult;
+
+ /**
+ * Field testResult
+ */
+ @OneToOne(fetch = FetchType.EAGER)
+ private TestResult testResult;
+
+ /**
+ * Field modifiedDependencies
+ */
+ @OneToMany(cascade = CascadeType.ALL)
+ @JoinTable(name = "PROJECT_DEPENDENCY", joinColumns = @JoinColumn(name = "BUILD_ID"),
+ inverseJoinColumns = @JoinColumn(name = "ID_PROJECT_DEPENDENCY"))
+ private List<ProjectDependency> modifiedDependencies;
+
+ /**
+ * @return the project
+ */
+ public Project getProject()
+ {
+ return project;
+ }
+
+ /**
+ * @param project the project to set
+ */
+ public void setProject( Project project )
+ {
+ this.project = project;
+ }
+
+ /**
+ * @return the buildDefinition
+ */
+ public BuildDefinition getBuildDefinition()
+ {
+ return buildDefinition;
+ }
+
+ /**
+ * @param buildDefinition the buildDefinition to set
+ */
+ public void setBuildDefinition( BuildDefinition buildDefinition )
+ {
+ this.buildDefinition = buildDefinition;
+ }
+
+ /**
+ * @return the buildNumber
+ */
+ public int getBuildNumber()
+ {
+ return buildNumber;
+ }
+
+ /**
+ * @param buildNumber the buildNumber to set
+ */
+ public void setBuildNumber( int buildNumber )
+ {
+ this.buildNumber = buildNumber;
+ }
+
+ /**
+ * @return the state
+ */
+ public int getState()
+ {
+ return state;
+ }
+
+ /**
+ * @param state the state to set
+ */
+ public void setState( int state )
+ {
+ this.state = state;
+ }
+
+ /**
+ * @return the trigger
+ */
+ public int getTrigger()
+ {
+ return trigger;
+ }
+
+ /**
+ * @param trigger the trigger to set
+ */
+ public void setTrigger( int trigger )
+ {
+ this.trigger = trigger;
+ }
+
+ /**
+ * @return the startTime
+ */
+ public Date getStartTime()
+ {
+ return startTime;
+ }
+
+ /**
+ * @param startTime the startTime to set
+ */
+ public void setStartTime( Date startTime )
+ {
+ this.startTime = startTime;
+ }
+
+ /**
+ * @return the endTime
+ */
+ public Date getEndTime()
+ {
+ return endTime;
+ }
+
+ /**
+ * @param endTime the endTime to set
+ */
+ public void setEndTime( Date endTime )
+ {
+ this.endTime = endTime;
+ }
+
+ /**
+ * @return the error
+ */
+ public String getError()
+ {
+ return error;
+ }
+
+ /**
+ * @param error the error to set
+ */
+ public void setError( String error )
+ {
+ this.error = error;
+ }
+
+ /**
+ * @return the success
+ */
+ public boolean isSuccess()
+ {
+ return success;
+ }
+
+ /**
+ * @param success the success to set
+ */
+ public void setSuccess( boolean success )
+ {
+ this.success = success;
+ }
+
+ /**
+ * @return the exitCode
+ */
+ public int getExitCode()
+ {
+ return exitCode;
+ }
+
+ /**
+ * @param exitCode the exitCode to set
+ */
+ public void setExitCode( int exitCode )
+ {
+ this.exitCode = exitCode;
+ }
+
+ /**
+ * @return the scmResult
+ */
+ public ScmResult getScmResult()
+ {
+ return scmResult;
+ }
+
+ /**
+ * @param scmResult the scmResult to set
+ */
+ public void setScmResult( ScmResult scmResult )
+ {
+ this.scmResult = scmResult;
+ }
+
+ /**
+ * @return the testResult
+ */
+ public TestResult getTestResult()
+ {
+ return testResult;
+ }
+
+ /**
+ * @param testResult the testResult to set
+ */
+ public void setTestResult( TestResult testResult )
+ {
+ this.testResult = testResult;
+ }
+
+ /**
+ * @return the modifiedDependencies
+ */
+ public List<ProjectDependency> getModifiedDependencies()
+ {
+ return modifiedDependencies;
+ }
+
+ /**
+ * @param modifiedDependencies the modifiedDependencies to set
+ */
+ public void setModifiedDependencies( List<ProjectDependency> modifiedDependencies )
+ {
+ this.modifiedDependencies = modifiedDependencies;
+ }
+
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildResult.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/BuildResult.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ContinuumModelloMetadata.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ContinuumModelloMetadata.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ContinuumModelloMetadata.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ContinuumModelloMetadata.java Thu May 1 08:19:53 2008
@@ -0,0 +1,23 @@
+package org.apache.continuum.model.project;
+
+// Model class imports
+
+/**
+ * Generated ModelloMetadata class for Continuum.
+ *
+ * @author Mr Modello
+ */
+public class ContinuumModelloMetadata
+{
+ private String modelVersion;
+
+ public String getModelVersion()
+ {
+ return modelVersion;
+ }
+
+ public void setModelVersion( String modelVersion )
+ {
+ this.modelVersion = modelVersion;
+ }
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ContinuumModelloMetadata.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ContinuumModelloMetadata.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ContinuumProjectState.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ContinuumProjectState.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ContinuumProjectState.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ContinuumProjectState.java Thu May 1 08:19:53 2008
@@ -0,0 +1,102 @@
+package org.apache.continuum.model.project;
+
+/**
+ * null
+ *
+ * @version $Revision$ $Date$
+ */
+public class ContinuumProjectState implements java.io.Serializable
+{
+
+ /**
+ * Field name
+ */
+ private String name;
+
+ // -----------/
+ // - Methods -/
+ // -----------/
+
+ /**
+ * Get null
+ */
+ public String getName()
+ {
+ return this.name;
+ } // -- String getName()
+
+ /**
+ * Set null
+ *
+ * @param name
+ */
+ public void setName( String name )
+ {
+ this.name = name;
+ } // -- void setName(String)
+
+ public final static int NEW = 1;
+
+ public final static int OK = 2;
+
+ public final static int FAILED = 3;
+
+ public final static int ERROR = 4;
+
+ public final static int BUILDING = 6;
+
+ public final static int CHECKING_OUT = 7;
+
+ public final static int UPDATING = 8;
+
+ public final static int WARNING = 9;
+
+ public final static int CHECKEDOUT = 10;
+
+ // TODO: maybe move these to another class
+ public static final int TRIGGER_FORCED = 1;
+
+ // TODO: remove
+ public static final int TRIGGER_SCHEDULED = 0;
+
+ public static final int TRIGGER_UNKNOWN = TRIGGER_SCHEDULED;
+
+ public String getI18nKey()
+ {
+ return "org.apache.continuum.project.state." + name;
+ }
+
+ public boolean equals( Object object )
+ {
+ if ( !( object instanceof ContinuumProjectState ) )
+ {
+ return false;
+ }
+
+ ContinuumProjectState other = (ContinuumProjectState) object;
+
+ return name.equals( other.name );
+ }
+
+ public int hashCode()
+ {
+ return name.hashCode();
+ }
+
+ public String toString()
+ {
+ return name;
+ }
+
+ private String modelEncoding = "UTF-8";
+
+ public void setModelEncoding( String modelEncoding )
+ {
+ this.modelEncoding = modelEncoding;
+ }
+
+ public String getModelEncoding()
+ {
+ return modelEncoding;
+ }
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ContinuumProjectState.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ContinuumProjectState.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/Project.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/Project.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/Project.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/Project.java Thu May 1 08:19:53 2008
@@ -0,0 +1,599 @@
+package org.apache.continuum.model.project;
+
+import org.apache.continuum.model.CommonUpdatableEntity;
+import org.apache.continuum.model.scm.ScmResult;
+
+import javax.persistence.Basic;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.NamedQueries;
+import javax.persistence.OneToMany;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+import javax.persistence.NamedQuery;
+import java.util.List;
+
+/**
+ * A Project registered in the system.
+ *
+ * @version $Id$
+ */
+@Entity
+@Table(name = "PROJECT")
+@NamedQueries(
+{
+ @NamedQuery(name = "Project.findAll", query = "SELECT p from Project as p"),
+ @NamedQuery(name = "Project.find", query = "SELECT p from Project as p WHERE p.groupId = :groupId AND p.artifactId = :artifactId AND p.version = :version")
+})
+
+public class Project
+ extends CommonUpdatableEntity
+{
+
+ /**
+ * Field groupId
+ */
+ @Basic
+ @Column(name = "GROUP_ID")
+ private String groupId;
+
+ /**
+ * Field artifactId
+ */
+ @Basic
+ @Column(name = "ARTIFACT_ID")
+ private String artifactId;
+
+ /**
+ * Artifact version
+ */
+ @Basic
+ @Column(name = "VERSION")
+ private String version;
+
+ /**
+ * Field executorId
+ */
+ @Basic
+ @Column(name = "EXECUTOR_ID")
+ private String executorId;
+
+ /**
+ * Field name
+ */
+ @Basic
+ @Column(name = "NAME")
+ private String name;
+
+ /**
+ * Field description
+ */
+ @Basic
+ @Column(name = "DESCRIPTION")
+ private String description;
+
+ /**
+ * Field url
+ */
+ @Basic
+ @Column(name = "URL")
+ private String url;
+
+ /**
+ * Field scmUrl
+ */
+ @Basic
+ @Column(name = "SCM_URL")
+ private String scmUrl;
+
+ /**
+ * Field scmTag
+ */
+ @Basic
+ @Column(name = "SCM_TAG")
+ private String scmTag;
+
+ /**
+ * Field scmUsername
+ */
+ @Basic
+ @Column(name = "SCM_USERNAME")
+ private String scmUsername;
+
+ /**
+ * Field scmPassword
+ */
+ @Basic
+ @Column(name = "SCM_PASSWORD")
+ private String scmPassword;
+
+ /**
+ * Field scmUseCache
+ */
+ @Basic
+ @Column(name = "FLG_SCM_USE_CACHE", nullable = false)
+ private boolean scmUseCache = false;
+
+ /**
+ * Field state.
+ * <p/>
+ * TODO: Review! This is a candidate for an enum type.
+ */
+ @Basic
+ @Column(name = "STATE")
+ private int state = 1;
+
+ /**
+ * Field oldState
+ * <p/>
+ * TODO: Review! This is a candidate for an enum type.
+ */
+ @Basic
+ @Column(name = "OLD_STATE")
+ private int oldState = 0;
+
+ /**
+ * Field latestBuildId
+ */
+ @Basic
+ @Column(name = "LATEST_BUILD_ID")
+ private int latestBuildId = 0;
+
+ /**
+ * Field buildNumber
+ */
+ @Basic
+ @Column(name = "BUILD_NUMBER")
+ private int buildNumber = 0;
+
+ /**
+ * Field workingDirectory
+ */
+ @Basic
+ @Column(name = "WORKING_DIRECTORY")
+ private String workingDirectory;
+
+ /**
+ * Collection of {@link BuildResult}s for this {@link Project} instance.
+ */
+ @OneToMany(mappedBy = "project")
+ private List<BuildResult> buildResults;
+
+ /**
+ * Field checkoutResult
+ */
+ @OneToOne
+ @JoinColumn(name = "ID_CHECKOUT_RESULT")
+ private ScmResult checkoutResult;
+
+ /**
+ * Field developers
+ * <p/>
+ * TODO:
+ */
+ @OneToMany
+ private List<ProjectDeveloper> developers;
+
+ /**
+ * Field parent
+ */
+ @OneToOne
+ @JoinColumn(name = "ID_PARENT")
+ private ProjectDependency parent;
+
+ /**
+ * Field dependencies
+ */
+ @OneToMany
+ private List<ProjectDependency> dependencies;
+
+ /**
+ * Field projectGroup
+ */
+ @ManyToOne
+ @JoinColumn(name = "ID_PROJECT_GROUP")
+ private ProjectGroup projectGroup;
+
+ /**
+ * Field notifiers
+ */
+ @OneToMany
+ private List<ProjectNotifier> notifiers;
+
+ public void addNotifier( ProjectNotifier n )
+ {
+ notifiers.add( n );
+ }
+
+ public void removeNotifier( ProjectNotifier notifier )
+ {
+ notifiers.remove( notifier );
+ }
+
+ /**
+ * @return the groupId
+ */
+ public String getGroupId()
+ {
+ return groupId;
+ }
+
+ /**
+ * @param groupId the groupId to set
+ */
+ public void setGroupId( String groupId )
+ {
+ this.groupId = groupId;
+ }
+
+ /**
+ * @return the artifactId
+ */
+ public String getArtifactId()
+ {
+ return artifactId;
+ }
+
+ /**
+ * @param artifactId the artifactId to set
+ */
+ public void setArtifactId( String artifactId )
+ {
+ this.artifactId = artifactId;
+ }
+
+ /**
+ * @return the version
+ */
+ public String getVersion()
+ {
+ return version;
+ }
+
+ /**
+ * @param version the version to set
+ */
+ public void setVersion( String version )
+ {
+ this.version = version;
+ }
+
+ /**
+ * @return the executorId
+ */
+ public String getExecutorId()
+ {
+ return executorId;
+ }
+
+ /**
+ * @param executorId the executorId to set
+ */
+ public void setExecutorId( String executorId )
+ {
+ this.executorId = executorId;
+ }
+
+ /**
+ * @return the name
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * @param name the name to set
+ */
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ /**
+ * @return the description
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * @param description the description to set
+ */
+ public void setDescription( String description )
+ {
+ this.description = description;
+ }
+
+ /**
+ * @return the url
+ */
+ public String getUrl()
+ {
+ return url;
+ }
+
+ /**
+ * @param url the url to set
+ */
+ public void setUrl( String url )
+ {
+ this.url = url;
+ }
+
+ /**
+ * @return the scmUrl
+ */
+ public String getScmUrl()
+ {
+ return scmUrl;
+ }
+
+ /**
+ * @param scmUrl the scmUrl to set
+ */
+ public void setScmUrl( String scmUrl )
+ {
+ this.scmUrl = scmUrl;
+ }
+
+ /**
+ * @return the scmTag
+ */
+ public String getScmTag()
+ {
+ return scmTag;
+ }
+
+ /**
+ * @param scmTag the scmTag to set
+ */
+ public void setScmTag( String scmTag )
+ {
+ this.scmTag = scmTag;
+ }
+
+ /**
+ * @return the scmUsername
+ */
+ public String getScmUsername()
+ {
+ return scmUsername;
+ }
+
+ /**
+ * @param scmUsername the scmUsername to set
+ */
+ public void setScmUsername( String scmUsername )
+ {
+ this.scmUsername = scmUsername;
+ }
+
+ /**
+ * @return the scmPassword
+ */
+ public String getScmPassword()
+ {
+ return scmPassword;
+ }
+
+ /**
+ * @param scmPassword the scmPassword to set
+ */
+ public void setScmPassword( String scmPassword )
+ {
+ this.scmPassword = scmPassword;
+ }
+
+ /**
+ * @return the scmUseCache
+ */
+ public boolean isScmUseCache()
+ {
+ return scmUseCache;
+ }
+
+ /**
+ * @param scmUseCache the scmUseCache to set
+ */
+ public void setScmUseCache( boolean scmUseCache )
+ {
+ this.scmUseCache = scmUseCache;
+ }
+
+ /**
+ * @return the state
+ */
+ public int getState()
+ {
+ return state;
+ }
+
+ /**
+ * @param state the state to set
+ */
+ public void setState( int state )
+ {
+ this.state = state;
+ }
+
+ /**
+ * @return the oldState
+ */
+ public int getOldState()
+ {
+ return oldState;
+ }
+
+ /**
+ * @param oldState the oldState to set
+ */
+ public void setOldState( int oldState )
+ {
+ this.oldState = oldState;
+ }
+
+ /**
+ * @return the latestBuildId
+ */
+ public int getLatestBuildId()
+ {
+ return latestBuildId;
+ }
+
+ /**
+ * @param latestBuildId the latestBuildId to set
+ */
+ public void setLatestBuildId( int latestBuildId )
+ {
+ this.latestBuildId = latestBuildId;
+ }
+
+ /**
+ * @return the buildNumber
+ */
+ public int getBuildNumber()
+ {
+ return buildNumber;
+ }
+
+ /**
+ * @param buildNumber the buildNumber to set
+ */
+ public void setBuildNumber( int buildNumber )
+ {
+ this.buildNumber = buildNumber;
+ }
+
+ /**
+ * @return the workingDirectory
+ */
+ public String getWorkingDirectory()
+ {
+ return workingDirectory;
+ }
+
+ /**
+ * @param workingDirectory the workingDirectory to set
+ */
+ public void setWorkingDirectory( String workingDirectory )
+ {
+ this.workingDirectory = workingDirectory;
+ }
+
+ /**
+ * @return the buildResults
+ */
+ public List<BuildResult> getBuildResults()
+ {
+ return buildResults;
+ }
+
+ /**
+ * @param buildResults the buildResults to set
+ */
+ public void setBuildResults( List<BuildResult> buildResults )
+ {
+ this.buildResults = buildResults;
+ }
+
+ /**
+ * @return the checkoutResult
+ */
+ public ScmResult getCheckoutResult()
+ {
+ return checkoutResult;
+ }
+
+ /**
+ * @param checkoutResult the checkoutResult to set
+ */
+ public void setCheckoutResult( ScmResult checkoutResult )
+ {
+ this.checkoutResult = checkoutResult;
+ }
+
+ /**
+ * @return the developers
+ */
+ public List<ProjectDeveloper> getDevelopers()
+ {
+ return developers;
+ }
+
+ /**
+ * @param developers the developers to set
+ */
+ public void setDevelopers( List<ProjectDeveloper> developers )
+ {
+ this.developers = developers;
+ }
+
+ /**
+ * @return the parent
+ */
+ public ProjectDependency getParent()
+ {
+ return parent;
+ }
+
+ /**
+ * @param parent the parent to set
+ */
+ public void setParent( ProjectDependency parent )
+ {
+ this.parent = parent;
+ }
+
+ /**
+ * @return the dependencies
+ */
+ public List<ProjectDependency> getDependencies()
+ {
+ return dependencies;
+ }
+
+ /**
+ * @param dependencies the dependencies to set
+ */
+ public void setDependencies( List<ProjectDependency> dependencies )
+ {
+ this.dependencies = dependencies;
+ }
+
+ /**
+ * @return the projectGroup
+ */
+ public ProjectGroup getProjectGroup()
+ {
+ return projectGroup;
+ }
+
+ /**
+ * @param projectGroup the projectGroup to set
+ */
+ public void setProjectGroup( ProjectGroup projectGroup )
+ {
+ this.projectGroup = projectGroup;
+ }
+
+ /**
+ * @return the notifiers
+ */
+ public List<ProjectNotifier> getNotifiers()
+ {
+ return notifiers;
+ }
+
+ /**
+ * @param notifiers the notifiers to set
+ */
+ public void setNotifiers( List<ProjectNotifier> notifiers )
+ {
+ this.notifiers = notifiers;
+ }
+
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/Project.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/Project.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectDependency.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectDependency.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectDependency.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectDependency.java Thu May 1 08:19:53 2008
@@ -0,0 +1,89 @@
+package org.apache.continuum.model.project;
+
+import org.apache.continuum.model.CommonUpdatableEntity;
+
+import javax.persistence.Basic;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
+ * @version $Id$
+ */
+@Entity
+@Table(name = "PROJECT_DEPENDENCY")
+public class ProjectDependency
+ extends CommonUpdatableEntity
+{
+
+ /**
+ * Field groupId
+ */
+ @Basic
+ @Column(name = "GROUP_ID")
+ private String groupId;
+
+ /**
+ * Field artifactId
+ */
+ @Basic
+ @Column(name = "ARTIFACT_ID")
+ private String artifactId;
+
+ /**
+ * Field version
+ */
+ @Basic
+ @Column(name = "VERSION")
+ private String version;
+
+ /**
+ * @return the groupId
+ */
+ public String getGroupId()
+ {
+ return groupId;
+ }
+
+ /**
+ * @param groupId the groupId to set
+ */
+ public void setGroupId( String groupId )
+ {
+ this.groupId = groupId;
+ }
+
+ /**
+ * @return the artifactId
+ */
+ public String getArtifactId()
+ {
+ return artifactId;
+ }
+
+ /**
+ * @param artifactId the artifactId to set
+ */
+ public void setArtifactId( String artifactId )
+ {
+ this.artifactId = artifactId;
+ }
+
+ /**
+ * @return the version
+ */
+ public String getVersion()
+ {
+ return version;
+ }
+
+ /**
+ * @param version the version to set
+ */
+ public void setVersion( String version )
+ {
+ this.version = version;
+ }
+
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectDependency.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectDependency.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectDeveloper.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectDeveloper.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectDeveloper.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectDeveloper.java Thu May 1 08:19:53 2008
@@ -0,0 +1,48 @@
+package org.apache.continuum.model.project;
+
+import org.apache.continuum.model.CommonUpdatableEntity;
+
+import javax.persistence.Basic;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
+ * @version $Id$
+ */
+@Entity
+@Table(name = "PROJECT_DEVELOPER")
+public class ProjectDeveloper
+ extends CommonUpdatableEntity
+{
+
+ /**
+ * Field scmId
+ */
+ @Basic
+ @Column(name = "SCM_USERNAME")
+ private String scmId;
+
+ /**
+ * Field name
+ */
+ @Basic
+ @Column(name = "NAME")
+ private String name;
+
+ /**
+ * Field email
+ */
+ @Basic
+ @Column(name = "EMAIL")
+ private String email;
+
+ /**
+ * Field continuumId
+ */
+ @Basic
+ @Column(name = "CONTINUUM_ID", nullable = false)
+ private int continuumId = 0;
+
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectDeveloper.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectDeveloper.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectGroup.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectGroup.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectGroup.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectGroup.java Thu May 1 08:19:53 2008
@@ -0,0 +1,189 @@
+package org.apache.continuum.model.project;
+
+import org.apache.continuum.model.CommonUpdatableEntity;
+
+import javax.persistence.Basic;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
+ * @version $Id$
+ */
+@Entity
+@Table(name = "PROJECT_GROUP")
+@NamedQueries(
+{
+ @NamedQuery ( name = "ProjectGroup.findProjectGroup", query = "SELECT pg FROM ProjectGroup as pg WHERE pg.groupId = :groupId"),
+ @NamedQuery ( name = "ProjectGroup.findProjects", query = "SELECT pg.projects FROM ProjectGroup as pg WHERE pg = :projectGroup")
+})
+public class ProjectGroup
+ extends CommonUpdatableEntity
+{
+
+ /**
+ * Field groupId
+ */
+ @Basic
+ @Column(name = "GROUP_ID")
+ private String groupId;
+
+ /**
+ * Field name
+ */
+ @Basic
+ @Column(name = "NAME")
+ private String name;
+
+ /**
+ * Field description
+ */
+ @Basic
+ @Column(name = "DESCRIPTION")
+ private String description;
+
+ /**
+ * Field projects
+ */
+ @OneToMany(mappedBy = "projectGroup")
+ private List<Project> projects;
+
+ /**
+ * Field notifiers
+ */
+ @OneToMany
+ private List<ProjectNotifier> notifiers;
+
+ /**
+ * Field buildDefinitions
+ */
+ @OneToMany
+ private List<BuildDefinition> buildDefinitions;
+
+ public void addProject( Project p )
+ {
+ projects.add( p );
+ }
+
+ public void addNotifier( ProjectNotifier n )
+ {
+ notifiers.add( n );
+ }
+
+ public void removeProject( Project p )
+ {
+ projects.remove( p );
+ }
+
+ public void removeNotifier( ProjectNotifier notifier )
+ {
+ notifiers.remove( notifier );
+ }
+
+ /**
+ * @return the groupId
+ */
+ public String getGroupId()
+ {
+ return groupId;
+ }
+
+ /**
+ * @param groupId the groupId to set
+ */
+ public void setGroupId( String groupId )
+ {
+ this.groupId = groupId;
+ }
+
+ /**
+ * @return the name
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * @param name the name to set
+ */
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ /**
+ * @return the description
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * @param description the description to set
+ */
+ public void setDescription( String description )
+ {
+ this.description = description;
+ }
+
+ /**
+ * @return the projects
+ */
+ public List<Project> getProjects()
+ {
+ if ( null == this.projects )
+ {
+ this.projects = new ArrayList<Project>();
+ }
+ return projects;
+ }
+
+ /**
+ * @param projects the projects to set
+ */
+ public void setProjects( List<Project> projects )
+ {
+ this.projects = projects;
+ }
+
+ /**
+ * @return the notifiers
+ */
+ public List<ProjectNotifier> getNotifiers()
+ {
+ return notifiers;
+ }
+
+ /**
+ * @param notifiers the notifiers to set
+ */
+ public void setNotifiers( List<ProjectNotifier> notifiers )
+ {
+ this.notifiers = notifiers;
+ }
+
+ /**
+ * @return the buildDefinitions
+ */
+ public List<BuildDefinition> getBuildDefinitions()
+ {
+ return buildDefinitions;
+ }
+
+ /**
+ * @param buildDefinitions the buildDefinitions to set
+ */
+ public void setBuildDefinitions( List<BuildDefinition> buildDefinitions )
+ {
+ this.buildDefinitions = buildDefinitions;
+ }
+
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectGroup.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectGroup.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectNotifier.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectNotifier.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectNotifier.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectNotifier.java Thu May 1 08:19:53 2008
@@ -0,0 +1,119 @@
+package org.apache.continuum.model.project;
+
+import org.apache.continuum.model.CommonUpdatableEntity;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import java.util.Map;
+
+/**
+ * Configures one method for notifying users/developers when a build breaks.
+ * <p/>
+ * TODO: Review this to use discriminators for different Notifier extensions.
+ *
+ * @version $Id$
+ */
+@Entity
+@Table(name = "PROJECT_NOTIFIER")
+@NamedQueries
+({
+ @NamedQuery( name = "Notifier.findAllFromProject", query = "SELECT p.notifiers from Project as p WHERE p.id = :projectId"),
+ @NamedQuery( name = "Notifier.findAllFromProjectGroup", query = "SELECT pg.notifiers from ProjectGroup as pg WHERE pg.id = :projectGroupId")
+})
+public class ProjectNotifier
+ extends CommonUpdatableEntity
+{
+ /**
+ * Field type
+ * <p/>
+ * TODO: This is a candidate for enum type.
+ */
+ @Column(name = "GROUP_ID")
+ private String type = "mail";
+
+ /**
+ * Field from
+ */
+ @Column(name = "NOTIFIER_ORIGIN", nullable = false)
+ private int from = 0;
+
+ /**
+ * Field enabled
+ */
+ @Column(name = "FLG_ENABLED", nullable = false)
+ private boolean enabled = true;
+
+ /**
+ * Field recipientType
+ */
+ @Column(name = "RECIPIENT_TYPE", nullable = false)
+ private int recipientType = 0;
+
+ /**
+ * Field sendOnSuccess
+ */
+ @Column(name = "FLG_SEND_ON_SUCCESS", nullable = false)
+ private boolean sendOnSuccess = true;
+
+ /**
+ * Field sendOnFailure
+ */
+ @Column(name = "FLG_SEND_ON_FAILURE", nullable = false)
+ private boolean sendOnFailure = true;
+
+ /**
+ * Field sendOnError
+ */
+ @Column(name = "FLG_SEND_ON_ERROR", nullable = false)
+ private boolean sendOnError = true;
+
+ /**
+ * Field sendOnWarning
+ */
+ @Column(name = "FLG_SEND_ON_WARNING", nullable = false)
+ private boolean sendOnWarning = true;
+
+ /**
+ * Field configuration.
+ * <p/>
+ * TODO: Map!
+ */
+ @Transient
+ private Map configuration;
+
+ /**
+ * TODO: Map! Enum?
+ */
+ public static final int FROM_PROJECT = 1;
+
+ /**
+ * TODO: Map! Enum?
+ */
+ public static final int FROM_USER = 2;
+
+ /**
+ * Method toString
+ */
+ public java.lang.String toString()
+ {
+ StringBuffer buf = new StringBuffer();
+ buf.append( "id = '" );
+ buf.append( getId() + "'" );
+ return buf.toString();
+ } // -- java.lang.String toString()
+
+ public boolean isFromProject()
+ {
+ return from == FROM_PROJECT;
+ }
+
+ public boolean isFromUser()
+ {
+ return from == FROM_USER;
+ }
+
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectNotifier.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/ProjectNotifier.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/Schedule.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/Schedule.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/Schedule.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/Schedule.java Thu May 1 08:19:53 2008
@@ -0,0 +1,158 @@
+package org.apache.continuum.model.project;
+
+import org.apache.continuum.model.CommonUpdatableEntity;
+
+import javax.persistence.Basic;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
+ * @version $Id$
+ */
+@Entity
+@Table(name = "BUILD_SCHEDULE")
+public class Schedule
+ extends CommonUpdatableEntity
+{
+
+ /**
+ * Field active
+ */
+ @Basic
+ @Column(name = "FLG_ACTIVE", nullable = false)
+ private boolean active = false;
+
+ /**
+ * Field name
+ */
+ @Basic
+ @Column(name = "NAME", nullable = false)
+ private String name;
+
+ /**
+ * Field description
+ */
+ @Basic
+ @Column(name = "DESCRIPTION")
+ private String description;
+
+ /**
+ * Field delay
+ */
+ @Basic
+ @Column(name = "SCHEDULE_DELAY")
+ private int delay = 0;
+
+ /**
+ * Field maxJobExecutionTime
+ */
+ @Basic
+ @Column(name = "MAX_JOB_EXECUTION_TIME")
+ private int maxJobExecutionTime = 3600;
+
+ /**
+ * Field cronExpression
+ */
+ @Basic
+ @Column(name = "CRON_EXPRESSION")
+ private String cronExpression;
+
+ /**
+ * @return the active
+ */
+ public boolean isActive()
+ {
+ return active;
+ }
+
+ /**
+ * @param active the active to set
+ */
+ public void setActive( boolean active )
+ {
+ this.active = active;
+ }
+
+ /**
+ * @return the name
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * @param name the name to set
+ */
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ /**
+ * @return the description
+ */
+ public String getDescription()
+ {
+ return description;
+ }
+
+ /**
+ * @param description the description to set
+ */
+ public void setDescription( String description )
+ {
+ this.description = description;
+ }
+
+ /**
+ * @return the delay
+ */
+ public int getDelay()
+ {
+ return delay;
+ }
+
+ /**
+ * @param delay the delay to set
+ */
+ public void setDelay( int delay )
+ {
+ this.delay = delay;
+ }
+
+ /**
+ * @return the maxJobExecutionTime
+ */
+ public int getMaxJobExecutionTime()
+ {
+ return maxJobExecutionTime;
+ }
+
+ /**
+ * @param maxJobExecutionTime the maxJobExecutionTime to set
+ */
+ public void setMaxJobExecutionTime( int maxJobExecutionTime )
+ {
+ this.maxJobExecutionTime = maxJobExecutionTime;
+ }
+
+ /**
+ * @return the cronExpression
+ */
+ public String getCronExpression()
+ {
+ return cronExpression;
+ }
+
+ /**
+ * @param cronExpression the cronExpression to set
+ */
+ public void setCronExpression( String cronExpression )
+ {
+ this.cronExpression = cronExpression;
+ }
+
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/Schedule.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/project/Schedule.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ChangeFile.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ChangeFile.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ChangeFile.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ChangeFile.java Thu May 1 08:19:53 2008
@@ -0,0 +1,91 @@
+package org.apache.continuum.model.scm;
+
+import org.apache.continuum.model.CommonUpdatableEntity;
+
+import javax.persistence.Basic;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
+ * @version $Id$
+ */
+@Entity
+@Table(name = "CHANGE_FILE")
+public class ChangeFile
+ extends CommonUpdatableEntity
+{
+
+ /**
+ * Field name
+ */
+ @Basic
+ @Column(name = "NAME")
+ private String name;
+
+ /**
+ * Field revision
+ */
+ @Basic
+ @Column(name = "REVISION")
+ private String revision;
+
+ /**
+ * Field status
+ * <p/>
+ * TODO: Enum?
+ */
+ @Basic
+ @Column(name = "STATUS")
+ private String status;
+
+ /**
+ * @return the name
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * @param name the name to set
+ */
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ /**
+ * @return the revision
+ */
+ public String getRevision()
+ {
+ return revision;
+ }
+
+ /**
+ * @param revision the revision to set
+ */
+ public void setRevision( String revision )
+ {
+ this.revision = revision;
+ }
+
+ /**
+ * @return the status
+ */
+ public String getStatus()
+ {
+ return status;
+ }
+
+ /**
+ * @param status the status to set
+ */
+ public void setStatus( String status )
+ {
+ this.status = status;
+ }
+
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ChangeFile.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ChangeFile.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ChangeSet.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ChangeSet.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ChangeSet.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ChangeSet.java Thu May 1 08:19:53 2008
@@ -0,0 +1,116 @@
+package org.apache.continuum.model.scm;
+
+import org.apache.continuum.model.CommonUpdatableEntity;
+
+import javax.persistence.Basic;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
+ * @version $Id$
+ */
+@Entity
+@Table(name = "CHANGE_SET")
+public class ChangeSet
+ extends CommonUpdatableEntity
+{
+
+ /**
+ * Field author
+ */
+ @Basic
+ @Column(name = "AUTHOR")
+ private String author;
+
+ /**
+ * Field comment
+ */
+ @Basic
+ @Column(name = "COMMENT_TEXT")
+ private String comment;
+
+ /**
+ * Field date
+ */
+ @Temporal(TemporalType.TIME)
+ @Column(name = "DATE", nullable = false)
+ private Date date;
+
+ /**
+ * Field files
+ */
+ @OneToMany
+ private List<ChangeFile> files;
+
+ /**
+ * @return the author
+ */
+ public String getAuthor()
+ {
+ return author;
+ }
+
+ /**
+ * @param author the author to set
+ */
+ public void setAuthor( String author )
+ {
+ this.author = author;
+ }
+
+ /**
+ * @return the comment
+ */
+ public String getComment()
+ {
+ return comment;
+ }
+
+ /**
+ * @param comment the comment to set
+ */
+ public void setComment( String comment )
+ {
+ this.comment = comment;
+ }
+
+ /**
+ * @return the date
+ */
+ public Date getDate()
+ {
+ return date;
+ }
+
+ /**
+ * @param date the date to set
+ */
+ public void setDate( Date date )
+ {
+ this.date = date;
+ }
+
+ /**
+ * @return the files
+ */
+ public List<ChangeFile> getFiles()
+ {
+ return files;
+ }
+
+ /**
+ * @param files the files to set
+ */
+ public void setFiles( List<ChangeFile> files )
+ {
+ this.files = files;
+ }
+
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ChangeSet.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ChangeSet.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ScmResult.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ScmResult.java?rev=652556&view=auto
==============================================================================
--- continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ScmResult.java (added)
+++ continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ScmResult.java Thu May 1 08:19:53 2008
@@ -0,0 +1,159 @@
+package org.apache.continuum.model.scm;
+
+import org.apache.continuum.model.CommonUpdatableEntity;
+
+import javax.persistence.Basic;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+import java.util.List;
+
+/**
+ * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
+ * @version $Id$
+ */
+@Entity
+@Table(name = "SCM_RESULT")
+public class ScmResult
+ extends CommonUpdatableEntity
+{
+
+ /**
+ * Field success
+ */
+ @Basic
+ @Column(name = "FLG_SUCCESS")
+ private boolean success = false;
+
+ /**
+ * Field commandLine
+ */
+ @Basic
+ @Column(name = "COMMAND_LINE")
+ private String commandLine;
+
+ /**
+ * Field providerMessage
+ */
+ @Basic
+ @Column(name = "PROVIDER_MESSAGE")
+ private String providerMessage;
+
+ /**
+ * Field commandOutput
+ */
+ @Basic
+ @Column(name = "COMMAND_OUTPUT")
+ private String commandOutput;
+
+ /**
+ * Field exception XXX: Renamed from 'EXCEPTION' to 'EXCEPTION_MSG'
+ */
+ @Basic
+ @Column(name = "EXCEPTION_MSG")
+ private String exception;
+
+ /**
+ * Field changes
+ */
+ @OneToMany
+ private List<ChangeSet> changes;
+
+ /**
+ * @return the success
+ */
+ public boolean isSuccess()
+ {
+ return success;
+ }
+
+ /**
+ * @param success the success to set
+ */
+ public void setSuccess( boolean success )
+ {
+ this.success = success;
+ }
+
+ /**
+ * @return the commandLine
+ */
+ public String getCommandLine()
+ {
+ return commandLine;
+ }
+
+ /**
+ * @param commandLine the commandLine to set
+ */
+ public void setCommandLine( String commandLine )
+ {
+ this.commandLine = commandLine;
+ }
+
+ /**
+ * @return the providerMessage
+ */
+ public String getProviderMessage()
+ {
+ return providerMessage;
+ }
+
+ /**
+ * @param providerMessage the providerMessage to set
+ */
+ public void setProviderMessage( String providerMessage )
+ {
+ this.providerMessage = providerMessage;
+ }
+
+ /**
+ * @return the commandOutput
+ */
+ public String getCommandOutput()
+ {
+ return commandOutput;
+ }
+
+ /**
+ * @param commandOutput the commandOutput to set
+ */
+ public void setCommandOutput( String commandOutput )
+ {
+ this.commandOutput = commandOutput;
+ }
+
+ /**
+ * @return the exception
+ */
+ public String getException()
+ {
+ return exception;
+ }
+
+ /**
+ * @param exception the exception to set
+ */
+ public void setException( String exception )
+ {
+ this.exception = exception;
+ }
+
+ /**
+ * @return the changes
+ */
+ public List<ChangeSet> getChanges()
+ {
+ return changes;
+ }
+
+ /**
+ * @param changes the changes to set
+ */
+ public void setChanges( List<ChangeSet> changes )
+ {
+ this.changes = changes;
+ }
+
+}
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ScmResult.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: continuum/branches/continuum-jpa-evenisse/src/main/java/org/apache/continuum/model/scm/ScmResult.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"