Class ExecutableLdifDestinationService

java.lang.Object
org.lsc.plugins.connectors.executable.AbstractExecutableLdifService
org.lsc.plugins.connectors.executable.ExecutableLdifDestinationService
All Implemented Interfaces:
org.lsc.service.IService, org.lsc.service.IWritableService

public class ExecutableLdifDestinationService extends AbstractExecutableLdifService implements org.lsc.service.IWritableService
This class is a generic but configurable implementation to provision data to any referential which can be scripted It just requires 6 scripts to :
  • list data
  • get a piece of data
  • add a new
  • update a existing data
  • rename - or change the identifier
  • delete or archive an unused data
The 4 scripts which change data are responsible for consistency. No explicit check neither rollback is achieved by the LSC engine, so a successful result for any of these 4 operations must be fully checked. At this time, no time out is managed. So please consider handling provisioned referential availability and/or time limit handling directly in the executable.
Author:
Sebastien Bahloul <seb@lsc-project.org>
  • Constructor Details

    • ExecutableLdifDestinationService

      public ExecutableLdifDestinationService(org.lsc.configuration.TaskType task) throws org.lsc.exception.LscServiceConfigurationException
      Throws:
      org.lsc.exception.LscServiceConfigurationException
  • Method Details

    • apply

      public boolean apply(org.lsc.LscModifications lm)
      Apply directory modifications.
      Specified by:
      apply in interface org.lsc.service.IWritableService
      Parameters:
      lm - Modifications to apply in a JndiModifications object.
      Returns:
      Operation status
      Throws:
      CommunicationException - If the connection to the service is lost, and all other attempts to use this service should fail.
    • getWriteDatasetIds

      public List<String> getWriteDatasetIds()
      Specified by:
      getWriteDatasetIds in interface org.lsc.service.IWritableService