1 21 package com.jaspersoft.jasperserver.war.validation; 22 23 import org.springframework.validation.Validator; 24 import org.springframework.validation.Errors; 25 import com.jaspersoft.jasperserver.war.common.JasperServerUtil; 26 import com.jaspersoft.jasperserver.war.dto.MondrianXmlaSourceWrapper; 27 import com.jaspersoft.jasperserver.api.metadata.olap.domain.MondrianXMLADefinition; 28 29 36 public class MondrianXmlaSourceValidator implements Validator 37 { 38 public boolean supports(Class klass) { 39 return MondrianXmlaSourceWrapper.class.isAssignableFrom(klass); 40 } 41 42 public void validate(Object o, Errors errors) { 43 MondrianXmlaSourceWrapper details = (MondrianXmlaSourceWrapper) o; 44 validateNameLabelDesc(details, errors); 45 } 46 47 public void validateNameLabelDesc(MondrianXmlaSourceWrapper wrapper, Errors errors) { 48 MondrianXMLADefinition mondrianXmlaDefinition = 49 wrapper.getMondrianXmlaDefinition(); 50 if (mondrianXmlaDefinition.getName() == null || 51 mondrianXmlaDefinition.getName().trim().length() == 0) { 52 errors.rejectValue("mondrianXmlaDefinition.name", "error.not.empty"); 53 } else { 54 if(!JasperServerUtil.regExValidateName(mondrianXmlaDefinition.getName())) { 55 errors.rejectValue( 56 "mondrianXmlaDefinition.name", null, "Name contains invalid characters"); 57 } 58 if (mondrianXmlaDefinition.getName().length() > 100) { 59 errors.rejectValue( 60 "mondrianXmlaDefinition.name", null, "Name is longer than 100 characters"); 61 } 62 } 63 64 if (mondrianXmlaDefinition.getLabel() == null || 65 mondrianXmlaDefinition.getLabel().trim().length() == 0) { 66 errors.rejectValue("mondrianXmlaDefinition.label", "error.not.empty"); 67 } else { 68 if(!JasperServerUtil.regExValidateLabel(mondrianXmlaDefinition.getLabel())) { 69 errors.rejectValue( 70 "mondrianXmlaDefinition.label", null, "Label contains invalid characters"); 71 } 72 if (mondrianXmlaDefinition.getLabel().length() > 100) { 73 errors.rejectValue( 74 "mondrianXmlaDefinition.label", null, "Label is longer than 100 characters"); 75 } 76 } 77 78 if (mondrianXmlaDefinition.getDescription() != null && 79 mondrianXmlaDefinition.getDescription().length() > 100) { 80 errors.rejectValue( 81 "mondrianXmlaDefinition.description", null, "Description is longer than 100 characters"); 82 } 83 84 if (mondrianXmlaDefinition.getCatalog() == null || 85 mondrianXmlaDefinition.getCatalog().trim().length() == 0) { 86 errors.rejectValue("mondrianXmlaDefinition.catalog", "error.not.empty"); 87 } else { 88 if(!JasperServerUtil.regExValidateName(mondrianXmlaDefinition.getCatalog())) { 89 errors.rejectValue( 90 "mondrianXmlaDefinition.catalog", null, "Catalog contains invalid characters"); 91 } 92 } 93 } 94 } 95 | Popular Tags |