use of com.blackducksoftware.integration.fortify.model.UpdateFortifyApplicationAttributesRequest.Value in project hub-fortify-ssc-integration-service by blackducksoftware.
the class MappingParser method addSingleOrMultipleDataTypeAttributes.
/**
* Return single or multiple option data type attribute values
*
* @param fortifyAttributeDefinition
* @return
* @throws IntegrationException
*/
private List<Value> addSingleOrMultipleDataTypeAttributes(FortifyAttributeDefinition fortifyAttributeDefinition) throws IntegrationException {
List<Value> values = new ArrayList<>();
Value value;
if ("SINGLE".equalsIgnoreCase(fortifyAttributeDefinition.getType())) {
value = new Value(validateSingleAndMultipleDataTypeAttributeValue(fortifyAttributeDefinition, attributeConstants.getProperty(fortifyAttributeDefinition.getName())));
values.add(value);
} else {
String[] valueArr = attributeConstants.getProperty(fortifyAttributeDefinition.getName()).split(",");
for (String strValue : valueArr) {
value = new Value(validateSingleAndMultipleDataTypeAttributeValue(fortifyAttributeDefinition, strValue.trim()));
values.add(value);
}
}
return values;
}
use of com.blackducksoftware.integration.fortify.model.UpdateFortifyApplicationAttributesRequest.Value in project hub-fortify-ssc-integration-service by blackducksoftware.
the class MappingParser method addCustomAttributes.
/**
* Add the custom required attributes to fortify update attribute definition request
*
* @param fortifyAttributeDefinition
* @return
* @throws IntegrationException
*/
private UpdateFortifyApplicationAttributesRequest addCustomAttributes(FortifyAttributeDefinition fortifyAttributeDefinition) throws IntegrationException {
List<Value> values = null;
Object value = null;
String dataType = fortifyAttributeDefinition.getType();
try {
switch(dataType) {
case "SINGLE":
case "MULTIPLE":
values = new ArrayList<>();
values.addAll(addSingleOrMultipleDataTypeAttributes(fortifyAttributeDefinition));
break;
case "TEXT":
case "LONG_TEXT":
case "SENSITIVE_TEXT":
value = attributeConstants.getProperty(fortifyAttributeDefinition.getName().trim());
break;
case "INTEGER":
value = Integer.parseInt(attributeConstants.getProperty(fortifyAttributeDefinition.getName().trim()));
break;
case "BOOLEAN":
value = Boolean.parseBoolean(attributeConstants.getProperty(fortifyAttributeDefinition.getName().trim()));
break;
case "DATE":
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate.parse(attributeConstants.getProperty(fortifyAttributeDefinition.getName().trim()), formatter);
value = attributeConstants.getProperty(fortifyAttributeDefinition.getName().trim());
break;
default:
value = attributeConstants.getProperty(fortifyAttributeDefinition.getName().trim());
}
} catch (NumberFormatException e) {
throw new IntegrationException(fortifyAttributeDefinition.getName() + "'s attribute value \"" + attributeConstants.getProperty(fortifyAttributeDefinition.getName().trim()) + "\" is not a valid " + dataType + "!");
} catch (DateTimeParseException e) {
throw new IntegrationException(fortifyAttributeDefinition.getName() + "'s attribute value \"" + attributeConstants.getProperty(fortifyAttributeDefinition.getName().trim()) + "\" is not a valid date! Please make sure the date format is yyyy-MM-dd");
}
logger.debug("Attribute name::" + fortifyAttributeDefinition.getName() + ", values::" + values + ", value::" + value);
return new UpdateFortifyApplicationAttributesRequest(fortifyAttributeDefinition.getId(), values, value);
}
Aggregations