📄 tomcatlauncherplugin.java
字号:
}
public TomcatBootstrap getTomcatBootstrap() {
TomcatBootstrap tomcatBootsrap = null;
if(getTomcatVersion().equals(TOMCAT_VERSION3)) {
tomcatBootsrap = new Tomcat3Bootstrap();
}
if(getTomcatVersion().equals(TOMCAT_VERSION4)) {
tomcatBootsrap = new Tomcat4Bootstrap();
}
if(getTomcatVersion().equals(TOMCAT_VERSION41)) {
tomcatBootsrap = new Tomcat41Bootstrap();
}
if(getTomcatVersion().equals(TOMCAT_VERSION5)) {
tomcatBootsrap = new Tomcat5Bootstrap();
}
if(getTomcatVersion().equals(TOMCAT_VERSION6)) {
tomcatBootsrap = new Tomcat6Bootstrap();
}
return tomcatBootsrap;
}
public String getManagerAppUrl() {
IPreferenceStore pref = TomcatLauncherPlugin.getDefault().getPreferenceStore();
return pref.getString(TOMCAT_PREF_MANAGER_URL);
}
public String getManagerAppUser() {
IPreferenceStore pref = TomcatLauncherPlugin.getDefault().getPreferenceStore();
return pref.getString(TOMCAT_PREF_MANAGER_USER);
}
public String getManagerAppPassword() {
IPreferenceStore pref = TomcatLauncherPlugin.getDefault().getPreferenceStore();
return pref.getString(TOMCAT_PREF_MANAGER_PASSWORD);
}
static public void log(String msg) {
ILog log = TomcatLauncherPlugin.getDefault().getLog();
Status status = new Status(IStatus.ERROR, TomcatLauncherPlugin.getDefault().getDescriptor().getUniqueIdentifier(), IStatus.ERROR, msg + "\n", null);
log.log(status);
}
static public void log(Exception ex) {
ILog log = TomcatLauncherPlugin.getDefault().getLog();
StringWriter stringWriter = new StringWriter();
ex.printStackTrace(new PrintWriter(stringWriter));
String msg = stringWriter.getBuffer().toString();
Status status = new Status(IStatus.ERROR, TomcatLauncherPlugin.getDefault().getDescriptor().getUniqueIdentifier(), IStatus.ERROR, msg, null);
log.log(status);
}
public IPath getTomcatIPath() {
IPath tomcatPath = getTomcatClasspathVariable();
if(tomcatPath == null) {
return new Path(TomcatLauncherPlugin.getDefault().getTomcatDir());
} else {
return new Path(TOMCAT_HOME_CLASSPATH_VARIABLE);
}
}
private IPath getTomcatClasspathVariable() {
IPath tomcatPath = JavaCore.getClasspathVariable(TOMCAT_HOME_CLASSPATH_VARIABLE);
if(tomcatPath == null) {
this.initTomcatClasspathVariable();
tomcatPath = JavaCore.getClasspathVariable(TOMCAT_HOME_CLASSPATH_VARIABLE);
}
return tomcatPath;
}
public void initTomcatClasspathVariable() {
try {
JavaCore.setClasspathVariable(
TOMCAT_HOME_CLASSPATH_VARIABLE,
new Path(TomcatLauncherPlugin.getDefault().getTomcatDir()),
null);
} catch (JavaModelException e) {
log(e);
}
}
public void setProjectsInCP(List projectsInCP) {
this.saveProjectsToPreferenceStore(projectsInCP, TOMCAT_PREF_PROJECTSINCP_KEY);
}
public List getProjectsInCP() {
return this.readProjectsFromPreferenceStore(TOMCAT_PREF_PROJECTSINCP_KEY);
}
public void setProjectsInSourcePath(List projectsInCP) {
this.saveProjectsToPreferenceStore(projectsInCP, TOMCAT_PREF_PROJECTSINSOURCEPATH_KEY);
}
public List getProjectsInSourcePath() {
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IProject[] allProjects = root.getProjects();
ArrayList tempList = new ArrayList(allProjects.length);
IPreferenceStore pref = TomcatLauncherPlugin.getDefault().getPreferenceStore();
boolean automaticallyComputed = pref.getBoolean(TOMCAT_PREF_COMPUTESOURCEPATH_KEY);
if(automaticallyComputed) {
return computeProjectsInSourcePath();
} else {
return readProjectsInSourcePathFromPref();
}
}
public List readProjectsInSourcePathFromPref() {
IPreferenceStore pref = TomcatLauncherPlugin.getDefault().getPreferenceStore();
if(!(pref.contains(TOMCAT_PREF_PROJECTSINSOURCEPATH_KEY))) {
// Compute source path for a new workspace
pref.setValue(TOMCAT_PREF_COMPUTESOURCEPATH_KEY, true);
return computeProjectsInSourcePath();
} else {
return TomcatLauncherPlugin.readProjectsFromPreferenceStore(TOMCAT_PREF_PROJECTSINSOURCEPATH_KEY);
}
}
private List computeProjectsInSourcePath() {
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IProject[] allProjects = root.getProjects();
// Since version 3.2 final, default source path contains all opened Java projects
// Previously we add Tomcat projects and their required Java projects to source path
// For beginner this should make thing easier.
ArrayList tempList = new ArrayList(allProjects.length);
ArrayList alreadyAdded = new ArrayList();
for (int i = 0; i < allProjects.length; i++) {
IProject project = allProjects[i];
try {
if((project.isOpen()) && project.hasNature(JavaCore.NATURE_ID)) {
IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
if(!alreadyAdded.contains(project))
{
tempList.add(new ProjectListElement(javaProject.getProject()));
alreadyAdded.add(project);
}
// String[] reqProjects = javaProject.getRequiredProjectNames();
//
// for (int j = 0; j < allProjects.length; j++)
// {
// for (int k = 0; k < reqProjects.length; k++)
// {
// if(allProjects[j].getName().equals(reqProjects[k]))
// {
// if((allProjects[j].isOpen()) && allProjects[j].hasNature(JavaCore.NATURE_ID)) {
// if(!alreadyAdded.contains(allProjects[j]))
// {
// tempList.add(new ProjectListElement(allProjects[j].getNature(JavaCore.NATURE_ID).getProject()));
// alreadyAdded.add(allProjects[j]);
// }
// }
// }
// }
// }
}
} catch (CoreException e) {
TomcatLauncherPlugin.log(e);
}
}
return tempList;
}
// private void initProjectsInSourcePath() {
// IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
// IProject[] allProjects = root.getProjects();
//
// ArrayList tempList = new ArrayList(allProjects.length);
// for (int i = 0; i < allProjects.length; i++) {
// try {
// if((allProjects[i].isOpen()) && allProjects[i].hasNature(JavaCore.NATURE_ID)) {
// tempList.add(new ProjectListElement(allProjects[i].getNature(JavaCore.NATURE_ID).getProject()));
// }
// } catch (CoreException e) {
// TomcatLauncherPlugin.getDefault().log(e);
// }
// }
// this.setProjectsInSourcePath(tempList);
// }
static void saveProjectsToPreferenceStore(List projectList, String keyInPreferenceStore) {
IPreferenceStore pref = TomcatLauncherPlugin.getDefault().getPreferenceStore();
StringBuffer buf = new StringBuffer();
Iterator it = projectList.iterator();
while(it.hasNext()) {
ProjectListElement each = (ProjectListElement)it.next();
buf.append(each.getID());
buf.append(';');
}
pref.setValue(keyInPreferenceStore, buf.toString());
}
static List readProjectsFromPreferenceStore(String keyInPreferenceStore) {
IPreferenceStore pref = TomcatLauncherPlugin.getDefault().getPreferenceStore();
String stringList = pref.getString(keyInPreferenceStore);
List projectsIdList = new ArrayList();
StringTokenizer tokenizer = new StringTokenizer(stringList, ";");
while (tokenizer.hasMoreElements()) {
projectsIdList.add(tokenizer.nextToken());
}
return ProjectListElement.stringsToProjectsList(projectsIdList);
}
static public boolean checkTomcatSettingsAndWarn() {
if(!isTomcatConfigured()) {
String msg = TomcatLauncherPlugin.getResourceString("msg.noconfiguration");
MessageDialog.openWarning(TomcatLauncherPlugin.getShell(),"Tomcat", msg);
return false;
}
return true;
}
static public boolean isTomcatConfigured() {
return !(TomcatLauncherPlugin.getDefault().getTomcatDir().equals(""));
}
public void startup() throws CoreException {
super.startup();
this.fixTomcatHomeBug();
}
// Replaced by PreferenceInitializer
// /* (non-Javadoc)
// * @see org.eclipse.core.runtime.Plugin#initializeDefaultPluginPreferences()
// */
// protected void initializeDefaultPluginPreferences() {
// getPreferenceStore().setDefault(TomcatLauncherPlugin.TOMCAT_PREF_CONFMODE_KEY, TomcatLauncherPlugin.SERVERXML_MODE);
// super.initializeDefaultPluginPreferences();
// }
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -