00001 /* 00002 * OpenMobileIS - a free Java(TM) Framework for mobile applications Java(TM) 00003 * Copyright (C) 2004-2006 Philippe Delrieu 00004 * All rights reserved. 00005 * Contact: pdelrieu@openmobileis.org 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2.1 of the License, or any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with this library; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00020 * USA 00021 * 00022 * Author : Philippe Delrieu 00023 * 00024 * Modifications : 00025 * 2004 Creation P.Delrieu 00026 * 00027 */ 00028 00029 package org.openmobileis.synchro.algo.replication; 00030 00038 public final class AlwaysUpdateClientSynchroConflicResolver implements SynchroConflicResolver { 00039 00043 public AlwaysUpdateClientSynchroConflicResolver() { 00044 super(); 00045 } 00046 00050 public ReplicationSAOEvent resolveAddandPresent(SynchroAtomicObject ao) { 00051 // LogManager.traceDebug(0, "AlwaysUpdateClientSynchroConflicResolver resolveAddandPresent CLIENT_SIDE"); 00052 ReplicationSAOEvent eventAO = new ReplicationSAOEvent(ao.getUID()); 00053 eventAO.setUpdateSide(ReplicationSAOEvent.CLIENT_SIDE); 00054 eventAO.setTypeModif(SynchroAtomicObject.REPLACE); 00055 eventAO.setAobject(ao); 00056 return eventAO; 00057 } 00058 00062 public ReplicationSAOEvent resolveReplaceandModified(SynchroAtomicObject ao) { 00063 // LogManager.traceDebug(0, "AlwaysUpdateClientSynchroConflicResolver resolveReplaceandModified CLIENT_SIDE"); 00064 ReplicationSAOEvent eventAO = new ReplicationSAOEvent(ao.getUID()); 00065 eventAO.setUpdateSide(ReplicationSAOEvent.CLIENT_SIDE); 00066 eventAO.setTypeModif(SynchroAtomicObject.REPLACE); 00067 eventAO.setAobject(ao); 00068 return eventAO; 00069 } 00070 00074 public ReplicationSAOEvent resolveReplaceandDeleted(SynchroAtomicObject ao) { 00075 // LogManager.traceDebug(0, "AlwaysUpdateClientSynchroConflicResolver resolveReplaceandDeleted CLIENT_SIDE"); 00076 ReplicationSAOEvent eventAO = new ReplicationSAOEvent(ao.getUID()); 00077 eventAO.setUpdateSide(ReplicationSAOEvent.CLIENT_SIDE); 00078 eventAO.setTypeModif(SynchroAtomicObject.DELETE); 00079 eventAO.setAobject(ao); 00080 return eventAO; 00081 } 00082 00086 public ReplicationSAOEvent resolveDeleteandModified(SynchroAtomicObject ao) { 00087 // LogManager.traceDebug(0, "AlwaysUpdateClientSynchroConflicResolver resolveDeleteandModified CLIENT_SIDE"); 00088 ReplicationSAOEvent eventAO = new ReplicationSAOEvent(ao.getUID()); 00089 eventAO.setUpdateSide(ReplicationSAOEvent.CLIENT_SIDE); 00090 eventAO.setTypeModif(SynchroAtomicObject.REPLACE); 00091 eventAO.setAobject(ao); 00092 return eventAO; 00093 } 00094 00095 }