@Override public void setAttributeConfig(Element attributeElement) throws ApsSystemException { try { String name = this.extractXmlAttribute(attributeElement, "name", true); this.setName(name); String description = this.extractXmlAttribute(attributeElement, "description", false); this.setDescription(description); String searcheable = this.extractXmlAttribute(attributeElement, "searcheable", false); this.setSearcheable(null != searcheable && searcheable.equalsIgnoreCase("true")); IAttributeValidationRules validationCondition = this.getValidationRules(); validationCondition.setConfig(attributeElement); // to guaranted compatibility with previsous version of jAPS 2.0.12 *** Start Block String required = this.extractXmlAttribute(attributeElement, "required", false); if (null != required && required.equalsIgnoreCase("true")) { this.setRequired(true); } // to guaranted compatibility with previsous version of jAPS 2.0.12 *** End Block String indexingType = this.extractXmlAttribute(attributeElement, "indexingtype", false); if (null != indexingType) { this.setIndexingType(indexingType); } else { this.setIndexingType(IndexableAttributeInterface.INDEXING_TYPE_NONE); } Element disablingCodesElements = attributeElement.getChild("disablingCodes"); if (null != disablingCodesElements) { String[] disablingCodes = this.extractValues(disablingCodesElements, "code"); this.setDisablingCodes(disablingCodes); } else { // to guaranted compatibility with previsous version of jAPS 2.0.12 *** Start Block String disablingCodesStr = this.extractXmlAttribute(attributeElement, "disablingCodes", false); if (disablingCodesStr != null) { String[] disablingCodes = disablingCodesStr.split(","); this.setDisablingCodes(disablingCodes); } // to guaranted compatibility with previsous version of jAPS 2.0.12 *** End Block } Element rolesElements = attributeElement.getChild("roles"); if (null != rolesElements) { String[] roles = this.extractValues(rolesElements, "role"); this.setRoles(roles); } } catch (Throwable e) { String message = "Error detected while creating the attribute config '" + this.getName() + "' type '" + this.getType() + "'"; ApsSystemUtils.logThrowable(e, this, "getAttributePrototype", message); throw new RuntimeException(message, e); } }