Author: brett
Date: Wed Nov 25 15:33:40 2009
New Revision: 884147

URL: http://svn.apache.org/viewvc?rev=884147&view=rev
Log:
[MRM-1283] handle missing Maven facet

Modified:
    
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/ShowArtifactActionTest.java

Modified: 
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java
URL: 
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java?rev=884147&r1=884146&r2=884147&view=diff
==============================================================================
--- 
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java
 (original)
+++ 
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ShowArtifactAction.java
 Wed Nov 25 15:33:40 2009
@@ -150,16 +150,19 @@
         // TODO: eventually, move to just use the metadata directly, with 
minimal JSP changes, mostly for Maven specifics
         model = new ArchivaProjectModel();
         MavenProjectFacet projectFacet = (MavenProjectFacet) 
versionMetadata.getFacet( MavenProjectFacet.FACET_ID );
-        model.setGroupId( projectFacet.getGroupId() );
-        model.setArtifactId( projectFacet.getArtifactId() );
-        model.setPackaging( projectFacet.getPackaging() );
-        if ( projectFacet.getParent() != null )
-        {
-            VersionedReference parent = new VersionedReference();
-            parent.setGroupId( projectFacet.getParent().getGroupId() );
-            parent.setArtifactId( projectFacet.getParent().getArtifactId() );
-            parent.setVersion( projectFacet.getParent().getVersion() );
-            model.setParentProject( parent );
+        if ( projectFacet != null )
+        {
+            model.setGroupId( projectFacet.getGroupId() );
+            model.setArtifactId( projectFacet.getArtifactId() );
+            model.setPackaging( projectFacet.getPackaging() );
+            if ( projectFacet.getParent() != null )
+            {
+                VersionedReference parent = new VersionedReference();
+                parent.setGroupId( projectFacet.getParent().getGroupId() );
+                parent.setArtifactId( projectFacet.getParent().getArtifactId() 
);
+                parent.setVersion( projectFacet.getParent().getVersion() );
+                model.setParentProject( parent );
+            }
         }
 
         model.setVersion( versionMetadata.getId() );

Modified: 
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/ShowArtifactActionTest.java
URL: 
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/ShowArtifactActionTest.java?rev=884147&r1=884146&r2=884147&view=diff
==============================================================================
--- 
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/ShowArtifactActionTest.java
 (original)
+++ 
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/ShowArtifactActionTest.java
 Wed Nov 25 15:33:40 2009
@@ -308,6 +308,37 @@
         assertTrue( action.getSnapshotVersions().isEmpty() );
     }
 
+    public void testGetArtifactNoMavenFacet()
+    {
+        ProjectVersionMetadata versionMetadata = new ProjectVersionMetadata();
+        versionMetadata.setId( TEST_VERSION );
+        versionMetadata.setUrl( TEST_URL );
+        versionMetadata.setName( TEST_NAME );
+        versionMetadata.setDescription( TEST_DESCRIPTION );
+
+        metadataResolver.setProjectVersion( TEST_REPO, TEST_GROUP_ID, 
TEST_ARTIFACT_ID, versionMetadata );
+
+        setActionParameters();
+
+        String result = action.artifact();
+
+        assertActionSuccess( action, result );
+
+        assertActionParameters( action );
+        ArchivaProjectModel model = action.getModel();
+        assertEquals( TEST_VERSION, model.getVersion() );
+        assertEquals( TEST_URL, model.getUrl() );
+        assertEquals( TEST_NAME, model.getName() );
+        assertEquals( TEST_DESCRIPTION, model.getDescription() );
+
+        assertEquals( TEST_REPO, action.getRepositoryId() );
+
+        assertNull( action.getDependees() );
+        assertNull( action.getDependencies() );
+        assertNull( action.getMailingLists() );
+        assertTrue( action.getSnapshotVersions().isEmpty() );
+    }
+
     private void assertNoOutputFields()
     {
         assertNull( action.getModel() );


Reply via email to