Class 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: 2020-09-18 11:51:26 +0200 (Fri, 18 Sep 2020) $
  • Constructor Details

    • SoftwareValidator

      public SoftwareValidator()
  • Method Details

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