@CliCommand(value = "datastore get", help = "Get a data store.")
public String get(
@CliOption(key = "workspace", mandatory = true, help = "The workspace") String workspace,
@CliOption(key = "name", mandatory = true, help = "The name") String name
) throws Exception {
GeoServerRESTReader reader = new GeoServerRESTReader(geoserver.getUrl(), geoserver.getUser(), geoserver.getPassword());
RESTDataStore dataStore = reader.getDatastore(workspace, name);
final String TAB = " ";
StringBuilder builder = new StringBuilder();
builder.append(dataStore.getName()).append(OsUtils.LINE_SEPARATOR);
builder.append(TAB).append("Enabled? ").append(dataStore.isEnabled()).append(OsUtils.LINE_SEPARATOR);
builder.append(TAB).append("Description: ").append(dataStore.getDescription()).append(OsUtils.LINE_SEPARATOR);
builder.append(TAB).append("Store Type: ").append(dataStore.getStoreType()).append(OsUtils.LINE_SEPARATOR);
builder.append(TAB).append("Type: ").append(dataStore.getType()).append(OsUtils.LINE_SEPARATOR);
builder.append(TAB).append("Workspace: ").append(dataStore.getWorkspaceName()).append(OsUtils.LINE_SEPARATOR);
builder.append(TAB).append("Connection Parameters:").append(OsUtils.LINE_SEPARATOR);
Map<String, String> params = dataStore.getConnectionParameters();
List<Map.Entry<String, String>> connectionParamList = new LinkedList<Map.Entry<String, String>>(params.entrySet());
Collections.sort(connectionParamList, new Comparator<Map.Entry<String,String>>() {
@Override
public int compare( Map.Entry<String,String> o1, Map.Entry<String,String> o2 )
{
return (o1.getKey()).compareTo( o2.getKey());
}
});
for (Map.Entry<String, String> param : connectionParamList) {
builder.append(TAB).append(TAB).append(param.getKey()).append(": ").append(param.getValue()).append(OsUtils.LINE_SEPARATOR);
}
return builder.toString();
}