openlsd.appli.admin.commondelete
Class LSDDeleteAbstract

java.lang.Object
  extended by openlsd.appli.admin.commondelete.LSDDeleteAbstract
All Implemented Interfaces:
java.lang.Runnable
Direct Known Subclasses:
LSDDelete, LSDDeleteAbstractML, LSDWebDelete

public abstract class LSDDeleteAbstract
extends java.lang.Object
implements java.lang.Runnable

Simple class that shared common things and methods between deleters

Author:
Frederic BREGIER LGPL 2007

Field Summary
protected  LSDDbAdmin admin
          DB Admin Object
protected  LSDDbAdmin[] admins
          Array of DB Admin Object
protected  LSDExtDbDocument document
          DB Document Object
protected  java.util.concurrent.ConcurrentLinkedQueue<LSDExtQueueMember> doneQueue
          Queue to end of delete
protected  LSDDbIpPort ipportProt
          IpPort Object
protected  LSDClientDelete lcd
          Client Delete Object
protected  LSDClientDelete[] lcds
          Array of Client Delete Object
protected  LSDDbLegacy legacy
          DB Legacy Object
protected  long lid
          Legacy ID
protected  LSDBusiness lsdb
          String identifying one specific document in one legacy : Business object
protected  java.util.concurrent.ConcurrentLinkedQueue<LSDExtQueueMember> todoQueue
          Queue to exec delete
 
Constructor Summary
LSDDeleteAbstract(LSDDbAdmin admin, java.util.concurrent.ConcurrentLinkedQueue<LSDExtQueueMember> todoQueue, java.util.concurrent.ConcurrentLinkedQueue<LSDExtQueueMember> doneQueue, LSDClientDelete lcd, LSDDbIpPort ipport, LSDDbLegacy legacy, long lid)
          Constructor for MT (to override)
LSDDeleteAbstract(LSDLoadConfig llc)
          Create a new LSDDelete object
 
Method Summary
 void createRunningDeleteMT(java.util.concurrent.ExecutorService executorService)
          Create running Delete, MultiThread version (To override)
protected  boolean deleteDocument(java.util.ArrayList<java.lang.String> erreurs)
          Truely delete the document in LSD then in DB
 int initDelete(java.lang.String[] args, int curargs, boolean keepalived)
          Init delete context except file listing itself
 int initDeleteMT(java.lang.String[] args, int curargs, boolean keepalived)
          Init delete context except file listing itself, MultiThread version
 void run()
          Run the delete operation on todoQueue, MultiThread version
 boolean runDelete(java.lang.String filepath)
          Run delete from the file containing list of id Business
 boolean runDeleteMT(java.lang.String filepath)
          Run delete from the file containing list of id Business, MultiThread version
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

admin

protected LSDDbAdmin admin
DB Admin Object


legacy

protected LSDDbLegacy legacy
DB Legacy Object


document

protected LSDExtDbDocument document
DB Document Object


lid

protected long lid
Legacy ID


lsdb

protected LSDBusiness lsdb
String identifying one specific document in one legacy : Business object


ipportProt

protected LSDDbIpPort ipportProt
IpPort Object


lcd

protected LSDClientDelete lcd
Client Delete Object


lcds

protected LSDClientDelete[] lcds
Array of Client Delete Object


admins

protected LSDDbAdmin[] admins
Array of DB Admin Object


todoQueue

protected java.util.concurrent.ConcurrentLinkedQueue<LSDExtQueueMember> todoQueue
Queue to exec delete


doneQueue

protected java.util.concurrent.ConcurrentLinkedQueue<LSDExtQueueMember> doneQueue
Queue to end of delete

Constructor Detail

LSDDeleteAbstract

public LSDDeleteAbstract(LSDLoadConfig llc)
Create a new LSDDelete object

Parameters:
llc -

LSDDeleteAbstract

public LSDDeleteAbstract(LSDDbAdmin admin,
                         java.util.concurrent.ConcurrentLinkedQueue<LSDExtQueueMember> todoQueue,
                         java.util.concurrent.ConcurrentLinkedQueue<LSDExtQueueMember> doneQueue,
                         LSDClientDelete lcd,
                         LSDDbIpPort ipport,
                         LSDDbLegacy legacy,
                         long lid)
Constructor for MT (to override)

Parameters:
admin -
todoQueue -
doneQueue -
lcd -
ipport -
legacy -
lid -
Method Detail

initDelete

public int initDelete(java.lang.String[] args,
                      int curargs,
                      boolean keepalived)
Init delete context except file listing itself

Parameters:
args -
curargs -
keepalived -
Returns:
Next curargs or -1 if in error

initDeleteMT

public int initDeleteMT(java.lang.String[] args,
                        int curargs,
                        boolean keepalived)
Init delete context except file listing itself, MultiThread version

Parameters:
args -
curargs -
keepalived -
Returns:
Next curargs or -1 if in error

runDelete

public boolean runDelete(java.lang.String filepath)
Run delete from the file containing list of id Business

Parameters:
filepath -
Returns:
True if OK, else False

runDeleteMT

public boolean runDeleteMT(java.lang.String filepath)
Run delete from the file containing list of id Business, MultiThread version

Parameters:
filepath -
Returns:
True if OK, else False

createRunningDeleteMT

public void createRunningDeleteMT(java.util.concurrent.ExecutorService executorService)
Create running Delete, MultiThread version (To override)

Parameters:
executorService -

run

public void run()
Run the delete operation on todoQueue, MultiThread version

Specified by:
run in interface java.lang.Runnable
See Also:
Runnable.run()

deleteDocument

protected boolean deleteDocument(java.util.ArrayList<java.lang.String> erreurs)
Truely delete the document in LSD then in DB

Parameters:
erreurs - for Web functions support, ignore if null
Returns:
True if OK, else False