Bug 518740 - The Equinox Framework does not start on ARM using Oracle
Embedded JRE
Additional changes from code review:
- ensure streams are closed properly
- update regex used to avoid extra trim operation.
Change-Id: I927eed5d66cff74fd8f494d32554248e9710e95e
Signed-off-by: Thomas Watson <tjwatson@us.ibm.com>
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java
index 7ff03f2..5129c9f 100755
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/SystemBundleTests.java
@@ -2690,6 +2690,8 @@
doTestJavaProfile("1.7", "JavaSE-1.7", null);
doTestJavaProfile("1.8", "JavaSE/compact3-1.8", "compact3");
doTestJavaProfile("1.8", "JavaSE/compact3-1.8", "\"compact3\"");
+ doTestJavaProfile("1.8", "JavaSE/compact3-1.8", " \"compact3\" ");
+ doTestJavaProfile("1.8", "JavaSE/compact3-1.8", " compact3 ");
doTestJavaProfile("1.8", "JavaSE-1.8", "\"compact4\"");
doTestJavaProfile("9", "JavaSE/compact3-1.8", "compact3");
doTestJavaProfile("9", "JavaSE/compact3-1.8", "\"compact3\"");
@@ -2706,7 +2708,12 @@
release.getParentFile().mkdirs();
Properties props = new Properties();
props.put("JAVA_PROFILE", releaseName);
- props.store(new FileOutputStream(release), null);
+ FileOutputStream propStream = new FileOutputStream(release);
+ try {
+ props.store(propStream, null);
+ } finally {
+ propStream.close();
+ }
System.setProperty("java.home", release.getParentFile().getAbsolutePath());
}
System.setProperty("java.specification.version", javaSpecVersion);
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/Storage.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/Storage.java
index e4f518c..d891eff 100644
--- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/Storage.java
+++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/Storage.java
@@ -1432,13 +1432,12 @@
File release = new File(javaHome, "release"); //$NON-NLS-1$
if (release.exists()) {
Properties releaseProps = new Properties();
- try {
- releaseProps.load(new FileInputStream(release));
+ try (InputStream releaseStream = new FileInputStream(release)) {
+ releaseProps.load(releaseStream);
String releaseName = releaseProps.getProperty("JAVA_PROFILE"); //$NON-NLS-1$
if (releaseName != null) {
// make sure to remove extra quotes
- releaseName = releaseName.trim();
- releaseName = releaseName.replaceAll("^\"|\"$", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ releaseName = releaseName.replaceAll("^\\s*\"?|\"?\\s*$", ""); //$NON-NLS-1$ //$NON-NLS-2$
embeddedProfileName = "_" + releaseName + "-"; //$NON-NLS-1$ //$NON-NLS-2$
}
} catch (IOException e) {