Inheritance diagram for org.openmobileis.examples.mycrm.data.jdbc.MyCrmAccountSynchroTarget:
Definition at line 61 of file MyCrmAccountSynchroTarget.java.
Public Member Functions | |
MyCrmAccountSynchroTarget () throws ServiceException | |
void | setSendSynchroMetaData (Object metadata) throws OpenMSPException |
Synchro meta data added to the synchro on the terminal side are given be the synchro process. | |
String | getCollectionName () |
| |
Object | getCollectionObjectWithId (String id) throws OpenMSPException |
It is use by the synchro service to get an object from the database when it has to be updated on the terminal. | |
void | updateCollectionObject (Object obj) throws OpenMSPException |
Implement the update part of the database. | |
void | deleteCollectionObject (String id) throws OpenMSPException |
Implement the delete part of the database. | |
SynchroConflicResolver | getConflicResolver () |
When a conflic is detected, the synchro service use this conflic resolver to determine the action to do. | |
Array | getAllCollectionObject () throws OpenMSPException |
It's call when a complete synchronisation is done to fill the terminal database with all object. | |
String | getCollectionObjectId (Object obj) |
SynchroAtomicObject[] | getAllModifiedAtomicObjectSince (long date) throws OpenMSPException |
Return all atomic object uid modified since specified syncnumber. | |
int | getUpdateMaxNbRow () |
Return the max number of row that update file can contains If more than max row must be updated on the PDA, a complete synchronisation will be started, the database file will be send. | |
void | updateSynchroDB (FastObjectDB db) throws OpenMSPException |
call by synchronisation service during complete synchronisation to update the generated db collection. | |
void | connect (Credential cred) throws UserNotFoundException, ServiceException |
call at the beginning of the collection synchronisation. | |
void | disconnect () |
call at the end of the collection synchronisation. |
void org.openmobileis.examples.mycrm.data.jdbc.MyCrmAccountSynchroTarget.setSendSynchroMetaData | ( | Object | metadata | ) | throws OpenMSPException |
Synchro meta data added to the synchro on the terminal side are given be the synchro process.
This method is call before all other synchro method.
metadata |
OpenMSPException |
Implements org.openmobileis.database.fastobjectdb.synchro.server.FODBSyncTarget.
Definition at line 136 of file MyCrmAccountSynchroTarget.java.
Object org.openmobileis.examples.mycrm.data.jdbc.MyCrmAccountSynchroTarget.getCollectionObjectWithId | ( | String | id | ) | throws OpenMSPException |
It is use by the synchro service to get an object from the database when it has to be updated on the terminal.
Implements org.openmobileis.database.fastobjectdb.synchro.server.FODBSyncTarget.
Definition at line 207 of file MyCrmAccountSynchroTarget.java.
References org.openmobileis.examples.mycrm.data.Account.addContact(), org.openmobileis.common.util.collection.Array.get(), org.openmobileis.examples.mycrm.data.Account.getAllContacts(), org.openmobileis.examples.mycrm.data.Account.setActivity(), org.openmobileis.examples.mycrm.data.Account.setAddress(), org.openmobileis.examples.mycrm.data.Account.setCity(), org.openmobileis.examples.mycrm.data.Account.setName(), and org.openmobileis.common.util.collection.Array.size.
void org.openmobileis.examples.mycrm.data.jdbc.MyCrmAccountSynchroTarget.updateCollectionObject | ( | Object | obj | ) | throws OpenMSPException |
Implement the update part of the database.
Call by the synchro service when a object has been modified on the terminal. There's only an update method, no insert because on the server side we can't know if it's an update on an insert. Because of synchronisation problems, a created object on the terminal can be synchronized two time. So for each modified object on the terminal you have to validate if it's already exist.
obj | is the instance of the modified object. |
OpenMSPException | : throws when there is a database update problem. The synchro collection will be in error in the terminal synchro journal. The object will come back in the next synchronisation. |
Implements org.openmobileis.database.fastobjectdb.synchro.server.FODBSyncTarget.
Definition at line 257 of file MyCrmAccountSynchroTarget.java.
References org.openmobileis.common.util.collection.Array.get(), org.openmobileis.examples.mycrm.data.Account.getActivity(), org.openmobileis.examples.mycrm.data.Account.getAddress(), org.openmobileis.examples.mycrm.data.Account.getAllContacts(), org.openmobileis.examples.mycrm.data.Account.getCity(), org.openmobileis.examples.mycrm.data.jdbc.MyCrmAccountSynchroTarget.getCollectionName(), org.openmobileis.examples.mycrm.data.Account.getId(), org.openmobileis.examples.mycrm.data.Account.getName(), and org.openmobileis.common.util.collection.Array.size.
void org.openmobileis.examples.mycrm.data.jdbc.MyCrmAccountSynchroTarget.deleteCollectionObject | ( | String | id | ) | throws OpenMSPException |
Implement the delete part of the database.
Call by the synchro service when a object has been deleted on the terminal.
id | is the identifiant of the deleted object. |
OpenMSPException | :throws when there is a database delete problem. The synchro collection will be in error in the terminal synchro journal. The id will come back in the next synchronisation. |
Implements org.openmobileis.database.fastobjectdb.synchro.server.FODBSyncTarget.
Definition at line 323 of file MyCrmAccountSynchroTarget.java.
References org.openmobileis.examples.mycrm.data.jdbc.MyCrmAccountSynchroTarget.getCollectionName(), and org.openmobileis.synchro.algo.replication.utils.DefaultSynchroAtomicObject.setModificationType().
SynchroConflicResolver org.openmobileis.examples.mycrm.data.jdbc.MyCrmAccountSynchroTarget.getConflicResolver | ( | ) |
When a conflic is detected, the synchro service use this conflic resolver to determine the action to do.
We provide default conflic resolver behaviours.
org.openmobileis.synchro.algo.replication.AlwaysUpdateServerSynchroConflicResolver
Implements org.openmobileis.database.fastobjectdb.synchro.server.FODBSyncTarget.
Definition at line 352 of file MyCrmAccountSynchroTarget.java.
Array org.openmobileis.examples.mycrm.data.jdbc.MyCrmAccountSynchroTarget.getAllCollectionObject | ( | ) | throws OpenMSPException |
It's call when a complete synchronisation is done to fill the terminal database with all object.
If no complete synchronisation can occurs (getUpdateMaxNbRow() always return -1), the method is never call. So no implementation is needed. Complete synchronisation is a convenient way to optimize the terminal synchronisation. some time it's make less time to generate the Terminal complete collection on the server side than to synchronize all modifications.
OpenMSPException | : throws when there is a problem to invalidate the synchronisation. The synchro collection will be in error in the terminal synchro journal. |
Implements org.openmobileis.database.fastobjectdb.synchro.server.FODBSyncTarget.
Definition at line 359 of file MyCrmAccountSynchroTarget.java.
References org.openmobileis.common.util.collection.Array.add(), org.openmobileis.common.util.collection.Array.get(), and org.openmobileis.common.util.collection.Array.size.
SynchroAtomicObject [] org.openmobileis.examples.mycrm.data.jdbc.MyCrmAccountSynchroTarget.getAllModifiedAtomicObjectSince | ( | long | date | ) | throws OpenMSPException |
Return all atomic object uid modified since specified syncnumber.
Syncnumber is a number incremented for each synchro request. It can be converted to a timestamp with the SyncNumberManager. It's preferable to use number increment for synchronisation than timestamp to avoid desynchronized clock problem. Terminal and server can be desynchronized at the system cloc level of a few second. A synchronisation can elapse less than a few second. This can leads to synchronisation problem that can be difficult to track.
Implements org.openmobileis.database.fastobjectdb.synchro.server.FODBSyncTarget.
Definition at line 391 of file MyCrmAccountSynchroTarget.java.
References org.openmobileis.examples.mycrm.data.jdbc.MyCrmAccountSynchroTarget.getCollectionName().
int org.openmobileis.examples.mycrm.data.jdbc.MyCrmAccountSynchroTarget.getUpdateMaxNbRow | ( | ) |
Return the max number of row that update file can contains If more than max row must be updated on the PDA, a complete synchronisation will be started, the database file will be send.
If return -1 (default implementation) max row in not taken into account (ie always update file)
Implements org.openmobileis.database.fastobjectdb.synchro.server.FODBSyncTarget.
Definition at line 402 of file MyCrmAccountSynchroTarget.java.
void org.openmobileis.examples.mycrm.data.jdbc.MyCrmAccountSynchroTarget.updateSynchroDB | ( | FastObjectDB | db | ) | throws OpenMSPException |
call by synchronisation service during complete synchronisation to update the generated db collection.
Use to modifiy db objects before the db files are send to the Terminal. Empty is nothing has to ne done.
db | the database collection (thedb contains only the synchronized collection). |
Implements org.openmobileis.database.fastobjectdb.synchro.server.FODBSyncTarget.
Definition at line 409 of file MyCrmAccountSynchroTarget.java.
void org.openmobileis.examples.mycrm.data.jdbc.MyCrmAccountSynchroTarget.connect | ( | Credential | cred | ) | throws UserNotFoundException, ServiceException |
call at the beginning of the collection synchronisation.
cred | : synchronisation credential |
UserNotFoundException | ||
ServiceException |
Implements org.openmobileis.database.fastobjectdb.synchro.server.FODBSyncTarget.
Definition at line 415 of file MyCrmAccountSynchroTarget.java.
void org.openmobileis.examples.mycrm.data.jdbc.MyCrmAccountSynchroTarget.disconnect | ( | ) |
call at the end of the collection synchronisation.
cred | : synchronisation credential |
UserNotFoundException | ||
ServiceException |
Implements org.openmobileis.database.fastobjectdb.synchro.server.FODBSyncTarget.
Definition at line 422 of file MyCrmAccountSynchroTarget.java.