[jbosstools-commits] JBoss Tools SVN: r41678 - branches/jbosstools-3.3.x/forge/plugins/org.jboss.tools.forge.runtime.ext/src/org/jboss/tools/forge/runtime/ext.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Mon Jun 4 09:41:51 EDT 2012


Author: koen.aers at jboss.com
Date: 2012-06-04 09:41:50 -0400 (Mon, 04 Jun 2012)
New Revision: 41678

Modified:
   branches/jbosstools-3.3.x/forge/plugins/org.jboss.tools.forge.runtime.ext/src/org/jboss/tools/forge/runtime/ext/AllCommandsInterceptor.java
Log:
JBIDE-11168: Command 'cd #' not working on windows

Modified: branches/jbosstools-3.3.x/forge/plugins/org.jboss.tools.forge.runtime.ext/src/org/jboss/tools/forge/runtime/ext/AllCommandsInterceptor.java
===================================================================
--- branches/jbosstools-3.3.x/forge/plugins/org.jboss.tools.forge.runtime.ext/src/org/jboss/tools/forge/runtime/ext/AllCommandsInterceptor.java	2012-06-04 13:17:36 UTC (rev 41677)
+++ branches/jbosstools-3.3.x/forge/plugins/org.jboss.tools.forge.runtime.ext/src/org/jboss/tools/forge/runtime/ext/AllCommandsInterceptor.java	2012-06-04 13:41:50 UTC (rev 41678)
@@ -52,14 +52,27 @@
 	}
 	
 	private String handleWorkspaceShortCut(String str) {
-		if (str.startsWith("#")) {
-			return System.getProperty("forge.workspace") + str.substring(1);
+		String result = str;
+		if (str.startsWith("#")) {			
+			result = encloseWithDoubleQuotesIfNeeded(System.getProperty("forge.workspace")) + str.substring(1);
 		}
-		return str;
+		return result;
 	}
 
 	private void sendEscaped(String str) {
 		shell.print(ESCAPE + str + ESCAPE); 
 	}
 
+	private String encloseWithDoubleQuotesIfNeeded(String str) {
+		if (str.contains(" ") && !isEnclosedWithDoubleQuotes(str)) { 
+			return "\"" + str + "\"";
+		} else {
+			return str;
+		}
+	}
+	
+	private boolean isEnclosedWithDoubleQuotes(String str) {
+		return str.charAt(0) == '\"' && str.charAt(str.length() - 1) == '\"';
+	}
+	
 }



More information about the jbosstools-commits mailing list