Skip to content

Commit

Permalink
0001610: CopyIfChangedTransform should only evaluate on non-delete DML
Browse files Browse the repository at this point in the history
  • Loading branch information
mhanes committed Feb 28, 2014
1 parent 54dc905 commit 6259a17
Showing 1 changed file with 4 additions and 2 deletions.
Expand Up @@ -26,6 +26,7 @@
import org.jumpmind.db.platform.IDatabasePlatform;
import org.jumpmind.extension.IBuiltInExtensionPoint;
import org.jumpmind.symmetric.io.data.DataContext;
import org.jumpmind.symmetric.io.data.DataEventType;

public class CopyIfChangedColumnTransform extends CopyColumnTransform implements ISingleValueColumnTransform, IBuiltInExtensionPoint {

Expand All @@ -41,8 +42,9 @@ public String transform(IDatabasePlatform platform, DataContext context, Transfo
TransformedData data, Map<String, String> sourceValues, String newValue, String oldValue)
throws IgnoreColumnException, IgnoreRowException {

if (StringUtils.trimToEmpty(newValue).equals(StringUtils.trimToEmpty(oldValue))) {
if (EXPRESSION_IGNORE_COLUMN.equalsIgnoreCase(column.getTransformExpression())) {
if (!DataEventType.DELETE.equals(context.getData().getDataEventType())
&& (StringUtils.trimToEmpty(newValue).equals(StringUtils.trimToEmpty(oldValue)))) {
if (EXPRESSION_IGNORE_COLUMN.equalsIgnoreCase(column.getTransformExpression())) {
throw new IgnoreColumnException();
} else {
throw new IgnoreRowException();
Expand Down

0 comments on commit 6259a17

Please sign in to comment.