in gateway-server/src/main/java/org/apache/knox/gateway/util/KnoxCLI.java [2462:2523]
public void execute() throws Exception {
if (StringUtils.isBlank(FilenameUtils.getExtension(providerName))
|| StringUtils.isBlank(FilenameUtils.getExtension(descriptorName))) {
throw new IllegalArgumentException(
" JSON extension is required for provider and descriptor file names");
}
final TopologyToDescriptor converter = new TopologyToDescriptor();
converter.setForce(force);
if (!StringUtils.isBlank(topologyName)) {
converter.setTopologyPath(
getGatewayConfig().getGatewayTopologyDir() + File.separator
+ topologyName);
} else if (!StringUtils.isBlank(path)) {
converter.setTopologyPath(path);
} else {
throw new IllegalArgumentException(
"Please specify either --path or --topology-name option");
}
if (!StringUtils.isBlank(providerName)) {
converter.setProviderName(providerName);
}
if (!StringUtils.isBlank(descriptorName)) {
converter.setDescriptorName(descriptorName);
}
/* if output location is provided then use it */
if (!StringUtils.isBlank(outputDir)) {
converter.setProviderConfigDir(outputDir);
converter.setDescriptorConfigDir(outputDir);
} else {
converter.setProviderConfigDir(
getGatewayConfig().getGatewayProvidersConfigDir());
converter.setDescriptorConfigDir(
getGatewayConfig().getGatewayDescriptorsDir());
}
/* set discovery params */
if (!StringUtils.isBlank(cluster)) {
converter.setCluster(cluster);
}
if (!StringUtils.isBlank(discoveryUrl)) {
converter.setDiscoveryUrl(discoveryUrl);
}
if (!StringUtils.isBlank(discoveryUser)) {
converter.setDiscoveryUser(discoveryUser);
}
if (!StringUtils.isBlank(discoveryPasswordAlias)) {
converter.setDiscoveryPasswordAlias(discoveryPasswordAlias);
}
if (!StringUtils.isBlank(discoveryType)) {
converter.setDiscoveryType(discoveryType);
}
converter.validate();
converter.convert();
final String topoName = StringUtils.isBlank(topologyName) ? FilenameUtils.getBaseName(path) : topologyName;
out.println(
"Provider " + providerName + " and descriptor " + descriptorName
+ " generated for topology " + topoName
+ "\n");
}