private boolean checkChanged(GovernanceArtifact fa, String attrName, String attrValue) { boolean isChanged = true; try { String curval = fa.getAttribute(attrName); if ((curval == null || curval.isEmpty()) && (attrValue == null || attrValue.isEmpty())) { isChanged = false; } else if (attrValue != null && curval != null && curval.equals(attrValue)) { isChanged = false; } else { fa.setAttribute(attrName, attrValue); } } catch (GovernanceException e) { log.error("updateAttributes " + e.getMessage()); } return isChanged; }
private void validateArtifact(GovernanceArtifact artifact) throws GovernanceException { if (validationAttributes == null) { return; } Map<String, Object> map; for (int i = 0; i < validationAttributes.size(); ++i) { map = validationAttributes.get(i); String value = ""; String prop = (String) map.get("properties"); List<String> keys = (List<String>) map.get("keys"); if (prop != null && "unbounded".equals(prop)) { // assume there are only 1 key String[] values = artifact.getAttributes((String) keys.get(0)); if (values != null) { for (int j = 0; j < values.length; ++j) { if (!values[j].matches((String) map.get("regexp"))) { // return an exception to stop adding artifact throw new GovernanceException( (String) map.get("name") + " doesn't match regex: " + (String) map.get("Regexp")); } } } } else { for (int j = 0; j < keys.size(); ++j) { String v = artifact.getAttribute(keys.get(j)); if (j != 0) value += ":"; value += (v == null ? "" : v); } if (!value.matches((String) map.get("regexp"))) { // return an exception to stop adding artifact throw new GovernanceException( (String) map.get("name") + " doesn't match regex: " + (String) map.get("Regexp")); } } } }