diff options
Diffstat (limited to 'plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/FilterUtil.java')
-rw-r--r-- | plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/FilterUtil.java | 732 |
1 files changed, 0 insertions, 732 deletions
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/FilterUtil.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/FilterUtil.java deleted file mode 100644 index 3a828138b..000000000 --- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/FilterUtil.java +++ /dev/null @@ -1,732 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.wst.validation.internal; - - -import java.text.MessageFormat; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Map; -import java.util.Set; -import java.util.logging.Level; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceDelta; -import org.eclipse.core.resources.IResourceDeltaVisitor; -import org.eclipse.core.resources.IResourceVisitor; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.OperationCanceledException; -import org.eclipse.jem.util.logger.LogEntry; -import org.eclipse.jem.util.logger.proxy.Logger; -import org.eclipse.wst.validation.internal.core.IFileDelta; -import org.eclipse.wst.validation.internal.operations.IWorkbenchContext; -import org.eclipse.wst.validation.internal.operations.WorkbenchFileDelta; -import org.eclipse.wst.validation.internal.plugin.ValidationPlugin; - -/** - * Utility class for the ValidationOperation hierarchy. - */ -public final class FilterUtil { - private static VMDDeltaVisitor _deltaVisitor = null; - private static VMDResourceVisitor _resourceVisitor = null; - - private interface VMDRecorder { - public Map getResult(); - - public void setEnabledValidators(Set enabledValidators); - - public void setProgressMonitor(IProgressMonitor monitor); - - public IProgressMonitor getProgressMonitor(); - } - - private interface VMDDeltaVisitor extends VMDRecorder, IResourceDeltaVisitor { - //constructor - } - - private interface VMDResourceVisitor extends VMDRecorder, IResourceVisitor { - //constructor - } - - /** - * Don't let anyone create an instance of this class. - */ - private FilterUtil() { - //default - } - - /** - * Given a Set of enabled ValidatorMetaData, create a Map with each ValidatorMetaData as a key - * with an associated null value. - */ - static Map wrapInMap(Set enabledValidators) { - Map result = new HashMap(); - if ((enabledValidators == null) || (enabledValidators.size() == 0)) { - return result; - } - - Iterator iterator = enabledValidators.iterator(); - while (iterator.hasNext()) { - result.put(iterator.next(), null); - } - return result; - } - - static void checkCanceled(IProgressMonitor monitor) throws OperationCanceledException { - if (monitor == null) { - return; - } else if (monitor.isCanceled()) { - throw new OperationCanceledException(""); //$NON-NLS-1$ - } - } - - /** - * Given a Map of VMD <=>Set(IFileDelta), either return the existing Set or create a Set and - * return it. - */ - private static Set getResourceDeltas(Map enabledValidators, ValidatorMetaData vmd) { - Set fileDeltas = (Set) enabledValidators.get(vmd); - if (fileDeltas == null) { - fileDeltas = new HashSet(); - enabledValidators.put(vmd, fileDeltas); - } - return fileDeltas; - } - - /** - * Given the IFileDelta type, return the corresponding IResourceDelta type. - */ - private static int getResourceDeltaType(int ifileDeltaType) { - switch (ifileDeltaType) { - case (IFileDelta.ADDED) : { - return IResourceDelta.ADDED; - } - - case (IFileDelta.DELETED) : { - return IResourceDelta.REMOVED; - } - - case (IFileDelta.CHANGED) : - default : { - return IResourceDelta.CHANGED; - } - } - } - - /** - * Given the IResourceDelta type, return the corresponding IFileDelta type. - */ - static int getFileDeltaType(int iresourceDeltaType) { - switch (iresourceDeltaType) { - case IResourceDelta.ADDED : // resource has been added to the workbench - { - return IFileDelta.ADDED; - } - - case IResourceDelta.CHANGED : // resources has been changed in the workbench - { - return IFileDelta.CHANGED; - } - - case IResourceDelta.REMOVED : // resource has been deleted from the workbench - { - return IFileDelta.DELETED; - } - - case IResourceDelta.ADDED_PHANTOM : // incoming workbench resource - { - return IFileDelta.ADDED; - } - - case IResourceDelta.REMOVED_PHANTOM : // outgoing workbench resource - { - return IFileDelta.DELETED; - } - - default : { - return IFileDelta.CHANGED; - } - } - } - - - /** - * Return the validators which are both configured on this type of project, (as stored in - * getProject()), and enabled by the user on this project. - */ - static void addFileDelta(Map enabledValidators, ValidatorMetaData vmd, WorkbenchFileDelta fileDelta) { - Set fileDeltas = getResourceDeltas(enabledValidators, vmd); - fileDeltas.add(fileDelta); - enabledValidators.put(vmd, fileDeltas); - } - - /** - * Return a Map wrapper, with each VMD from enabledValidators as the key, and the value a Set of - * IFileDelta wrapper around the changed Object[]. - * - * If filterIn is true, do not check if the resources are filtered in by the validator. If - * filterIn is false, check if the resources are filtered in by the validator (recommended). - */ - public static Map getFileDeltas(Set enabledValidators, Object[] changedResources, boolean filterIn) { - return getFileDeltas(enabledValidators, changedResources, IFileDelta.CHANGED, filterIn); // by - // default, - // assume - // that - // the - // resources - // have - // changed, - // not - // added - // or - // deleted - } - - /** - * Return a Map wrapper, with each VMD from enabledValidators as the key, and the value a Set of - * IFileDelta wrapper around the changed Object[], with each delta of type deltaType. - */ - public static Map getFileDeltas(Set enabledValidators, Object[] changedResources, int ifileDeltaType) { - return getFileDeltas(enabledValidators, changedResources, ifileDeltaType, false); // by - // default, - // check - // if the - // Object[] - // are - // filtered - // in by - // the - // validator - } - - /** - * Return a Map wrapper, with each VMD from enabledValidators as the key, and the value a Set of - * IFileDelta wrapper around the changed Object[]. - * - * If "force" is true, then don't check if the object is filtered in by the validator or not. - * ValidatorSubsetOperation can use validators that don't filter in these particular resources, - * but can use a defaultExtension's validators instead. - */ - public static Map getFileDeltas(Set enabledValidators, Object[] changedResources, int ifileDeltaType, boolean force) { - Map result = new HashMap(); - if ((enabledValidators == null) || (enabledValidators.size() == 0)) { - return result; - } - - Iterator iterator = enabledValidators.iterator(); - boolean cannotLoad = false; - IWorkbenchContext helper = null; - while (iterator.hasNext()) { - ValidatorMetaData vmd = (ValidatorMetaData) iterator.next(); - try { - Set deltas = new HashSet(); - IProgressMonitor monitor = new NullProgressMonitor(); - for (int i = 0; i < changedResources.length; i++) { - Object obj = changedResources[i]; - WorkbenchFileDelta wfd = null; - if (obj instanceof IResource) { - IResource res = (IResource) obj; - if (force || !filterOut(monitor, vmd, res, getResourceDeltaType(ifileDeltaType))) { - helper = vmd.getHelper(res.getProject()); - - wfd = getFileDelta(helper, vmd, res, getResourceDeltaType(ifileDeltaType)); - } - } else { - wfd = new WorkbenchFileDelta(obj); - } - - if (wfd != null) { - deltas.add(wfd); - } - } - result.put(vmd, deltas); - } catch (InstantiationException exc) { - cannotLoad = true; - - // Remove the vmd from the reader's list - ValidationRegistryReader.getReader().disableValidator(vmd); - - // Log the reason for the disabled validator - Logger logger = ValidationPlugin.getPlugin().getMsgLogger(); - if (logger.isLoggingLevel(Level.SEVERE)) { - LogEntry entry = ValidationPlugin.getLogEntry(); - entry.setSourceID("FilterUtil::getFileDeltas(Set, Object[], int, boolean)"); //$NON-NLS-1$ - entry.setTargetException(exc); - logger.write(Level.SEVERE, entry); - } - continue; - } - - } - - if (cannotLoad) { - // Some of the validators should not be in the result set because either their - // validator class or helper class could not be instantiated. - Object[] vmds = enabledValidators.toArray(); - for (int i = 0; i < vmds.length; i++) { - ValidatorMetaData vmd = (ValidatorMetaData) vmds[i]; - if (vmd.cannotLoad()) { - result.remove(vmd); - } - } - } - - - return result; - } - - public static WorkbenchFileDelta getFileDelta(IWorkbenchContext helper, ValidatorMetaData vmd, IResource resource, int iresourceDeltaType) { - // strip off the eclipse-specific information - String fileName = helper.getPortableName(resource); - if (fileName == null) { - // The resource is not contained in the current project. - // Can't see how this would happen, but check for it anyway. - Logger logger = ValidationPlugin.getPlugin().getMsgLogger(); - if (logger.isLoggingLevel(Level.SEVERE)) { - LogEntry entry = ValidationPlugin.getLogEntry(); - entry.setSourceID("FilterUtil::getFileDelta(IWorkbenchContext, ValidatorMetaData, IResource, int)"); //$NON-NLS-1$ - entry.setMessageTypeID(ResourceConstants.VBF_EXC_SYNTAX_NULL_NAME); - String result = MessageFormat.format(ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_EXC_SYNTAX_NULL_NAME), new String[]{resource.getName(), vmd.getValidatorDisplayName()}); - entry.setText(result); - //entry.setTokens(new String[]{resource.getName(), vmd.getValidatorDisplayName()}); - logger.write(Level.SEVERE, entry); - } - - IPath resourcePath = resource.getFullPath(); - if (resourcePath != null) { - // Since null file names are not allowed, default to the fully-qualified name of the - // resource. - fileName = resourcePath.toString(); - } else { - if (logger.isLoggingLevel(Level.SEVERE)) { - LogEntry entry = ValidationPlugin.getLogEntry(); - entry.setSourceID("FilterUtil::getFileDelta(IWorkbenchContext, ValidtaorMetaData, IResource, int)"); //$NON-NLS-1$ - entry.setText("portableName is null and path is null for resource " + resource); //$NON-NLS-1$ - logger.write(Level.SEVERE, entry); - } - return null; - } - } - - int ifileDeltaType = getFileDeltaType(iresourceDeltaType); - return new WorkbenchFileDelta(fileName, ifileDeltaType, resource); - } - - - /** - * Add the IResource to the vmd's list of resources to validate. Return true if the add was - * successful or false if the add was not successful. - */ - static boolean addToFileList(Map enabledValidators, IWorkbenchContext helper, ValidatorMetaData vmd, IResource resource, int resourceDelta, boolean isFullBuild) { - if ((vmd == null) || (resource == null)) { - return false; - } - - try { - helper.registerResource(resource); - } catch (Throwable exc) { - // How to log this???? - Logger logger = ValidationPlugin.getPlugin().getMsgLogger(); - if (logger.isLoggingLevel(Level.SEVERE)) { - LogEntry entry = ValidationPlugin.getLogEntry(); - entry.setSourceID("FilterUtil.addToFileList"); //$NON-NLS-1$ - entry.setTargetException(exc); - logger.write(Level.SEVERE, entry); - } - - InternalValidatorManager.getManager().addInternalErrorTask(resource.getProject(), vmd, exc); - - // Don't return ... even though the register threw an exception, that's not to say - // that the validator can't validate. - } - - if (isFullBuild) { - // To indicate a full build to the validator, don't build up a list of files; - // pass in null instead. Given that the list of files should not be used, - // don't calculate it. - return true; - } - - - WorkbenchFileDelta newFileDelta = getFileDelta(helper, vmd, resource, resourceDelta); - if (newFileDelta != null) { - // if delta is null, getFileDelta will have logged the problem already - addFileDelta(enabledValidators, vmd, newFileDelta); - } - - return true; - } - - /** - * Whether a full verification or a delta verification is in progress, both will call this - * method to process the resource. This method calls the current Validator to filter the - * resource (i.e., this method returns if the resource fails the filter test). - * <code>process</code> also sends output to the <code>IProgressMonitor</code>, and calls - * the current Validator to validate the resource. - * - * To process a resource, there are several steps: 1. check if the resource is registered for - * this validator (i.e., the validator has either specified it in a filter, or has not filtered - * it out explicitly) 2. call <code>isValidationSource</code> on the current validator with - * the current resource. This method performs further filtering by the Validator itself, in - * addition to the static filtering done by the framework, based on the information in - * plugin.xml. 3. If the resource passes both filters, call <code>validate</code> on the - * validator, with the resource. 4. When complete (either by failing to pass a filter, or by the - * completion of the <code>validate</code>), increment the IProgressMonitor's status by one - * (i.e., one resource has been processed.) - */ - static boolean filterOut(IProgressMonitor monitor, ValidatorMetaData vmd, IResource resource, int resourceDelta) { - if (monitor == null) { - return false; - } - - checkCanceled(monitor); - return !(vmd.isApplicableTo(resource, resourceDelta)); - } - - /** - * Whether a full verification or a delta verification is in progress, both will call this - * method to process the resource. This method calls the current Validator to filter the - * resource (i.e., this method returns if the resource fails the filter test). - * <code>process</code> also sends output to the <code>IProgressMonitor</code>, and calls - * the current Validator to validate the resource. - * - * To process a resource, there are several steps: 1. check if the resource is registered for - * this validator (i.e., the validator has either specified it in a filter, or has not filtered - * it out explicitly) 2. call <code>isValidationSource</code> on the current validator with - * the current resource. This method performs further filtering by the Validator itself, in - * addition to the static filtering done by the framework, based on the information in - * plugin.xml. 3. If the resource passes both filters, call <code>validate</code> on the - * validator, with the resource. 4. When complete (either by failing to pass a filter, or by the - * completion of the <code>validate</code>), increment the IProgressMonitor's status by one - * (i.e., one resource has been processed.) - */ - static void filterOut(IProgressMonitor monitor, Map enabledValidators, IResource resource, int resourceDelta, boolean isFullBuild) { - if (monitor == null) { - return; - } - - checkCanceled(monitor); - - Iterator iterator = enabledValidators.keySet().iterator(); - boolean cannotLoad = false; - while (iterator.hasNext()) { - checkCanceled(monitor); - - ValidatorMetaData vmd = (ValidatorMetaData) iterator.next(); - - if (!filterOut(monitor, vmd, resource, resourceDelta)) { - try { - // Notify the helper that a resource is about to be filtered in - IWorkbenchContext helper = vmd.getHelper(resource.getProject()); - addToFileList(enabledValidators, helper, vmd, resource, resourceDelta, isFullBuild); - } catch (InstantiationException exc) { - cannotLoad = true; - - // Remove the vmd from the reader's list - ValidationRegistryReader.getReader().disableValidator(vmd); - - // Log the reason for the disabled validator - Logger logger = ValidationPlugin.getPlugin().getMsgLogger(); - if (logger.isLoggingLevel(Level.SEVERE)) { - LogEntry entry = ValidationPlugin.getLogEntry(); - entry.setSourceID("FilterUtil::filterOut(IProgressMonitor, Map, IResource, int, boolean)"); //$NON-NLS-1$ - entry.setTargetException(exc); - logger.write(Level.SEVERE, entry); - } - } - } - } - - if (cannotLoad) { - // Some of the validators need to be removed from the set because the validator - // or helper cannot be instantiated. - Object[] vmds = enabledValidators.keySet().toArray(); - for (int i = 0; i < vmds.length; i++) { - ValidatorMetaData vmd = (ValidatorMetaData) vmds[i]; - if (vmd.cannotLoad()) { - enabledValidators.remove(vmd); - } - } - } - } - - /** - * Whether a full verification or a delta verification is in progress, both will call this - * method to process the resource. This method calls the current Validator to filter the - * resource (i.e., this method returns if the resource fails the filter test). - * <code>process</code> also sends output to the <code>IProgressMonitor</code>, and calls - * the current Validator to validate the resource. - * - * This method is called during an incremental, not a full, validation. The full validation - * fakes an IResourceDelta, and the incremental needs to check that the delta is one of the - * deltas which is filtered in by the validation framework. - * - * @see filterOut(IResourceDelta) - * - * To process a resource, there are several steps: 1. check if the resource is registered for - * this validator (i.e., the validator has either specified it in a filter, or has not filtered - * it out explicitly) 2. call <code>isValidationSource</code> on the current validator with - * the current resource. This method performs further filtering by the Validator itself, in - * addition to the static filtering done by the framework, based on the information in - * plugin.xml. 3. If the resource passes both filters, call <code>validate</code> on the - * validator, with the resource. 4. When complete (either by failing to pass a filter, or by the - * completion of the <code>validate</code>), increment the IProgressMonitor's status by one - * (i.e., one resource has been processed.) - */ - static void filterOut(IProgressMonitor monitor, Map enabledValidators, IResource resource, IResourceDelta delta) { - // filter in only resources which have been added, deleted, or its content changed. - // moves will be registered as an add & delete combination - if (filterOut(delta)) { - return; - } - filterOut(monitor, enabledValidators, resource, delta.getKind(), false); // false = - // incremental - // build - } - - /** - * Filter out resource deltas which don't correspond to changes that validators can validate. - * - * This method will filter in deltas only if the delta is an add, a delete, or if the content of - * the file has changed. - * - * Return true if the delta should be filtered out, and false if we should validate it. - * - * @see IResourceDelta - */ - static boolean filterOut(IResourceDelta delta) { - if (delta == null) { - return true; - } - - switch (delta.getKind()) { - case IResourceDelta.ADDED : // resource has been added to the workbench - { - return false; - } - - case IResourceDelta.REMOVED : // resource has been deleted from the workbench - { - // If the delta is an IProject, and the IProject is getting deleted or closed, don't - // validate it or its children. - if (delta.getResource() instanceof IProject) { - return true; - } - return false; - } - - case IResourceDelta.CHANGED : // resources has been changed in the workbench - { - // We want to add the enterprise bean only if its source file's - // contents have changed. (for example, if a folder has been - // added to the project, the IFile will be changed because - // its position has been changed, but the enterprise bean - // doesn't need to be redeployed. See IResourceDelta.getFlags() - // for more information.) - // - // Or, if ejb-jar.xml has changed, the EJBJar is destroyed & created - // from scratch, so the list of EnterpriseBean is new. Purge the old - // EJBJar from the EJBCache (since it will never be referenced again), - // and load the new EJBJar into the cache. - if ((delta.getResource() instanceof IFile) && ((delta.getFlags() & IResourceDelta.CONTENT) != 0)) { - return false; - } - } - } - return true; - } - - /** - * This method returns true if the given resource and its children should be processed by the - * validators. That is, there are several types of changes which can occur to an IProject which - * should not trigger a revalidation of the project or its children. (e.g. project is deleted or - * closed.) For those cases, or if the IResourceDelta is invalid, this method will return false - * (do not validate the IProject or its children). Otherwise, return true (validate the resource & - * its children). If an IProject itself has not changed, but one of its children has - * (delta.getKind() of NO_CHANGE), then return true so that the children are validated. - */ - static boolean shouldProcess(IResource resource, IResourceDelta delta) { - if ((resource != null) && !(resource instanceof IProject)) { - return true; - } - - if (delta == null) { - return false; - } - - switch (delta.getKind()) { - case IResourceDelta.ADDED : // resource has been deleted from the workbench; may be part - // of a move - { - if (0 != (delta.getFlags() & IResourceDelta.MOVED_FROM)) { - // If it's being moved, don't revalidate its children. If it's being added, fall - // through to the "return true;" at the end of this method. - return false; - } - break; - } - - case IResourceDelta.REMOVED : // resource has been deleted from the workbench; may be - // part of a move - { - // Whether it's being deleted or moved, don't revalidate its children. - return false; - } - - case IResourceDelta.CHANGED : // resource has been changed in the workbench; may be part - // of a move - { - if ((delta.getFlags() & IResourceDelta.OPEN) != 0) { - // Change is related to the OPEN bit. Whether the project was closed and is now - // open, - // or the project was open and is now closed, don't need to revalidate the - // children. - return false; - } else if ((delta.getFlags() & IResourceDelta.REPLACED) != 0) { - // project was moved - return false; - } - - break; - } - } - - return true; - } - - private static VMDResourceVisitor getResourceVisitor(IProgressMonitor monitor, Set enabledValidators) { - if (_resourceVisitor == null) { - _resourceVisitor = new VMDResourceVisitor() { - private Map _vmdDeltas = null; - private IProgressMonitor _progressMonitor = null; - - public Map getResult() { - return _vmdDeltas; - } - - public void setEnabledValidators(Set validators) { - _vmdDeltas = wrapInMap(validators); - } - - public IProgressMonitor getProgressMonitor() { - return _progressMonitor; - } - - public void setProgressMonitor(IProgressMonitor m) { - _progressMonitor = m; - } - - public boolean visit(IResource res) throws CoreException { - FilterUtil.checkCanceled(getProgressMonitor()); - - // We don't need to filter out anything, because a full validation - // is about to be performed. - filterOut(getProgressMonitor(), _vmdDeltas, res, IResourceDelta.CHANGED, true); // true - // - - // this - // is a - // full - // build - - return true; // visit the resource's children as well - } - }; - } - _resourceVisitor.setProgressMonitor(monitor); - _resourceVisitor.setEnabledValidators(enabledValidators); - - return _resourceVisitor; - } - - private static VMDDeltaVisitor getDeltaVisitor(IProgressMonitor monitor, Set enabledValidators) { - if (_deltaVisitor == null) { - _deltaVisitor = new VMDDeltaVisitor() { - private Map _vmdDeltas = null; - private IProgressMonitor _progressMonitor = null; - - public Map getResult() { - return _vmdDeltas; - } - - public void setEnabledValidators(Set validators) { - _vmdDeltas = wrapInMap(validators); - } - - public IProgressMonitor getProgressMonitor() { - return _progressMonitor; - } - - public void setProgressMonitor(IProgressMonitor m) { - _progressMonitor = m; - } - - public boolean visit(IResourceDelta subdelta) throws CoreException { - checkCanceled(getProgressMonitor()); - if (subdelta == null) - return true; - - IResource resource = subdelta.getResource(); - - Logger logger = ValidationPlugin.getPlugin().getMsgLogger(); - if (logger.isLoggingLevel(Level.FINEST)) { - StringBuffer buffer = new StringBuffer("subdelta of "); //$NON-NLS-1$ - buffer.append(resource.getName()); - buffer.append(" is "); //$NON-NLS-1$ - buffer.append(subdelta.getKind()); - buffer.append(" resource exists? "); //$NON-NLS-1$ - buffer.append(resource.exists()); - buffer.append(" resource.isPhantom?"); //$NON-NLS-1$ - buffer.append(resource.isPhantom()); - - if (logger.isLoggingLevel(Level.FINEST)) { - LogEntry entry = ValidationPlugin.getLogEntry(); - entry.setSourceID("FilterUtil::visit(IResourceDelta)"); //$NON-NLS-1$ - entry.setText(buffer.toString()); - logger.write(Level.FINEST, entry); - } - - } - - // If the delta is an IProject, and the IProject is getting deleted or closed, - // don't validate it or its children. - if (shouldProcess(resource, subdelta)) { - filterOut(getProgressMonitor(), _vmdDeltas, resource, subdelta); - return true; // visit the delta's children as well - } - return false; // do not visit the delta's children - } - }; - } - _deltaVisitor.setProgressMonitor(monitor); - _deltaVisitor.setEnabledValidators(enabledValidators); - - return _deltaVisitor; - } - - public static Map loadDeltas(final IProgressMonitor monitor, final Set enabledValidators, IResourceDelta delta) throws CoreException { - VMDDeltaVisitor visitor = getDeltaVisitor(monitor, enabledValidators); - delta.accept(visitor, true); // true means include phantom resources - return visitor.getResult(); - } - - public static Map loadDeltas(final IProgressMonitor monitor, final Set enabledValidators, IProject project) throws CoreException { - VMDResourceVisitor visitor = getResourceVisitor(monitor, enabledValidators); - project.accept(visitor, IResource.DEPTH_INFINITE, true); // true means include phantom - // resources - return visitor.getResult(); - } -}
\ No newline at end of file |