[jbosstools-commits] JBoss Tools SVN: r42432 - in trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core: server/internal/v7 and 1 other directories.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Fri Jul 6 00:53:08 EDT 2012
Author: rob.stryker at jboss.com
Date: 2012-07-06 00:53:07 -0400 (Fri, 06 Jul 2012)
New Revision: 42432
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/JavaUtils.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossServerRuntime.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss71ServerRuntime.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7ServerRuntime.java
Log:
/JBIDE-12229 to trunk
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossServerRuntime.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossServerRuntime.java 2012-07-06 04:45:22 UTC (rev 42431)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/LocalJBossServerRuntime.java 2012-07-06 04:53:07 UTC (rev 42432)
@@ -49,6 +49,7 @@
import org.jboss.ide.eclipse.as.core.server.bean.ServerBeanLoader;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants;
import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
+import org.jboss.ide.eclipse.as.core.util.JavaUtils;
public class LocalJBossServerRuntime extends AbstractLocalJBossServerRuntime implements IJBossServerRuntime {
@@ -125,7 +126,7 @@
String name = getRuntime().getName();
String ret = QUOTE + SYSPROP + PROGRAM_NAME_ARG + EQ +
"JBossTools: " + name + QUOTE + SPACE; //$NON-NLS-1$
- if( Platform.getOS().equals(Platform.OS_MACOSX))
+ if( JavaUtils.supportsServerMode(getVM()))
ret += SERVER_ARG + SPACE;
IRuntimeType type = getRuntime().getRuntimeType();
if (type != null &&
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss71ServerRuntime.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss71ServerRuntime.java 2012-07-06 04:45:22 UTC (rev 42431)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss71ServerRuntime.java 2012-07-06 04:53:07 UTC (rev 42432)
@@ -13,6 +13,7 @@
import org.eclipse.core.runtime.IPath;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants;
+import org.jboss.ide.eclipse.as.core.util.JavaUtils;
public class LocalJBoss71ServerRuntime extends LocalJBoss7ServerRuntime implements IJBossRuntimeConstants {
public static final String CONFIG_FILE = "org.jboss.ide.eclipse.as.core.server.internal.v7.CONFIG_FILE"; //$NON-NLS-1$
@@ -31,7 +32,8 @@
IJBossRuntimeResourceConstants c = new IJBossRuntimeResourceConstants() {};
IPath bootLog = serverHome.append(c.AS7_STANDALONE).append(c.FOLDER_LOG).append(c.AS7_BOOT_LOG);
IPath logConfig = serverHome.append(c.AS7_STANDALONE).append(c.CONFIGURATION).append(c.LOGGING_PROPERTIES);
- return SERVER_ARG
+ String serverArg =JavaUtils.supportsServerMode(getVM()) ? SERVER_ARG : ""; //$NON-NLS-1$
+ return serverArg
+ " -Xms64m" //$NON-NLS-1$
+ " -Xmx512m" //$NON-NLS-1$
+ " -XX:MaxPermSize=256m" //$NON-NLS-1$
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7ServerRuntime.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7ServerRuntime.java 2012-07-06 04:45:22 UTC (rev 42431)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/v7/LocalJBoss7ServerRuntime.java 2012-07-06 04:53:07 UTC (rev 42432)
@@ -21,6 +21,7 @@
import org.jboss.ide.eclipse.as.core.server.internal.LocalJBossServerRuntime;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeConstants;
import org.jboss.ide.eclipse.as.core.util.IJBossRuntimeResourceConstants;
+import org.jboss.ide.eclipse.as.core.util.JavaUtils;
public class LocalJBoss7ServerRuntime extends LocalJBossServerRuntime implements IJBossRuntimeConstants {
public static final String CONFIG_FILE = "org.jboss.ide.eclipse.as.core.server.internal.v7.CONFIG_FILE"; //$NON-NLS-1$
@@ -57,7 +58,8 @@
IJBossRuntimeResourceConstants c = new IJBossRuntimeResourceConstants() {};
IPath bootLog = serverHome.append(c.AS7_STANDALONE).append(c.FOLDER_LOG).append(c.AS7_BOOT_LOG);
IPath logConfig = serverHome.append(c.AS7_STANDALONE).append(c.CONFIGURATION).append(c.LOGGING_PROPERTIES);
- return SERVER_ARG
+ String serverArg =JavaUtils.supportsServerMode(getVM()) ? SERVER_ARG : ""; //$NON-NLS-1$
+ return serverArg
+ " -Xms64m" //$NON-NLS-1$
+ " -Xmx512m" //$NON-NLS-1$
+ " -XX:MaxPermSize=256m" //$NON-NLS-1$
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/JavaUtils.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/JavaUtils.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/JavaUtils.java 2012-07-06 04:53:07 UTC (rev 42432)
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.core.util;
+
+import java.io.File;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jdt.launching.IVMInstall;
+import org.eclipse.jdt.launching.IVMInstall2;
+
+public class JavaUtils {
+ public static boolean supportsServerMode(IVMInstall install) {
+ File f = install.getInstallLocation();
+ String version = (install instanceof IVMInstall2 ? ((IVMInstall2)install).getJavaVersion() : null);
+
+ // Maintain legacy behaviour for all older server adapters
+ if( version == null || Platform.getOS().equals(Platform.OS_MACOSX))
+ return true;
+
+ File libFolder = null;
+ if( Platform.getOS().equals(Platform.OS_WIN32))
+ libFolder = getWindowsServerLibFolder(version, install);
+ else
+ libFolder = getLinuxServerLibFolder(version, install);
+ if( libFolder != null && libFolder.exists() &&
+ libFolder.isDirectory() && libFolder.list().length > 0)
+ return true;
+ return false;
+ }
+
+ private static File getLinuxServerLibFolder(String version, IVMInstall install) {
+ File serverFolder = null;
+ IPath locPath = new Path(install.getInstallLocation().getAbsolutePath());
+ if( version.startsWith("1.7.")) //$NON-NLS-1$
+ serverFolder = findServerFolder(locPath.append("jre").append("lib")); //$NON-NLS-1$ //$NON-NLS-2$
+ return serverFolder;
+ }
+
+ private static File findServerFolder(IPath parent) {
+ File f = parent.toFile();
+ if( !f.exists())
+ return null;
+ File[] children = f.listFiles();
+ for( int i = 0; i < children.length; i++ ) {
+ if( children[i].isDirectory() ) {
+ String[] second = children[i].list();
+ for( int j = 0; j < second.length; j++ ) {
+ if( second[j].toLowerCase().equals("server")) //$NON-NLS-1$
+ return new File(children[i], second[j]);
+ }
+ }
+ }
+ return null;
+ }
+
+ private static File getWindowsServerLibFolder(String version, IVMInstall install) {
+ IPath locPath = new Path(install.getInstallLocation().getAbsolutePath());
+ return locPath.append("jre").append("bin").append("server").toFile(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+}
More information about the jbosstools-commits
mailing list