diff options
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEValidator.java')
-rw-r--r-- | plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEValidator.java | 606 |
1 files changed, 0 insertions, 606 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEValidator.java b/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEValidator.java deleted file mode 100644 index 70b84a31b..000000000 --- a/plugins/org.eclipse.jst.j2ee.core/j2ee-validation/org/eclipse/jst/j2ee/model/internal/validation/J2EEValidator.java +++ /dev/null @@ -1,606 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2006 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.jst.j2ee.model.internal.validation; - - - -import java.util.HashSet; -import java.util.List; -import java.util.Locale; -import java.util.Set; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.emf.common.util.EList; -import org.eclipse.jst.j2ee.common.EjbRef; -import org.eclipse.jst.j2ee.common.internal.impl.ResourceRefImpl; -import org.eclipse.jst.j2ee.common.internal.impl.SecurityRoleImpl; -import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin; -import org.eclipse.wst.validation.internal.ResourceConstants; -import org.eclipse.wst.validation.internal.ResourceHandler; -import org.eclipse.wst.validation.internal.core.Message; -import org.eclipse.wst.validation.internal.core.ValidationException; -import org.eclipse.wst.validation.internal.operations.LocalizedMessage; -import org.eclipse.wst.validation.internal.provisional.core.IMessage; -import org.eclipse.wst.validation.internal.provisional.core.IReporter; -import org.eclipse.wst.validation.internal.provisional.core.IValidationContext; -import org.eclipse.wst.validation.internal.provisional.core.IValidatorJob; - - -/** - * Insert the type's description here. Creation date: (3/9/2001 3:34:39 PM) - * - * @author: Administrator - */ -public abstract class J2EEValidator implements IValidatorJob, J2EEMessageConstants { - protected IReporter _reporter; - protected IValidationContext _helper; - protected IStatus status = OK_STATUS; - - - public J2EEValidator() { - initialize(); - } - - /** - * <p> - * Create am <em>error</em> message and route it to the cached reporter. This form of - * <code>addError</code> is for messages which require no arguments. - * </p> - * - * @param msgId - * The ID of the message to be created. - */ - - public void addError(String msgId) { - addError(getBaseName(), msgId, null); - } - - /** - * <p> - * Create am <em>error</em> message and route it to the cached reporter. This form of - * <code>addError</code> is for messages which require no arguments. - * </p> - * - * @param msgId - * The ID of the message to be created. - */ - - public void addError(String msgId, String[] msgArgs) { - addError(getBaseName(), msgId, msgArgs); - } - - /** - * <p> - * Create am <em>error</em> message and route it to the cached reporter. This form of - * <code>addError</code> is for messages which require no arguments. - * </p> - * - * @param msgCategory - * The base name of the message bundle to use. - * @param msgId - * The ID of the message to be created. - */ - - public void addError(String msgCategory, String msgId) { - addError(msgCategory, msgId, null); - } - - /** - * <p> - * Create an <em>error</em> message and route it to the cached reporter. This form of - * <code>addError</code> is for messages which require one or more arguments. - * </p> - * - * @param msgCategory - * The base name of the message bundle to use. - * @param msgId - * The ID of the message to be created. - * @param msgArgs - * The parameters for the message. - */ - - public void addError(String bundleName, String msgId, String[] msgArgs) { - this.addError(bundleName, msgId, msgArgs, null); - } - - /** - * <p> - * Create an <em>error</em> message and route it to the cached reporter. This form of - * <code>addError</code> is for messages which require one or more arguments. - * </p> - * - * @param msgCategory - * The base name of the message bundle to use. - * @param msgId - * The ID of the message to be created. - * @param msgArgs - * The parameters for the message. - */ - - public void addError(String bundleName, String msgId, String[] msgArgs, Object target) { - _reporter.addMessage(this, new Message(bundleName, IMessage.HIGH_SEVERITY, msgId, msgArgs, target)); - } - - public void addError(String bundleName, String msgId, String[] msgArgs, Object target, String groupName) { - IMessage message = new Message(bundleName, IMessage.HIGH_SEVERITY, msgId, msgArgs, target); - message.setGroupName(groupName); - _reporter.addMessage(this, message); - } - - public void addError(String bundleName, String msgId, String[] msgArgs, Object target, String groupName, int lineNumber) { - IMessage message = new Message(bundleName, IMessage.HIGH_SEVERITY, msgId, msgArgs, target); - message.setLineNo(lineNumber); - message.setGroupName(groupName); - - _reporter.addMessage(this, message); - - } - - public void addLocalizedError(String msg, Object target) { - _reporter.addMessage(this, new LocalizedMessage(IMessage.HIGH_SEVERITY, msg, target)); - } - - public void addLocalizedError(String msg, Object target, int lineNumber) { - addLocalizedError( msg, target, null, lineNumber ); - } - - public void addLocalizedError(String msg, Object target, String groupName, int lineNumber) { - IMessage message = new LocalizedMessage(IMessage.HIGH_SEVERITY, msg, target); - message.setGroupName( groupName ); - message.setLineNo(lineNumber); - _reporter.addMessage(this, message); - } - - public void addLocalizedError(String msg, Object target, String groupName) { - IMessage message = new LocalizedMessage(IMessage.HIGH_SEVERITY, msg, target); - message.setGroupName( groupName ); - _reporter.addMessage(this, message); - } - - /** - * <p> - * Create an <em>informational</em> message and route it to the cached reporter. This form of - * <code>addError</code> is for messages which require no arguments. - * </p> - * - * @param msgId - * The ID of the message to be created. - */ - - public void addInfo(String msgId) { - addInfo(getBaseName(), msgId, null); - } - - /** - * <p> - * Create an <em>informational</em> message and route it to the cached reporter. This form of - * <code>addError</code> is for messages which require no arguments. - * </p> - * - * @param msgId - * The ID of the message to be created. - * @param msgArgs - * The parameters for the message. - */ - - public void addInfo(String msgId, String[] msgArgs) { - addInfo(getBaseName(), msgId, msgArgs); - } - - /** - * <p> - * Create an <em>informational</em> message and route it to the cached reporter. This form of - * <code>addError</code> is for messages which require no arguments. - * </p> - * - * @param msgCategory - * The base name of the message bundle to use. - * @param msgId - * The ID of the message to be created. - */ - - public void addInfo(String msgCategory, String msgId) { - addInfo(msgCategory, msgId, null); - } - - /** - * <p> - * Create an <em>informational</em> message and route it to the cached reporter. This form of - * <code>addError</code> is for messages which require one or more arguments. - * </p> - * - * @param msgCategory - * The base name of the message bundle to use. - * @param msgId - * The ID of the message to be created. - * @param msgArgs - * The parameters for the message. - */ - - public void addInfo(String bundleName, String msgId, String[] msgArgs) { - addInfo(bundleName, msgId, msgArgs, null); - } - - /** - * <p> - * Create an <em>informational</em> message and route it to the cached reporter. This form of - * <code>addError</code> is for messages which require one or more arguments. - * </p> - * - * @param msgCategory - * The base name of the message bundle to use. - * @param msgId - * The ID of the message to be created. - * @param msgArgs - * The parameters for the message. - */ - - public void addInfo(String bundleName, String msgId, String[] msgArgs, Object target) { - _reporter.addMessage(this, new Message(bundleName, IMessage.LOW_SEVERITY, msgId, msgArgs, target)); - } - - public void addLocalizedInfo(String msg, Object target) { - _reporter.addMessage(this, new LocalizedMessage(IMessage.LOW_SEVERITY, msg, target)); - } - - /** - * <p> - * Create a <em>warning</em> message and route it to the cached reporter. This form of - * <code>addError</code> is for messages which require no arguments. - * </p> - * - * @param msgId - * The ID of the message to be created. - */ - - public void addWarning(String msgId) { - addWarning(getBaseName(), msgId, null); - } - - /** - * <p> - * Create a <em>warning</em> message and route it to the cached reporter. This form of - * <code>addError</code> is for messages which require no arguments. - * </p> - * - * @param msgId - * The ID of the message to be created. - * @param msgArgs - * The parameters for the message. - */ - - public void addWarning(String msgId, String[] msgArgs) { - addWarning(getBaseName(), msgId, msgArgs); - } - - /** - * <p> - * Create a <em>warning</em> message and route it to the cached reporter. This form of - * <code>addError</code> is for messages which require no arguments. - * </p> - * - * @param msgCategory - * The base name of the message bundle to use. - * @param msgId - * The ID of the message to be created. - */ - - public void addWarning(String msgCategory, String msgId) { - addWarning(msgCategory, msgId, null); - } - - /** - * <p> - * Create a <em>warning</em> message and route it to the cached reporter. This form of - * <code>addError</code> is for messages which require one or more arguments. - * </p> - * - * @param msgCategory - * The base name of the message bundle to use. - * @param msgId - * The ID of the message to be created. - * @param msgArgs - * The parameters for the message. - */ - - public void addWarning(String bundleName, String msgId, String[] msgArgs) { - addWarning(bundleName, msgId, msgArgs, null); - } - - /** - * <p> - * Create a <em>warning</em> message and route it to the cached reporter. This form of - * <code>addError</code> is for messages which require one or more arguments. - * </p> - * - * @param msgCategory - * The base name of the message bundle to use. - * @param msgId - * The ID of the message to be created. - * @param msgArgs - * The parameters for the message. - */ - - public void addWarning(String bundleName, String msgId, String[] msgArgs, Object target) { - _reporter.addMessage(this, new Message(bundleName, IMessage.NORMAL_SEVERITY, msgId, msgArgs, target)); - } - - public void addWarning(String bundleName, String msgId, String[] msgArgs, Object target, String groupName) { - IMessage message = new Message(bundleName, IMessage.NORMAL_SEVERITY, msgId, msgArgs, target); - message.setGroupName(groupName); - _reporter.addMessage(this, message); - } - - public void addLocalizedWarning(String msg, Object target) { - _reporter.addMessage(this, new LocalizedMessage(IMessage.NORMAL_SEVERITY, msg, target)); - } - public void addLocalizedWarning(String msg, Object target, String groupName) { - IMessage message = new LocalizedMessage(IMessage.NORMAL_SEVERITY, msg, target); - message.setGroupName(groupName); - _reporter.addMessage(this, message); - } - - /** - * Perform any resource cleanup once validation is complete. - * @deprecated Use cleanup(IReporter reporter) - */ - public void cleanup() { - _reporter = null; - } - - /** - * Perform any resource cleanup once validation is complete. If cleanup will take some time, the - * IValidator should report subtask information to the user through the IReporter parameter. The - * AReporter parameter will not be null. - */ - public void cleanup(IReporter reporter) { - _reporter = null; - } - - /** - * Returns the name of the Validator, as it should be displayed in the UI. The ValidationBuilder - * uses this string as input to the IProgressMonitor. i.e., At some point during the validation - * process, the Validation Builder will output this string: "{0} is validating {1}.", where {0} - * is the string that this method returns, and {1} is the name of the current resource. - */ - public String[] get1Param(String string1) { - String[] parms = new String[1]; - parms[0] = string1; - return parms; - } - - /** - * Returns the name of the Validator, as it should be displayed in the UI. The ValidationBuilder - * uses this string as input to the IProgressMonitor. i.e., At some point during the validation - * process, the Validation Builder will output this string: "{0} is validating {1}.", where {0} - * is the string that this method returns, and {1} is the name of the current resource. - */ - public String[] get2Param(String string1, String string2) { - String[] parms = new String[2]; - parms[0] = string1; - parms[1] = string2; - return parms; - } - - /** - * Returns the name of the Validator, as it should be displayed in the UI. The ValidationBuilder - * uses this string as input to the IProgressMonitor. i.e., At some point during the validation - * process, the Validation Builder will output this string: "{0} is validating {1}.", where {0} - * is the string that this method returns, and {1} is the name of the current resource. - */ - public String[] get3Param(String string1, String string2, String string3) { - String[] parms = new String[2]; - parms[0] = string1; - parms[1] = string2; - parms[2] = string3; - return parms; - } - - /** - * <p> - * Answer the id of the resource bundle which is used by the receiver. - * </p> - */ - - public abstract String getBaseName(); - - /** - * Returns a localized message from a resource bundle. - * - * @param msgCategory - * The baseName of the resource bundle (filename minus any locale suffix) - * @param msgId - * The key of the message to lookup from the bundle. - * @param msgArgs - * An array of arguments that will be substituted into any message arguments in the - * message's value. - * @param locale - * The locale to retrieve the message text from. - */ - public String getMessage(String msgCategory, String msgId, String[] msgArgs, Locale locale) { - return J2EEValidationResourceHandler.getExternalizedMessage(msgCategory, msgId, getClass(), msgArgs, locale); - } - - /** - * Returns a localized message from a resource bundle. - * - * @param msgCategory - * The baseName of the resource bundle (filename minus any locale suffix) - * @param msgId - * The key of the message to lookup from the bundle. - * @param locale - * The locale to retrieve the message text from. - */ - public String getMessage(String msgCategory, String msgId, Locale locale) { - return J2EEValidationResourceHandler.getExternalizedMessage(msgCategory, msgId, getClass(), locale); - } - - /** - * Returns the name of the Validator, as it should be displayed in the UI. The ValidationBuilder - * uses this string as input to the IProgressMonitor. i.e., At some point during the validation - * process, the Validation Builder will output this string: "{0} is validating {1}.", where {0} - * is the string that this method returns, and {1} is the name of the current resource. - */ - public String getName() { - return getName(Locale.getDefault()); - } - - /** - * <p> - * Returns the name of the Validator, as it should be displayed in the UI. The ValidationBuilder - * uses this string as input to the IProgressMonitor. i.e., At some point during the validation - * process, the Validation Builder will output this string: - * </p> - * - * <pre> - * "{0} is validating {1}.", - * </pre> - * - * <p> - * where - * </p> - * - * <pre> - * {0} is the string that this method returns, - * </pre> - * - * <p> - * and - * </p> - * - * <pre> - * {1} is the name of the current resource. - * </pre> - * - * @param locale - * The locale from which to retrieve the name text. - */ - - public String getName(Locale locale) { - return getMessage(getBaseName(), VALIDATOR_NAME, locale); - } - - /** - * Returns the name of the Validator, as it should be displayed in the UI. The ValidationBuilder - * uses this string as input to the IProgressMonitor. i.e., At some point during the validation - * process, the Validation Builder will output this string: "{0} is validating {1}.", where {0} - * is the string that this method returns, and {1} is the name of the current resource. - */ - public String[] getParam1(String string1) { - String[] parms = new String[1]; - parms[0] = string1; - return parms; - } - - protected void initialize() { - // Default - } - - /** - * This is the method which performs the validation on the MOF model. <br> - * <br> - * <code>helper</code> and <code>reporter</code> may not be null. <code>changedFiles</code> - * may be null, if a full build is desired. <br> - * <br> - * <code>helper</code> loads a EObject. The EObject is the root of the MOF model about to be - * validated. When this object is traversed, you can reach every element in the MOF model which - * needs to be validated. <br> - * <br> - * <code>reporter</code> is an instance of an IReporter interface, which is used for - * interaction with the user. <br> - * <br> - * <code>changedFiles</code> is an array of file names which have changed since the last - * validation. If <code>changedFiles</code> is null, or if it is an empty array, then a full - * build is performed. Otherwise, validation on just the files listed in the Vector is - * performed. - */ - - public void validate(IValidationContext inHelper, IReporter inReporter) throws ValidationException { - _helper = inHelper; - _reporter = inReporter; - if ((inHelper == null) || (inReporter == null)) { - return; - } - } - - public IStatus validateInJob(IValidationContext inHelper, IReporter inReporter) throws ValidationException { - - _helper = inHelper; - _reporter = inReporter; - status = OK_STATUS; - return status; - } - - /** - * Validate EJB references. - */ - protected void validateEJBRefManadatoryElements(EjbRef eref, String ownerName) { - String[] parms = new String[2]; - parms[0] = eref.getName(); - parms[1] = ownerName; - - if ((eref.getName() == null) || (eref.getName().trim().length() == 0)) - addWarning(EREF_CATEGORY, ERROR_EAR_MISSING_EREFNAME, parms, eref); - if (eref.isSetType()) { - if (eref.getType() == null) - addWarning(EREF_CATEGORY, ERROR_EAR_INVALID_EREFTYPE, parms); - } else - addWarning(EREF_CATEGORY, ERROR_EAR_MISSING_EREFTYPE, parms); - - String refHome = eref.getHome(); - if ((refHome == null) || (refHome.trim().length() == 0)) - addWarning(EREF_CATEGORY, ERROR_EAR_MISSING_EREFHOME, parms, eref); - - if ((eref.getRemote() == null) || (eref.getRemote().trim().length() == 0)) - addWarning(EREF_CATEGORY, ERROR_EAR_MISSING_EREFREMOTE, parms, eref); - } - - /** - * Validate for duplicates in EAR Roles. - */ - protected void validateResourceRefs(List resourceRefs) { - - int numRefs = resourceRefs.size(); - Set refSet = new HashSet(numRefs); - - for (int refNo = 0; refNo < numRefs; refNo++) { - String refName = ((ResourceRefImpl) (resourceRefs.get(refNo))).getName(); - String[] parms = new String[1]; - parms[0] = refName; - if (!(refSet.add(refName))) - addError(EREF_CATEGORY, ERROR_EAR_DUPLICATE_RESREF, parms, resourceRefs.get(refNo)); - } - } - - /** - * Validate the existance of Web Roles within the EAR Roles and duplicates in Web Roles. - */ - protected void validateWEBRolesWithEARRoles(EList earRoleList, EList warRoles) { - int numRoles = warRoles.size(); - - // TFB This implementation requires a 'small' list of warRoles. - // If 'warRoles' gets too big then another implementation - // will be necessary. - - for (int roleNo = 0; roleNo < numRoles; roleNo++) { - if( _reporter.isCancelled() ){ - String msg = ResourceHandler.getExternalizedMessage(ResourceConstants.VBF_STATUS_VALIDATOR_TERMINATED); - status = WTPCommonPlugin.createErrorStatus(msg); - } - - SecurityRoleImpl nextRole = (SecurityRoleImpl) (warRoles.get(roleNo)); - String[] parms = new String[1]; - parms[0] = nextRole.getRoleName(); - if (!(earRoleList.contains(nextRole))) - addWarning(WAR_CATEGORY, ERROR_EAR_MISSING_EJB_ROLE, parms, nextRole); - } - } -} |