Class ArrayDesignReportCli
- All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, org.springframework.context.EnvironmentAware, CLI
ArrayDesignReportService serializes under
${gemma.appdata.home}/ArrayDesignReports.
These counts are expensive (counting distinct genes for one large platform measures ~1.7 s
against production) and change only when a platform's sequences or gene mappings are recomputed,
so they are computed ahead of time rather than per request. GET /platforms serves
numberOfGenes / numberOfMappedElements from these files.
Until now nothing could write them on demand. The pipeline CLIs regenerate a single platform's
report as a side effect of remapping it, and SchedulerConfig.arrayDesignReportTrigger
regenerates all of them monthly — but that trigger is a Quartz bean gated on the
scheduler profile, and production nodes run production without it, so on a
production deployment the reports are never written at all. This command fills that gap.
Requires an explicit selection: pass --all for the whole corpus, or name platforms with
the usual -a / platform-identifier options. With neither, the base class fails with
"No platforms matched the given options" rather than defaulting to everything.
- Author:
- paul
-
Nested Class Summary
Nested classes/interfaces inherited from interface CLI
CLI.CommandGroup -
Field Summary
Fields inherited from class ArrayDesignSequenceManipulatingCli
arrayDesignService, auditEventService, auditTrailService, entityLocatorFields inherited from class AbstractAutoSeekingCLI
FORCE_OPTIONFields inherited from class AbstractCLI
ABORTED, FAILURE, FAILURE_FROM_ERROR_OBJECTS, log, SUCCESS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionA short memorable name for the command that can be used to locate this class.Obtain a short description for this command explaining what it does.protected voidprocessArrayDesigns(Collection<ArrayDesign> arrayDesigns) Methods inherited from class ArrayDesignSequenceManipulatingCli
buildArrayDesignOptions, buildOptions, doAuthenticatedWork, getCommandGroup, getRelatedDesigns, isSubsumedOrMerged, needToRun, processArrayDesign, processArrayDesignOptions, processOptions, shouldRun, toBatchObjectMethods inherited from class AbstractAutoSeekingCLI
addAutoOption, addAutoOption, addErrorObject, addErrorObject, addErrorObject, addForceOption, addForceOption, addLimitingDateOption, addSuccessObject, addSuccessObject, addWarningObject, addWarningObject, getAutoSeekEventType, getLimitingDate, isAutoSeek, isForce, noNeedToRun, setForceMethods inherited from class AbstractAuthenticatedCLI
afterPropertiesSet, doWork, setAuthenticateAnonymously, setEnvironment, setRequireLoginMethods inherited from class AbstractCLI
abort, addBatchOption, addErrorObject, addErrorObject, addErrorObject, addSuccessObject, addSuccessObject, addThreadsOption, addWarningObject, addWarningObject, allowPositionalArguments, awaitBatchExecutorService, executeCommand, getApplicationContext, getBatchTaskExecutor, getBatchTaskProgressReporter, getCliContext, getCommandAliases, getHelpFooter, getNumThreads, getOptions, getPipelineJobReporter, getUsage, promptConfirmationOrAbort, setAllowPositionalArguments, setApplicationContext, setEstimatedMaxTasks, setReportFrequencyMillis
-
Constructor Details
-
ArrayDesignReportCli
public ArrayDesignReportCli()
-
-
Method Details
-
getCommandName
Description copied from interface:CLIA short memorable name for the command that can be used to locate this class.- Specified by:
getCommandNamein interfaceCLI- Overrides:
getCommandNamein classAbstractCLI- Returns:
- name; if null or blank, this will not be available as a shortcut command.
-
getShortDesc
Description copied from interface:CLIObtain a short description for this command explaining what it does.- Specified by:
getShortDescin interfaceCLI- Overrides:
getShortDescin classAbstractCLI
-
processArrayDesigns
- Overrides:
processArrayDesignsin classArrayDesignSequenceManipulatingCli
-