You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2012/02/24 22:18:34 UTC

svn commit: r1293423 - in /archiva/trunk/archiva-modules: archiva-web/archiva-rest/archiva-rest-api/ archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ archiva-web/archiva-rest/archiva-rest-services/ archiva-w...

Author: olamy
Date: Fri Feb 24 21:18:34 2012
New Revision: 1293423

URL: http://svn.apache.org/viewvc?rev=1293423&view=rev
Log:
[MRM-1573] improve browse service with returning ProjectVersionMetadata (so add some annotation for REST exchange)

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/pom.xml
    archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/BrowseService.java
    archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml
    archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
    archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/CiManagement.java
    archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/Dependency.java
    archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/FacetedMetadata.java
    archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/IssueManagement.java
    archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/License.java
    archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/MailingList.java
    archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/MetadataFacet.java
    archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/Organization.java
    archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionMetadata.java
    archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/Scm.java

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/pom.xml
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/pom.xml?rev=1293423&r1=1293422&r2=1293423&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/pom.xml (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/pom.xml Fri Feb 24 21:18:34 2012
@@ -45,6 +45,10 @@
       <artifactId>archiva-policies</artifactId>
     </dependency>
 
+    <dependency>
+      <groupId>org.apache.archiva</groupId>
+      <artifactId>metadata-model</artifactId>
+    </dependency>
 
     <dependency>
       <groupId>org.codehaus.redback</groupId>

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/BrowseService.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/BrowseService.java?rev=1293423&r1=1293422&r2=1293423&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/BrowseService.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/BrowseService.java Fri Feb 24 21:18:34 2012
@@ -18,6 +18,7 @@ package org.apache.archiva.rest.api.serv
  * under the License.
  */
 
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
 import org.apache.archiva.rest.api.model.BrowseResult;
 import org.apache.archiva.rest.api.model.VersionsList;
 import org.codehaus.plexus.redback.authorization.RedbackAuthorization;
@@ -26,7 +27,6 @@ import javax.ws.rs.GET;
 import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.MediaType;
 
 /**
@@ -50,10 +50,18 @@ public interface BrowseService
     BrowseResult browseGroupId( @PathParam( "groupId" ) String groupId )
         throws ArchivaRestServiceException;
 
-    @Path( "browseGroupId" )
+    @Path( "versionsList/{g}/{a}" )
     @GET
     @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
     @RedbackAuthorization( noRestriction = true, noPermission = false )
-    VersionsList getVersionsList( @QueryParam( "g" ) String groupId, @QueryParam( "a" ) String artifactId )
+    VersionsList getVersionsList( @PathParam( "g" ) String groupId, @PathParam( "a" ) String artifactId )
+        throws ArchivaRestServiceException;
+
+    @Path( "projectVersionMetadata/{g}/{a}" )
+    @GET
+    @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
+    @RedbackAuthorization( noRestriction = true, noPermission = false )
+    ProjectVersionMetadata getProjectVersionMetadata( @PathParam( "g" ) String groupId,
+                                                      @PathParam( "a" ) String artifactId )
         throws ArchivaRestServiceException;
 }

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml?rev=1293423&r1=1293422&r2=1293423&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml Fri Feb 24 21:18:34 2012
@@ -46,6 +46,10 @@
     </dependency>
     <dependency>
       <groupId>org.apache.archiva</groupId>
+      <artifactId>metadata-model</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.archiva</groupId>
       <artifactId>archiva-configuration</artifactId>
       <scope>runtime</scope>
     </dependency>

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java?rev=1293423&r1=1293422&r2=1293423&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java Fri Feb 24 21:18:34 2012
@@ -18,15 +18,18 @@ package org.apache.archiva.rest.services
  * under the License.
  */
 
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
 import org.apache.archiva.metadata.repository.MetadataResolutionException;
 import org.apache.archiva.metadata.repository.MetadataResolver;
 import org.apache.archiva.metadata.repository.RepositorySession;
+import org.apache.archiva.metadata.repository.storage.maven2.MavenProjectFacet;
 import org.apache.archiva.rest.api.model.BrowseResult;
 import org.apache.archiva.rest.api.model.BrowseResultEntry;
 import org.apache.archiva.rest.api.model.VersionsList;
 import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
 import org.apache.archiva.rest.api.services.BrowseService;
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.stereotype.Service;
 
 import javax.ws.rs.core.Response;
@@ -170,8 +173,23 @@ public class DefaultBrowseService
             return new VersionsList();
         }
 
