Skip to content

Commit

Permalink
0002265: Xml Publisher fails when delete comes through. Null Pointer …
Browse files Browse the repository at this point in the history
…Exception.
  • Loading branch information
chenson42 committed Apr 13, 2015
1 parent 07d6f43 commit 6ca2b57
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
Expand Up @@ -345,7 +345,7 @@ protected String toXmlGroupId(String[] columnNames, String[] data, String[] keyN
for (String col : groupByColumnNames) {
int index = ArrayUtils.indexOf(columns, col, 0);
if (index >= 0) {
id.append(data[index]);
id.append(keys[index]);
} else {
id = new StringBuilder();
break;
Expand Down
Expand Up @@ -22,12 +22,13 @@

import java.util.List;
import java.util.Set;


import org.jdom.Element;
import org.jumpmind.db.model.Table;
import org.jumpmind.symmetric.ext.INodeGroupExtensionPoint;
import org.jumpmind.symmetric.io.data.CsvData;
import org.jumpmind.symmetric.io.data.DataContext;
import org.jumpmind.symmetric.io.data.DataEventType;
import org.jumpmind.symmetric.io.data.writer.IDatabaseWriterFilter;

/**
Expand Down Expand Up @@ -68,15 +69,19 @@ public class XmlPublisherDatabaseWriterFilter extends AbstractXmlPublisherExtens
public boolean beforeWrite(
DataContext context, Table table, CsvData data) {
if (tableNamesToPublishAsGroup == null
|| tableNamesToPublishAsGroup.contains(table.getName())) {
|| tableNamesToPublishAsGroup.contains(table.getName())) {
String[] rowData = data.getParsedData(CsvData.ROW_DATA);
if (data.getDataEventType() == DataEventType.DELETE) {
rowData = data.getParsedData(CsvData.OLD_DATA);
}
Element xml = getXmlFromCache(context, context.getBatch().getBinaryEncoding(),
table.getColumnNames(),
data.getParsedData(CsvData.ROW_DATA), table.getPrimaryKeyColumnNames(),
rowData, table.getPrimaryKeyColumnNames(),
data.getParsedData(CsvData.PK_DATA));
if (xml != null) {
toXmlElement(data.getDataEventType(), xml, table.getCatalog(), table.getSchema(),
table.getName(), table.getColumnNames(),
data.getParsedData(CsvData.ROW_DATA), table.getPrimaryKeyColumnNames(), data.getParsedData(CsvData.PK_DATA));
rowData, table.getPrimaryKeyColumnNames(), data.getParsedData(CsvData.PK_DATA));
}
}
return loadDataInTargetDatabase;
Expand Down

0 comments on commit 6ca2b57

Please sign in to comment.