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 */ 00025 00026 package org.openmobileis.synchro.openmsp.client.db; 00027 00028 import org.openmobileis.common.util.log.*; 00029 import org.openmobileis.common.util.exception.SynchroException; 00030 //import org.openmobileis.embedded.syncho.db.*; 00031 00041 public final class ImportDecodedRowListener implements DecodedRowListener { 00042 00043 private ImportQueryManager importQM; 00044 00045 public ImportDecodedRowListener(ImportQueryManager qm) { 00046 importQM = qm; 00047 } 00048 00049 public void notifyNewRowDecoded(char action, String[] rowData) { 00050 try { 00051 //make query 00052 if (action == DBImportFileCoder.ADDAction) { 00053 importQM.executeCreateQuery(rowData); 00054 } else if (action == DBImportFileCoder.REPLACEAction) { 00055 importQM.executeUpdateQuery(rowData); 00056 } else if (action == DBImportFileCoder.DELETEAction) { 00057 // get PDA uid for delete. TBD 00058 importQM.executeDeleteQuery(rowData); 00059 } 00060 } catch (Exception ex) { 00061 LogManager.trace(new SynchroException("ImportDecodedRowListener Error in notifyNewRowDecoded", ex) ); 00062 } 00063 00064 } 00065 00066 public void notifyError(int ligne, char errorCharacter) { 00067 LogManager.traceError(LogServices.SYNCHROSERVICE, "Error during decoding import Data file at line"+ligne+" for char '"+errorCharacter+"'" ); 00068 } 00069 }