@Override public List<AttributeFieldError> validate(AttributeTracer tracer) { List<AttributeFieldError> errors = new ArrayList<AttributeFieldError>(); try { if (this.getStatus().equals(Status.INCOMPLETE)) { errors.add(new AttributeFieldError(this, FieldError.INVALID, tracer)); } else { IAttributeValidationRules validationRules = this.getValidationRules(); if (null == validationRules) { return errors; } ILangManager langManager = (ILangManager) this.getBeanFactory().getBean(SystemConstants.LANGUAGE_MANAGER, ILangManager.class); List<AttributeFieldError> validationRulesErrors = validationRules.validate(this, tracer, langManager); if (null != validationRulesErrors) { errors.addAll(validationRulesErrors); } } } catch (Throwable t) { ApsSystemUtils.logThrowable( t, this, "validate", "Error validating Attribute '" + this.getName() + "'"); throw new RuntimeException("Error validating Attribute '" + this.getName() + "'", t); } return errors; }