diff --git a/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/transform/IsBlankTransform.java b/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/transform/IsBlankTransform.java index 0424b6fa7f..e0fdc22034 100644 --- a/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/transform/IsBlankTransform.java +++ b/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/transform/IsBlankTransform.java @@ -37,10 +37,12 @@ public String getName() { return NAME; } + @Override public boolean isExtractColumnTransform() { return true; } + @Override public boolean isLoadColumnTransform() { return true; } @@ -49,14 +51,17 @@ public boolean isLoadColumnTransform() { public NewAndOldValue transform(IDatabasePlatform platform, DataContext context, TransformColumn column, TransformedData data, Map sourceValues, String newValue, String oldValue) throws IgnoreColumnException, IgnoreRowException { - NewAndOldValue result = new NewAndOldValue(newValue, oldValue); - if (StringUtils.isBlank(newValue)) { - String expression = column.getTransformExpression(); - if (StringUtils.isEmpty(expression)) { - expression = null; - } - result = new NewAndOldValue(expression, oldValue); + return new NewAndOldValue(transformValue(column, newValue), transformValue(column, oldValue)); + } + + private String transformValue(TransformColumn column, String sourceValue) { + String expression = column.getTransformExpression(); + if (StringUtils.isEmpty(expression)) { + expression = null; + } + if (StringUtils.isBlank(sourceValue)) { + return expression; } - return result; + return sourceValue; } } diff --git a/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/transform/IsEmptyTransform.java b/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/transform/IsEmptyTransform.java index ccd6b29fef..6e8c2fa80a 100644 --- a/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/transform/IsEmptyTransform.java +++ b/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/transform/IsEmptyTransform.java @@ -37,10 +37,12 @@ public String getName() { return NAME; } + @Override public boolean isExtractColumnTransform() { return true; } + @Override public boolean isLoadColumnTransform() { return true; } @@ -49,14 +51,17 @@ public boolean isLoadColumnTransform() { public NewAndOldValue transform(IDatabasePlatform platform, DataContext context, TransformColumn column, TransformedData data, Map sourceValues, String newValue, String oldValue) throws IgnoreColumnException, IgnoreRowException { - NewAndOldValue result = new NewAndOldValue(newValue, oldValue); - if (StringUtils.isEmpty(newValue)) { - String expression = column.getTransformExpression(); - if (StringUtils.isEmpty(expression)) { - expression = null; - } - result = new NewAndOldValue(expression, oldValue); + return new NewAndOldValue(transformValue(column, newValue), transformValue(column, oldValue)); + } + + private String transformValue(TransformColumn column, String sourceValue) { + String expression = column.getTransformExpression(); + if (StringUtils.isEmpty(expression)) { + expression = null; + } + if (StringUtils.isEmpty(sourceValue)) { + return expression; } - return result; + return sourceValue; } -} +} \ No newline at end of file