Package ubic.gemma.cli.util
Class AbstractAuthenticatedCLI
java.lang.Object
ubic.gemma.cli.util.AbstractCLI
ubic.gemma.cli.util.AbstractAuthenticatedCLI
- All Implemented Interfaces:
org.springframework.beans.factory.Aware
,org.springframework.beans.factory.InitializingBean
,org.springframework.context.ApplicationContextAware
,org.springframework.context.EnvironmentAware
,CLI
- Direct Known Subclasses:
AbstractAutoSeekingCLI
,ArrayDesignAlternativePopulateCli
,BibRefUpdaterCli
,BlacklistCli
,CompleteCli
,DatabaseViewGeneratorCLI
,ExperimentalDesignViewCli
,ExternalDatabaseAdderCli
,ExternalDatabaseOverviewCli
,ExternalDatabaseUpdaterCli
,ExternalFileGeneLoaderCLI
,FactorValueMigratorCLI
,FindObsoleteTermsCli
,FixOntologyTermLabelsCli
,GenericGenelistDesignGenerator
,GeoGrabberCli
,LoadExpressionDataCli
,LoadSimpleExpressionDataCli
,MultifunctionalityCli
,NCBIGene2GOAssociationLoaderCLI
,NcbiGeneLoaderCLI
,ProtocolAdderCli
,ProtocolDeleterCli
,ProtocolListCli
,PubMedLoaderCli
,PubMedSearcher
,TaxonLoaderCli
,UpdateEe2AdCli
,UpdateEE2CCli
,UpdateGene2CsCli
,UpdatePubMedCli
public abstract class AbstractAuthenticatedCLI
extends AbstractCLI
implements org.springframework.beans.factory.InitializingBean, org.springframework.context.EnvironmentAware
Subclass this to create command line interface (CLI) tools that need authentication.
Credentials may be supplied via the environment using the $GEMMA_USERNAME
and $GEMMA_PASSWORD
variables. A more secure $GEMMA_PASSWORD_CMD
variable can be used to specify a command that produces the
password. If no environment variables are supplied, they will be prompted if the standard input is attached to a
console (i.e tty).
If the test
or testdb
profile is active, environment variables with the $GEMMA_TESTDB_
prefix
will be looked up instead.
- Author:
- pavlidis
-
Nested Class Summary
Nested classes/interfaces inherited from interface ubic.gemma.cli.util.CLI
CLI.CommandGroup
-
Field Summary
Fields inherited from class ubic.gemma.cli.util.AbstractCLI
ABORTED, FAILURE, FAILURE_FROM_ERROR_OBJECTS, log, SUCCESS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
protected abstract void
protected final void
doWork()
Command line implementation.void
setEnvironment
(org.springframework.core.env.Environment environment) protected void
Indicate that the command requires authentication.Methods inherited from class ubic.gemma.cli.util.AbstractCLI
abort, addBatchOption, addErrorObject, addErrorObject, addErrorObject, addSuccessObject, addSuccessObject, addThreadsOption, addWarningObject, addWarningObject, allowPositionalArguments, awaitBatchExecutorService, buildOptions, executeCommand, getApplicationContext, getBatchTaskExecutor, getBatchTaskProgressReporter, getCliContext, getCommandAliases, getCommandGroup, getCommandName, getHelpFooter, getNumThreads, getOptions, getShortDesc, getUsage, processOptions, promptConfirmationOrAbort, setAllowPositionalArguments, setApplicationContext, setEstimatedMaxTasks, setReportFrequencyMillis
-
Constructor Details
-
AbstractAuthenticatedCLI
public AbstractAuthenticatedCLI()
-
-
Method Details
-
afterPropertiesSet
- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
- Throws:
Exception
-
setEnvironment
public void setEnvironment(org.springframework.core.env.Environment environment) - Specified by:
setEnvironment
in interfaceorg.springframework.context.EnvironmentAware
-
setRequireLogin
protected void setRequireLogin()Indicate that the command requires authentication. -
doWork
Description copied from class:AbstractCLI
Command line implementation.This is called after
AbstractCLI.buildOptions(Options)
andAbstractCLI.processOptions(CommandLine)
. so the implementation can assume that all its arguments have already been initialized and any setup behaviour have been performed.- Specified by:
doWork
in classAbstractCLI
- Throws:
Exception
- in case of unrecoverable failure, an exception is thrown and will result in aAbstractCLI.FAILURE
exit code, otherwise useAbstractCLI.addErrorObject(java.io.Serializable, java.lang.String, java.lang.Throwable)
to indicate an error and resume processing
-
doAuthenticatedWork
- Throws:
Exception
-