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 01221cf27..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 "depreciated"; - else return "optional"; + else if (argumentSource.isDeprecated()) return "deprecated"; + 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,11 +253,20 @@ 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("depreciated", new ArrayList>()); + args.put("deprecated", new ArrayList>()); return args; } @@ -843,7 +867,7 @@ public class GenericDocumentationHandler extends DocumentedGATKFeatureHandler { // general attributes List attributes = new ArrayList(); if (def.required) attributes.add("required"); - if (source.isDeprecated()) attributes.add("depreciated"); + if (source.isDeprecated()) attributes.add("deprecated"); if (attributes.size() > 0) root.put("attributes", Utils.join(", ", attributes)); diff --git a/settings/helpTemplates/generic.template.html b/settings/helpTemplates/generic.template.html index ea9fa2d72..098d294cb 100644 --- a/settings/helpTemplates/generic.template.html +++ b/settings/helpTemplates/generic.template.html @@ -235,11 +235,20 @@ - <@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="Depreciated" myargs=arguments.depreciated/> + <@argumentlist name="Deprecated" myargs=arguments.deprecated/>