From 3f17e5178b73a48ebc07b474dd4b8b96a59bea42 Mon Sep 17 00:00:00 2001 From: erilong Date: Thu, 18 Oct 2007 14:53:37 +0000 Subject: [PATCH] get rid of CsvContext in favor of DataLoaderContext --- .../symmetric/load/DataLoaderContext.java | 30 +++++--- .../symmetric/load/csv/CsvContext.java | 69 ------------------- .../symmetric/load/csv/CsvLoader.java | 5 +- 3 files changed, 25 insertions(+), 79 deletions(-) delete mode 100644 symmetric/src/main/java/org/jumpmind/symmetric/load/csv/CsvContext.java diff --git a/symmetric/src/main/java/org/jumpmind/symmetric/load/DataLoaderContext.java b/symmetric/src/main/java/org/jumpmind/symmetric/load/DataLoaderContext.java index 2fb947ac95..6a0d2daa6d 100644 --- a/symmetric/src/main/java/org/jumpmind/symmetric/load/DataLoaderContext.java +++ b/symmetric/src/main/java/org/jumpmind/symmetric/load/DataLoaderContext.java @@ -21,6 +21,9 @@ package org.jumpmind.symmetric.load; +import java.util.HashMap; +import java.util.Map; + public class DataLoaderContext implements IDataLoaderContext { @@ -29,16 +32,26 @@ public class DataLoaderContext implements IDataLoaderContext { private String clientId; private String tableName; - - private String[] keyNames; - - private String[] columnNames; private String batchId; private boolean isSkipping; + private transient Map tableTemplateMap; + + private TableTemplate tableTemplate; + public DataLoaderContext() { + this.tableTemplateMap = new HashMap(); + } + + public TableTemplate getTableTemplate() { + return tableTemplate; + } + + public void setTableTemplate(TableTemplate tableTemplate) { + this.tableTemplate = tableTemplate; + tableTemplateMap.put(getTableName(), tableTemplate); } public String getBatchId() { @@ -64,6 +77,7 @@ public String getTableName() { public void setTableName(String tableName) { this.tableName = tableName; + this.tableTemplate = tableTemplateMap.get(tableName); } public String getVersion() { @@ -83,19 +97,19 @@ public void setSkipping(boolean isSkipping) { } public String[] getColumnNames() { - return columnNames; + return tableTemplate.getColumnNames(); } public void setColumnNames(String[] columnNames) { - this.columnNames = columnNames; + tableTemplate.setColumnNames(columnNames); } public String[] getKeyNames() { - return keyNames; + return tableTemplate.getKeyNames(); } public void setKeyNames(String[] keyNames) { - this.keyNames = keyNames; + tableTemplate.setKeyNames(keyNames); } } diff --git a/symmetric/src/main/java/org/jumpmind/symmetric/load/csv/CsvContext.java b/symmetric/src/main/java/org/jumpmind/symmetric/load/csv/CsvContext.java deleted file mode 100644 index 71369eb68c..0000000000 --- a/symmetric/src/main/java/org/jumpmind/symmetric/load/csv/CsvContext.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * SymmetricDS is an open source database synchronization solution. - * - * Copyright (C) Eric Long , - * Chris Henson - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, see - * . - */ - -package org.jumpmind.symmetric.load.csv; - -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.jumpmind.symmetric.load.DataLoaderContext; -import org.jumpmind.symmetric.load.TableTemplate; - -public class CsvContext extends DataLoaderContext { - - private transient Map tableTemplateMap; - - private TableTemplate tableTemplate; - - public CsvContext() { - this.tableTemplateMap = new HashMap(); - } - - public void setTableName(String tableName) { - super.setTableName(tableName); - this.tableTemplate = tableTemplateMap.get(tableName); - } - - public void setKeyNames(String[] keyNames) { - super.setKeyNames(keyNames); - tableTemplate.setKeyNames(keyNames); - } - - public void setColumnNames(String[] columnNames) { - super.setColumnNames(columnNames); - tableTemplate.setColumnNames(columnNames); - } - - public Collection getAllTableTemplates() { - return tableTemplateMap.values(); - } - - public TableTemplate getTableTemplate() { - return tableTemplate; - } - - public void setTableTemplate(TableTemplate tableTemplate) { - this.tableTemplate = tableTemplate; - tableTemplateMap.put(getTableName(), tableTemplate); - } - -} diff --git a/symmetric/src/main/java/org/jumpmind/symmetric/load/csv/CsvLoader.java b/symmetric/src/main/java/org/jumpmind/symmetric/load/csv/CsvLoader.java index 1820ad4915..b3fa787ed8 100644 --- a/symmetric/src/main/java/org/jumpmind/symmetric/load/csv/CsvLoader.java +++ b/symmetric/src/main/java/org/jumpmind/symmetric/load/csv/CsvLoader.java @@ -31,6 +31,7 @@ import org.apache.commons.logging.LogFactory; import org.jumpmind.symmetric.common.csv.CsvConstants; import org.jumpmind.symmetric.db.IDbDialect; +import org.jumpmind.symmetric.load.DataLoaderContext; import org.jumpmind.symmetric.load.DataLoaderStatistics; import org.jumpmind.symmetric.load.IColumnFilter; import org.jumpmind.symmetric.load.IDataLoader; @@ -53,7 +54,7 @@ public class CsvLoader implements IDataLoader { protected CsvReader csvReader; - protected CsvContext context; + protected DataLoaderContext context; protected DataLoaderStatistics stats; @@ -70,7 +71,7 @@ public class CsvLoader implements IDataLoader { public void open(BufferedReader reader) throws IOException { csvReader = new CsvReader(reader); csvReader.setEscapeMode(CsvReader.ESCAPE_MODE_BACKSLASH); - context = new CsvContext(); + context = new DataLoaderContext(); stats = new DataLoaderStatistics(); }