Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add printing of (better) help/usage to console #31

Closed
grtjn opened this issue Jul 15, 2016 · 0 comments
Closed

Add printing of (better) help/usage to console #31

grtjn opened this issue Jul 15, 2016 · 0 comments
Assignees

Comments

@grtjn
Copy link

grtjn commented Jul 15, 2016

if you run Corb2 via Roxy (with latest PR), but don't provide any arguments, you get:

$ ./ml local corb
Jul 15, 2016 9:17:50 AM com.marklogic.developer.corb.Manager main
SEVERE: Error initializing CORB
java.lang.NullPointerException: PROCESS-TASK or PROCESS-MODULE must be specified
    at com.marklogic.developer.corb.Manager.initOptions(Manager.java:336)
    at com.marklogic.developer.corb.Manager.init(Manager.java:204)
    at com.marklogic.developer.corb.AbstractManager.init(AbstractManager.java:173)
    at com.marklogic.developer.corb.Manager.main(Manager.java:162)

Particularly showing java.lang.NullPointerException looks odd. Maybe take MLCP as example?

$ ./ml local mlcp

usage: mlcp COMMAND [ARGS]

Available commands:
  IMPORT  import data to a MarkLogic database
  EXPORT  export data from a MarkLogic database
  COPY    copy data from one MarkLogic database to another
  EXTRACT extract data from MarkLogic forests
  HELP    list available commands
  VERSION print the version

$ ./ml local mlcp import

16/07/15 09:23:29 ERROR contentpump.ContentPump: Error parsing command arguments: 
16/07/15 09:23:29 ERROR contentpump.ContentPump: Missing required option: input_file_path
usage: IMPORT [-aggregate_record_element <QName>]
       [-aggregate_record_namespace <namespace>] [-aggregate_uri_id
       <QName>] [-archive_metadata_optional <true,false>] [-batch_size
       <number>] [-collection_filter <String>] [-content_encoding
       <encoding>] [-copy_collections <true,false>] [-copy_permissions
       <true,false>] [-copy_properties <true,false>] [-copy_quality
       <true,false>] [-data_type <data type>] [-database <database>]
       [-delimited_root_name <root name>] [-delimited_uri_id <column
       name>] [-delimiter <delimiter>] [-directory_filter <String>]
       [-document_type <type>] [-fastload <true,false>]
       [-filename_as_collection <true,false>] [-generate_uri <true,
       false>] [-hadoop_conf_dir <directory>] -host <host>
       [-input_compressed <true,false>] [-input_compression_codec <codec>]
       -input_file_path <path> [-input_file_pattern <regex pattern>]
       [-input_file_type <type>] [-max_split_size <number>]
       [-min_split_size <number>] [-mode <mode>] [-namespace <namespace>]
       [-output_cleandir <true,false>] [-output_collections <collections>]
       [-output_directory <directory>] [-output_graph <graph>]
       [-output_language <language>] [-output_override_graph <graph>]
       [-output_partition <partition name>] [-output_permissions
       <permissions>] [-output_quality <quality>] [-output_uri_prefix
       <prefix>] [-output_uri_replace <list>] [-output_uri_suffix
       <suffix>] [-password <password>] [-port <port>]
       [-sequencefile_key_class <class name>] [-sequencefile_value_class
       <class name>] [-sequencefile_value_type <value type>] [-split_input
       <true,false>] [-streaming <true,false>] [-temporal_collection
       <String>] [-thread_count <count>] [-thread_count_per_split <count>]
       [-tolerate_errors <true,false>] [-transaction_size <number>]
       [-transform_function <String>] [-transform_module <String>]
       [-transform_namespace <String>] [-transform_param <String>]
       [-type_filter <String>] [-uri_id <uri name>] [-username <username>]
       [-xml_repair_level <level>]
 -aggregate_record_element <QName>         Element name in which each
                                           document is found
 -aggregate_record_namespace <namespace>   Element namespace in which each
                                           document is found
 -aggregate_uri_id <QName>                 Deprecated. Name of the first
                                           element or attribute within a
                                           record element to be used as
                                           document URI. If omitted, a
                                           sequence id will be generated
                                           to  form the document URI.
 -archive_metadata_optional <true,false>   Whether to allow empty metadata
                                           when importing archive
...
@hansenmc hansenmc self-assigned this Jul 20, 2016
hansenmc added a commit that referenced this issue Jul 24, 2016
Added an implementation of usage() to AbstractManager that leverages a
Usage annotation on each Option to dynamically generate a Usage message
that describes each of the CoRB2 Options currently available. As new
options are added, the Usage message will be updated. Added a unit test
to ensure that all of the Options use the Usage annotation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants