3.0.4: 2012-03-05

net.sf.basedb.util.overview.validator
Class SoftwareValidator

java.lang.Object
  extended by net.sf.basedb.util.overview.validator.BasicNodeValidator<I>
      extended by net.sf.basedb.util.overview.validator.NameableNodeValidator<Software>
          extended by net.sf.basedb.util.overview.validator.SoftwareValidator
All Implemented Interfaces:
NodeValidator<Software>

public class SoftwareValidator
extends NameableNodeValidator<Software>

Validator implementation for software. Validation rules:

Version:
2.10
Author:
Nicklas
Last modified
$Date: 2011-10-18 13:46:59 +0200 (Tue, 18 Oct 2011) $

Constructor Summary
SoftwareValidator()
           
 
Method Summary
protected  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 a Validator.MISSING_SOFTWARE failure.
 
Methods inherited from class net.sf.basedb.util.overview.validator.BasicNodeValidator
getDeniedItemFix, postDeniedItem, postMissingItem, postValidateFolder, preDeniedItem, preValidate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SoftwareValidator

public SoftwareValidator()
Method Detail

preMissingItem

public 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 a Validator.MISSING_SOFTWARE failure. Otherwise, ignore the missing software.

Specified by:
preMissingItem in interface NodeValidator<Software>
Overrides:
preMissingItem in class BasicNodeValidator<Software>
Parameters:
dc - A DbControl to use if the validation needs to access the database
context - The current overview context
parentNode - The parent node that is missing the item
Returns:
Always false
Since:
3.0

postValidate

public 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.

Specified by:
postValidate in interface NodeValidator<Software>
Overrides:
postValidate in class NameableNodeValidator<Software>
Parameters:
dc - A DbControl to use if the validation needs to access the database
context - The current overview context
node - The node object that represents item
parentNode - The parent node that is linked with the item

getMissingItemFix

protected Fix getMissingItemFix(DbControl dc,
                                Node parentNode)
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 class BasicNodeValidator<Software>
Returns:
Suggested fix is to add a software to the parent item

getExpectedSoftwareSubtype

protected ItemSubtype getExpectedSoftwareSubtype(DbControl dc,
                                                 BasicItem parentItem)
Get the subtype of the associated software that we expect for the given parent item.


3.0.4: 2012-03-05