diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/DiagnosticFactory.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/DiagnosticFactory.java | 561 |
1 files changed, 0 insertions, 561 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/DiagnosticFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/DiagnosticFactory.java deleted file mode 100644 index 64e8381d4..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/el/diagnostics/DiagnosticFactory.java +++ /dev/null @@ -1,561 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Oracle Corporation7 - * 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: - * Cameron Bateman/Oracle - initial API and implementation - * - ********************************************************************************/ - -package org.eclipse.jst.jsf.validation.internal.el.diagnostics; - -import java.text.MessageFormat; - -import org.eclipse.emf.common.util.BasicDiagnostic; -import org.eclipse.emf.common.util.Diagnostic; -import org.eclipse.jst.jsf.validation.internal.ELValidationPreferences; -import org.eclipse.osgi.util.NLS; - -/** - * Factory for all operator diagnostics. Class should - * not be implemented, instantiated or sub-classed. - * - * @author cbateman - * - */ -public final class DiagnosticFactory -{ - /** - * The id used in the source field of all Diagnostic's created by this factory - * to uniquely identify EL validation as their source type. - */ - public final static String SOURCE_ID = "org.eclipse.jst.jsf.validation.el.Diagnostics";//$NON-NLS-1$ - - /** - * Problem id - */ - public final static int BINARY_OP_BOTH_OPERANDS_NULL_ID = 0; - /** - * Problem id - */ - public final static int BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID = 1; - /** - * Problem id - */ - public final static int BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID = 2; - /** - * Problem id - */ - public final static int BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID = 3; - /** - * Problem id - */ - public final static int BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME_ID = 4; - /** - * Problem id - */ - public final static int BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID = 5; - /** - * Problem id - */ - public final static int BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS_ID = 6; - /** - * Problem id - */ - public final static int BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID = 7; - /** - * Problem id - */ - public final static int BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID = 8; - /** - * Problem id - */ - public final static int BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS_ID = 9; - /** - * Problem id - */ - public final static int UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID = 10; - /** - * Problem id - */ - public final static int UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE_ID = 11; - /** - * Problem id - */ - public final static int UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO_ID = 12; - /** - * Problem id - */ - public final static int UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID = 13; - /** - * Problem id - */ - public final static int UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID = 14; - /** - * Problem id - */ - public final static int TERNARY_OP_CHOICE_IS_ALWAYS_SAME_ID = 15; - /** - * Problem id - */ - public final static int TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN_ID = 16; - /** - * Problem id - */ - public final static int UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED_ID = 17; - /** - * Problem id - */ - public final static int CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING_ID = 18; - /** - * Problem id - */ - public final static int MEMBER_NOT_FOUND_ID = 19; - /** - * Problem id - */ - public final static int VARIABLE_NOT_FOUND_ID = 20; - /** - * Problem id - */ - public final static int MISSING_CLOSING_EXPR_BRACKET_ID = 21; - /** - * Problem id - */ - public final static int GENERAL_SYNTAX_ERROR_ID = 22; - /** - * Problem id - */ - public final static int EMPTY_EL_EXPRESSION_ID = 23; - - /** - * - */ - public final static int BINARY_OP_DOT_WITH_VALUEB_NULL_ID = 24; - - /** - * Identifies a problem where we have x.y and x is a map. In this case - * the recommend syntax is x['y'] - */ - public final static int BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY_ID = 25; - - /** - * Indicates that a numeric array accessor is being used with a value - * which is either < 0 or may be greater than the assumed size of the array - */ - public final static int POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS_ID = 26; - - /** - * Identifies the problem where an expr like bean.enumProp == 'blah' - * but 'blah' does not match any of the possible enum constants, meaning - * that the operation will always resolve to a constant value (in this case false) - */ - public final static int BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME_ID = 27; - - /** - * Identifies a problem where two enum variables are compared but the enums are - * not compatible. i.e. bean.enum1 < bean.enum2. Enum.compareTo() may throw - * an exception in this case (CCE). - */ - public final static int BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE_ID = 28; - - /** - * Indicates a situation such as x.y where x is a bundle and - * 'x.y.z' exists, but x.y while partially valid, does not have a value - * associated. - */ - public final static int MEMBER_IS_INTERMEDIATE_ID = 29; - - /** - * Count of ids - */ - public final static int NUM_IDS = 30; - - /** - * @param operatorName - * @return a configured diagnostic - */ - public Diagnostic create_BINARY_OP_BOTH_OPERANDS_NULL(final String operatorName) - { - final String message = NLS.bind( - Messages.BINARY_OP_BOTH_OPERANDS_NULL, operatorName); - return create(BINARY_OP_BOTH_OPERANDS_NULL_ID, message); - } - - private static Diagnostic DIAGNOSTIC_POSSIBLE_DIV_BY_ZERO; - - /** - * @return a configured diagnostic - */ - public Diagnostic create_BINARY_OP_POSSIBLE_DIVISION_BY_ZERO() - { - if (DIAGNOSTIC_POSSIBLE_DIV_BY_ZERO == null) - { - final String message = Messages.POSSIBLE_DIV_BY_ZERO; - DIAGNOSTIC_POSSIBLE_DIV_BY_ZERO = - create(BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID, message); - } - return DIAGNOSTIC_POSSIBLE_DIV_BY_ZERO; - } - - /** - * @param operatorName - * @return a configured diagnostic - */ - public Diagnostic create_BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION(final String operatorName) - { - final String message = - NLS.bind(Messages.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION, operatorName); - return create(BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID, message); - } - - /** - * @param operatorName - * @param value - * @return a configured diagnostic - */ - public Diagnostic create_BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME(final String operatorName, final String value) - { - final String message = - NLS.bind(Messages.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME,operatorName, value); - return create(BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID, message); - } - - /** - * @param value - * @return a configured diagnostic - */ - public Diagnostic create_BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME(final String value) - { - final String message = - NLS.bind(Messages.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME, value); - return create(BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME_ID, message); - } - - /** - * @param whichArgument - * @return a configured diagnostic - */ - public Diagnostic create_BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN(final String whichArgument) - { - final String message = - NLS.bind(Messages.BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN, whichArgument); - return create(BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID, message); - } - - /** - * @param shortCircuitValue - * @param operatorName - * @return a configured diagnostic - */ - public Diagnostic create_BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS(boolean shortCircuitValue, String operatorName) - { - final String message = - NLS.bind(Messages.BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS, - Boolean.valueOf(shortCircuitValue), operatorName); - return create(BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS_ID, message); - } - - /** - * @param shortCircuitValue - * @param operatorName - * @return a configured diagnostic - */ - public Diagnostic create_BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME(final boolean shortCircuitValue, final String operatorName) - { - final String message = - NLS.bind(Messages.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME, - Boolean.valueOf(shortCircuitValue), operatorName); - - return create(BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID, message); - } - - private static Diagnostic DIAGNOSTIC_NO_AVAILABLE_TYPE_COERCION; - - /** - * @return a configured diagnostic - */ - public Diagnostic create_BINARY_OP_NO_AVAILABLE_TYPE_COERCION() - { - if (DIAGNOSTIC_NO_AVAILABLE_TYPE_COERCION == null) - { - DIAGNOSTIC_NO_AVAILABLE_TYPE_COERCION = - create(BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID, - Messages.BINARY_OP_NO_AVAILABLE_TYPE_COERCION); - } - - return DIAGNOSTIC_NO_AVAILABLE_TYPE_COERCION; - } - - private static Diagnostic DIAGNOSTIC_COULD_NOT_COERCE_LITERALS; - - /** - * @return a configured diagnostic - */ - public Diagnostic create_BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS() - { - if (DIAGNOSTIC_COULD_NOT_COERCE_LITERALS == null) - { - DIAGNOSTIC_COULD_NOT_COERCE_LITERALS = - create(BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS_ID, - Messages.BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS); - } - - return DIAGNOSTIC_COULD_NOT_COERCE_LITERALS; - } - - /** - * @param operatorName - * @param value - * @return a configured diagnostic - */ - public Diagnostic create_UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID(final String operatorName, final String value) - { - final String message = - NLS.bind(Messages.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME, - operatorName, value); - return create(UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID, message); - } - - /** - * @return a configured diagnostic - */ - public Diagnostic create_UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE() - { - return create(UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE_ID, - Messages.UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE); - } - - /** - * @return a configured diagnostic - */ - public Diagnostic create_UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO() - { - return create(UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO_ID, - Messages.UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO); - } - - /** - * @param operatorName - * @return a configured diagnostic - */ - public Diagnostic create_UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION(final String operatorName) - { - final String message = - NLS.bind(Messages.UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION, - operatorName); - return create(UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID, message); - } - - /** - * @param operatorName - * @return a configured diagnostic - */ - public Diagnostic create_UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED(final String operatorName) - { - final String message = - NLS.bind(Messages.UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED, - operatorName); - return create(UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED_ID, message); - } - - /** - * @return a configured diagnostic - */ - public Diagnostic create_UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN() - { - return create(UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID, - Messages.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN); - } - - /** - * @param result - * @param whichSelected - * @return a configured diagnostic - */ - public Diagnostic create_TERNARY_OP_CHOICE_IS_ALWAYS_SAME(boolean result, String whichSelected) - { - final String message = - NLS.bind(Messages.TERNARY_OP_CHOICE_IS_ALWAYS_SAME, - Boolean.valueOf(result), whichSelected); - return create(TERNARY_OP_CHOICE_IS_ALWAYS_SAME_ID, message); - } - - /** - * @return a configured diagnostic - */ - public Diagnostic create_TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN() - { - return create(TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN_ID, - Messages.TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN_ID); - } - - /** - * Method bindings cannot participate in expressions involving operators - * Per JSP 1.1 spec section 5.2.1 - * - * @return a configured message - */ - public Diagnostic create_CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING() - { - return create(CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING_ID, - Messages.CANNOT_APPLY_OPERATORS_TO_MB); - } - - /** - * @param curMemberSymbol - * @param owningMember - * @return a configured message - */ - public Diagnostic create_MEMBER_NOT_FOUND(String curMemberSymbol, String owningMember) - { - return create(MEMBER_NOT_FOUND_ID, - NLS.bind(Messages.VM_PROP_NAME_NOT_FOUND, curMemberSymbol, owningMember)); - } - - /** - * @param variableName - * @return a configured message - */ - public Diagnostic create_VARIABLE_NOT_FOUND(String variableName) - { - return create(VARIABLE_NOT_FOUND_ID - , NLS.bind(Messages.VM_ROOT_NAME_NOT_FOUND, variableName)); - } - - /** - * @return a configured message - */ - public Diagnostic create_MISSING_CLOSING_EXPR_BRACKET() - { - return create(MISSING_CLOSING_EXPR_BRACKET_ID - , Messages.MISSING_CLOSING_EXPR_BRACKET); - } - - /** - * @return a configured message - */ - public Diagnostic create_GENERAL_SYNTAX_ERROR() - { - return create(GENERAL_SYNTAX_ERROR_ID, Messages.GENERAL_SYNTAX_ERROR); - } - - /** - * @return a configured message - */ - public Diagnostic create_EMPTY_EL_EXPRESSION() - { - return create(EMPTY_EL_EXPRESSION_ID, Messages.EMPTY_EL_EXPRESSION); - } - - /** - * @param operatorName - * @return a configured diagnostic - */ - public Diagnostic create_BINARY_OP_DOT_WITH_VALUEB_NULL(final String operatorName) - { - return create(BINARY_OP_DOT_WITH_VALUEB_NULL_ID - , Messages.bind(Messages.BINARY_OP_DOT_WITH_VALUEB_NULL, operatorName)); - } - - /** - * @param valAName - * @param valueBName - * @return a configured diagnostic - */ - public Diagnostic create_BINARY_OP_DOT_WITH_VALUEA_MAP_SHOULD_USE_ARRAY(final String valAName, final String valueBName) - { - final Object[] formatArgs = new Object[] {valAName, valueBName}; - return create(BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY_ID, - MessageFormat.format(Messages.BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY,formatArgs)); - } - - /** - * @param value - * @return an array index out of bounds diagnostic - */ - public Diagnostic create_POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS(final Integer value) - { - final Object[] formatArgs = new Object[] {value}; - - return create(POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS_ID - , MessageFormat.format(Messages.POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS,formatArgs)); - } - - /** - * @param operatorName - * @param invariantResult - * @param enumName - * @param fieldName - * @return a diagnostic - */ - public Diagnostic create_BINARY_COMPARISON_WITH_ENUM_AND_CONST_ALWAYS_SAME(final String operatorName, final boolean invariantResult, final String enumName, final String fieldName) - { - return create(BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME_ID - , MessageFormat.format(Messages.BINARY_COMPARISON_WITH_ENUM_AND_CONST_ALWAYS_SAME - , new Object[] {operatorName - , Boolean.valueOf(invariantResult), enumName, fieldName})); - } - - /** - * @param operatorName - * @param invariantResult - * @param enumName1 - * @param enumName2 - * @return a diagnostic - */ - public Diagnostic create_BINARY_COMPARISON_WITH_TWO_ENUMS_ALWAYS_SAME(final String operatorName, final boolean invariantResult, final String enumName1, final String enumName2) - { - return create(BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME_ID - , MessageFormat.format(Messages.BINARY_COMPARISON_WITH_TWO_ENUMS_ALWAYS_SAME - , new Object[] {operatorName - , Boolean.valueOf(invariantResult), enumName1, enumName2})); - } - - /** - * @param operatorName - * @param invariantResult - * @param enumName - * @param nonEnum - * @return a diagnostic - */ - public Diagnostic create_BINARY_COMPARISON_WITH_ENUM_AND_UNCOERCABLE_NONCONST_ALWAYS_SAME(final String operatorName, final boolean invariantResult, final String enumName, final String nonEnum) - { - return create(BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME_ID - , MessageFormat.format(Messages.BINARY_COMPARISON_WITH_ENUM_AND_UNCOERCABLE_NONCONST_ALWAYS_SAME - , new Object[] {operatorName - , Boolean.valueOf(invariantResult), enumName, nonEnum})); - } - - /** - * @return a diagnostic - */ - public Diagnostic create_BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE() - { - return create(BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE_ID - , Messages.BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE); - } - - /** - * @param intermediateMemberName - * @return a diagnostic - */ - public Diagnostic create_MEMBER_IS_INTERMEDIATE(final String intermediateMemberName) - { - return create(MEMBER_IS_INTERMEDIATE_ID - , NLS.bind(Messages.MEMBER_IS_INTERMEDIATE - , intermediateMemberName)); - } - - private BasicDiagnostic create(int diagnosticId, String message) - { - final int severity = ELValidationPreferences.getDefaultSeverity(diagnosticId); - return new BasicDiagnostic(severity, SOURCE_ID - , diagnosticId - , message - , null); - } -} |