Author: olamy
Date: Mon Mar  5 15:52:56 2012
New Revision: 1297102

URL: http://svn.apache.org/viewvc?rev=1297102&view=rev
Log:
add search for osgi: Import-Package and Require-Bundle are now searchable

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/SearchFields.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/SearchRequest.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html

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=1297102&r1=1297101&r2=1297102&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 Mar  5 15:52:56 2012
@@ -223,6 +223,20 @@ public class NexusRepositorySearch
                    Occur.MUST );
         }
 
+        if ( StringUtils.isNotBlank( searchFields.getBundleImportPackage() ) )
+        {
+            q.add( indexer.constructQuery( OSGI.IMPORT_PACKAGE,
+                                           new StringSearchExpression( 
searchFields.getBundleImportPackage() ) ),
+                   Occur.MUST );
+        }
+
+        if ( StringUtils.isNotBlank( searchFields.getBundleRequireBundle() ) )
+        {
+            q.add( indexer.constructQuery( OSGI.REQUIRE_BUNDLE,
+                                           new StringSearchExpression( 
searchFields.getBundleRequireBundle() ) ),
+                   Occur.MUST );
+        }
+
         if ( StringUtils.isNotBlank( searchFields.getClassifier() ) )
         {
             q.add(

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/SearchFields.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/SearchFields.java?rev=1297102&r1=1297101&r2=1297102&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/SearchFields.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/SearchFields.java
 Mon Mar  5 15:52:56 2012
@@ -97,8 +97,17 @@ public class SearchFields
      */
     private String bundleExportService;
 
+
+    /**
+     * contains osgi metadata Require-Bundle if available
+     *
+     * @since 1.4-M3
+     */
+    private String bundleRequireBundle;
+
     /**
      * not return artifact with file extension pom
+     *
      * @since 1.4-M2
      */
     private boolean includePomArtifacts = false;
@@ -262,6 +271,16 @@ public class SearchFields
         this.includePomArtifacts = includePomArtifacts;
     }
 
+    public String getBundleRequireBundle()
+    {
+        return bundleRequireBundle;
+    }
+
+    public void setBundleRequireBundle( String bundleRequireBundle )
+    {
+        this.bundleRequireBundle = bundleRequireBundle;
+    }
+
     @Override
     public String toString()
     {
@@ -279,6 +298,7 @@ public class SearchFields
         sb.append( ", bundleImportPackage='" ).append( bundleImportPackage 
).append( '\'' );
         sb.append( ", bundleName='" ).append( bundleName ).append( '\'' );
         sb.append( ", bundleExportService='" ).append( bundleExportService 
).append( '\'' );
+        sb.append( ", bundleRequireBundle='" ).append( bundleRequireBundle 
).append( '\'' );
         sb.append( ", includePomArtifacts=" ).append( includePomArtifacts );
         sb.append( ", classifier='" ).append( classifier ).append( '\'' );
         sb.append( '}' );

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/SearchRequest.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/model/SearchRequest.java?rev=1297102&r1=1297101&r2=1297102&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/SearchRequest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/SearchRequest.java
 Mon Mar  5 15:52:56 2012
@@ -28,7 +28,7 @@ public class SearchRequest
 
     /**
      * @since 1.4-M3
-     * to be able to search with a query on selected repositories
+     *        to be able to search with a query on selected repositories
      */
     private String queryTerms;
 
@@ -91,10 +91,26 @@ public class SearchRequest
      */
     private String bundleExportService;
 
+    /**
+     * contains osgi metadata Import-Package if available
+     *
+     * @since 1.4-M3
+     */
+    private String bundleImportPackage;
+
+
+    /**
+     * contains osgi metadata Require-Bundle if available
+     *
+     * @since 1.4-M3
+     */
+    private String bundleRequireBundle;
+
     private String classifier;
 
     /**
      * not return artifact with file extension pom
+     *
      * @since 1.4-M2
      */
     private boolean includePomArtifacts = false;
@@ -246,6 +262,26 @@ public class SearchRequest
         this.queryTerms = queryTerms;
     }
 
+    public String getBundleImportPackage()
+    {
+        return bundleImportPackage;
+    }
+
+    public void setBundleImportPackage( String bundleImportPackage )
+    {
+        this.bundleImportPackage = bundleImportPackage;
+    }
+
+    public String getBundleRequireBundle()
+    {
+        return bundleRequireBundle;
+    }
+
+    public void setBundleRequireBundle( String bundleRequireBundle )
+    {
+        this.bundleRequireBundle = bundleRequireBundle;
+    }
+
     @Override
     public String toString()
     {
@@ -262,6 +298,8 @@ public class SearchRequest
         sb.append( ", bundleSymbolicName='" ).append( bundleSymbolicName 
).append( '\'' );
         sb.append( ", bundleExportPackage='" ).append( bundleExportPackage 
).append( '\'' );
         sb.append( ", bundleExportService='" ).append( bundleExportService 
).append( '\'' );
+        sb.append( ", bundleImportPackage='" ).append( bundleImportPackage 
).append( '\'' );
+        sb.append( ", bundleRequireBundle='" ).append( bundleRequireBundle 
).append( '\'' );
         sb.append( ", classifier='" ).append( classifier ).append( '\'' );
         sb.append( ", includePomArtifacts=" ).append( includePomArtifacts );
         sb.append( '}' );

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties?rev=1297102&r1=1297101&r2=1297102&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties
 Mon Mar  5 15:52:56 2012
@@ -236,6 +236,8 @@ search.artifact.search.form.query.bundle
 search.artifact.search.form.query.bundleVersion=Bundle Version
 search.artifact.search.form.query.bundleExportPackage=Export Package
 search.artifact.search.form.query.bundleExportService=Export Service
+search.artifact.search.form.query.bundleImportPackage=Import Package
+search.artifact.search.form.query.bundleRequireBundle=Require Bundle
 
 #login
 login.username.placehoder=Username

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=1297102&r1=1297101&r2=1297102&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
 Mon Mar  5 15:52:56 2012
@@ -652,6 +652,10 @@ $(function() {
     //private String bundleExportService;
     this.bundleExportService=ko.observable();
 
+    this.bundleImportPackage=ko.observable();
+
+    this.bundleRequireBundle=ko.observable();
+
     //private String classifier;
     this.classifier=ko.observable();
 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html?rev=1297102&r1=1297101&r2=1297102&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html
 Mon Mar  5 15:52:56 2012
@@ -302,6 +302,20 @@
                                data-bind="value: 
searchRequest().bundleExportService"/>
                       </div>
                     </div>
+                    <div class="control-group">
+                      <label class="control-label" 
for="groupId">${$.i18n.prop('search.artifact.search.form.query.bundleImportPackage')}</label>
+                      <div class="controls">
+                        <input type="text" class="input-medium search-query" 
id="bundleImportPackage" name="bundleImportPackage" size="50"
+                               data-bind="value: 
searchRequest().bundleImportPackage"/>
+                      </div>
+                    </div>
+                    <div class="control-group">
+                      <label class="control-label" 
for="groupId">${$.i18n.prop('search.artifact.search.form.query.bundleRequireBundle')}</label>
+                      <div class="controls">
+                        <input type="text" class="input-medium search-query" 
id="bundleRequireBundle" name="bundleRequireBundle" size="50"
+                               data-bind="value: 
searchRequest().bundleRequireBundle"/>
+                      </div>
+                    </div>
                   </fieldset>
                   <button type="submit" id="btn-osgi-search" class="btn 
btn-primary"
                           data-bind="click: 
advancedSearch">${$.i18n.prop('search.artifact.search.form.btn.search')}</button>


Reply via email to