Java tutorial
package com.webbfontaine.valuewebb.action.irms; import com.webbfontaine.valuewebb.model.irms.Permission; import com.webbfontaine.valuewebb.model.util.Utils; import com.webbfontaine.valuewebb.validation.ErrorHandling; import org.apache.commons.lang3.StringUtils; import javax.faces.application.FacesMessage; /** * Copyrights 2002-2014 Webb Fontaine * This software is the proprietary information of Webb Fontaine. * Its use is subject to License terms. * Developer: nigiyan * Date: 30/05/2014 */ public class PermissionValidator { private Permission permission; public PermissionValidator() { } public PermissionValidator(Permission permission) { this.permission = permission; } public void setPermission(Permission permission) { this.permission = permission; } public boolean isCriterionExist() { String criterionCode = permission.getCriterionCode(); return !Utils.getEntityManager() .createQuery("SELECT criterion FROM Criteria criterion where criterion.code = :code") .setParameter("code", criterionCode).getResultList().isEmpty(); } public boolean isNew() { return Utils.getEntityManager().createQuery( "SELECT p FROM Permission p where p.userName = :userName and p.criterionCode = :criterionCode") .setParameter("userName", permission.getUserName()) .setParameter("criterionCode", permission.getCriterionCode()).getResultList().isEmpty(); } public boolean isPrivilegesDefined() { return permission.getCreateCriterion() || permission.getViewCriterion() || permission.getViewHit();//) { } public boolean checkMandatoryFields() { return StringUtils.trimToNull(permission.getCriterionCode()) != null && StringUtils.trimToNull(permission.getUserName()) != null; } public boolean validate() { boolean isValid = false; if (checkMandatoryFields()) { if (isPrivilegesDefined()) { if (isCriterionExist()) { if (isNew()) { isValid = true; } else { ErrorHandling.addFacesMessageError(null, "Permission already defined: " + permission); } } else { ErrorHandling.addFacesMessage("criterionCode", "No such criteria: " + permission.getCriterionCode(), FacesMessage.SEVERITY_ERROR); } } else { ErrorHandling.addFacesMessageError(null, "Please define permissions."); } } else { ErrorHandling.addFacesMessageError(null, "Mandatory field missed"); //should not happen, see xhtml } return isValid; } }