This is an automated email from the ASF dual-hosted git repository.

cziegeler pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-analyser.git


The following commit(s) were added to refs/heads/master by this push:
     new 3075497  SLING-8618 : Add method to scan a bundle
3075497 is described below

commit 3075497940681682c01108a8feaaae30c4b372ec
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Wed Aug 7 13:23:34 2019 +0300

    SLING-8618 : Add method to scan a bundle
---
 .../org/apache/sling/feature/scanner/Scanner.java  | 31 +++++++++++++++++-----
 .../apache/sling/feature/scanner/package-info.java |  2 +-
 2 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/apache/sling/feature/scanner/Scanner.java 
b/src/main/java/org/apache/sling/feature/scanner/Scanner.java
index 0a7e142..4f21a7c 100644
--- a/src/main/java/org/apache/sling/feature/scanner/Scanner.java
+++ b/src/main/java/org/apache/sling/feature/scanner/Scanner.java
@@ -109,11 +109,30 @@ public class Scanner {
      * Scan a bundle
      *
      * @param bundle The bundle artifact
+     * @return The bundle descriptor
+     * @throws IOException If something goes wrong or the provided artifact is 
not a
+     *                     bundle.
+     */
+    public BundleDescriptor scanBundle(final Artifact bundle) throws 
IOException {
+        return this.doScan(bundle, bundle.getStartOrder());
+    }
+
+    /**
+     * Scan a bundle
+     *
+     * @param bundle     The bundle artifact
      * @param startLevel The start level of the bundle
      * @return The bundle descriptor
-     * @throws IOException If something goes wrong or the provided artifact is 
not a bundle.
+     * @throws IOException If something goes wrong or the provided artifact is 
not a
+     *                     bundle.
+     * @deprecated Use {@link #scanBundle(Artifact)}
      */
+    @Deprecated
     public BundleDescriptor scan(final Artifact bundle, final int startLevel) 
throws IOException {
+        return this.doScan(bundle, startLevel);
+    }
+
+    private BundleDescriptor doScan(final Artifact bundle, final int 
startLevel) throws IOException {
         final String key = 
bundle.getId().toMvnId().concat(":").concat(String.valueOf(startLevel));
         BundleDescriptor desc = (BundleDescriptor) this.cache.get(key);
         if (desc == null) {
@@ -137,11 +156,9 @@ public class Scanner {
      */
     private void getBundleInfos(final Bundles bundles, final 
ContainerDescriptor desc)
     throws IOException {
-        for(final Map.Entry<Integer, List<Artifact>> entry : 
bundles.getBundlesByStartOrder().entrySet()) {
-            for(final Artifact bundle : entry.getValue() ) {
-                final BundleDescriptor bundleDesc = scan(bundle, 
entry.getKey());
-                desc.getBundleDescriptors().add(bundleDesc);
-            }
+        for (final Artifact bundle : bundles) {
+            final BundleDescriptor bundleDesc = scanBundle(bundle);
+            desc.getBundleDescriptors().add(bundleDesc);
         }
     }
 
@@ -178,7 +195,7 @@ public class Scanner {
 
     /**
      * Compact the container description
-     * 
+     *
      * @param desc The contaier description
      */
     private void compact(final ContainerDescriptor desc) {
diff --git a/src/main/java/org/apache/sling/feature/scanner/package-info.java 
b/src/main/java/org/apache/sling/feature/scanner/package-info.java
index d3a2684..7db7615 100644
--- a/src/main/java/org/apache/sling/feature/scanner/package-info.java
+++ b/src/main/java/org/apache/sling/feature/scanner/package-info.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
[email protected]("2.0.0")
[email protected]("2.1.0")
 package org.apache.sling.feature.scanner;
 
 

Reply via email to