![JAR search and dependency download from the Maven repository](/logo.png)
com.denimgroup.threadfix.cli.DefectTrackerParameterParser Maven / Gradle / Ivy
package com.denimgroup.threadfix.cli;
import com.denimgroup.threadfix.data.entities.DefectTracker;
import com.denimgroup.threadfix.remote.ThreadFixRestClient;
import com.denimgroup.threadfix.remote.response.RestResponse;
import java.util.List;
import static com.denimgroup.threadfix.CollectionUtils.list;
public class DefectTrackerParameterParser extends GenericParameterParser {
static final private List validParameters = list("defectTrackerTypeId", "name", "url", "defaultUsername",
"defaultPassword", "defaultProductName");
public static RestResponse processNewDefectTrackerParameters(ThreadFixRestClient client,
String... args) {
setParameters(collapseParameters(args)); // This makes me cringe but it's single-threaded right?
checkArguments();
return client.newDefectTracker(getStringValue("defectTrackerTypeId"),
getStringValue("name"),
getStringValue("url"),
getStringValue("defaultUsername"),
getStringValue("defaultPassword"),
getStringValue("defaultProductName"));
}
private static void checkArguments() {
for (String parameter : getParameters()) {
if (!parameter.contains("=")) {
throw new IllegalArgumentException(parameter + " was invalid. Expected format is =");
}
String shorterName = parameter.substring(0, parameter.indexOf('='));
if (!validParameters.contains(shorterName)) {
throw new IllegalArgumentException(parameter + " was invalid. The key should be one of " + validParameters);
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy