Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherParser.java37
-rw-r--r--bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwConfigFileParser.java14
-rw-r--r--bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/ParserUtils.java12
-rw-r--r--bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/LazyManipulator.java1
4 files changed, 34 insertions, 30 deletions
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherParser.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherParser.java
index d1ac79da4..1b95d9bf7 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherParser.java
+++ b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EclipseLauncherParser.java
@@ -289,25 +289,28 @@ public class EclipseLauncherParser {
Log.log(LogService.LOG_INFO, this, "save()", NLS.bind(Messages.log_renameSuccessful, launcherConfigFile, dest)); //$NON-NLS-1$
}
- BufferedWriter bw = null;
- try {
- bw = new BufferedWriter(new FileWriter(launcherConfigFile));
- for (int j = 0; j < newlines.size(); j++) {
- String arg = (String) newlines.get(j);
- if (arg == null)
- continue;
- bw.write(arg);
- bw.newLine();
+ //only write the file if we actually have content
+ if (newlines.size() > 0) {
+ BufferedWriter bw = null;
+ try {
+ bw = new BufferedWriter(new FileWriter(launcherConfigFile));
+ for (int j = 0; j < newlines.size(); j++) {
+ String arg = (String) newlines.get(j);
+ if (arg == null)
+ continue;
+ bw.write(arg);
+ bw.newLine();
+ }
+ bw.flush();
+ Log.log(LogService.LOG_INFO, NLS.bind(Messages.log_launcherConfigSave, launcherConfigFile));
+ } finally {
+ if (bw != null)
+ bw.close();
}
- bw.flush();
- Log.log(LogService.LOG_INFO, NLS.bind(Messages.log_launcherConfigSave, launcherConfigFile));
- } finally {
- if (bw != null)
- bw.close();
- File previousLauncherIni = launcherData.getPreviousLauncherIni();
- if (previousLauncherIni != null && !previousLauncherIni.equals(launcherConfigFile))
- previousLauncherIni.delete();
}
+ File previousLauncherIni = launcherData.getPreviousLauncherIni();
+ if (previousLauncherIni != null && !previousLauncherIni.equals(launcherConfigFile))
+ previousLauncherIni.delete();
launcherData.setLauncherConfigLocation(launcherConfigFile);
}
}
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwConfigFileParser.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwConfigFileParser.java
index 780a15c66..e62bf9a2a 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwConfigFileParser.java
+++ b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/EquinoxFwConfigFileParser.java
@@ -150,7 +150,7 @@ public class EquinoxFwConfigFileParser {
return (BundleInfo[]) bundles.toArray(new BundleInfo[bundles.size()]);
}
- private void writeBundlesList(File fwJar, Properties props, URI base, BundleInfo[] bundles) {
+ private void writeBundlesList(File fwJar, Properties props, BundleInfo[] bundles) {
StringBuffer osgiBundlesList = new StringBuffer();
StringBuffer osgiFrameworkExtensionsList = new StringBuffer();
for (int j = 0; j < bundles.length; j++) {
@@ -204,10 +204,6 @@ public class EquinoxFwConfigFileParser {
configData.initialize();
configData.setBundles(null);
- // TODO commented out to prevent dead code warning, but is it really needed?
- // String launcherName = null;
- // String launcherPath = null;
-
// load configuration properties
Properties props = loadProperties(inputFile);
@@ -237,10 +233,6 @@ public class EquinoxFwConfigFileParser {
String value = props.getProperty(key);
configData.setProperty(key, value);
}
- // TODO commented out to prevent dead code warning, but is it really needed?
- // if (launcherName != null && launcherPath != null) {
- // launcherData.setLauncher(new File(launcherPath, launcherName + EquinoxConstants.EXE_EXTENSION));
- // }
Log.log(LogService.LOG_INFO, NLS.bind(Messages.log_configFile, inputFile.getAbsolutePath()));
}
@@ -268,7 +260,7 @@ public class EquinoxFwConfigFileParser {
File fwJar = null;
if (props.getProperty(EquinoxConstants.PROP_OSGI_FW) != null) {
URI absoluteFwJar = null;
- absoluteFwJar = URIUtil.makeAbsolute(FileUtils.fromFileURL(props.getProperty(EquinoxConstants.PROP_OSGI_FW)), ParserUtils.getOSGiInstallArea(Arrays.asList(launcherData.getProgramArgs()), configData.getProperties(), launcherData).toURI());
+ absoluteFwJar = URIUtil.makeAbsolute(FileUtils.fromFileURL(props.getProperty(EquinoxConstants.PROP_OSGI_FW)), ParserUtils.getOSGiInstallArea(Arrays.asList(launcherData.getProgramArgs()), props, launcherData).toURI());
props.setProperty(EquinoxConstants.PROP_OSGI_FW, absoluteFwJar.toString());
String fwJarString = props.getProperty(EquinoxConstants.PROP_OSGI_FW);
@@ -450,7 +442,7 @@ public class EquinoxFwConfigFileParser {
URI configArea = manipulator.getLauncherData().getFwConfigLocation().toURI();
writep2DataArea(configData, configProps, configArea);
writeSimpleConfiguratorURL(configData, configProps, configArea);
- writeBundlesList(launcherData.getFwJar(), configProps, ParserUtils.getOSGiInstallArea(Arrays.asList(launcherData.getProgramArgs()), configProps, launcherData).toURI(), bInfos);
+ writeBundlesList(launcherData.getFwJar(), configProps, bInfos);
writeInitialStartLevel(configData, configProps);
writeDefaultStartLevel(configData, configProps);
} catch (URISyntaxException e) {
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/ParserUtils.java b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/ParserUtils.java
index 89f30b177..72612ca04 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/ParserUtils.java
+++ b/bundles/org.eclipse.equinox.frameworkadmin.equinox/src/org/eclipse/equinox/internal/frameworkadmin/equinox/ParserUtils.java
@@ -29,11 +29,19 @@ public class ParserUtils {
if (launcherData == null)
return null;
- //TODO This is not enough because if you only have -startup then osgi.install.area from the config.ini is used
- File result = getOSGiInstallArea(programArgs, properties, launcherData.getLauncher() == null ? null : launcherData.getLauncher().getParentFile().toURI());
+ URI base = null;
+ if (launcherData.getLauncher() != null)
+ base = launcherData.getLauncher().getParentFile().toURI();
+ else if (launcherData.getHome() != null)
+ base = launcherData.getHome().toURI();
+ File result = getOSGiInstallArea(programArgs, properties, base);
if (result != null)
return result;
+ if (launcherData.getHome() != null) {
+ return launcherData.getHome();
+ }
+
if (launcherData.getFwJar() != null)
return fromOSGiJarToOSGiInstallArea(launcherData.getFwJar().getAbsolutePath());
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/LazyManipulator.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/LazyManipulator.java
index 55799cf12..4303c60e8 100644
--- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/LazyManipulator.java
+++ b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/LazyManipulator.java
@@ -48,6 +48,7 @@ public class LazyManipulator implements Manipulator {
launcherData.setLauncher(Util.getLauncherPath(profile));
launcherData.setLauncherConfigLocation(Util.getLauncherConfigLocation(profile));
launcherData.setOS(Util.getOSFromProfile(profile));
+ launcherData.setHome(Util.getInstallFolder(profile));
try {
manipulator.load();

Back to the top