Author: [log in to unmask] Date: Wed Oct 28 15:28:18 2015 New Revision: 3908 Log: Consolidate method into single class. Removed: java/trunk/datacat-client/src/main/java/org/hps/datacat/client/DatasetUtilities.java Modified: java/trunk/datacat-client/src/main/java/org/hps/datacat/client/DatacatClientImpl.java Modified: java/trunk/datacat-client/src/main/java/org/hps/datacat/client/DatacatClientImpl.java ============================================================================= --- java/trunk/datacat-client/src/main/java/org/hps/datacat/client/DatacatClientImpl.java (original) +++ java/trunk/datacat-client/src/main/java/org/hps/datacat/client/DatacatClientImpl.java Wed Oct 28 15:28:18 2015 @@ -5,12 +5,14 @@ import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import java.util.logging.Logger; +import org.json.JSONArray; import org.json.JSONObject; /** @@ -68,7 +70,7 @@ throw new IllegalArgumentException("The root dir argument is null."); } this.rootDir = rootDir; - LOGGER.config("url: " + url + "; site: " + site + "rootDir: " + rootDir); + LOGGER.config("url: " + url + "; site: " + site + "; rootDir: " + rootDir); } /** @@ -212,7 +214,7 @@ // Build and return dataset list final JSONObject searchResults = new JSONObject(outputBuffer.toString()); LOGGER.info("returning search results: " + searchResults.toString()); - return DatasetUtilities.getDatasetsFromSearch(searchResults); + return createDatasetsFromSearch(searchResults); } /** @@ -299,4 +301,21 @@ LOGGER.info("removing folder: " + fullUrl); return HttpUtilities.doDelete(fullUrl); } + + /** + * Create {@link Dataset} objects from JSON search results. + * + * @param searchResults the JSON search results + * @return the list of {@link Dataset} objects + */ + static List<Dataset> createDatasetsFromSearch(JSONObject searchResults) { + List<Dataset> datasets = new ArrayList<Dataset>(); + JSONArray resultsArray = searchResults.getJSONArray("results"); + for (int i = 0; i < resultsArray.length(); i++) { + JSONObject jsonObject = resultsArray.getJSONObject(i); + System.out.println("result[" + i + "]: " + jsonObject.toString()); + datasets.add(new DatasetImpl(resultsArray.getJSONObject(i))); + } + return datasets; + } }