@@ -37,15 +37,23 @@ public boolean isCommandAvailable() {
3737 @ CliCommand (value = "featuretype list" , help = "List feature types." )
3838 public String list (
3939 @ CliOption (key = "workspace" , mandatory = true , help = "The workspace" ) String workspace ,
40- @ CliOption (key = "datastore" , mandatory = true , help = "The datastore" ) String datastore
40+ @ CliOption (key = "datastore" , mandatory = true , help = "The datastore" ) String datastore ,
41+ @ CliOption (key = "list" , mandatory = false , unspecifiedDefaultValue = "configured" , help = "The list parameter (configured, available, available_with_geom, all)" ) String list
4142 ) throws Exception {
42- String url = geoserver .getUrl () + "/rest/workspaces/" + URLUtil .encode (workspace ) + "/datastores/" + URLUtil .encode (datastore ) + "/featuretypes.xml" ;
43+ String url = geoserver .getUrl () + "/rest/workspaces/" + URLUtil .encode (workspace ) + "/datastores/" + URLUtil .encode (datastore ) + "/featuretypes.xml?list=" + list ;
4344 String xml = HTTPUtils .get (url , geoserver .getUser (), geoserver .getPassword ());
4445 Element element = JDOMBuilder .buildElement (xml );
45- List <Element > elements = element .getChildren ("featureType" );
4646 List <String > names = new ArrayList <String >();
47- for (Element elem : elements ) {
48- names .add (elem .getChildText ("name" ));
47+ if (element .getName ().equalsIgnoreCase ("featureTypes" )) {
48+ List <Element > elements = element .getChildren ("featureType" );
49+ for (Element elem : elements ) {
50+ names .add (elem .getChildText ("name" ));
51+ }
52+ } else {
53+ List <Element > elements = element .getChildren ("featureTypeName" );
54+ for (Element elem : elements ) {
55+ names .add (elem .getTextTrim ());
56+ }
4957 }
5058 Collections .sort (names );
5159 StringBuilder builder = new StringBuilder ();
0 commit comments