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/24 06:08:06 UTC
svn commit: r489982 -
/maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java
Author: rinku
Date: Sat Dec 23 21:08:05 2006
New Revision: 489982
URL: http://svn.apache.org/viewvc?view=rev&rev=489982
Log:
o updates for refactoring done to ContinuumStore interface.
Modified:
maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java
Modified: maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java?view=diff&rev=489982&r1=489981&r2=489982
==============================================================================
--- maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java (original)
+++ maven/continuum/branches/key-based-refactor/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java Sat Dec 23 21:08:05 2006
@@ -16,6 +16,24 @@
* limitations under the License.
*/
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.jdo.Extent;
+import javax.jdo.FetchPlan;
+import javax.jdo.JDOHelper;
+import javax.jdo.JDOUserException;
+import javax.jdo.PersistenceManager;
+import javax.jdo.PersistenceManagerFactory;
+import javax.jdo.Query;
+import javax.jdo.Transaction;
+
+import org.apache.maven.continuum.key.GroupProjectKey;
import org.apache.maven.continuum.model.project.BuildDefinition;
import org.apache.maven.continuum.model.project.BuildResult;
import org.apache.maven.continuum.model.project.Profile;
@@ -41,22 +59,6 @@
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
-import javax.jdo.Extent;
-import javax.jdo.FetchPlan;
-import javax.jdo.JDOHelper;
-import javax.jdo.JDOUserException;
-import javax.jdo.PersistenceManager;
-import javax.jdo.PersistenceManagerFactory;
-import javax.jdo.Query;
-import javax.jdo.Transaction;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
/**
* @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
@@ -67,6 +69,21 @@
extends AbstractContinuumStore
implements ContinuumStore, Initializable
{
+
+ /**
+ * Column identifier under which the {@link ProjectGroup} key values are stored.
+ * <p>
+ * @see Modello configuration for continuum-model.
+ */
+ private static final String LOOKUP_KEY_GROUP_KEY = "groupKey";
+
+ /**
+ * Column identifier under which the {@link Project} key values are stored.
+ * <p>
+ * @see Modello configuration for continuum-model.
+ */
+ private static final String LOOKUP_KEY_PROJECT_KEY = "projectKey";
+
/**
* @plexus.requirement role-hint="continuum"
*/
@@ -225,10 +242,12 @@
// might define their own build definitions
if ( projectGroupSource != null )
{
- for ( Iterator i = projectGroupSource.keySet().iterator(); i.hasNext(); )
+ for ( Iterator i = projectGroupSource.keySet().iterator(); i.hasNext(); )
{
Integer projectGroupId = (Integer) i.next();
- List projectsInGroup = getProjectsInGroup( projectGroupId.intValue() );
+ // FIXME: Need to check with Jesse and refactor this to use GroupProjectKey
+ //List projectsInGroup = getProjectsInGroup( projectGroupId.intValue() );
+ List projectsInGroup = getProjectsInGroup( null );
for ( Iterator j = projectsInGroup.iterator(); j.hasNext(); )
{
@@ -240,7 +259,7 @@
}
}
}
-
+
return aggregate;
}
@@ -445,7 +464,7 @@
}
}
- public BuildResult getLatestBuildResultForProject( int projectId )
+ public BuildResult getLatestBuildResultForProject( GroupProjectKey groupProjectKey )
{
PersistenceManager pm = getPersistenceManager();
@@ -459,11 +478,13 @@
Query query = pm.newQuery( extent );
- query.declareParameters( "int projectId" );
+ //query.declareParameters( "int projectId" );
+ query.declareParameters( "String projectKey" );
- query.setFilter( "this.project.id == projectId && this.project.latestBuildId == this.id" );
+ //query.setFilter( "this.project.id == projectId && this.project.latestBuildId == this.id" );
+ query.setFilter( "this.project.key == projectKey && this.project.latestBuildId == this.id" );
- List result = (List) query.execute( new Integer( projectId ) );
+ List result = (List) query.execute( groupProjectKey.getProjectKey() );
result = (List) pm.detachCopyAll( result );
@@ -539,7 +560,7 @@
return notifier;
}
- public BuildDefinition getDefaultBuildDefinition( int projectId )
+ public BuildDefinition getDefaultBuildDefinition( GroupProjectKey groupProjectKey )
throws ContinuumStoreException, ContinuumObjectNotFoundException
{
@@ -547,7 +568,7 @@
try
{
- bd = getDefaultBuildDefinitionForProject( projectId );
+ bd = getDefaultBuildDefinitionForProject( groupProjectKey );
}
catch ( ContinuumObjectNotFoundException cne )
{
@@ -558,22 +579,23 @@
//project group should have default build definition defined
if ( bd == null )
{
- ProjectGroup projectGroup = getProjectGroupByProjectId( projectId );
+ //ProjectGroup projectGroup = getProjectGroupByProjectId( groupProjectKey );
- bd = getDefaultBuildDefinitionForProjectGroup( projectGroup.getId() );
+ //bd = getDefaultBuildDefinitionForProjectGroup( projectGroup.getId() );
+ bd = getDefaultBuildDefinitionForProjectGroup( groupProjectKey );
}
return bd;
}
- public BuildDefinition getDefaultBuildDefinitionForProject( int projectId )
+ public BuildDefinition getDefaultBuildDefinitionForProject( GroupProjectKey groupProjectKey )
throws ContinuumStoreException, ContinuumObjectNotFoundException
{
Project project;
try
{
- project = getProjectWithBuildDetails( projectId );
+ project = getProjectWithBuildDetails( groupProjectKey );
}
catch ( Exception e )
{
@@ -594,14 +616,16 @@
}
}
- throw new ContinuumObjectNotFoundException( "no default build definition declared for project " + projectId );
+ throw new ContinuumObjectNotFoundException( "no default build definition declared for project "
+ + groupProjectKey );
}
-
public BuildDefinition getDefaultBuildDefinitionForProjectGroup( String groupKey )
throws ContinuumStoreException, ContinuumObjectNotFoundException
{
- ProjectGroup projectGroup = getProjectGroupWithBuildDetails( groupKey );
+ GroupProjectKey key = new GroupProjectKey();
+ key.setGroupKey( groupKey );
+ ProjectGroup projectGroup = getProjectGroupWithBuildDetails( key );
for ( Iterator i = projectGroup.getBuildDefinitions().iterator(); i.hasNext(); )
{
@@ -691,6 +715,21 @@
return PlexusJdoUtils.makePersistent( pm, object, detach );
}
+ /**
+ * 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
{
@@ -725,7 +764,8 @@
public ProjectGroup getProjectGroup( String groupKey )
throws ContinuumStoreException, ContinuumObjectNotFoundException
{
- return (ProjectGroup) getObjectById( ProjectGroup.class, groupKey );
+ //return (ProjectGroup) getObjectById( ProjectGroup.class, groupKey );
+ return (ProjectGroup) getObjectFromQuery( ProjectGroup.class, LOOKUP_KEY_GROUP_KEY, groupKey, null );
}
private Object getObjectById( Class clazz, int id )
@@ -802,7 +842,7 @@
{
Project project = (Project) i.next();
- if ( project.getProjectGroup().getId() == groupKey )
+ if ( project.getProjectGroup().getKey().equals( groupKey ) )
{
groupProjects.add( project );
}
@@ -901,7 +941,7 @@
return getAllObjectsDetached( Installation.class, "name ascending, version ascending", null );
}
- public List getAllBuildsForAProjectByDate( int projectId )
+ public List getAllBuildsForAProjectByDate( GroupProjectKey groupProjectKey )
{
PersistenceManager pm = getPersistenceManager();
@@ -911,14 +951,14 @@
{
tx.begin();
- Query query = pm.newQuery( "SELECT FROM " + BuildResult.class.getName() +
- " WHERE project.id == projectId PARAMETERS int projectId ORDER BY endTime DESC" );
+ Query query = pm.newQuery( "SELECT FROM " + BuildResult.class.getName()
+ + " WHERE project.key == projectKey PARAMETERS String projectKey ORDER BY endTime DESC" );
- query.declareImports( "import java.lang.Integer" );
+ query.declareImports( "import java.lang.String" );
- query.declareParameters( "Integer projectId" );
+ query.declareParameters( "String projectKey" );
- List result = (List) query.execute( new Integer( projectId ) );
+ List result = (List) query.execute( groupProjectKey.getProjectKey() );
result = (List) pm.detachCopyAll( result );
@@ -932,10 +972,12 @@
}
}
- public Project getProject( int projectId )
+ public Project getProject( GroupProjectKey groupProjectKey )
throws ContinuumStoreException, ContinuumObjectNotFoundException
{
- return (Project) getObjectById( Project.class, projectId );
+ //return (Project) getObjectById( Project.class, groupProjectKey );
+ return (Project) getObjectFromQuery( Project.class, LOOKUP_KEY_PROJECT_KEY, groupProjectKey.getProjectKey(),
+ null );
}
public void updateProject( Project project )
@@ -956,10 +998,12 @@
updateObject( schedule );
}
- public Project getProjectWithBuilds( int projectId )
+ public Project getProjectWithBuilds( GroupProjectKey groupProjectKey )
throws ContinuumStoreException, ContinuumObjectNotFoundException
{
- return (Project) getObjectById( Project.class, projectId, PROJECT_WITH_BUILDS_FETCH_GROUP );
+ //return (Project) getObjectById( Project.class, groupProjectKey, PROJECT_WITH_BUILDS_FETCH_GROUP );
+ return (Project) getObjectFromQuery( Project.class, LOOKUP_KEY_PROJECT_KEY, groupProjectKey.getProjectKey(),
+ PROJECT_WITH_BUILDS_FETCH_GROUP );
}
public void removeProfile( Profile profile )
@@ -972,10 +1016,12 @@
removeObject( schedule );
}
- public Project getProjectWithCheckoutResult( int projectId )
+ public Project getProjectWithCheckoutResult( GroupProjectKey groupProjectKey )
throws ContinuumObjectNotFoundException, ContinuumStoreException
{
- return (Project) getObjectById( Project.class, projectId, PROJECT_WITH_CHECKOUT_RESULT_FETCH_GROUP );
+ // return (Project) getObjectById( Project.class, groupProjectkey, PROJECT_WITH_CHECKOUT_RESULT_FETCH_GROUP );
+ return (Project) getObjectFromQuery( Project.class, LOOKUP_KEY_PROJECT_KEY, groupProjectKey.getProjectKey(),
+ PROJECT_BUILD_DETAILS_FETCH_GROUP );
}
public BuildResult getBuildResult( int buildId )
@@ -984,7 +1030,7 @@
return (BuildResult) getObjectById( BuildResult.class, buildId, BUILD_RESULT_WITH_DETAILS_FETCH_GROUP );
}
- public List getBuildResultByBuildNumber( int projectId, int buildNumber )
+ public List getBuildResultByBuildNumber( GroupProjectKey groupProjectKey, int buildNumber )
{
PersistenceManager pm = getPersistenceManager();
@@ -998,11 +1044,11 @@
Query query = pm.newQuery( extent );
- query.declareParameters( "int projectId, int buildNumber" );
+ query.declareParameters( "String projectKey, int buildNumber" );
- query.setFilter( "this.project.id == projectId && this.buildNumber == buildNumber" );
+ query.setFilter( "this.project.key == projectKey && this.buildNumber == buildNumber" );
- List result = (List) query.execute( new Integer( projectId ), new Integer( buildNumber ) );
+ List result = (List) query.execute( groupProjectKey.getProjectKey(), new Integer( buildNumber ) );
result = (List) pm.detachCopyAll( result );
@@ -1016,7 +1062,7 @@
}
}
- public List getBuildResultsForProject( int projectId, long fromDate )
+ public List getBuildResultsForProject( GroupProjectKey groupProjectKey, long fromDate )
{
PersistenceManager pm = getPersistenceManager();
@@ -1032,11 +1078,11 @@
Query query = pm.newQuery( extent );
- query.declareParameters( "int projectId, long fromDate" );
+ query.declareParameters( "String projectKey, long fromDate" );
- query.setFilter( "this.project.id == projectId && this.startTime > fromDate" );
+ query.setFilter( "this.project.key == projectKey && this.startTime > fromDate" );
- List result = (List) query.execute( new Integer( projectId ), new Long( fromDate ) );
+ List result = (List) query.execute( groupProjectKey, new Long( fromDate ) );
result = (List) pm.detachCopyAll( result );
@@ -1050,9 +1096,9 @@
}
}
- public List getBuildResultsInSuccessForProject( int projectId, long fromDate )
+ public List getBuildResultsInSuccessForProject( GroupProjectKey groupProjectkey, long fromDate )
{
- List buildResults = getBuildResultsForProject( projectId, fromDate );
+ List buildResults = getBuildResultsForProject( groupProjectkey, fromDate );
List results = new ArrayList();
@@ -1125,7 +1171,9 @@
ProjectGroup pg = null;
try
{
- pg = getProjectGroupWithProjects( projectGroup.getId() );
+ GroupProjectKey key = new GroupProjectKey();
+ key.setGroupKey( projectGroup.getKey() );
+ pg = getProjectGroupWithProjects( key );
}
catch ( Exception e )
{
@@ -1143,7 +1191,7 @@
}
}
- public List getProjectsInGroup( int projectGroupId )
+ public List getProjectsInGroup( GroupProjectKey groupProjectkey )
throws ContinuumObjectNotFoundException, ContinuumStoreException
{
PersistenceManager pm = getPersistenceManager();
@@ -1156,7 +1204,7 @@
Extent extent = pm.getExtent( Project.class, true );
- Query query = pm.newQuery( extent, "projectGroup.id == " + projectGroupId );
+ Query query = pm.newQuery( extent, "projectGroup.id == " + groupProjectkey );
query.setOrdering( "name ascending" );
@@ -1176,16 +1224,18 @@
}
}
- public ProjectGroup getProjectGroupWithProjects( int projectGroupId )
+ public ProjectGroup getProjectGroupWithProjects( GroupProjectKey groupProjectKey )
throws ContinuumObjectNotFoundException, ContinuumStoreException
{
- return (ProjectGroup) getObjectById( ProjectGroup.class, projectGroupId, PROJECTGROUP_PROJECTS_FETCH_GROUP );
+ return (ProjectGroup) getObjectFromQuery( ProjectGroup.class, LOOKUP_KEY_GROUP_KEY, groupProjectKey
+ .getGroupKey(), PROJECTGROUP_PROJECTS_FETCH_GROUP );
}
- public ProjectGroup getProjectGroupWithBuildDetails( int projectGroupId )
+ public ProjectGroup getProjectGroupWithBuildDetails( GroupProjectKey groupProjectKey )
throws ContinuumObjectNotFoundException, ContinuumStoreException
{
- return (ProjectGroup) getObjectById( ProjectGroup.class, projectGroupId, PROJECT_BUILD_DETAILS_FETCH_GROUP );
+ return (ProjectGroup) getObjectFromQuery( ProjectGroup.class, LOOKUP_KEY_GROUP_KEY, groupProjectKey
+ .getGroupKey(), PROJECT_BUILD_DETAILS_FETCH_GROUP );
}
public List getAllProjectGroupsWithBuildDetails()
@@ -1198,10 +1248,11 @@
return getAllObjectsDetached( Project.class, "name ascending", PROJECT_ALL_DETAILS_FETCH_GROUP );
}
- public Project getProjectWithAllDetails( int projectId )
+ public Project getProjectWithAllDetails( GroupProjectKey groupProjectKey )
throws ContinuumObjectNotFoundException, ContinuumStoreException
{
- return (Project) getObjectById( Project.class, projectId, PROJECT_ALL_DETAILS_FETCH_GROUP );
+ return (Project) getObjectFromQuery( Project.class, LOOKUP_KEY_PROJECT_KEY, groupProjectKey.getProjectKey(),
+ PROJECT_ALL_DETAILS_FETCH_GROUP );
}
public Schedule getSchedule( int scheduleId )
@@ -1266,33 +1317,41 @@
return PlexusJdoUtils.addObject( pmf, object );
}
- public ProjectGroup getProjectGroupByGroupId( String groupId )
+ public ProjectGroup getProjectGroupByGroupId( GroupProjectKey groupProjectKey )
throws ContinuumStoreException, ContinuumObjectNotFoundException
{
- return (ProjectGroup) getObjectFromQuery( ProjectGroup.class, "groupId", groupId, null );
+ //return (ProjectGroup) getObjectFromQuery( ProjectGroup.class, "groupId", groupProjectKey, null );
+ return (ProjectGroup) getObjectFromQuery( ProjectGroup.class, LOOKUP_KEY_GROUP_KEY, groupProjectKey
+ .getGroupKey(), PROJECT_BUILD_DETAILS_FETCH_GROUP );
}
- public ProjectGroup getProjectGroupByGroupIdWithBuildDetails( String groupId )
+ public ProjectGroup getProjectGroupByGroupIdWithBuildDetails( GroupProjectKey groupProjectKey )
throws ContinuumStoreException, ContinuumObjectNotFoundException
{
- return (ProjectGroup) getObjectFromQuery( ProjectGroup.class, "groupId", groupId,
- PROJECT_BUILD_DETAILS_FETCH_GROUP );
+ //return (ProjectGroup) getObjectFromQuery( ProjectGroup.class, "groupId", groupProjectKey,
+ // PROJECT_BUILD_DETAILS_FETCH_GROUP );
+ return (ProjectGroup) getObjectFromQuery( ProjectGroup.class, LOOKUP_KEY_GROUP_KEY, groupProjectKey
+ .getGroupKey(), PROJECT_BUILD_DETAILS_FETCH_GROUP );
}
- public ProjectGroup getProjectGroupByGroupIdWithProjects( String groupId )
+ public ProjectGroup getProjectGroupByGroupIdWithProjects( GroupProjectKey groupProjectKey )
throws ContinuumStoreException, ContinuumObjectNotFoundException
{
- return (ProjectGroup) getObjectFromQuery( ProjectGroup.class, "groupId", groupId,
- PROJECTGROUP_PROJECTS_FETCH_GROUP );
+ //return (ProjectGroup) getObjectFromQuery( ProjectGroup.class, "groupId", groupProjectKey,
+ // PROJECTGROUP_PROJECTS_FETCH_GROUP );
+ return (ProjectGroup) getObjectFromQuery( ProjectGroup.class, LOOKUP_KEY_GROUP_KEY, groupProjectKey
+ .getGroupKey(), PROJECTGROUP_PROJECTS_FETCH_GROUP );
}
- public Project getProjectWithBuildDetails( int projectId )
+ public Project getProjectWithBuildDetails( GroupProjectKey groupProjectKey )
throws ContinuumObjectNotFoundException, ContinuumStoreException
{
- return (Project) getObjectById( Project.class, projectId, PROJECT_BUILD_DETAILS_FETCH_GROUP );
+ //return (Project) getObjectById( Project.class, groupProjectKey, PROJECT_BUILD_DETAILS_FETCH_GROUP );
+ return (Project) getObjectFromQuery( Project.class, LOOKUP_KEY_PROJECT_KEY, groupProjectKey.getProjectKey(),
+ PROJECT_BUILD_DETAILS_FETCH_GROUP );
}
- public ProjectGroup getProjectGroupByProjectId( int projectId )
+ public ProjectGroup getProjectGroupByProjectId( GroupProjectKey groupProjectKey )
throws ContinuumObjectNotFoundException
{
// todo this chunk should be optimized in the store by a good query
@@ -1306,15 +1365,15 @@
{
Project project = (Project) j.next();
- if ( projectId == project.getId() )
+ if ( groupProjectKey.getProjectKey().equals( project.getKey() ) )
{
return projectGroup;
}
}
}
- throw new ContinuumObjectNotFoundException(
- "unable to find project group containing project with id: " + projectId );
+ throw new ContinuumObjectNotFoundException( "unable to find project group containing project with id: "
+ + groupProjectKey );
}
public SystemConfiguration addSystemConfiguration( SystemConfiguration systemConf )
@@ -1340,7 +1399,7 @@
else if ( systemConfs.size() > 1 )
{
throw new ContinuumStoreException(
- "Database is corrupted. There are more than one systemConfiguration object." );
+ "Database is corrupted. There are more than one systemConfiguration object." );
}
else
{
@@ -1370,10 +1429,13 @@
public Collection getAllProjectGroupsWithTheLot()
{
- List fetchGroups = Arrays.asList( new String[]{PROJECT_WITH_BUILDS_FETCH_GROUP,
- PROJECTGROUP_PROJECTS_FETCH_GROUP, BUILD_RESULT_WITH_DETAILS_FETCH_GROUP,
- PROJECT_WITH_CHECKOUT_RESULT_FETCH_GROUP, PROJECT_ALL_DETAILS_FETCH_GROUP,
- PROJECT_BUILD_DETAILS_FETCH_GROUP} );
+ List fetchGroups = Arrays.asList( new String[] {
+ PROJECT_WITH_BUILDS_FETCH_GROUP,
+ PROJECTGROUP_PROJECTS_FETCH_GROUP,
+ BUILD_RESULT_WITH_DETAILS_FETCH_GROUP,
+ PROJECT_WITH_CHECKOUT_RESULT_FETCH_GROUP,
+ PROJECT_ALL_DETAILS_FETCH_GROUP,
+ PROJECT_BUILD_DETAILS_FETCH_GROUP } );
return PlexusJdoUtils.getAllObjectsDetached( getPersistenceManager(), ProjectGroup.class, "name ascending",
fetchGroups );
}
@@ -1441,4 +1503,42 @@
}
}
}
+
+ // added after latest refactoring for keys
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ContinuumStore#getDefaultBuildDefinitionForProjectGroup(org.apache.maven.continuum.key.GroupProjectKey)
+ */
+ public BuildDefinition getDefaultBuildDefinitionForProjectGroup( GroupProjectKey groupProjectKey )
+ throws ContinuumStoreException, ContinuumObjectNotFoundException
+ {
+ // TODO Implement!
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ContinuumStore#getProjectGroup(org.apache.maven.continuum.key.GroupProjectKey)
+ */
+ public ProjectGroup getProjectGroup( GroupProjectKey groupProjectKey )
+ throws ContinuumStoreException, ContinuumObjectNotFoundException
+ {
+ // TODO Implement!
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.apache.maven.continuum.store.ContinuumStore#getProjectsWithDependenciesByGroupId(org.apache.maven.continuum.key.GroupProjectKey)
+ */
+ public List getProjectsWithDependenciesByGroupId( GroupProjectKey groupProjectKey )
+ {
+ // TODO Implement!
+ return null;
+ }
+
}