You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by si...@apache.org on 2019/06/18 14:01:25 UTC

[sling-org-apache-sling-feature-inventoryprinter] branch optimized_writer created (now 8ad4120)

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

simonetripodi pushed a change to branch optimized_writer
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-inventoryprinter.git.


      at 8ad4120  @trivial do not store the whole 'sling.feature' file in memory, before to transfer it to the PrintWriter

This branch includes the following new commits:

     new 8ad4120  @trivial do not store the whole 'sling.feature' file in memory, before to transfer it to the PrintWriter

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[sling-org-apache-sling-feature-inventoryprinter] 01/01: @trivial do not store the whole 'sling.feature' file in memory, before to transfer it to the PrintWriter

Posted by si...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

simonetripodi pushed a commit to branch optimized_writer
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-inventoryprinter.git

commit 8ad41209c7cdeabe20b7d6bd772acaa2a42c46a9
Author: Simo Tripodi <st...@adobe.com>
AuthorDate: Tue Jun 18 16:00:59 2019 +0200

    @trivial do not store the whole 'sling.feature' file in memory, before
    to transfer it to the PrintWriter
---
 .../impl/FeaturesInventoryPrinter.java             | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/apache/sling/feature/inventoryservice/impl/FeaturesInventoryPrinter.java b/src/main/java/org/apache/sling/feature/inventoryservice/impl/FeaturesInventoryPrinter.java
index ac9710c..5512433 100644
--- a/src/main/java/org/apache/sling/feature/inventoryservice/impl/FeaturesInventoryPrinter.java
+++ b/src/main/java/org/apache/sling/feature/inventoryservice/impl/FeaturesInventoryPrinter.java
@@ -18,18 +18,20 @@
  */
 package org.apache.sling.feature.inventoryservice.impl;
 
-import org.apache.felix.inventory.Format;
-import org.apache.felix.inventory.InventoryPrinter;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-
+import java.io.BufferedReader;
 import java.io.PrintWriter;
 import java.net.URI;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 
+import org.apache.felix.inventory.Format;
+import org.apache.felix.inventory.InventoryPrinter;
+import org.osgi.framework.BundleContext;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+
 @Component(
 property = {InventoryPrinter.NAME + "=launch_feature",
         InventoryPrinter.TITLE + "=Launch Feature",
@@ -43,8 +45,12 @@ public class FeaturesInventoryPrinter implements InventoryPrinter
     public void print(PrintWriter printWriter, Format format, boolean isZip) {
         try {
             Path path = Paths.get(new URI(bc.getProperty("sling.feature")));
-            byte[] bytes = Files.readAllBytes(path);
-            printWriter.print(new String(bytes));
+            try (BufferedReader reader = Files.newBufferedReader(path, StandardCharsets.UTF_8)) {
+                String line = null;
+                while ((line = reader.readLine()) != null) {
+                    printWriter.println(line);
+                }
+            }
         } catch (Exception e) {
             e.printStackTrace(printWriter);
         }