Class PatchServiceImpl

  • All Implemented Interfaces:
    PatchService

    public class PatchServiceImpl
    extends java.lang.Object
    implements PatchService
    Manages patches applied against the repository.

    Patches are injected into this class and any attempted applications are recorded for later auditing.

    Since:
    1.2
    Author:
    Derek Hulley
    • Constructor Detail

      • PatchServiceImpl

        public PatchServiceImpl()
    • Method Detail

      • setDescriptorService

        public void setDescriptorService​(DescriptorService descriptorService)
      • setAppliedPatchDAO

        public void setAppliedPatchDAO​(AppliedPatchDAO appliedPatchDAO)
      • setRuleService

        public void setRuleService​(RuleService ruleService)
      • registerPatch

        public void registerPatch​(Patch patch)
        Description copied from interface: PatchService
        Registers a patch with the service that executes them.
        Specified by:
        registerPatch in interface PatchService
        Parameters:
        patch - the patch to register
      • validatePatches

        public boolean validatePatches()
        Does some up-front validation on the patches, specifically to see if they all apply to the current server version and not some future version. This is to prevent tampering with versioning information attached to a license.
        Specified by:
        validatePatches in interface PatchService
        Returns:
        true if validation is successful. Outputs errors and returns false otherwise.
      • validatePatch

        public boolean validatePatch​(Patch patch)
        Does some up-front validation on the specified patch, specifically to see if it applies to the current server version and not some future version. This is to prevent tampering with versioning information attached to a license.
        Specified by:
        validatePatch in interface PatchService
        Parameters:
        patch - the patch object
        Returns:
        true if validation is successful. Outputs errors and returns false otherwise.
      • applyOutstandingPatches

        public boolean applyOutstandingPatches()
        Description copied from interface: PatchService
        Apply all outstanding patches that are relevant to the repo. If there is a failure, then the patches that were applied will remain so, but the process will not attempt to apply any further patches.
        Specified by:
        applyOutstandingPatches in interface PatchService
        Returns:
        Returns true if all outstanding patches were applied, or false if the process was terminated before all patches could be applied.
      • applyOutstandingPatch

        public boolean applyOutstandingPatch​(Patch patch)
        Apply the specified patch that is relevant to the repo, regardless of the deferred flag.
        Specified by:
        applyOutstandingPatch in interface PatchService
        Parameters:
        patch - the patch object
        Returns:
        true if the specified patch and its dependencies were applied, or false if the process was terminated before all patches could be applied.
      • getPatches

        public java.util.List<AppliedPatch> getPatches​(java.util.Date fromDate,
                                                       java.util.Date toDate)
        Description copied from interface: PatchService
        Retrieves all applied patches between two specific times.
        Specified by:
        getPatches in interface PatchService
        Parameters:
        fromDate - the start date of the search, or null to get all patches from the start
        toDate - the end date of the search, or null to g
        Returns:
        Returns all applied patches (successful or not)
      • getPatch

        public AppliedPatch getPatch​(java.lang.String id)
        Description copied from interface: PatchService
        Retrieve an existing patch
        Specified by:
        getPatch in interface PatchService
        Parameters:
        id - the patch unique ID
        Returns:
        Returns the patch instance or null if one has not been persisted