protected boolean buildStructure( OpenableElementInfo info, IProgressMonitor pm, Map newElements, IResource underlyingResource) throws ModelException { IInterpreterInstall install = null; try { install = ScriptRuntime.getInterpreterInstall(getScriptProject()); } catch (CoreException e) { if (DLTKCore.DEBUG) { e.printStackTrace(); } return false; } if (install == null) { return false; } List children = new ArrayList(); TclPackageInfo packageInfo = TclPackagesManager.getPackageInfo(install, this.packageName, true); if (packageInfo != null) { children.add(new TclPackageElement(this, this.packageName, packageInfo.getVersion())); info.setChildren((IModelElement[]) children.toArray(new IModelElement[children.size()])); } return true; }
public long getTimeStamp() { // Check for package still pressent here or not. Set<String> reqs = new HashSet<String>(); TclPackagesModelProvider.collectRealRequirements(getScriptProject(), reqs); IInterpreterInstall install = TclPackagesModelProvider.resolveInterpreterInstall(getScriptProject()); if (install == null) { return 0; } long fetchTime = TclPackagesManager.getTclInterpreterFetchDate(install); List<TclPackageInfo> infos = TclPackagesManager.getPackageInfos(install, reqs, true); boolean found = false; for (TclPackageInfo packageName : infos) { if (packageName.getName().equals(this.packageName)) { found = true; break; } } if (!found) { return 0; } return currentPath.hashCode() * 17 + fetchTime; }