blob: ad9c5a629372dd0f8826b0cca85c641fa74fdce8 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010 Angelo Zerr and others.
* All rights reserved. This program and the accompanying materials
* are 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:
* Angelo Zerr <angelo.zerr@gmail.com> - Initial API and implementation
*******************************************************************************/
package org.eclipse.jst.server.jetty.core.internal.jetty7;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jdt.launching.IVMInstall;
import org.eclipse.jst.server.jetty.core.JettyPlugin;
import org.eclipse.jst.server.jetty.core.internal.IJettyVersionHandler;
import org.eclipse.jst.server.jetty.core.internal.JettyHandler;
import org.eclipse.jst.server.jetty.core.internal.JettyServer;
import org.eclipse.jst.server.jetty.core.internal.Messages;
import org.eclipse.jst.server.jetty.core.internal.util.JettyVersionHelper;
import org.eclipse.wst.server.core.IModule;
public class Jetty7Handler extends JettyHandler
{
protected static final IStatus __START_JAR_REQUIRED_STATUS = new Status(IStatus.ERROR,JettyPlugin.PLUGIN_ID,0,
Messages.startJarRequiredInstallDirStatus,null);
public IStatus verifyInstallPath(IPath installPath)
{
IStatus result = JettyVersionHelper.checkJettyVersion(installPath);
if (result.getSeverity() == IStatus.CANCEL)
{
// TODO : search in a folder.
return __START_JAR_REQUIRED_STATUS;
}
return result;
}
public IStatus validate(IPath path, IVMInstall vmInstall)
{
// TODO : validate JVM
return null;
}
/**
* @see IJettyVersionHandler#canAddModule(IModule)
*/
public IStatus canAddModule(IModule module)
{
String version = module.getModuleType().getVersion();
if ("2.2".equals(version) ||
"2.3".equals(version) ||
"2.4".equals(version) ||
"2.5".equals(version))
{
return Status.OK_STATUS;
}
return new Status(IStatus.ERROR,JettyPlugin.PLUGIN_ID,0,Messages.errorSpec70,null);
}
public IPath getRuntimeBaseDirectory(JettyServer server)
{
return JettyVersionHelper.getStandardBaseDirectory(server);
}
/**
* @see IJettyVersionHandler#getRuntimeVMArguments(IPath, IPath, IPath, boolean)
*/
public String[] getRuntimeVMArguments(IPath installPath, IPath configPath, IPath deployPath, int mainPort, int adminPort, boolean isTestEnv)
{
return JettyVersionHelper.getJettyVMArguments(installPath,configPath,deployPath,getEndorsedDirectories(installPath), mainPort, adminPort, isTestEnv);
}
public String getEndorsedDirectories(IPath installPath)
{
return installPath.append("endorsed").toOSString();
}
public String getRuntimePolicyFile(IPath configPath)
{
return configPath.append("lib").append("policy").append("jetty.policy").toOSString();
}
public String[] getRuntimeProgramArguments(IPath configPath, boolean debug, boolean starting)
{
return JettyVersionHelper.getJettyProgramArguments(configPath,debug,starting);
}
public String[] getExcludedRuntimeProgramArguments(boolean debug, boolean starting)
{
// TODO Auto-generated method stub
return null;
}
public boolean supportsServeModulesWithoutPublish()
{
return true;
}
}