Author: olamy
Date: Mon Aug 15 21:28:13 2011
New Revision: 1158023

URL: http://svn.apache.org/viewvc?rev=1158023&view=rev
Log:
[MRM-1501] search on artifacts with OSGI Metadatas fields
modify SearchResultSearchResultHitSearchResultHit to return osgi metadata

Modified:
    
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/NexusRepositorySearch.java
    
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/SearchResultHit.java
    
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/NexusRepositorySearchOSGITest.java

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/NexusRepositorySearch.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/NexusRepositorySearch.java?rev=1158023&r1=1158022&r2=1158023&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/NexusRepositorySearch.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/NexusRepositorySearch.java
 Mon Aug 15 21:28:13 2011
@@ -322,6 +322,10 @@ public class NexusRepositorySearch
                 //hit.setRepositoryId( artifactInfo.repository );
                 hit.setUrl( artifactInfo.repository + "/" + artifactInfo.fname 
);
                 hit.addVersion( artifactInfo.version );
+                hit.setBundleExportPackage( artifactInfo.bundleExportPackage );
+                hit.setBundleExportService( artifactInfo.bundleExportService );
+                hit.setBundleSymbolicName( artifactInfo.bundleSymbolicName );
+                hit.setBundleVersion( artifactInfo.bundleVersion );
             }
 
             results.addHit( id, hit );

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/SearchResultHit.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/SearchResultHit.java?rev=1158023&r1=1158022&r2=1158023&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/SearchResultHit.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/SearchResultHit.java
 Mon Aug 15 21:28:13 2011
@@ -48,6 +48,35 @@ public class SearchResultHit
 
     private List<String> versions = new ArrayList<String>();
 
+
+    /**
+     * contains osgi metadata Bundle-Version if available
+     *
+     * @since 1.4
+     */
+    private String bundleVersion;
+
+    /**
+     * contains osgi metadata Bundle-SymbolicName if available
+     *
+     * @since 1.4
+     */
+    private String bundleSymbolicName;
+
+    /**
+     * contains osgi metadata Export-Package if available
+     *
+     * @since 1.4
+     */
+    private String bundleExportPackage;
+
+    /**
+     * contains osgi metadata Export-Service if available
+     *
+     * @since 1.4
+     */
+    private String bundleExportService;
+
     public String getContext()
     {
         return context;
@@ -128,6 +157,46 @@ public class SearchResultHit
         versions.add( version );
     }
 
+    public String getBundleVersion()
+    {
+        return bundleVersion;
+    }
+
+    public void setBundleVersion( String bundleVersion )
+    {
+        this.bundleVersion = bundleVersion;
+    }
+
+    public String getBundleSymbolicName()
+    {
+        return bundleSymbolicName;
+    }
+
+    public void setBundleSymbolicName( String bundleSymbolicName )
+    {
+        this.bundleSymbolicName = bundleSymbolicName;
+    }
+
+    public String getBundleExportPackage()
+    {
+        return bundleExportPackage;
+    }
+
+    public void setBundleExportPackage( String bundleExportPackage )
+    {
+        this.bundleExportPackage = bundleExportPackage;
+    }
+
+    public String getBundleExportService()
+    {
+        return bundleExportService;
+    }
+
+    public void setBundleExportService( String bundleExportService )
+    {
+        this.bundleExportService = bundleExportService;
+    }
+
     @Override
     public String toString()
     {

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/NexusRepositorySearchOSGITest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/NexusRepositorySearchOSGITest.java?rev=1158023&r1=1158022&r2=1158023&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/NexusRepositorySearchOSGITest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/NexusRepositorySearchOSGITest.java
 Mon Aug 15 21:28:13 2011
@@ -19,7 +19,6 @@ package org.apache.archiva.indexer.searc
  * under the License.
  */
 
-import junit.framework.TestCase;
 import org.junit.Test;
 
 import java.io.File;
@@ -48,7 +47,7 @@ public class NexusRepositorySearchOSGITe
 
         archivaConfigControl.replay();
 
-        SearchFields searchFields = new SearchFields(  );
+        SearchFields searchFields = new SearchFields();
         searchFields.setBundleSymbolicName( 
"org.apache.felix.bundlerepository" );
         searchFields.setBundleVersion( "1.6.6" );
         searchFields.setRepositories( selectedRepos );
@@ -65,6 +64,12 @@ public class NexusRepositorySearchOSGITe
         assertEquals( "org.apache.felix.bundlerepository", hit.getArtifactId() 
);
         assertEquals( "1.6.6", hit.getVersions().get( 0 ) );
 
+        assertEquals( 
"org.apache.felix.bundlerepository;uses:=\"org.osgi.framework\";version=\"2.0\"",
+                      hit.getBundleExportPackage() );
+        assertEquals( 
"org.apache.felix.bundlerepository.RepositoryAdmin,org.osgi.service.obr.RepositoryAdmin",
+                      hit.getBundleExportService() );
+        assertEquals( "org.apache.felix.bundlerepository", 
hit.getBundleSymbolicName() );
+        assertEquals( "1.6.6", hit.getBundleVersion() );
     }
 
 }


Reply via email to