public void deleteResource(Resource aResource) { if (aResource == null || resources == null || !getResources().contains(aResource)) return; getResourcesTargetedForTermination().add(aResource); }
/** * Return true if aResource is referenced by me. */ protected boolean hasResourceReference(Resource aResource) { if (aResource != null) return getResources().contains(aResource); return false; }
public Set getAffectedFiles() { Set aSet = new HashSet(); List mofResources = getResources(); for (int i = 0; i < mofResources.size(); i++) { Resource aResource = (Resource) mofResources.get(i); IFile output = WorkbenchResourceHelper.getFile(aResource); if (output != null) aSet.add(output); } return aSet; }
/** * */ protected void deleteResourcesIfNecessary() { if (resourcesTargetedForTermination == null || resourcesTargetedForTermination.size() == 0) return; Resource deadres = null; for (int i = 0; i < getResourcesTargetedForTermination().size(); i++) { deadres = (Resource) getResourcesTargetedForTermination().get(i); primDeleteResource(deadres); getResources().remove(deadres); getResourcesTargetedForTermination().remove(deadres); } }
/** * Return whether any of my resources has been modified. */ protected boolean isAnyResourceDirty() { List list = getResources(); for (int i = 0; i < list.size(); i++) { if (((Resource) list.get(i)).isModified()) return true; } return false; }
protected void addResource(Resource aResource) { getResources().add(aResource); aResource.eAdapters().add(resourceAdapter); }
/** * Return a Resource for * * @aUri. */ protected Resource getLocalResource(URI aUri) { return getResource(getResources(), aUri); }
/** * group the resources by XMI first, then XML */ protected List getSortedResources() { List theResources = getResources(); int size = theResources.size(); if (size == 0) return Collections.EMPTY_LIST; Resource[] sorted = new Resource[size]; int xmlInsertPos = size - 1; int xmiInsertPos = 0; Resource res = null; for (int i = 0; i < size; i++) { res = (Resource) theResources.get(i); if (res instanceof TranslatorResource) sorted[xmlInsertPos--] = res; else sorted[xmiInsertPos++] = res; } return Arrays.asList(sorted); }
/** * Remove reference to the aResource. */ protected boolean removeResource(Resource aResource) { if (aResource != null) { aResource.eAdapters().remove(resourceAdapter); return getResources().remove(aResource); } return false; }
public boolean hasReadOnlyResource() { try { List list = getResources(); int size = list.size(); Resource res = null; IFile file; for (int i = 0; i < size; i++) { res = (Resource) list.get(i); file = WorkbenchResourceHelper.getFile(res); if (file != null && file.isReadOnly()) return true; } } catch (NullPointerException e) { System.out.println(e); } return false; }
protected void revertAllResources() { List someResources = getSortedResources(); for (int i = 0; i < someResources.size(); i++) ((Resource) someResources.get(i)).unload(); getResources().removeAll(someResources); for (int i = 0; i < someResources.size(); i++) ((Resource) someResources.get(i)).eAdapters().remove(resourceAdapter); }
protected void processResource(Resource aResource) { if (aResource != null && !getResources().contains(aResource)) { if (aResource instanceof ReferencedResource) { access((ReferencedResource) aResource); // We need a better way to pass this through the save options instead. // We also need to make this dynamic based on the project target ((ReferencedResource) aResource).setFormat(CompatibilityXMIResource.FORMAT_MOF5); } else if (aResource instanceof CompatibilityXMIResource) { ((CompatibilityXMIResource) aResource).setFormat(CompatibilityXMIResource.FORMAT_MOF5); } addResource(aResource); } }
public String[] getResourceURIs(boolean onlyDirty) { List list = getResources(); int dirtyCount = 0; String[] uris = new String[list.size()]; Resource res; for (int i = 0; i < list.size(); i++) { res = (Resource) list.get(i); if (!onlyDirty) uris[i] = res.getURI().toString(); else if (res.isModified()) { uris[i] = res.getURI().toString(); dirtyCount++; } } if (onlyDirty && dirtyCount > 0) { String[] dirty = new String[dirtyCount]; int j = 0; for (int i = 0; i < uris.length; i++) { if (uris[i] != null) { dirty[j] = uris[i]; j++; } } uris = dirty; } return uris; }
/** * This will force all of the referenced Resources to be saved. */ public void primSave(IProgressMonitor monitor) { if (isReadOnly()) return; // do nothing deleteResourcesIfNecessary(); Resource resource; if (getResources().isEmpty()) return; // nothing to save List localResources = getSortedResources(); for (int i = 0; i < localResources.size(); i++) { resource = (Resource) localResources.get(i); saveResource(resource); } getCommandStack().saveIsDone(); if (hasListeners()) { EditModelEvent event = new EditModelEvent(EditModelEvent.SAVE, this); notifyListeners(event); } }