public Project getProject( String groupId, String artifactId, String version )
throws ContinuumStoreException
{
PersistenceManager pm = getPersistenceManager();
Transaction tx = pm.currentTransaction();
try
{
tx.begin();
Extent extent = pm.getExtent( Project.class, true );
Query query = pm.newQuery( extent );
query.declareImports( "import java.lang.String" );
query.declareParameters( "String groupId, String artifactId, String version" );
query.setFilter( "this.groupId == groupId && this.artifactId == artifactId && this.version == version" );
Object[] params = new Object[3];
params[0] = groupId;
params[1] = artifactId;
params[2] = version;
Collection result = (Collection) query.executeWithArray( params );
if ( result.size() == 0 )
{
tx.commit();
return null;
}
Object object = pm.detachCopy( result.iterator().next() );
tx.commit();
return (Project) object;
}
finally
{