As part of development for GeoMesa, I've found it valuable to have maintenance and other custom operations available at the accumulo shell. To support this, I have modified the Shell class to load commands defined as SPI META-INF/services in jars in $ACCUMULO_HOME/lib/ext. This allows developers to create a jar with a file:
META-INF/services/org.apache.accumulo.core.util.shell.Command which contains one Command per line such as: geomesa.core.util.shell.ListFeaturesCommand geomesa.core.util.shell.InitializeFeatureCommand geomesa.core.util.shell.IngestFeatureCommand geomesa.core.util.shell.OptimizeIndexCommand geomesa.core.util.shell.RefreshBoundsCommand I have put up a branch of the modification here: https://github.com/ccri/accumulo/tree/extensible_shell The actual code change is quite minimal but I had to pull the abstract Command class up into its own file so I could use the ServiceLoader to load Command resources. Does this sound like something that could be valuable to others? Thanks, Anthony
