public void initialize(IPath containerPath, IJavaProject javaProject) throws CoreException { J2EEComponentClasspathContainer.install(containerPath, javaProject); }
public void refresh() { refresh(false); }
public void refresh(boolean force){ if(force || requiresUpdate()){ install(containerPath, javaProject); if (J2EEComponentClasspathUpdater.shouldUpdateDependencyGraph()) { // Update dependency graph DependencyGraphManager.getInstance().forceRefresh(); // [202820] J2EEComponentClasspathUpdater.setUpdateDependencyGraph(false); } } }
public static void install(IPath containerPath, IJavaProject javaProject) { try{ J2EEComponentClasspathUpdater.getInstance().pauseUpdates(); Integer hashCode = new Integer(javaProject.getProject().hashCode()); Object key = keys.get(hashCode); if(key == null){ keys.put(hashCode, hashCode); key = hashCode; } final IJavaProject[] projects = new IJavaProject[]{javaProject}; final J2EEComponentClasspathContainer container = new J2EEComponentClasspathContainer(containerPath, javaProject); container.update(); final IClasspathContainer[] conts = new IClasspathContainer[]{container}; try { JavaCore.setClasspathContainer(containerPath, projects, conts, null); previousSelves.put(key, container); } catch (JavaModelException e) { Logger.getLogger().log(e); } } finally { J2EEComponentClasspathUpdater.getInstance().resumeUpdates(); } }
lastUpdate.paths[i] = iFile.getFullPath(); if (!isAlreadyOnClasspath(existingEntries, lastUpdate.paths[i])) { ClasspathDecorations dec = decorationsManager.getDecorations( getPath().toString(), lastUpdate.paths[i].toString() ); IProject project = comp.getProject(); lastUpdate.paths[i] = project.getFullPath(); if (!isAlreadyOnClasspath(existingEntries, lastUpdate.paths[i])) { entriesList.add(JavaCore.newProjectEntry(lastUpdate.paths[i], exportEntries));
public IClasspathEntry[] getClasspathEntries() { if(!isUpdating){ if(this != J2EEComponentClasspathContainerUtils.getInstalledEARLibrariesContainer(javaProject.getProject())){ try { isUpdating = true; update(); } finally{ isUpdating = false; } } } return entries; }
private void processModules(Object[] projects) { for (int i = 0; i < projects.length; i++) { IProject project = (IProject) projects[i]; // this block is for Web app Libraries if (J2EEProjectUtilities.isDynamicWebProject(project)) { IClasspathContainer webAppLibrariesContainer = J2EEComponentClasspathContainerUtils.getInstalledWebAppLibrariesContainer(project); // If the container is present, refresh it if (webAppLibrariesContainer != null) { ((FlexibleProjectContainer) webAppLibrariesContainer).refresh(); } } // ******************** The following is for EAR Libraries IClasspathContainer earLibrariesContainer = J2EEComponentClasspathContainerUtils.getInstalledEARLibrariesContainer(project); // If the container is present, refresh it if (earLibrariesContainer != null) { ((J2EEComponentClasspathContainer) earLibrariesContainer).refresh(forceUpdateOnNextRun); } } // [202820] updateDependencyGraph = true; }
public void requestClasspathContainerUpdate(final IPath containerPath, final IJavaProject javaProject, final IClasspathContainer sg) throws CoreException { final String key = containerPath.toString(); final IClasspathEntry[] entries = sg.getClasspathEntries(); for (int i = 0; i < entries.length; i++) { final IClasspathEntry entry = entries[i]; final IPath srcpath = entry.getSourceAttachmentPath(); final IPath srcrootpath = entry.getSourceAttachmentRootPath(); final IClasspathAttribute[] attrs = entry.getExtraAttributes(); if (srcpath != null || attrs.length > 0) { final String eid = entry.getPath().toString(); final ClasspathDecorations dec = new ClasspathDecorations(); dec.setSourceAttachmentPath(srcpath); dec.setSourceAttachmentRootPath(srcrootpath); dec.setExtraAttributes(attrs); decorations.setDecorations(key, eid, dec); } } decorations.save(); final IClasspathContainer container = JavaCore.getClasspathContainer(containerPath, javaProject); ( (J2EEComponentClasspathContainer) container ).refresh( true ); } }