/*
* Copyright 2014 - LAit SpA
*				 Realizzato da Icona Management srl su commessa LAit SpA
* Copyright 2015- LAit SpA
*                                                  Aggiornato da LAit SpA
*
* Concesso in licenza a norma dell'EUPL, versione 1.1 o
* successive dell'EUPL (la "Licenza")– non appena saranno
* approvate dalla Commissione europea;
* Non è possibile utilizzare l'opera salvo nel rispetto della Licenza.
* È possibile ottenere una copia della Licenza al seguente indirizzo:
*
* http://ec.europa.eu/idabc/eupl
*
* Salvo diversamente indicato dalla legge applicabile o
* concordato per iscritto, il software distribuito secondo
* i termini della Licenza è distribuito "TAL QUALE",
* SENZA GARANZIE O CONDIZIONI DI ALCUN TIPO,
* esplicite o implicite.
* Si veda la Licenza per la lingua specifica che disciplina
* le autorizzazioni e le limitazioni secondo i termini della
* Licenza.
*/
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package it.laitspa.cpf.faces.utils.validator;

import it.laitspa.cpf.faces.utils.FacesUtils;

/**
 *
 * @author Andrea
 */
public class FieldMatchingValidator extends CustomValidator{


    /**
   * 
   */
  private static final long serialVersionUID = 1L;


    public static final String FIELDMATCHING_VALIDATOR = "MATCVal";


    private String componentsField;

    public String getComponentsField() {
        return componentsField;
    }

    public void setComponentsField(String componentsField) {
        this.componentsField = componentsField;
    }



    protected boolean isValidValue(String s) {
        //Retrieve components id
        //
        logger.info("Validate matching fields: " + componentsField);
        String[] componentsId = componentsField.split(" ");
        for (String id : componentsId)
        {
            String localValue = (String) FacesUtils.getUIComponentValue(id);
            if(!s.equalsIgnoreCase(localValue))
            {
                return false;
            }
        }
        return true;
    }

    @Override
    protected String getTypeOfError() 
    {
        return null;
    }
}
