⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tomcatlauncherplugin.java

📁 一个学习eclipse插件开发的绝好入门程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	}
			
	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 + -