Author: jm
Date: 2012-10-05 15:00:44 -0700 (Fri, 05 Oct 2012)
New Revision: 30613
Modified:
core3/gui-distribution/trunk/launcher/src/main/java/org/cytoscape/launcher/internal/Launcher.java
core3/gui-distribution/trunk/packaging/src/main/install4j/Cytoscape.install4j
Log:
Fixes #1499: Launcher no longer dies when run in a read-only directory
Modified:
core3/gui-distribution/trunk/launcher/src/main/java/org/cytoscape/launcher/internal/Launcher.java
===================================================================
---
core3/gui-distribution/trunk/launcher/src/main/java/org/cytoscape/launcher/internal/Launcher.java
2012-10-05 20:28:58 UTC (rev 30612)
+++
core3/gui-distribution/trunk/launcher/src/main/java/org/cytoscape/launcher/internal/Launcher.java
2012-10-05 22:00:44 UTC (rev 30613)
@@ -9,13 +9,35 @@
public static void main(String[] args) throws Exception {
startupArguments = args;
+ setDefaultSystemProperties();
createConfigurationDirectory();
Main.main(args);
}
+ private static void setDefaultSystemProperties() {
+ String userHome = System.getProperty("user.home");
+ if (System.getProperty("karaf.data") == null) {
+ System.setProperty("karaf.data", join(File.separator,
userHome, "CytoscapeConfiguration", "3", "karaf_data"));
+ }
+ }
+
+ private static String join(String separator, String... parts) {
+ StringBuilder builder = new StringBuilder();
+ boolean isFirst = true;
+ for (String part : parts) {
+ if (!isFirst) {
+ builder.append(separator);
+ } else {
+ isFirst = false;
+ }
+ builder.append(part);
+ }
+ return builder.toString();
+ }
+
private static void createConfigurationDirectory() {
String userHome = System.getProperty("user.home");
- File karafData = new File(userHome, String.format("%s%s%s",
"CytoscapeConfiguration", File.separator, "3"));
+ File karafData = new File(join(File.separator, userHome,
"CytoscapeConfiguration", "3"));
karafData.mkdirs();
}
Modified:
core3/gui-distribution/trunk/packaging/src/main/install4j/Cytoscape.install4j
===================================================================
---
core3/gui-distribution/trunk/packaging/src/main/install4j/Cytoscape.install4j
2012-10-05 20:28:58 UTC (rev 30612)
+++
core3/gui-distribution/trunk/packaging/src/main/install4j/Cytoscape.install4j
2012-10-05 22:00:44 UTC (rev 30613)
@@ -66,7 +66,7 @@
<versionLine x="20" y="40" text="version ${compiler:sys.version}"
font="Arial" fontSize="8" fontColor="0,0,0" fontWeight="500" />
</text>
</splashScreen>
- <java mainClass="org.cytoscape.launcher.internal.Launcher"
vmParameters="-server -Xss10M -Xms128M -Xmx1G -Dcom.sun.management.jmxremote
"-Dkaraf.instances=${launcher:sys.launcherDirectory}/framework/instances"
" -Dkaraf.home=${launcher:sys.launcherDirectory}/framework"
"-Dkaraf.base=${launcher:sys.launcherDirectory}/framework" "
-Dkaraf.data=${launcher:sys.launcherDirectory}/framework/data" "
-Djava.io.tmpdir=${launcher:sys.launcherDirectory}/framework/data/tmp"
"
-Djava.util.logging.config.file=${launcher:sys.launcherDirectory}/framework/etc/java.util.logging.properties"
-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=false" arguments=""
allowVMPassthroughParameters="true" preferredVM="" bundleRuntime="true">
+ <java mainClass="org.cytoscape.launcher.internal.Launcher"
vmParameters="-Xss10M -Xms128M -Xmx1G -Dcom.sun.management.jmxremote
"-Dkaraf.instances=${launcher:sys.launcherDirectory}/framework/instances"
" -Dkaraf.home=${launcher:sys.launcherDirectory}/framework"
"-Dkaraf.base=${launcher:sys.launcherDirectory}/framework" "
-Djava.util.logging.config.file=${launcher:sys.launcherDirectory}/framework/etc/java.util.logging.properties"
-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=false" arguments=""
allowVMPassthroughParameters="true" preferredVM="" bundleRuntime="true">
<classPath>
<scanDirectory location="." failOnError="false" />
<directory location="lib" failOnError="false" />
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.