Class SoftwareValidator
java.lang.Object
net.sf.basedb.util.overview.validator.BasicNodeValidator<I>
net.sf.basedb.util.overview.validator.NameableNodeValidator<Software>
net.sf.basedb.util.overview.validator.SoftwareValidator
- All Implemented Interfaces:
NodeValidator<Software>
Validator implementation for software. Validation rules:
- Missing item:
Validator.MISSING_SOFTWARE
- Access denied:
Validator.DENIED_SOFTWARE
- Incorrect software type:
Validator.INCORRECT_SOFTWARETYPE
- Non-default software:
Validator.NONDEFAULT_SOFTWARE
- Version:
- 2.10
- Author:
- Nicklas
- Last modified
- $Date: 2020-09-18 11:51:26 +0200 (Fri, 18 Sep 2020) $
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected ItemSubtype
getExpectedSoftwareSubtype
(DbControl dc, BasicItem parentItem) Get the subtype of the associated software that we expect for the given parent item.protected Fix
getMissingItemFix
(DbControl dc, Node parentNode) Subclasses should override this method if they have a suggessted fix for a missing item problem.void
postValidate
(DbControl dc, OverviewContext context, Node node, Node parentNode) Checks if the software is of the correct software type and, if a project is active, the software is the same as the default for the project.boolean
preMissingItem
(DbControl dc, OverviewContext context, Node parentNode) If the parent item has a subtype that is related to a SOFTWARE subtype, report the missing item as aValidator.MISSING_SOFTWARE
failure.Methods inherited from class net.sf.basedb.util.overview.validator.BasicNodeValidator
getDeniedItemFix, postDeniedItem, postMissingItem, postValidateFolder, preDeniedItem, preValidate
-
Constructor Details
-
SoftwareValidator
public SoftwareValidator()
-
-
Method Details
-
preMissingItem
If the parent item has a subtype that is related to a SOFTWARE subtype, report the missing item as aValidator.MISSING_SOFTWARE
failure. Otherwise, ignore the missing software.- Specified by:
preMissingItem
in interfaceNodeValidator<Software>
- Overrides:
preMissingItem
in classBasicNodeValidator<Software>
- Parameters:
dc
- A DbControl to use if the validation needs to access the databasecontext
- The current overview contextparentNode
- The parent node that is missing the item- Returns:
- Always false
- Since:
- 3.0
-
postValidate
Checks if the software is of the correct software type and, if a project is active, the software is the same as the default for the project.- Specified by:
postValidate
in interfaceNodeValidator<Software>
- Overrides:
postValidate
in classNameableNodeValidator<Software>
- Parameters:
dc
- A DbControl to use if the validation needs to access the databasecontext
- The current overview contextnode
- The node object that represents itemparentNode
- The parent node that is linked with the item
-
getMissingItemFix
Description copied from class:BasicNodeValidator
Subclasses should override this method if they have a suggessted fix for a missing item problem. The default implementation does nothing, but the following template may be usable by most subclasses:new Fix("Add item to parent", parentNode.getItem())
- Specified by:
getMissingItemFix
in classBasicNodeValidator<Software>
- Returns:
- Suggested fix is to add a software to the parent item
-
getExpectedSoftwareSubtype
Get the subtype of the associated software that we expect for the given parent item.
-