Example usage for org.apache.commons.validator ValidatorResults isEmpty

List of usage examples for org.apache.commons.validator ValidatorResults isEmpty

Introduction

In this page you can find the example usage for org.apache.commons.validator ValidatorResults isEmpty.

Prototype

public boolean isEmpty() 

Source Link

Document

Return true if there are no messages recorded in this collection, or false otherwise.

Usage

From source file:org.agnitas.service.impl.NewImportWizardServiceImpl.java

public void doBeansValidate() throws Exception {
    List<ProfileRecipientFields> lTempProfileRecipientFields = new LinkedList<ProfileRecipientFields>();
    for (ProfileRecipientFields prRecipientFields : getBeans()) {
        ProfileRecipientFields newProfileRecipientFields = new ProfileRecipientFieldsImpl();
        newProfileRecipientFields.setChange_date(prRecipientFields.getChange_date());
        newProfileRecipientFields.setCreation_date(prRecipientFields.getCreation_date());
        Map<String, String> newCustomFields = new LinkedHashMap<String, String>();
        for (String key : prRecipientFields.getCustomFields().keySet()) {
            newCustomFields.put(key, prRecipientFields.getCustomFields().get(key));
        }//from  w ww .j ava  2s  .  c o m
        newProfileRecipientFields.setCustomFields(newCustomFields);

        newProfileRecipientFields.setEmail(prRecipientFields.getEmail());
        newProfileRecipientFields.setFirstname(prRecipientFields.getFirstname());
        newProfileRecipientFields.setGender(prRecipientFields.getGender());
        newProfileRecipientFields.setLastname(prRecipientFields.getLastname());
        newProfileRecipientFields.setMailtype(prRecipientFields.getMailtype());
        newProfileRecipientFields.setTemporaryId(prRecipientFields.getTemporaryId());
        newProfileRecipientFields.setTitle(prRecipientFields.getTitle());
        newProfileRecipientFields.setMailtypeDefined(prRecipientFields.getMailtypeDefined());
        lTempProfileRecipientFields.add(newProfileRecipientFields);
    }
    List<ProfileRecipientFields> lProfileRecipientFields = getBeans();
    Map<String, Boolean> mColumnMapping = new LinkedHashMap<String, Boolean>();
    for (ColumnMapping columnMapping : this.importProfile.getColumnMapping()) {
        mColumnMapping.put(columnMapping.getDatabaseColumn(), columnMapping.getMandatory());
    }
    for (ProfileRecipientFields tprofileRecipientFields : lTempProfileRecipientFields) {
        if ((mColumnMapping.get("gender") == null) || (!mColumnMapping.get("gender")
                && StringUtils.isEmpty(tprofileRecipientFields.getGender()))) {
            tprofileRecipientFields.setGender("2");
        }
        for (String key : tprofileRecipientFields.getCustomFields().keySet()) {
            if (mColumnMapping.containsKey(key) && !mColumnMapping.get(key)
                    && FieldsFactory.mTypeColums.containsKey(key)) {
                if (FieldsFactory.mTypeColums.get(key).equals(DataType.DOUBLE)) {
                    if (tprofileRecipientFields.getCustomFields().get(key).isEmpty()) {
                        tprofileRecipientFields.getCustomFields().put(key, "0.0");
                    }
                } else if (FieldsFactory.mTypeColums.get(key).equals(DataType.INTEGER)) {
                    if (tprofileRecipientFields.getCustomFields().get(key).isEmpty()) {
                        tprofileRecipientFields.getCustomFields().put(key, "0");
                    }
                } else if (FieldsFactory.mTypeColums.get(key).equals(DataType.DATE)) {
                    if (tprofileRecipientFields.getCustomFields().get(key).isEmpty()) {
                        final SimpleDateFormat dateFormat = new SimpleDateFormat(
                                DateFormat.getValue(this.getImportProfile().getDateFormat()));
                        tprofileRecipientFields.getCustomFields().put(key,
                                dateFormat.format(new Date(System.currentTimeMillis())));
                    }
                }
            }
        }
    }
    // Tell the validator which bean to validate against.
    int iterator = 0;
    for (ProfileRecipientFields profileRecipientFields : lTempProfileRecipientFields) {
        /* 
         * AGNEMM-1696:
         * For umlauts in domains, validate punycoded domain name.
         * 1. Make backup of original email address
         * 2. Punycode email address
         * 3. Validate
         * 4. Restore email address
         */
        // Umlaut-domains (1): make backup of email address
        String originalEmail = profileRecipientFields.getEmail();
        // Umlaut-domains (2): punycode address
        profileRecipientFields.setEmail(StringOps.punycoded(originalEmail));

        validator.setParameter(Validator.BEAN_PARAM, profileRecipientFields);

        if (logger.isInfoEnabled())
            logger.info("Import ID: " + importProfile.getImportId() + " Preparing to validate recipient: "
                    + Toolkit.getValueFromBean(profileRecipientFields, importProfile.getKeyColumn()));

        ValidatorResults results = validator.validate();
        if (results.isEmpty()) {
            validRecipients.put(lProfileRecipientFields.get(iterator), null);
        } else {
            invalidRecipients.put(lProfileRecipientFields.get(iterator), results);
        }

        // Umlaut-domains (4): restore email address
        profileRecipientFields.setEmail(originalEmail);

        if (logger.isInfoEnabled())
            logger.info("Import ID: " + importProfile.getImportId() + " Validated recipient: "
                    + Toolkit.getValueFromBean(profileRecipientFields, importProfile.getKeyColumn()));

        iterator++;
    }
}