Package ubic.gemma.core.util
Class AbstractAutoSeekingCLI<T extends ubic.gemma.model.common.auditAndSecurity.Auditable>
- java.lang.Object
-
- ubic.gemma.core.util.AbstractCLI
-
- ubic.gemma.core.util.AbstractAuthenticatedCLI
-
- ubic.gemma.core.util.AbstractAutoSeekingCLI<T>
-
- Type Parameters:
T- the type of entity being seeked
- 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:
ArrayDesignSequenceManipulatingCli,ExpressionExperimentManipulatingCLI
public abstract class AbstractAutoSeekingCLI<T extends ubic.gemma.model.common.auditAndSecurity.Auditable> extends AbstractAuthenticatedCLI
Provide auto-seeking capabilities to a CLI.This allows CLIs to process entities that lack certain
AuditEventor that haven't been updated since a certain date.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface ubic.gemma.core.util.CLI
CLI.CommandGroup
-
-
Field Summary
Fields Modifier and Type Field Description protected static StringFORCE_OPTION-
Fields inherited from class ubic.gemma.core.util.AbstractCLI
ABORTED, FAILURE, FAILURE_FROM_ERROR_OBJECTS, log, SUCCESS
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractAutoSeekingCLI(Class<T> entityClass)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddAutoOption(org.apache.commons.cli.Options options)Add the-autooption.protected voidaddAutoOption(org.apache.commons.cli.Options options, Class<? extends ubic.gemma.model.common.auditAndSecurity.eventType.AuditEventType> autoSeekEventType)Add the-autooption for a specificAuditEventType.protected voidaddForceOption(org.apache.commons.cli.Options options)protected voidaddForceOption(org.apache.commons.cli.Options options, String description)protected voidaddLimitingDateOption(org.apache.commons.cli.Options options)Add the-mdateoption.protected Class<? extends ubic.gemma.model.common.auditAndSecurity.eventType.AuditEventType>getAutoSeekEventType()Indicate the event to be used for auto-seeking.protected DategetLimitingDate()Obtain the limiting date (i.e. starting date at which entities should be processed).protected booleanisAutoSeek()Indicate if auto-seek is enabled.protected booleanisForce()Check if forcing is enabled.protected booleannoNeedToRun(T auditable, Class<? extends ubic.gemma.model.common.auditAndSecurity.eventType.AuditEventType> eventClass)Check if the given auditable can be skipped.protected voidprocessOptions(org.apache.commons.cli.CommandLine commandLine)Process command line options.protected voidsetForce()Enable the forcing mode.-
Methods inherited from class ubic.gemma.core.util.AbstractAuthenticatedCLI
afterPropertiesSet, createBatchTaskExecutorService, doAuthenticatedWork, doWork, setEnvironment, setRequireLogin
-
Methods inherited from class ubic.gemma.core.util.AbstractCLI
abort, addBatchOption, addErrorObject, addErrorObject, addErrorObject, addSuccessObject, addSuccessObject, addThreadsOption, addWarningObject, addWarningObject, allowPositionalArguments, awaitBatchExecutorService, buildOptions, executeCommand, getApplicationContext, getBatchTaskExecutor, getCliContext, getCommandAliases, getCommandGroup, getCommandName, getHelpFooter, getNumThreads, getOptions, getShortDesc, getUsage, promptConfirmationOrAbort, setAllowPositionalArguments, setApplicationContext, setEstimatedMaxTasks, setReportFrequencyMillis
-
-
-
-
Field Detail
-
FORCE_OPTION
protected static final String FORCE_OPTION
- See Also:
- Constant Field Values
-
-
Method Detail
-
addAutoOption
protected void addAutoOption(org.apache.commons.cli.Options options)
Add the-autooption.The auto option value can be retrieved with
isAutoSeek().
-
addAutoOption
protected void addAutoOption(org.apache.commons.cli.Options options, Class<? extends ubic.gemma.model.common.auditAndSecurity.eventType.AuditEventType> autoSeekEventType)Add the-autooption for a specificAuditEventType.The event type can be retrieved with
getAutoSeekEventType().
-
addLimitingDateOption
protected void addLimitingDateOption(org.apache.commons.cli.Options options)
Add the-mdateoption.The limiting date can be retrieved with
getLimitingDate().
-
addForceOption
protected void addForceOption(org.apache.commons.cli.Options options)
-
addForceOption
protected void addForceOption(org.apache.commons.cli.Options options, String description)
-
isAutoSeek
protected boolean isAutoSeek()
Indicate if auto-seek is enabled.
-
getAutoSeekEventType
protected Class<? extends ubic.gemma.model.common.auditAndSecurity.eventType.AuditEventType> getAutoSeekEventType()
Indicate the event to be used for auto-seeking.
-
getLimitingDate
@Nullable protected Date getLimitingDate()
Obtain the limiting date (i.e. starting date at which entities should be processed).
-
isForce
protected boolean isForce()
Check if forcing is enabled.
-
setForce
protected void setForce()
Enable the forcing mode.
-
processOptions
@OverridingMethodsMustInvokeSuper protected void processOptions(org.apache.commons.cli.CommandLine commandLine) throws org.apache.commons.cli.ParseException
Description copied from class:AbstractCLIProcess command line options.Implement this to provide processing of options. It is called after
AbstractCLI.buildOptions(Options)and right beforeAbstractCLI.doWork().- Overrides:
processOptionsin classAbstractCLI- Throws:
org.apache.commons.cli.ParseException- in case of unrecoverable failure (i.e. missing option or invalid value), an exception can be raised and will result in an exit code ofAbstractCLI.FAILURE.
-
-