diff options
Diffstat (limited to 'plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/InternalValidatorManager.java')
-rw-r--r-- | plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/InternalValidatorManager.java | 183 |
1 files changed, 0 insertions, 183 deletions
diff --git a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/InternalValidatorManager.java b/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/InternalValidatorManager.java deleted file mode 100644 index 5f9dba887..000000000 --- a/plugins/org.eclipse.wst.validation/validate/org/eclipse/wst/validation/internal/InternalValidatorManager.java +++ /dev/null @@ -1,183 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2008 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.lang.reflect.InvocationTargetException; -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Path; -import org.eclipse.wst.validation.internal.core.Message; -import org.eclipse.wst.validation.internal.operations.WorkbenchReporter; -import org.eclipse.wst.validation.internal.plugin.ValidationPlugin; -import org.eclipse.wst.validation.internal.provisional.core.IMessage; - -public final class InternalValidatorManager { - private static InternalValidatorManager _inst = null; - private static final String OP_GROUP = "ValidationOperation"; //$NON-NLS-1$ // when the ValidationOperation - - // adds a message to the task - // list; e.g. cancel, or internal - // error, this group name is used - // to distinguish between the - // messages that the validator - // itself put, and the ones which - // the validator owns, but the - // operation put. //$NON-NLS-1$ - - private InternalValidatorManager() { - //default - } - - public static InternalValidatorManager getManager() { - if (_inst == null) { - _inst = new InternalValidatorManager(); - } - return _inst; - } - - /** - * Return a new Set that contains all of the elements from the array. - */ - public static Set<ValidatorMetaData> wrapInSet(ValidatorMetaData[] vmds) { - Set<ValidatorMetaData> result = new HashSet<ValidatorMetaData>(); - if ((vmds == null) || (vmds.length == 0))return result; - - for (ValidatorMetaData vmd : vmds)result.add(vmd); - - return result; - } - - /** - * If the current validator throws a Throwable, log the internal error to the task list. - * - * This method is for use by the validation framework only. - */ - public void addInternalErrorTask(IProject project, ValidatorMetaData vmd, Throwable exc) { - addOperationTask(project, vmd, ResourceConstants.VBF_EXC_INTERNAL, new String[]{project.getName(), vmd.getValidatorDisplayName(), ((exc.getMessage() == null) ? "" : exc.getMessage())}); //$NON-NLS-1$ - } - - /** - * If the user is cancelling validation on the current project/resource, Add an information task - * to the task list informing the user that validation has not been run on the current project. - * - * If the current validator throws a Throwable, log the internal error to the task list. - */ - public void addOperationTask(IProject project, ValidatorMetaData vmd, String messageId, String[] parms) { - Message message = ValidationPlugin.getMessage(); - message.setSeverity(IMessage.LOW_SEVERITY); - message.setId(messageId); - message.setParams(parms); - message.setGroupName(OP_GROUP); - - // Although the message is owned by the validator, the string of the message has to be - // loaded by this class' ClassLoader - WorkbenchReporter.addMessage(project, vmd.getValidatorUniqueName(), getClass().getClassLoader(), message); - } - - - /** - * If the user cancelled the previous validation with this validator, or if there was a - * Throwable caught during the last execution of this validator, and the validator is in the - * process of validating now, remove the former information task messages. - */ - public void removeOperationTasks(IProject project, ValidatorMetaData vmd) { - WorkbenchReporter.removeMessageSubset(project, vmd.getValidatorUniqueName(), OP_GROUP); - } - - /** - * Return an array of the fully-qualified names of the validator classes. - */ - public String[] getValidatorNames(ValidatorMetaData[] vmds) { - Set<String> temp = new HashSet<String>(); - for (ValidatorMetaData vmd : vmds) { - for (String name : vmd.getValidatorNames()) { - temp.add(name); - } - } - - String[] vmdNames = new String[temp.size()]; - temp.toArray(vmdNames); - return vmdNames; - } - - /** - * Return an array of the fully-qualified names of the validator classes. - */ - public String[] getValidatorNames(Collection<ValidatorMetaData> vmds) { - Set<String> temp = new HashSet<String>(); - for (ValidatorMetaData vmd : vmds) { - for (String name : vmd.getValidatorNames()) { - temp.add(name); - } - } - - String[] vmdNames = new String[temp.size()]; - temp.toArray(vmdNames); - return vmdNames; - } - - /** - * Return a list of validators that validate files with the given extension. - */ - public ValidatorMetaData[] getValidatorsForExtension(IProject project, String fileExtension) { - try { - ProjectConfiguration prjp = ConfigurationManager.getManager().getProjectConfiguration(project); - - // Get all of the validators configured on the project for the given file extension - ValidatorMetaData[] vmds = prjp.getValidators(); - - // Construct a fake IFile type to represent a file with this extension. - StringBuffer buffer = new StringBuffer(project.getName()); - buffer.append(IPath.SEPARATOR); - buffer.append(fileExtension); - IPath path = new Path(buffer.toString()); - IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path); - - ValidatorMetaData[] temp = new ValidatorMetaData[vmds.length]; - int count = 0; - for (int i = 0; i < vmds.length; i++) { - ValidatorMetaData vmd = vmds[i]; - if (vmd.isApplicableTo(file)) { - temp[count++] = vmd; - } - } - - ValidatorMetaData[] result = new ValidatorMetaData[count]; - System.arraycopy(temp, 0, result, 0, count); - return result; - } catch (InvocationTargetException e) { - ValidationPlugin.getPlugin().handleException(e); - if (e.getTargetException() != null) - ValidationPlugin.getPlugin().handleException(e.getTargetException()); - return new ValidatorMetaData[0]; - } - } - - /** - * Return a list of validator names that validate files with the given extension. - */ - public String[] getValidatorNamesForExtension(IProject project, String fileExtension) { - ValidatorMetaData[] vmds = getValidatorsForExtension(project, fileExtension); - - String[] names = new String[vmds.length]; - for (int i = 0; i < names.length; i++) { - names[i] = vmds[i].getValidatorUniqueName(); - } - return names; - } -} |