-        RepositorySession repositorySession = repositorySessionFactory.createSession();
+        try
+        {
+            return new VersionsList( new ArrayList<String>( getVersions( selectedRepos, groupId, artifactId ) ) );
+        }
+        catch ( MetadataResolutionException e )
+        {
+            throw new ArchivaRestServiceException( e.getMessage(),
+                                                   Response.Status.INTERNAL_SERVER_ERROR.getStatusCode() );
+        }
+
+    }
 
+    private Set<String> getVersions( List<String> selectedRepos, String groupId, String artifactId )
+        throws MetadataResolutionException
+
+    {
+        RepositorySession repositorySession = repositorySessionFactory.createSession();
         try
         {
             MetadataResolver metadataResolver = repositorySession.getResolver();
@@ -184,7 +202,132 @@ public class DefaultBrowseService
                     metadataResolver.resolveProjectVersions( repositorySession, repoId, groupId, artifactId ) );
             }
 
-            return new VersionsList( new ArrayList<String>( versions ) );
+            return versions;
+        }
+        finally
+        {
+            repositorySession.close();
+        }
+    }
+
+    public ProjectVersionMetadata getProjectVersionMetadata( String groupId, String artifactId )
+        throws ArchivaRestServiceException
+    {
+
+        List<String> selectedRepos = getObservableRepos();
+
+        if ( CollectionUtils.isEmpty( selectedRepos ) )
+        {
+            // FIXME 403 ???
+            return null;
+        }
+
+        RepositorySession repositorySession = null;
+        try
+        {
+
+            Set<String> projectVersions = getVersions( selectedRepos, groupId, artifactId );
+
+            repositorySession = repositorySessionFactory.createSession();
+
+            MetadataResolver metadataResolver = repositorySession.getResolver();
+
+            ProjectVersionMetadata sharedModel = new ProjectVersionMetadata();
+
+            MavenProjectFacet mavenFacet = new MavenProjectFacet();
+            mavenFacet.setGroupId( groupId );
+            mavenFacet.setArtifactId( artifactId );
+            sharedModel.addFacet( mavenFacet );
+
+            boolean isFirstVersion = true;
+
+            for ( String version : projectVersions )
+            {
+                ProjectVersionMetadata versionMetadata = null;
+                for ( String repoId : selectedRepos )
+                {
+                    if ( versionMetadata == null )
+                    {
+                        try
+                        {
+                            versionMetadata =
+                                metadataResolver.resolveProjectVersion( repositorySession, repoId, groupId, artifactId,
+                                                                        version );
+                        }
+                        catch ( MetadataResolutionException e )
+                        {
+                            log.error( "Skipping invalid metadata while compiling shared model for " + groupId + ":"
+                                           + artifactId + " in repo " + repoId + ": " + e.getMessage() );
+                        }
+                    }
+                }
+
+                if ( versionMetadata == null )
+                {
+                    continue;
+                }
+
+                if ( isFirstVersion )
+                {
+                    sharedModel = versionMetadata;
+                    sharedModel.setId( null );
+                }
+                else
+                {
+                    MavenProjectFacet versionMetadataMavenFacet =
+                        (MavenProjectFacet) versionMetadata.getFacet( MavenProjectFacet.FACET_ID );
+                    if ( versionMetadataMavenFacet != null )
+                    {
+                        if ( mavenFacet.getPackaging() != null && !StringUtils.equalsIgnoreCase(
+                            mavenFacet.getPackaging(), versionMetadataMavenFacet.getPackaging() ) )
+                        {
+                            mavenFacet.setPackaging( null );
+                        }
+                    }
+
+                    if ( sharedModel.getName() != null && !StringUtils.equalsIgnoreCase( sharedModel.getName(),
+                                                                                         versionMetadata.getName() ) )
+                    {
+                        sharedModel.setName( "" );
+                    }
+
+                    if ( sharedModel.getDescription() != null && !StringUtils.equalsIgnoreCase(
+                        sharedModel.getDescription(), versionMetadata.getDescription() ) )
+                    {
+                        sharedModel.setDescription( null );
+                    }
+
+                    if ( sharedModel.getIssueManagement() != null && versionMetadata.getIssueManagement() != null
+                        && !StringUtils.equalsIgnoreCase( sharedModel.getIssueManagement().getUrl(),
+                                                          versionMetadata.getIssueManagement().getUrl() ) )
+                    {
+                        sharedModel.setIssueManagement( null );
+                    }
+
+                    if ( sharedModel.getCiManagement() != null && versionMetadata.getCiManagement() != null
+                        && !StringUtils.equalsIgnoreCase( sharedModel.getCiManagement().getUrl(),
+                                                          versionMetadata.getCiManagement().getUrl() ) )
+                    {
+                        sharedModel.setCiManagement( null );
+                    }
+
+                    if ( sharedModel.getOrganization() != null && versionMetadata.getOrganization() != null
+                        && !StringUtils.equalsIgnoreCase( sharedModel.getOrganization().getName(),
+                                                          versionMetadata.getOrganization().getName() ) )
+                    {
+                        sharedModel.setOrganization( null );
+                    }
+
+                    if ( sharedModel.getUrl() != null && !StringUtils.equalsIgnoreCase( sharedModel.getUrl(),
+                                                                                        versionMetadata.getUrl() ) )
+                    {
+                        sharedModel.setUrl( null );
+                    }
+                }
+
+                isFirstVersion = false;
+            }
+            return sharedModel;
         }
         catch ( MetadataResolutionException e )
         {
@@ -193,9 +336,11 @@ public class DefaultBrowseService
         }
         finally
         {
-            repositorySession.close();
+            if ( repositorySession != null )
+            {
+                repositorySession.close();
+            }
         }
-
     }
 
     //---------------------------

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js?rev=1293423&r1=1293422&r2=1293423&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js Fri Feb 24 21:18:34 2012
@@ -42,7 +42,7 @@ $(function() {
 
     displayProjectEntry=function(id){
       $.log("displayProjectEntry:"+id);
-      var url = "restServices/archivaServices/browseService/browseGroupId?g=org.apache.maven&a=maven-archiver";
+      var url = "restServices/archivaServices/browseService/versionsList/org.apache.maven/maven-archiver";
 
       $.ajax(url, {
         type: "GET",
@@ -50,7 +50,18 @@ $(function() {
         success: function(data) {
 
         }
-     });
+      });
+
+      url = "restServices/archivaServices/browseService/projectVersionMetadata/org.apache.maven/maven-archiver";
+
+      $.ajax(url, {
+        type: "GET",
+        dataType: 'json',
+        success: function(data) {
+
+        }
+      });
+
     }
 
     breadCrumbEntries=function(){

Modified: archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/CiManagement.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/CiManagement.java?rev=1293423&r1=1293422&r2=1293423&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/CiManagement.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/CiManagement.java Fri Feb 24 21:18:34 2012
@@ -19,11 +19,14 @@ package org.apache.archiva.metadata.mode
  * under the License.
  */
 
+import javax.xml.bind.annotation.XmlRootElement;
+
 /**
  * Information about the CI system used by the project.
  *
  * @todo considering moving this to a facet - avoid referring to it externally
  */
+@XmlRootElement( name = "ciManagement" )
 public class CiManagement
 {
     /**

Modified: archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/Dependency.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/Dependency.java?rev=1293423&r1=1293422&r2=1293423&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/Dependency.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/Dependency.java Fri Feb 24 21:18:34 2012
@@ -19,11 +19,14 @@ package org.apache.archiva.metadata.mode
  * under the License.
  */
 
+import javax.xml.bind.annotation.XmlRootElement;
+
 /**
  * Information about a dependency that this project has on another project or artifact.
  *
  * @todo will be reviewing what is appropriate for the base here - rest should be in a maven dependency facet - avoid details on it externally
  */
+@XmlRootElement( name = "dependency" )
 public class Dependency
 {
     /**

Modified: archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/FacetedMetadata.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/FacetedMetadata.java?rev=1293423&r1=1293422&r2=1293423&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/FacetedMetadata.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/FacetedMetadata.java Fri Feb 24 21:18:34 2012
@@ -19,6 +19,7 @@ package org.apache.archiva.metadata.mode
  * under the License.
  */
 
+import javax.xml.bind.annotation.XmlElement;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -77,7 +78,7 @@ public abstract class FacetedMetadata
 
     /**
      * Get all available facets as a Map (typically used by bean rendering, such as in Archiva's JSPs).
-
+     *
      * @return the map of facets
      * @see #facets
      */

Modified: archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/IssueManagement.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/IssueManagement.java?rev=1293423&r1=1293422&r2=1293423&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/IssueManagement.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/IssueManagement.java Fri Feb 24 21:18:34 2012
@@ -19,11 +19,14 @@ package org.apache.archiva.metadata.mode
  * under the License.
  */
 
+import javax.xml.bind.annotation.XmlRootElement;
+
 /**
  * Information about the issue management system used by the project.
  *
  * @todo considering moving this to a facet - avoid referring to it externally
  */
+@XmlRootElement( name = "issueManagement" )
 public class IssueManagement
 {
     /**

Modified: archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/License.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/License.java?rev=1293423&r1=1293422&r2=1293423&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/License.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/License.java Fri Feb 24 21:18:34 2012
@@ -19,9 +19,12 @@ package org.apache.archiva.metadata.mode
  * under the License.
  */
 
+import javax.xml.bind.annotation.XmlRootElement;
+
 /**
  * A description of a particular license used by a project.
  */
+@XmlRootElement( name = "license" )
 public class License
 {
     /**

Modified: archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/MailingList.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/MailingList.java?rev=1293423&r1=1293422&r2=1293423&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/MailingList.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/MailingList.java Fri Feb 24 21:18:34 2012
@@ -1,5 +1,6 @@
 package org.apache.archiva.metadata.model;
 
+import javax.xml.bind.annotation.XmlRootElement;
 import java.util.List;
 
 /*
@@ -26,6 +27,7 @@ import java.util.List;
  *
  * @todo considering moving this to a facet - avoid referring to it externally
  */
+@XmlRootElement( name = "mailingList" )
 public class MailingList
 {
     /**

Modified: archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/MetadataFacet.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/MetadataFacet.java?rev=1293423&r1=1293422&r2=1293423&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/MetadataFacet.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/MetadataFacet.java Fri Feb 24 21:18:34 2012
@@ -19,14 +19,20 @@ package org.apache.archiva.metadata.mode
  * under the License.
  */
 
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
 import java.util.Map;
 
+@XmlRootElement( name = "metadataFacet" )
 public interface MetadataFacet
 {
+    @XmlElement(name = "facetId")
     String getFacetId();
 
+    @XmlElement(name = "name")
     String getName();
 
+    @XmlElement(name = "properties")
     Map<String, String> toProperties();
 
     void fromProperties( Map<String, String> properties );

Modified: archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/Organization.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/Organization.java?rev=1293423&r1=1293422&r2=1293423&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/Organization.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/Organization.java Fri Feb 24 21:18:34 2012
@@ -19,6 +19,9 @@ package org.apache.archiva.metadata.mode
  * under the License.
  */
 
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement( name = "organization" )
 public class Organization
 {
     private String name;

Modified: archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionMetadata.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionMetadata.java?rev=1293423&r1=1293422&r2=1293423&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionMetadata.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/ProjectVersionMetadata.java Fri Feb 24 21:18:34 2012
@@ -19,9 +19,11 @@ package org.apache.archiva.metadata.mode
  * under the License.
  */
 
+import javax.xml.bind.annotation.XmlRootElement;
 import java.util.ArrayList;
 import java.util.List;
 
+@XmlRootElement( name = "projectVersionMetadata" )
 public class ProjectVersionMetadata
     extends FacetedMetadata
 {

Modified: archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/Scm.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/Scm.java?rev=1293423&r1=1293422&r2=1293423&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/Scm.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-model/src/main/java/org/apache/archiva/metadata/model/Scm.java Fri Feb 24 21:18:34 2012
@@ -19,6 +19,9 @@ package org.apache.archiva.metadata.mode
  * under the License.
  */
 
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement( name = "scm" )
 public class Scm
 {
     private String connection;