protected void validateServerStructure(IServer server) throws CoreException { IControllableServerBehavior jbsBehavior = JBossServerBehaviorUtils.getControllableBehavior(server); Trace.trace(Trace.STRING_FINEST, "Verifying server structure"); // $NON-NLS-1$ JBossExtendedProperties props = ExtendedServerPropertiesAdapterFactory.getJBossExtendedProperties(server); IStatus status = props.verifyServerStructure(); if (!status.isOK()) { ((ControllableServerBehavior) jbsBehavior).setServerStopped(); throw new CoreException(status); } Trace.trace( Trace.STRING_FINEST, "Verifying jdk is available if server requires jdk"); // $NON-NLS-1$ boolean requiresJDK = props.requiresJDK(); if (requiresJDK) { IRuntime rt = server.getRuntime(); IJBossServerRuntime rt2 = RuntimeUtils.getJBossServerRuntime(rt); IVMInstall vm = rt2.getVM(); if (!JavaUtils.isJDK(vm)) { // JBIDE-14568 do not BLOCK launch, but log error Trace.trace( Trace.STRING_FINEST, "The VM to launch server '" + //$NON-NLS-1$ server.getName() + "' does not appear to be a JDK: " + vm.getInstallLocation().getAbsolutePath()); // $NON-NLS-1$ IStatus stat = new Status( IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID, NLS.bind( Messages.launch_requiresJDK, server.getName(), vm.getInstallLocation().getAbsolutePath())); logStatus(server, stat); } } }
public IJBossServerRuntime getRuntime() { return RuntimeUtils.getJBossServerRuntime(getServer()); }