diff --git a/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/model/TriggerHistory.java b/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/model/TriggerHistory.java index 31d5e2fedb..b2c28bd669 100644 --- a/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/model/TriggerHistory.java +++ b/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/model/TriggerHistory.java @@ -24,7 +24,6 @@ import java.io.Serializable; import java.util.Date; -import org.jumpmind.db.model.Column; import org.jumpmind.db.model.Table; import org.jumpmind.symmetric.io.data.DataEventType; @@ -109,11 +108,11 @@ public TriggerHistory(Table table, Trigger trigger, TriggerReBuildReason reason) this(); this.lastTriggerBuildReason = reason; this.sourceTableName = trigger.getSourceTableName(); - this.columnNames = getCommaDeliminatedColumns(trigger.orderColumnsForTable(table)); + this.columnNames = Table.getCommaDeliminatedColumns(trigger.orderColumnsForTable(table)); this.sourceSchemaName = trigger.getSourceSchemaName(); this.sourceCatalogName = trigger.getSourceCatalogName(); this.triggerId = trigger.getTriggerId(); - this.pkColumnNames = getCommaDeliminatedColumns(table.getPrimaryKeyColumns()); + this.pkColumnNames = Table.getCommaDeliminatedColumns(table.getPrimaryKeyColumns()); this.triggerRowHash = trigger.toHashedValue(); tableHash = table.calculateTableHashcode(); } @@ -125,20 +124,6 @@ public TriggerHistory(Trigger trigger) { this.triggerId = trigger.getTriggerId(); } - private String getCommaDeliminatedColumns(Column[] cols) { - StringBuilder columns = new StringBuilder(); - if (cols != null && cols.length > 0) { - for (Column column : cols) { - columns.append(column.getName()); - columns.append(","); - } - columns.replace(columns.length() - 1, columns.length(), ""); - return columns.toString(); - } else { - return " "; - } - } - public String getTriggerNameForDmlType(DataEventType type) { switch (type) { case INSERT: diff --git a/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataLoaderService.java b/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataLoaderService.java index b3901bc5d3..ab61c0108c 100644 --- a/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataLoaderService.java +++ b/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataLoaderService.java @@ -36,6 +36,7 @@ import java.util.Map; import org.apache.commons.lang.StringUtils; +import org.jumpmind.db.model.Table; import org.jumpmind.db.sql.ISqlRowMapper; import org.jumpmind.db.sql.ISqlTransaction; import org.jumpmind.db.sql.Row; @@ -740,6 +741,7 @@ public void batchInError(DataContext context, Exception ex) { IncomingError error = new IncomingError(); error.setBatchId(this.currentBatch.getBatchId()); error.setNodeId(this.currentBatch.getNodeId()); + error.setColumnNames(Table.getCommaDeliminatedColumns(context.getTable().getColumns())); error.setCsvData(context.getData()); error.setEventType(context.getData().getDataEventType()); error.setFailedLineNumber(this.currentBatch.getFailedLineNumber()); diff --git a/symmetric/symmetric-db/src/main/java/org/jumpmind/db/model/Table.java b/symmetric/symmetric-db/src/main/java/org/jumpmind/db/model/Table.java index 7215b464cd..6334c79380 100644 --- a/symmetric/symmetric-db/src/main/java/org/jumpmind/db/model/Table.java +++ b/symmetric/symmetric-db/src/main/java/org/jumpmind/db/model/Table.java @@ -1074,4 +1074,18 @@ public static Table buildTable(String tableName, String[] keyNames, String[] col return table; } + public static String getCommaDeliminatedColumns(Column[] cols) { + StringBuilder columns = new StringBuilder(); + if (cols != null && cols.length > 0) { + for (Column column : cols) { + columns.append(column.getName()); + columns.append(","); + } + columns.replace(columns.length() - 1, columns.length(), ""); + return columns.toString(); + } else { + return " "; + } + } + }