Interface MaintenanceDocumentService


public interface MaintenanceDocumentService
Provides methods for working with MaintenanceDocument.
Author:
Kuali Rice Team (rice.collab@kuali.org)
  • Method Details

    • setupNewMaintenanceDocument

      MaintenanceDocument setupNewMaintenanceDocument(String objectClassName, String docTypeName, String maintenanceAction)
      Prepares the MaintenanceDocument on initial request.

      This includes retrieving the data object for edit or copy, clearing fields

      Parameters:
      objectClassName - class name for the object being maintained
      docTypeName - workflow doc type for the maintenance document requested
      maintenanceAction - indicates whether this is a new, copy, or edit maintenance action
      Returns:
      MaintenanceDocument prepared document instance
    • setupMaintenanceObject

      void setupMaintenanceObject(MaintenanceDocument document, String maintenanceAction, Map<String,String[]> requestParameters)
      Called to setup the object being maintained.

      For edit and copy actions, the old record is retrieved and prepared for editing (in the case of a copy some fields are cleared). In addition some authorization checks are performed and hooks for custom Maintainble implementations are invoked.

      Parameters:
      document - document instance for the maintenance object
      maintenanceAction - the requested maintenance action (new, new with existing, copy, edit)
      requestParameters - Map of parameters from the request
    • getLockingDocumentId

      String getLockingDocumentId(MaintenanceDocument document)
      Attempts to find any other active documents that are pending on the same maintenance record.

      If any are pending and locked, thereby blocking this document, then the docHeaderId/documentNumber of the blocking locked document is returned. Otherwise, if nothing is blocking, then null is returned.

      Parameters:
      document - document to test
      Returns:
      A String representing the docHeaderId of any blocking document, or null if none are blocking
    • getLockingDocumentId

      String getLockingDocumentId(Maintainable maintainable, String documentNumber)
      Attempts to find any other active documents that are pending on the same maintenance record.

      If any are pending and locked, thereby blocking this document, then the docHeaderId/documentNumber of the blocking locked document is returned. * Otherwise, if nothing is blocking, then null is returned.

      Parameters:
      maintainable - maintainable representing the document to test
      documentNumber - the documentNumber/docHeaderId of the document to test
      Returns:
      A String representing the docHeaderId of any blocking document, or null if none are blocking
    • deleteLocks

      void deleteLocks(String documentNumber)
      Call the same-named method in the Dao, since the service has access to the Dao, but the caller doesn't.

      This method deletes the locks for the given document number. It is called when the document is final, thus it can be unlocked, or when the locks need to be regenerated (thus they get cleared first).

      Parameters:
      documentNumber - document number whose locks should be deleted
    • storeLocks

      void storeLocks(List<MaintenanceLock> maintenanceLocks)
      Call the same-named method in the Dao, since the service has access to the Dao, but the caller doesn't.

      This method stores the given list of maintenance locks. Typically these will all be for the same document.

      Parameters:
      maintenanceLocks - the list of maintenance locks to be stored