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 AlwaysUpdateServerSynchroConflicResolver implements SynchroConflicResolver { 00039 00043 public AlwaysUpdateServerSynchroConflicResolver() { 00044 super(); 00045 } 00046 00050 public ReplicationSAOEvent resolveAddandPresent(SynchroAtomicObject ao) { 00051 ReplicationSAOEvent eventAO = new ReplicationSAOEvent(ao.getUID()); 00052 eventAO.setUpdateSide(ReplicationSAOEvent.SERVER_SIDE); 00053 eventAO.setTypeModif(ReplicationSAOEvent.UPDATE); 00054 eventAO.setAobject(ao); 00055 return eventAO; 00056 } 00057 00061 public ReplicationSAOEvent resolveReplaceandModified(SynchroAtomicObject ao) { 00062 ReplicationSAOEvent eventAO = new ReplicationSAOEvent(ao.getUID()); 00063 eventAO.setUpdateSide(ReplicationSAOEvent.SERVER_SIDE); 00064 eventAO.setTypeModif(ao.getModificationType()); 00065 eventAO.setAobject(ao); 00066 return eventAO; 00067 } 00068 00072 public ReplicationSAOEvent resolveReplaceandDeleted(SynchroAtomicObject ao) { 00073 ReplicationSAOEvent eventAO = new ReplicationSAOEvent(ao.getUID()); 00074 eventAO.setUpdateSide(ReplicationSAOEvent.SERVER_SIDE); 00075 eventAO.setTypeModif(ReplicationSAOEvent.CREATE); 00076 eventAO.setAobject(ao); 00077 return eventAO; 00078 } 00079 00083 public ReplicationSAOEvent resolveDeleteandModified(SynchroAtomicObject ao) { 00084 ReplicationSAOEvent eventAO = new ReplicationSAOEvent(ao.getUID()); 00085 eventAO.setUpdateSide(ReplicationSAOEvent.SERVER_SIDE); 00086 eventAO.setTypeModif(ReplicationSAOEvent.DELETE); 00087 eventAO.setAobject(ao); 00088 return eventAO; 00089 } 00090 00091 }