Adds explicit encoding in SynteticContextBundleCreatingTransformer and SimpleFileHelpAccessor
diff --git a/org.eclipse.virgo.kernel.deployer/src/main/java/org/eclipse/virgo/kernel/install/pipeline/stage/transform/internal/SyntheticContextBundleCreatingTransformer.java b/org.eclipse.virgo.kernel.deployer/src/main/java/org/eclipse/virgo/kernel/install/pipeline/stage/transform/internal/SyntheticContextBundleCreatingTransformer.java
index 2201f12..5db3ad2 100644
--- a/org.eclipse.virgo.kernel.deployer/src/main/java/org/eclipse/virgo/kernel/install/pipeline/stage/transform/internal/SyntheticContextBundleCreatingTransformer.java
+++ b/org.eclipse.virgo.kernel.deployer/src/main/java/org/eclipse/virgo/kernel/install/pipeline/stage/transform/internal/SyntheticContextBundleCreatingTransformer.java
@@ -12,6 +12,8 @@
 
 package org.eclipse.virgo.kernel.install.pipeline.stage.transform.internal;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.io.Writer;
@@ -21,8 +23,6 @@
 
 import org.eclipse.virgo.kernel.artifact.fs.ArtifactFS;
 import org.eclipse.virgo.kernel.artifact.fs.ArtifactFSEntry;
-import org.eclipse.virgo.nano.deployer.api.core.DeploymentException;
-import org.eclipse.virgo.nano.deployer.api.core.FatalDeploymentException;
 import org.eclipse.virgo.kernel.install.artifact.ArtifactIdentity;
 import org.eclipse.virgo.kernel.install.artifact.ArtifactIdentityDeterminer;
 import org.eclipse.virgo.kernel.install.artifact.ArtifactStorage;
@@ -34,6 +34,8 @@
 import org.eclipse.virgo.kernel.install.artifact.internal.scoping.ScopeNameFactory;
 import org.eclipse.virgo.kernel.install.environment.InstallEnvironment;
 import org.eclipse.virgo.kernel.install.pipeline.stage.transform.Transformer;
+import org.eclipse.virgo.nano.deployer.api.core.DeploymentException;
+import org.eclipse.virgo.nano.deployer.api.core.FatalDeploymentException;
 import org.eclipse.virgo.util.common.GraphNode;
 import org.eclipse.virgo.util.io.IOUtils;
 import org.eclipse.virgo.util.osgi.manifest.BundleManifest;
@@ -122,7 +124,7 @@
 
     private void writeSyntheticContextBundle(BundleManifest syntheticContextBundleManifest, ArtifactFS artifactFS) {                
         ArtifactFSEntry entry = artifactFS.getEntry(JarFile.MANIFEST_NAME);
-        Writer manifestWriter = new OutputStreamWriter(entry.getOutputStream());
+        Writer manifestWriter = new OutputStreamWriter(entry.getOutputStream(), UTF_8);
         try {
             syntheticContextBundleManifest.write(manifestWriter);
         } catch (IOException ioe) {
diff --git a/org.eclipse.virgo.shell.command/src/main/java/org/eclipse/virgo/shell/internal/help/SimpleFileHelpAccessor.java b/org.eclipse.virgo.shell.command/src/main/java/org/eclipse/virgo/shell/internal/help/SimpleFileHelpAccessor.java
index e8a2c21..729e714 100644
--- a/org.eclipse.virgo.shell.command/src/main/java/org/eclipse/virgo/shell/internal/help/SimpleFileHelpAccessor.java
+++ b/org.eclipse.virgo.shell.command/src/main/java/org/eclipse/virgo/shell/internal/help/SimpleFileHelpAccessor.java
@@ -11,6 +11,8 @@
 
 package org.eclipse.virgo.shell.internal.help;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
@@ -25,8 +27,6 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import org.eclipse.virgo.util.io.IOUtils;
-
 /**
  * Implementation of {@link HelpAccessor} which searches for a simple text file resource in the bundle of the class.
  * <p/>
@@ -53,16 +53,12 @@
      * {@inheritDoc}
      */
     public List<String> getDetailedHelp(Class<?> clazz) {
-        BufferedReader readFileIn = null;
-        try {
-            readFileIn = this.helpResourceReader(clazz);
+        try (BufferedReader readFileIn = this.helpResourceReader(clazz)) {
             if (readFileIn != null) {
                 return readAllButFirstHelpLines(readFileIn);
             }
         } catch (IOException ioe) {
             logger.error(String.format("Exception reading help resource for class '%s'.", clazz.getCanonicalName()), ioe);
-        } finally {
-            IOUtils.closeQuietly(readFileIn);
         }
         return Collections.emptyList();
     }
@@ -71,16 +67,12 @@
      * {@inheritDoc}
      */
     public String getSummaryHelp(Class<?> clazz) {
-        BufferedReader readFileIn = null;
-        try {
-            readFileIn = this.helpResourceReader(clazz);
+        try (BufferedReader readFileIn = this.helpResourceReader(clazz)) {
             if (readFileIn != null) {
                 return readFirstHelpLine(readFileIn);
             }
         } catch (IOException ioe) {
             logger.error(String.format("Exception reading help resource for class '%s'.", clazz.getCanonicalName()), ioe);
-        } finally {
-            IOUtils.closeQuietly(readFileIn);
         }
         return null;
     }
@@ -128,13 +120,10 @@
             String fileResourceName = new StringBuffer(className).append(HELP_ACCESSOR_RESOURCE_EXTENSION).toString();
             URL resourceUrl = this.helpResourceUrl(clazz, fileResourceName);
             if (resourceUrl != null) {
-                InputStream resourceIn = null;
-                try {
-                    resourceIn = resourceUrl.openStream();
-                    readFileIn = new BufferedReader(new InputStreamReader(resourceIn));
+                try (InputStream resourceIn = resourceUrl.openStream()) {
+                    readFileIn = new BufferedReader(new InputStreamReader(resourceIn, UTF_8));
                 } catch (IOException ioe) {
                     logger.error(String.format("Exception reading help resource '%s'.", resourceUrl), ioe);
-                    IOUtils.closeQuietly(resourceIn);
                     return null;
                 }
             }