You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ri...@apache.org on 2006/12/28 07:21:37 UTC
svn commit: r490663 - in
/maven/continuum/branches/key-based-refactor/continuum-store/src:
main/java/org/apache/maven/continuum/store/
test/java/org/apache/maven/continuum/store/
Author: rinku
Date: Wed Dec 27 22:21:37 2006
New Revision: 490663
URL: http://svn.apache.org/viewvc?view=rev&rev=490663
Log:
o moved around methods to respective separate store impls.
o adjustment to JDO store hierarchy.
Added:
maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/AbstractJdoStore.java (with props)
maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoProjectGroupStore.java (with props)
maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoProjectStore.java
- copied, changed from r490562, maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoRefactoredContinuumStore.java
maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoSystemStore.java (with props)
Removed:
maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoRefactoredContinuumStore.java
Modified:
maven/continuum/branches/key-based-refactor/continuum-store/src/test/java/org/apache/maven/continuum/store/AbstractRefactoredContinuumStoreTestCase.java
Added: maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/AbstractJdoStore.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/AbstractJdoStore.java?view=auto&rev=490663
==============================================================================
--- maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/AbstractJdoStore.java (added)
+++ maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/AbstractJdoStore.java Wed Dec 27 22:21:37 2006
@@ -0,0 +1,147 @@
+/**
+ *
+ */
+package org.apache.maven.continuum.store;
+
+import org.codehaus.plexus.jdo.PlexusJdoUtils;
+import org.codehaus.plexus.jdo.PlexusObjectNotFoundException;
+import org.codehaus.plexus.jdo.PlexusStoreException;
+
+import javax.jdo.FetchPlan;
+import javax.jdo.PersistenceManager;
+import javax.jdo.PersistenceManagerFactory;
+import javax.jdo.Transaction;
+
+/**
+ * Covenience base class that consolidates some common methods used by
+ * extensions.
+ *
+ * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
+ * @version $Id$
+ * @since 1.1
+ */
+public class AbstractJdoStore
+{
+
+ /**
+ * Provides hook to obtainig a {@link PersistenceManager} instance for
+ * invoking operations on the underlying store.
+ */
+ private PersistenceManagerFactory continuumPmf;
+
+ /**
+ * Lookup and return an Object instance from the underlying store.
+ *
+ * @param clazz Expected {@link Class} of the Entity being looked up.
+ * @param id object identifier in the underlying store.
+ * @param fetchGroup TODO: Document!
+ * @return matching Object.
+ * @throws ContinuumStoreException
+ * @throws ContinuumObjectNotFoundException if not matching Object could be
+ * found.
+ */
+ protected Object getObjectById( Class clazz, long id, String fetchGroup )
+ throws ContinuumStoreException, ContinuumObjectNotFoundException
+ {
+ try
+ {
+ return PlexusJdoUtils.getObjectById( getPersistenceManager(), clazz, id, fetchGroup );
+ }
+ catch ( PlexusObjectNotFoundException e )
+ {
+ throw new ContinuumObjectNotFoundException( e.getMessage() );
+ }
+ catch ( PlexusStoreException e )
+ {
+ throw new ContinuumStoreException( e.getMessage(), e );
+ }
+ }
+
+ /**
+ * Looks up and returns an Entity instance from the underlying store given
+ * the String key and the field name to match it against.
+ *
+ * @param clazz Expected {@link Class} of the entity being looked up.
+ * @param idField Column identifier/name for the field in the underlying
+ * store to match the String identifier against.
+ * @param id Identifier value to match in the Id field.
+ * @param fetchGroup TODO: Document! What is a fetchGroup?
+ * @return Entity instance that matches the lookup criteria as specified by
+ * the passed in Id.
+ * @throws ContinuumStoreException
+ * @throws ContinuumObjectNotFoundException if there was no instance that
+ * matched the criteria in the underlying store.
+ */
+ protected Object getObjectFromQuery( Class clazz, String idField, String id, String fetchGroup )
+ throws ContinuumStoreException, ContinuumObjectNotFoundException
+ {
+ try
+ {
+ return PlexusJdoUtils.getObjectFromQuery( getPersistenceManager(), clazz, idField, id, fetchGroup );
+ }
+ catch ( PlexusObjectNotFoundException e )
+ {
+ throw new ContinuumObjectNotFoundException( e.getMessage() );
+ }
+ catch ( PlexusStoreException e )
+ {
+ throw new ContinuumStoreException( e.getMessage(), e );
+ }
+ }
+
+ /**
+ * Returns the {@link PersistenceManager} instance that allows interaction
+ * with the underlying store.
+ *
+ * @return {@link PersistenceManager} instance.
+ */
+ protected PersistenceManager getPersistenceManager()
+ {
+ PersistenceManager pm = continuumPmf.getPersistenceManager();
+
+ pm.getFetchPlan().setMaxFetchDepth( -1 );
+ pm.getFetchPlan().setDetachmentOptions( FetchPlan.DETACH_LOAD_FIELDS );
+
+ return pm;
+ }
+
+ /**
+ * Deletes the specified Object instance from the underlying store.
+ *
+ * @param o Object instance to be deleted.
+ */
+ protected void removeObject( Object o )
+ {
+ PlexusJdoUtils.removeObject( getPersistenceManager(), o );
+ }
+
+ /**
+ * Rolls back the passed in uncommitted transaction.
+ *
+ * @param tx {@link Transaction} to rollback.
+ */
+ protected void rollback( Transaction tx )
+ {
+ PlexusJdoUtils.rollbackIfActive( tx );
+ }
+
+ /**
+ * Updates the specified object's properties in the underlying store.
+ *
+ * @param object Object instance to be updated.
+ * @throws ContinuumStoreException wraps up any error encountered while
+ * updating the specified object in the store.
+ */
+ protected void updateObject( Object object ) throws ContinuumStoreException
+ {
+ try
+ {
+ PlexusJdoUtils.updateObject( getPersistenceManager(), object );
+ }
+ catch ( PlexusStoreException e )
+ {
+ throw new ContinuumStoreException( e.getMessage(), e );
+ }
+ }
+
+}
Propchange: maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/AbstractJdoStore.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/AbstractJdoStore.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoProjectGroupStore.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoProjectGroupStore.java?view=auto&rev=490663
==============================================================================
--- maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoProjectGroupStore.java (added)
+++ maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoProjectGroupStore.java Wed Dec 27 22:21:37 2006
@@ -0,0 +1,50 @@
+/**
+ *
+ */
+package org.apache.maven.continuum.store;
+
+import org.apache.maven.continuum.key.GroupProjectKey;
+import org.apache.maven.continuum.model.project.ProjectGroup;
+
+/**
+ * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
+ *
+ */
+public class JdoProjectGroupStore extends AbstractJdoStore implements ProjectGroupStore
+{
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ProjectGroupStore#deleteProjectGroup(org.apache.maven.continuum.model.project.ProjectGroup)
+ */
+ public void deleteProjectGroup( ProjectGroup group ) throws ContinuumStoreException
+ {
+ // TODO: Any checks before Group should be deleted?
+ removeObject( group );
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ProjectGroupStore#lookupProjectGroup(org.apache.maven.continuum.key.GroupProjectKey)
+ */
+ public ProjectGroup lookupProjectGroup( GroupProjectKey key )
+ throws ContinuumObjectNotFoundException, ContinuumStoreException
+ {
+ return (ProjectGroup) getObjectFromQuery( ProjectGroup.class, "key", key.getProjectKey(), null );
+
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ProjectGroupStore#saveProjectGroup(org.apache.maven.continuum.model.project.ProjectGroup)
+ */
+ public ProjectGroup saveProjectGroup( ProjectGroup group ) throws ContinuumStoreException
+ {
+ updateObject( group );
+ return group;
+ }
+
+}
Propchange: maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoProjectGroupStore.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoProjectGroupStore.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Copied: maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoProjectStore.java (from r490562, maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoRefactoredContinuumStore.java)
URL: http://svn.apache.org/viewvc/maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoProjectStore.java?view=diff&rev=490663&p1=maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoRefactoredContinuumStore.java&r1=490562&p2=maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoProjectStore.java&r2=490663
==============================================================================
--- maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoRefactoredContinuumStore.java (original)
+++ maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoProjectStore.java Wed Dec 27 22:21:37 2006
@@ -18,20 +18,10 @@
import org.apache.maven.continuum.key.GroupProjectKey;
import org.apache.maven.continuum.model.project.BuildResult;
-import org.apache.maven.continuum.model.project.Profile;
import org.apache.maven.continuum.model.project.Project;
-import org.apache.maven.continuum.model.project.ProjectGroup;
-import org.apache.maven.continuum.model.project.Schedule;
-import org.apache.maven.continuum.model.system.Installation;
-import org.apache.maven.continuum.model.system.SystemConfiguration;
-import org.codehaus.plexus.jdo.PlexusJdoUtils;
-import org.codehaus.plexus.jdo.PlexusObjectNotFoundException;
-import org.codehaus.plexus.jdo.PlexusStoreException;
import javax.jdo.Extent;
-import javax.jdo.FetchPlan;
import javax.jdo.PersistenceManager;
-import javax.jdo.PersistenceManagerFactory;
import javax.jdo.Query;
import javax.jdo.Transaction;
@@ -41,25 +31,18 @@
* Store implementation that interacts with the underlying JDO-based store.
*
* @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
- * @version $Id: JdoRefactoredContinuumStore.java 490386 2006-12-26 22:05:15Z
- * rinku $
+ * @version $Id$
* @since 1.1
* @plexus.component role="org.apache.maven.continuum.store.RefactoredContinuumStore"
* role-hint="jdo"
*/
-public class JdoRefactoredContinuumStore implements RefactoredContinuumStore
+public class JdoProjectStore extends AbstractJdoStore implements ProjectStore
{
/**
- * Provides hook to obtainig a {@link PersistenceManager} instance for
- * invoking operations on the underlying store.
- */
- private PersistenceManagerFactory continuumPmf;
-
- /**
* {@inheritDoc}
*
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#deleteProject(org.apache.maven.continuum.model.project.Project)
+ * @see org.apache.maven.continuum.store.ProjectStore#deleteProject(org.apache.maven.continuum.model.project.Project)
*/
public void deleteProject( Project project ) throws ContinuumStoreException
{
@@ -70,18 +53,7 @@
/**
* {@inheritDoc}
*
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#deleteProjectGroup(org.apache.maven.continuum.model.project.ProjectGroup)
- */
- public void deleteProjectGroup( ProjectGroup group ) throws ContinuumStoreException
- {
- // TODO: Any checks before Group should be deleted?
- removeObject( group );
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#lookupProject(org.apache.maven.continuum.key.GroupProjectKey)
+ * @see org.apache.maven.continuum.store.ProjectStore#lookupProject(org.apache.maven.continuum.key.GroupProjectKey)
*/
public Project lookupProject( GroupProjectKey key )
throws ContinuumObjectNotFoundException, ContinuumStoreException
@@ -126,250 +98,11 @@
/**
* {@inheritDoc}
*
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#lookupProjectGroup(org.apache.maven.continuum.key.GroupProjectKey)
- */
- public ProjectGroup lookupProjectGroup( GroupProjectKey key )
- throws ContinuumObjectNotFoundException, ContinuumStoreException
- {
- return (ProjectGroup) getObjectFromQuery( ProjectGroup.class, "key", key.getProjectKey(), null );
-
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#saveProject(org.apache.maven.continuum.model.project.Project)
+ * @see org.apache.maven.continuum.store.ProjectStore#saveProject(org.apache.maven.continuum.model.project.Project)
*/
public Project saveProject( Project project ) throws ContinuumStoreException
{
updateObject( project );
return project;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#saveProjectGroup(org.apache.maven.continuum.model.project.ProjectGroup)
- */
- public ProjectGroup saveProjectGroup( ProjectGroup group ) throws ContinuumStoreException
- {
- updateObject( group );
- return group;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#deleteInstallation(org.apache.maven.continuum.model.system.Installation)
- */
- public void deleteInstallation( Installation installation ) throws ContinuumStoreException
- {
- // TODO: Any checks before installation should be deleted?
- removeObject( installation );
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#deleteProfile(org.apache.maven.continuum.model.project.Profile)
- */
- public void deleteProfile( Profile profile ) throws ContinuumStoreException
- {
- // TODO: Any checks before profile should be deleted?
- removeObject( profile );
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#deleteSchedule(org.apache.maven.continuum.model.project.Schedule)
- */
- public void deleteSchedule( Schedule schedule ) throws ContinuumStoreException
- {
- // TODO: Any checks before schedule should be deleted?
- removeObject( schedule );
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#deleteSystemConfiguration(org.apache.maven.continuum.model.system.SystemConfiguration)
- */
- public void deleteSystemConfiguration( SystemConfiguration systemConfiguration ) throws ContinuumStoreException
- {
- // TODO: Any checks before systemConfiguration should be deleted?
- removeObject( systemConfiguration );
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#lookupInstallation(long)
- */
- public Installation lookupInstallation( long id ) throws ContinuumObjectNotFoundException, ContinuumStoreException
- {
- return (Installation) getObjectById( Installation.class, id, null );
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#lookupProfile(long)
- */
- public Profile lookupProfile( long id ) throws ContinuumObjectNotFoundException, ContinuumStoreException
- {
- return (Profile) getObjectById( Profile.class, id, null );
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#lookupSchedule(long)
- */
- public Schedule lookupSchedule( long id ) throws ContinuumObjectNotFoundException, ContinuumStoreException
- {
- return (Schedule) getObjectById( Schedule.class, id, null );
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#lookupSystemConfiguration(long)
- */
- public SystemConfiguration lookupSystemConfiguration( long id )
- throws ContinuumObjectNotFoundException, ContinuumStoreException
- {
- return (SystemConfiguration) getObjectById( SystemConfiguration.class, id, null );
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#saveInstallation(org.apache.maven.continuum.model.system.Installation)
- */
- public Installation saveInstallation( Installation installation ) throws ContinuumStoreException
- {
- updateObject( installation );
- return installation;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#saveProfile(org.apache.maven.continuum.model.project.Profile)
- */
- public Profile saveProfile( Profile profile ) throws ContinuumStoreException
- {
- updateObject( profile );
- return profile;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#saveSchedule(org.apache.maven.continuum.model.project.Schedule)
- */
- public Schedule saveSchedule( Schedule schedule ) throws ContinuumStoreException
- {
- updateObject( schedule );
- return schedule;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.apache.maven.continuum.store.RefactoredContinuumStore#saveSystemConfiguration(org.apache.maven.continuum.model.system.SystemConfiguration)
- */
- public SystemConfiguration saveSystemConfiguration( SystemConfiguration systemConfiguration )
- throws ContinuumStoreException
- {
- updateObject( systemConfiguration );
- return systemConfiguration;
- }
-
- // ------------------------------------------------------------------------
- // Service Methods
- // ------------------------------------------------------------------------
-
- /**
- * Looks up and returns an Entity instance from the underlying store given
- * the String key and the field name to match it against.
- *
- * @param clazz Expected {@link Class} of the entity being looked up.
- * @param idField Column identifier/name for the field in the underlying
- * store to match the String identifier against.
- * @param id Identifier value to match in the Id field.
- * @param fetchGroup TODO: Document! What is a fetchGroup?
- * @return Entity instance that matches the lookup criteria as specified by
- * the passed in Id.
- * @throws ContinuumStoreException
- * @throws ContinuumObjectNotFoundException if there was no instance that
- * matched the criteria in the underlying store.
- */
- private Object getObjectFromQuery( Class clazz, String idField, String id, String fetchGroup )
- throws ContinuumStoreException, ContinuumObjectNotFoundException
- {
- try
- {
- return PlexusJdoUtils.getObjectFromQuery( getPersistenceManager(), clazz, idField, id, fetchGroup );
- }
- catch ( PlexusObjectNotFoundException e )
- {
- throw new ContinuumObjectNotFoundException( e.getMessage() );
- }
- catch ( PlexusStoreException e )
- {
- throw new ContinuumStoreException( e.getMessage(), e );
- }
- }
-
- private Object getObjectById( Class clazz, long id, String fetchGroup )
- throws ContinuumStoreException, ContinuumObjectNotFoundException
- {
- try
- {
- // TODO: Add method to PlexusJdoUtils to use long
- return PlexusJdoUtils.getObjectById( getPersistenceManager(), clazz, (int) id, fetchGroup );
- }
- catch ( PlexusObjectNotFoundException e )
- {
- throw new ContinuumObjectNotFoundException( e.getMessage() );
- }
- catch ( PlexusStoreException e )
- {
- throw new ContinuumStoreException( e.getMessage(), e );
- }
- }
-
- private PersistenceManager getPersistenceManager()
- {
- PersistenceManager pm = continuumPmf.getPersistenceManager();
-
- pm.getFetchPlan().setMaxFetchDepth( -1 );
- pm.getFetchPlan().setDetachmentOptions( FetchPlan.DETACH_LOAD_FIELDS );
-
- return pm;
- }
-
- private void removeObject( Object o )
- {
- PlexusJdoUtils.removeObject( getPersistenceManager(), o );
- }
-
- private void rollback( Transaction tx )
- {
- PlexusJdoUtils.rollbackIfActive( tx );
- }
-
- private void updateObject( Object object ) throws ContinuumStoreException
- {
- try
- {
- PlexusJdoUtils.updateObject( getPersistenceManager(), object );
- }
- catch ( PlexusStoreException e )
- {
- throw new ContinuumStoreException( e.getMessage(), e );
- }
}
}
Added: maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoSystemStore.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoSystemStore.java?view=auto&rev=490663
==============================================================================
--- maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoSystemStore.java (added)
+++ maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoSystemStore.java Wed Dec 27 22:21:37 2006
@@ -0,0 +1,148 @@
+/**
+ *
+ */
+package org.apache.maven.continuum.store;
+
+import org.apache.maven.continuum.model.project.Profile;
+import org.apache.maven.continuum.model.project.Schedule;
+import org.apache.maven.continuum.model.system.Installation;
+import org.apache.maven.continuum.model.system.SystemConfiguration;
+
+/**
+ * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
+ *
+ */
+public class JdoSystemStore extends AbstractJdoStore implements SystemStore
+{
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ProjectStore#deleteInstallation(org.apache.maven.continuum.model.system.Installation)
+ */
+ public void deleteInstallation( Installation installation ) throws ContinuumStoreException
+ {
+ // TODO: Any checks before installation should be deleted?
+ removeObject( installation );
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ProjectStore#deleteProfile(org.apache.maven.continuum.model.project.Profile)
+ */
+ public void deleteProfile( Profile profile ) throws ContinuumStoreException
+ {
+ // TODO: Any checks before profile should be deleted?
+ removeObject( profile );
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ProjectStore#deleteSchedule(org.apache.maven.continuum.model.project.Schedule)
+ */
+ public void deleteSchedule( Schedule schedule ) throws ContinuumStoreException
+ {
+ // TODO: Any checks before schedule should be deleted?
+ removeObject( schedule );
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ProjectStore#deleteSystemConfiguration(org.apache.maven.continuum.model.system.SystemConfiguration)
+ */
+ public void deleteSystemConfiguration( SystemConfiguration systemConfiguration ) throws ContinuumStoreException
+ {
+ // TODO: Any checks before systemConfiguration should be deleted?
+ removeObject( systemConfiguration );
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ProjectStore#lookupInstallation(long)
+ */
+ public Installation lookupInstallation( long id ) throws ContinuumObjectNotFoundException, ContinuumStoreException
+ {
+ return (Installation) getObjectById( Installation.class, id, null );
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ProjectStore#lookupProfile(long)
+ */
+ public Profile lookupProfile( long id ) throws ContinuumObjectNotFoundException, ContinuumStoreException
+ {
+ return (Profile) getObjectById( Profile.class, id, null );
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ProjectStore#lookupSchedule(long)
+ */
+ public Schedule lookupSchedule( long id ) throws ContinuumObjectNotFoundException, ContinuumStoreException
+ {
+ return (Schedule) getObjectById( Schedule.class, id, null );
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ProjectStore#lookupSystemConfiguration(long)
+ */
+ public SystemConfiguration lookupSystemConfiguration( long id )
+ throws ContinuumObjectNotFoundException, ContinuumStoreException
+ {
+ return (SystemConfiguration) getObjectById( SystemConfiguration.class, id, null );
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ProjectStore#saveInstallation(org.apache.maven.continuum.model.system.Installation)
+ */
+ public Installation saveInstallation( Installation installation ) throws ContinuumStoreException
+ {
+ updateObject( installation );
+ return installation;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ProjectStore#saveProfile(org.apache.maven.continuum.model.project.Profile)
+ */
+ public Profile saveProfile( Profile profile ) throws ContinuumStoreException
+ {
+ updateObject( profile );
+ return profile;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ProjectStore#saveSchedule(org.apache.maven.continuum.model.project.Schedule)
+ */
+ public Schedule saveSchedule( Schedule schedule ) throws ContinuumStoreException
+ {
+ updateObject( schedule );
+ return schedule;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ProjectStore#saveSystemConfiguration(org.apache.maven.continuum.model.system.SystemConfiguration)
+ */
+ public SystemConfiguration saveSystemConfiguration( SystemConfiguration systemConfiguration )
+ throws ContinuumStoreException
+ {
+ updateObject( systemConfiguration );
+ return systemConfiguration;
+ }
+
+}
Propchange: maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoSystemStore.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoSystemStore.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/continuum/branches/key-based-refactor/continuum-store/src/test/java/org/apache/maven/continuum/store/AbstractRefactoredContinuumStoreTestCase.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/key-based-refactor/continuum-store/src/test/java/org/apache/maven/continuum/store/AbstractRefactoredContinuumStoreTestCase.java?view=diff&rev=490663&r1=490662&r2=490663
==============================================================================
--- maven/continuum/branches/key-based-refactor/continuum-store/src/test/java/org/apache/maven/continuum/store/AbstractRefactoredContinuumStoreTestCase.java (original)
+++ maven/continuum/branches/key-based-refactor/continuum-store/src/test/java/org/apache/maven/continuum/store/AbstractRefactoredContinuumStoreTestCase.java Wed Dec 27 22:21:37 2006
@@ -26,7 +26,7 @@
*/
public class AbstractRefactoredContinuumStoreTestCase extends PlexusTestCase
{
- protected RefactoredContinuumStore store;
+ protected ProjectStore store;
/**
* DDL for Database creation.
@@ -43,7 +43,7 @@
*
* @todo push down to a Jdo specific test
*/
- protected RefactoredContinuumStore createStore() throws Exception
+ protected ProjectStore createStore() throws Exception
{
DefaultConfigurableJdoFactory jdoFactory = (DefaultConfigurableJdoFactory) lookup( JdoFactory.ROLE );
@@ -55,7 +55,7 @@
jdoFactory.setPassword( "" );
- return (RefactoredContinuumStore) lookup( RefactoredContinuumStore.ROLE );
+ return (ProjectStore) lookup( ProjectStore.ROLE );
}
protected void createBuildDatabase() throws Exception