Class PatchServiceImpl

java.lang.Object
org.alfresco.repo.admin.patch.PatchServiceImpl
All Implemented Interfaces:
PatchService

public class PatchServiceImpl extends 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 Details

    • PatchServiceImpl

      public PatchServiceImpl()
  • Method Details

    • setDescriptorService

      public void setDescriptorService(DescriptorService descriptorService)
    • setTransactionService

      public void setTransactionService(TransactionServiceImpl transactionService)
    • 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 List<AppliedPatch> getPatches(Date fromDate, 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(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