X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a3cd0039e84373541d6648b76647457be5a7e098..f7f61eca36d66a723b02ac34db888f5fbdc63fc8:/sdk/java/ArvadosSDKJavaExampleWithPrompt.java diff --git a/sdk/java/ArvadosSDKJavaExampleWithPrompt.java b/sdk/java/ArvadosSDKJavaExampleWithPrompt.java index a6efd806fe..64a77604a4 100644 --- a/sdk/java/ArvadosSDKJavaExampleWithPrompt.java +++ b/sdk/java/ArvadosSDKJavaExampleWithPrompt.java @@ -38,67 +38,79 @@ public class ArvadosSDKJavaExampleWithPrompt { System.out.println("When entering parameters, you may enter a simple string or a well-formed json."); System.out.println("For example to get a user you may enter: user, zzzzz-12345-67890"); System.out.println("Or to filter links, you may enter: filters, [[ \"name\", \"=\", \"can_manage\"]]"); - + System.out.println("\nEnter ^C when you want to quit"); // use configured env variables for API TOKEN, HOST and HOST_INSECURE Arvados arv = new Arvados(apiName, apiVersion); while (true) { - // prompt for resource - System.out.println("\n\nEnter Resource name (for example users)"); - System.out.print("\n>>> "); + try { + // prompt for resource + System.out.println("\n\nEnter Resource name (for example users)"); + System.out.println("\nAvailable resources are: " + arv.getAvailableResourses()); + System.out.print("\n>>> "); - // read resource name - BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); - String resourceName = in.readLine().trim(); + // read resource name + BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); + String resourceName = in.readLine().trim(); + if ("".equals(resourceName)) { + throw (new Exception("No resource name entered")); + } + // read method name + System.out.println("\nEnter method name (for example get)"); + System.out.println("\nAvailable methods are: " + arv.getAvailableMethodsForResourse(resourceName)); + System.out.print("\n>>> "); + String methodName = in.readLine().trim(); + if ("".equals(methodName)) { + throw (new Exception("No method name entered")); + } - // read method name - System.out.println("\nEnter method name (for example get)"); - System.out.print("\n>>> "); - String methodName = in.readLine().trim(); + // read method parameters + System.out.println("\nEnter parameter name, value (for example uuid, uuid-value)"); + System.out.print("\n>>> "); + Map paramsMap = new HashMap(); + String param = ""; + try { + do { + param = in.readLine(); + if (param.isEmpty()) + break; + int index = param.indexOf(","); // first comma + String paramName = param.substring(0, index); + String paramValue = param.substring(index+1); + paramsMap.put(paramName.trim(), paramValue.trim()); - // read method parameters - System.out.println("\nEnter parameter name, value (for example uuid, uuid-value)"); - System.out.print("\n>>> "); - Map paramsMap = new HashMap(); - String param = ""; - try { - do { - param = in.readLine(); - if (param.isEmpty()) - break; - int index = param.indexOf(","); // first comma - String paramName = param.substring(0, index); - String paramValue = param.substring(index+1); - paramsMap.put(paramName.trim(), paramValue.trim()); + System.out.println("\nEnter parameter name, value (for example uuid, uuid-value)"); + System.out.print("\n>>> "); + } while (!param.isEmpty()); + } catch (Exception e) { + System.out.println (e.getMessage()); + System.out.println ("\nSet up a new call"); + continue; + } - System.out.println("\nEnter parameter name, value (for example uuid, uuid-value)"); - System.out.print("\n>>> "); - } while (!param.isEmpty()); - } catch (Exception e) { - System.out.println (e.getMessage()); - System.out.println ("\nSet up a new call"); - continue; - } + // Make a "call" for the given resource name and method name + try { + System.out.println ("Making a call for " + resourceName + " " + methodName); + Map response = arv.call(resourceName, methodName, paramsMap); - // Make a "call" for the given resource name and method name - try { - System.out.println ("Making a call for " + resourceName + " " + methodName); - Map response = arv.call(resourceName, methodName, paramsMap); - - Set> entrySet = (Set>)response.entrySet(); - for (Map.Entry entry : entrySet) { - if ("items".equals(entry.getKey())) { - List items = (List)entry.getValue(); - for (Object item : items) { - System.out.println(" " + item); - } - } else { - System.out.println(entry.getKey() + " = " + entry.getValue()); + Set> entrySet = (Set>)response.entrySet(); + for (Map.Entry entry : entrySet) { + if ("items".equals(entry.getKey())) { + List items = (List)entry.getValue(); + for (Object item : items) { + System.out.println(" " + item); + } + } else { + System.out.println(entry.getKey() + " = " + entry.getValue()); + } } + } catch (Exception e){ + System.out.println (e.getMessage()); + System.out.println ("\nSet up a new call"); } - } catch (Exception e){ + } catch (Exception e) { System.out.println (e.getMessage()); System.out.println ("\nSet up a new call"); }