public static TopologySpec.Builder builder(URI catalogURI, Properties topologyProps) {
String name = topologyProps.getProperty(ConfigurationKeys.TOPOLOGY_NAME_KEY);
String group = topologyProps.getProperty(ConfigurationKeys.TOPOLOGY_GROUP_KEY, "default");
try {
URI topologyURI = new URI(catalogURI.getScheme(), catalogURI.getAuthority(),
"/" + group + "/" + name, null);
TopologySpec.Builder builder = new TopologySpec.Builder(topologyURI).withConfigAsProperties(topologyProps);
String descr = topologyProps.getProperty(ConfigurationKeys.TOPOLOGY_DESCRIPTION_KEY, null);
if (null != descr) {
builder = builder.withDescription(descr);
}
return builder;
} catch (URISyntaxException e) {
throw new RuntimeException("Unable to create a TopologySpec URI: " + e, e);
}
}