From 80ed1869719ce0da4e7a29afa917a16162b2fff2 Mon Sep 17 00:00:00 2001 From: Geraldine Van der Auwera Date: Fri, 16 Aug 2013 14:25:53 -0400 Subject: [PATCH] More detailed labels for arguments in the gakdocs (requested by David) --- .../sting/commandline/ArgumentSource.java | 16 +++++++++ .../help/GenericDocumentationHandler.java | 36 +++++++++++++++---- settings/helpTemplates/generic.template.html | 15 ++++++-- 3 files changed, 58 insertions(+), 9 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/commandline/ArgumentSource.java b/public/java/src/org/broadinstitute/sting/commandline/ArgumentSource.java index efacde231..12bf548d5 100644 --- a/public/java/src/org/broadinstitute/sting/commandline/ArgumentSource.java +++ b/public/java/src/org/broadinstitute/sting/commandline/ArgumentSource.java @@ -159,6 +159,22 @@ public class ArgumentSource { return field.isAnnotationPresent(Advanced.class); } + /** + * Is the given argument an output. + * @return True if so. False otherwise. + */ + public boolean isOutput() { + return field.isAnnotationPresent(Output.class); + } + + /** + * Is the given argument an input. + * @return True if so. False otherwise. + */ + public boolean isInput() { + return field.isAnnotationPresent(Input.class); + } + /** * Is this command-line argument dependent on some primitive argument types? * @return True if this command-line argument depends on other arguments; false otherwise. diff --git a/public/java/src/org/broadinstitute/sting/utils/help/GenericDocumentationHandler.java b/public/java/src/org/broadinstitute/sting/utils/help/GenericDocumentationHandler.java index f124410e0..893a8349b 100644 --- a/public/java/src/org/broadinstitute/sting/utils/help/GenericDocumentationHandler.java +++ b/public/java/src/org/broadinstitute/sting/utils/help/GenericDocumentationHandler.java @@ -194,11 +194,26 @@ public class GenericDocumentationHandler extends DocumentedGATKFeatureHandler { @Requires("argumentSource != null") @Ensures("result != null") private String docKindOfArg(ArgumentSource argumentSource) { - if (argumentSource.isRequired()) return "required"; - else if (argumentSource.isAdvanced()) return "advanced"; + if (argumentSource.isRequired()) { + if (argumentSource.isInput()) return "required_in"; + else if (argumentSource.isOutput()) return "required_out"; + else if (argumentSource.isFlag()) return "required_flag"; + else return "required_param"; + } + else if (argumentSource.isAdvanced()) { + if (argumentSource.isInput()) return "advanced_in"; + else if (argumentSource.isOutput()) return "advanced_out"; + else if (argumentSource.isFlag()) return "advanced_flag"; + else return "advanced_param"; + } else if (argumentSource.isHidden()) return "hidden"; else if (argumentSource.isDeprecated()) return "deprecated"; - else return "optional"; + else { + if (argumentSource.isInput()) return "optional_in"; + else if (argumentSource.isOutput()) return "optional_out"; + else if (argumentSource.isFlag()) return "optional_flag"; + else return "optional_param"; + } } /** @@ -238,9 +253,18 @@ public class GenericDocumentationHandler extends DocumentedGATKFeatureHandler { private Map>> createArgumentMap() { Map>> args = new HashMap>>(); args.put("all", new ArrayList>()); - args.put("required", new ArrayList>()); - args.put("optional", new ArrayList>()); - args.put("advanced", new ArrayList>()); + args.put("required_in", new ArrayList>()); + args.put("required_out", new ArrayList>()); + args.put("required_param", new ArrayList>()); + args.put("required_flag", new ArrayList>()); + args.put("optional_in", new ArrayList>()); + args.put("optional_out", new ArrayList>()); + args.put("optional_param", new ArrayList>()); + args.put("optional_flag", new ArrayList>()); + args.put("advanced_in", new ArrayList>()); + args.put("advanced_out", new ArrayList>()); + args.put("advanced_param", new ArrayList>()); + args.put("advanced_flag", new ArrayList>()); args.put("hidden", new ArrayList>()); args.put("deprecated", new ArrayList>()); return args; diff --git a/settings/helpTemplates/generic.template.html b/settings/helpTemplates/generic.template.html index 589eed927..098d294cb 100644 --- a/settings/helpTemplates/generic.template.html +++ b/settings/helpTemplates/generic.template.html @@ -235,9 +235,18 @@ - <@argumentlist name="Required" myargs=arguments.required/> - <@argumentlist name="Optional" myargs=arguments.optional/> - <@argumentlist name="Advanced" myargs=arguments.advanced/> + <@argumentlist name="Required Inputs" myargs=arguments.required_in/> + <@argumentlist name="Required Outputs" myargs=arguments.required_out/> + <@argumentlist name="Required Parameters" myargs=arguments.required_param/> + <@argumentlist name="Required Flags" myargs=arguments.required_flag/> + <@argumentlist name="Optional Inputs" myargs=arguments.optional_in/> + <@argumentlist name="Optional Outputs" myargs=arguments.optional_out/> + <@argumentlist name="Optional Parameters" myargs=arguments.optional_param/> + <@argumentlist name="Optional Flags" myargs=arguments.optional_flag/> + <@argumentlist name="Advanced Inputs" myargs=arguments.advanced_in/> + <@argumentlist name="Advanced Outputs" myargs=arguments.advanced_out/> + <@argumentlist name="Advanced Parameters" myargs=arguments.advanced_param/> + <@argumentlist name="Advanced Flags" myargs=arguments.advanced_flag/> <@argumentlist name="Hidden" myargs=arguments.hidden/> <@argumentlist name="Deprecated" myargs=arguments.deprecated/>