Package org.eclipse.jst.jsf.validation.internal.strategy

Source Code of org.eclipse.jst.jsf.validation.internal.strategy.DiagnosticFactory$MyLocalizedMessage

package org.eclipse.jst.jsf.validation.internal.strategy;

import java.util.Locale;

import org.eclipse.core.resources.IResource;
import org.eclipse.emf.common.util.BasicDiagnostic;
import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.jst.jsf.common.dom.TagIdentifier;
import org.eclipse.jst.jsf.core.internal.JSFCorePlugin;
import org.eclipse.jst.jsf.validation.internal.appconfig.ILocalizedMessage;
import org.eclipse.osgi.util.NLS;
import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;

/**
* Diagnostic factory for JSF views
*
*/
public final class DiagnosticFactory {
 
    /**
     * The id used in the source field of all Diagnostic's created by this factory
     * to uniquely identify tag validation as their source type.
     */
    public final static String SOURCE_ID = "org.eclipse.jst.jsf.validation.tag.Diagnostics";//$NON-NLS-1$

    /**
     * Problem id
     */
    public final static int CONTAINMENT_ERROR_MISSING_VIEW = 1;
   
    /**
     * Problem id
     */
    public final static int CONTAINMENT_ERROR_MISSING_FORM = 2;

    /**
     * Problem id
     */
  public static final int CONTAINMENT_ERROR_MISSING_ANCESTOR = 3;
   

    /**
     * @param tagName
     * @return message indicating a JSF view tag is missing as an ancestor    
     */
    public static Diagnostic create_CONTAINMENT_ERROR_MISSING_VIEW(final String tagName)
    {
      return create(CONTAINMENT_ERROR_MISSING_VIEW,
          NLS.bind(Messages.CONTAINMENT_ERROR_MISSING_VIEW, tagName));               
    }
   
    /**
     * @param tagName
     * @return message indicating a JSF form tag is missing as an ancestor    
     */
    public static Diagnostic create_CONTAINMENT_ERROR_MISSING_FORM(final String tagName)
    {     
        return create(CONTAINMENT_ERROR_MISSING_FORM,
               NLS.bind(Messages.CONTAINMENT_ERROR_MISSING_FORM, tagName));
    }
   
    /** 
     * @param tagName
     * @param missingTag
     * @return message indicating some tag is missing as an ancestor    
     */
    public static Diagnostic create_CONTAINMENT_ERROR_MISSING_ANCESTOR(final String tagName, final TagIdentifier missingTag)
    {
     
        return create(CONTAINMENT_ERROR_MISSING_ANCESTOR,
            NLS.bind(Messages.CONTAINMENT_ERROR_MISSING_ANCESTOR,
                new Object[]{ tagName, missingTag.getUri(), missingTag.getTagName()}));
    }

    private static BasicDiagnostic create(final int diagnosticId, final String message)
    {
        final int severity = IMessage.NORMAL_SEVERITY;//ELValidationPreferences.getDefaultSeverity(diagnosticId);
        return new BasicDiagnostic(severity, SOURCE_ID
                , diagnosticId
                , message
                , null);
    }
  /**
     * Customized localizable message for view validation
     * @author cbateman
     *
     */
    static class MyLocalizedMessage extends Message implements ILocalizedMessage
    {
        private final String _message;
        private final int    _errorCode;

        /**
         * @param severity
         * @param messageText
         * @param targetObject
         * @param errorCode
         */
        public MyLocalizedMessage(int severity, String messageText, IResource targetObject, int errorCode) {
            this(severity, messageText, (Object) targetObject, errorCode);
        }

        /**
         * @param severity
         * @param messageText
         * @param targetObject
         * @param errorCode
         */
        private MyLocalizedMessage(int severity, String messageText, Object targetObject, int errorCode) {
            super(JSFCorePlugin.getDefault().getBundle().getSymbolicName(), severity,
                    messageText);
            _message = messageText;
            setTargetObject(targetObject);
            _errorCode = errorCode;
        }

        /**
         * @return the localized message
         */
        public String getLocalizedMessage() {
            return _message;
        }

        /**
         * @see org.eclipse.wst.validation.internal.core.Message#getText()
         */
        public String getText() {
            return getLocalizedMessage();
        }

        /**
         * @see org.eclipse.wst.validation.internal.core.Message#getText(java.lang.ClassLoader)
         */
        public String getText(ClassLoader cl) {
            return getLocalizedMessage();
        }

        /**
         * @see org.eclipse.wst.validation.internal.core.Message#getText(java.util.Locale)
         */
        public String getText(Locale l) {
            return getLocalizedMessage();
        }

        public String getText(Locale l, ClassLoader cl) {
            return getLocalizedMessage();
        }

        /**
         * @return the error code related to this message
         */
        public int getErrorCode() {
            return _errorCode;
        }


        /**
         * @param offset
         * @return true if this message applies to document offset
         */
        public boolean appliesTo(int offset)
        {
            return (offset >= getOffset() && offset < getOffset()+getLength());
        }
    }


}
TOP

Related Classes of org.eclipse.jst.jsf.validation.internal.strategy.DiagnosticFactory$MyLocalizedMessage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.