Author: brett
Date: Wed Dec 29 23:23:28 2010
New Revision: 1053767
URL: http://svn.apache.org/viewvc?rev=1053767&view=rev
Log:
[MRM-1327] prevent facets being returned as artifact versions
Modified:
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java
archiva/trunk/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java
Modified:
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java?rev=1053767&r1=1053766&r2=1053767&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java
(original)
+++
archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java
Wed Dec 29 23:23:28 2010
@@ -437,6 +437,33 @@ public abstract class AbstractMetadataRe
assertFalse( testFacet.toProperties().containsKey( "deleteKey" ) );
}
+ public void testGetArtifactsDoesntReturnProjectVersionMetadataFacets()
+ throws Exception
+ {
+ ProjectVersionMetadata versionMetadata = new ProjectVersionMetadata();
+ versionMetadata.setId( TEST_PROJECT_VERSION );
+
+ MetadataFacet facet = new TestMetadataFacet( TEST_FACET_ID, "baz" );
+ versionMetadata.addFacet( facet );
+ repository.updateProjectVersion( TEST_REPO_ID, TEST_NAMESPACE,
TEST_PROJECT, versionMetadata );
+
+ ArtifactMetadata artifactMetadata = createArtifact();
+ repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT,
TEST_PROJECT_VERSION, artifactMetadata );
+
+ Collection<ArtifactMetadata> artifacts = repository.getArtifacts(
TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT,
+
TEST_PROJECT_VERSION );
+ assertEquals( Collections.singletonList( artifactMetadata ), new
ArrayList<ArtifactMetadata>( artifacts ) );
+
+ artifacts = repository.getArtifacts( TEST_REPO_ID );
+ assertEquals( Collections.singletonList( artifactMetadata ), new
ArrayList<ArtifactMetadata>( artifacts ) );
+
+ artifacts = repository.getArtifactsByChecksum( TEST_REPO_ID,
artifactMetadata.getSha1() );
+ assertEquals( Collections.singletonList( artifactMetadata ), new
ArrayList<ArtifactMetadata>( artifacts ) );
+
+ artifacts = repository.getArtifactsByDateRange( TEST_REPO_ID, null,
null );
+ assertEquals( Collections.singletonList( artifactMetadata ), new
ArrayList<ArtifactMetadata>( artifacts ) );
+ }
+
public void
testUpdateArtifactMetadataWithExistingFacetsFacetPropertyWasRemoved()
throws Exception
{
@@ -449,8 +476,10 @@ public abstract class AbstractMetadataRe
metadata.addFacet( facet );
repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT,
TEST_PROJECT_VERSION, metadata );
- metadata = repository.getArtifacts( TEST_REPO_ID, TEST_NAMESPACE,
TEST_PROJECT,
- TEST_PROJECT_VERSION
).iterator().next();
+ Collection<ArtifactMetadata> artifacts = repository.getArtifacts(
TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT,
+
TEST_PROJECT_VERSION );
+ assertEquals( 1, artifacts.size() );
+ metadata = artifacts.iterator().next();
assertEquals( Collections.singleton( TEST_FACET_ID ),
metadata.getFacetIds() );
TestMetadataFacet testFacet = (TestMetadataFacet) metadata.getFacet(
TEST_FACET_ID );
@@ -465,8 +494,9 @@ public abstract class AbstractMetadataRe
repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT,
TEST_PROJECT_VERSION, metadata );
- metadata = repository.getArtifacts( TEST_REPO_ID, TEST_NAMESPACE,
TEST_PROJECT,
- TEST_PROJECT_VERSION
).iterator().next();
+ artifacts = repository.getArtifacts( TEST_REPO_ID, TEST_NAMESPACE,
TEST_PROJECT, TEST_PROJECT_VERSION );
+ assertEquals( 1, artifacts.size() );
+ metadata = artifacts.iterator().next();
assertEquals( Collections.singleton( TEST_FACET_ID ),
metadata.getFacetIds() );
testFacet = (TestMetadataFacet) metadata.getFacet( TEST_FACET_ID );
assertFalse( testFacet.toProperties().containsKey( "deleteKey" ) );
@@ -523,14 +553,12 @@ public abstract class AbstractMetadataRe
public void testGetMetadataFacetWhenEmpty()
throws Exception
-
{
assertNull( repository.getMetadataFacet( TEST_REPO_ID, TEST_FACET_ID,
TEST_NAME ) );
}
public void testGetMetadataFacetWhenUnknownName()
throws Exception
-
{
repository.addMetadataFacet( TEST_REPO_ID, new TestMetadataFacet(
TEST_VALUE ) );
@@ -539,7 +567,6 @@ public abstract class AbstractMetadataRe
public void testGetMetadataFacetWhenDefaultValue()
throws Exception
-
{
repository.addMetadataFacet( TEST_REPO_ID, new TestMetadataFacet( null
) );
@@ -550,14 +577,12 @@ public abstract class AbstractMetadataRe
public void testGetMetadataFacetWhenUnknownFacetId()
throws Exception
-
{
assertNull( repository.getMetadataFacet( TEST_REPO_ID, UNKNOWN,
TEST_NAME ) );
}
public void testGetMetadataFacets()
throws Exception
-
{
repository.addMetadataFacet( TEST_REPO_ID, new TestMetadataFacet(
TEST_VALUE ) );
@@ -590,7 +615,6 @@ public abstract class AbstractMetadataRe
public void testRemoveFacetsWhenEmpty()
throws Exception
-
{
List<String> facets = repository.getMetadataFacets( TEST_REPO_ID,
TEST_FACET_ID );
assertTrue( facets.isEmpty() );
@@ -603,7 +627,6 @@ public abstract class AbstractMetadataRe
public void testRemoveFacetsWhenUnknown()
throws Exception
-
{
// testing no exception
repository.removeMetadataFacets( TEST_REPO_ID, UNKNOWN );
@@ -611,7 +634,6 @@ public abstract class AbstractMetadataRe
public void testRemoveFacetWhenUnknown()
throws Exception
-
{
// testing no exception
repository.removeMetadataFacet( TEST_REPO_ID, UNKNOWN, TEST_NAME );
@@ -619,7 +641,6 @@ public abstract class AbstractMetadataRe
public void testRemoveFacet()
throws Exception
-
{
TestMetadataFacet metadataFacet = new TestMetadataFacet( TEST_VALUE );
repository.addMetadataFacet( TEST_REPO_ID, metadataFacet );
@@ -637,7 +658,6 @@ public abstract class AbstractMetadataRe
public void testRemoveFacetWhenEmpty()
throws Exception
-
{
List<String> facets = repository.getMetadataFacets( TEST_REPO_ID,
TEST_FACET_ID );
assertTrue( facets.isEmpty() );
Modified:
archiva/trunk/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java?rev=1053767&r1=1053766&r2=1053767&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java
(original)
+++
archiva/trunk/archiva-modules/plugins/metadata-store-jcr/src/main/java/org/apache/archiva/metadata/repository/jcr/JcrMetadataRepository.java
Wed Dec 29 23:23:28 2010
@@ -640,7 +640,10 @@ public class JcrMetadataRepository
artifacts = new ArrayList<ArtifactMetadata>();
for ( Node n : JcrUtils.getNodes( result ) )
{
- artifacts.add( getArtifactFromNode( repositoryId, n ) );
+ if ( n.isNodeType( ARTIFACT_NODE_TYPE ) )
+ {
+ artifacts.add( getArtifactFromNode( repositoryId, n ) );
+ }
}
}
catch ( RepositoryException e )
@@ -984,7 +987,10 @@ public class JcrMetadataRepository
for ( Node n : JcrUtils.getChildNodes( node ) )
{
- artifacts.add( getArtifactFromNode( repositoryId, n ) );
+ if ( n.isNodeType( ARTIFACT_NODE_TYPE ) )
+ {
+ artifacts.add( getArtifactFromNode( repositoryId, n )
);
+ }
}
}
}