You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by na...@apache.org on 2023/02/06 21:59:44 UTC
[hop] 01/01: Fix Group By Concatenate string separated by new line (CRLF) #2243
This is an automated email from the ASF dual-hosted git repository.
nadment pushed a commit to branch 2243
in repository https://gitbox.apache.org/repos/asf/hop.git
commit f5ccd1575afb2c4fa9f8141a53ecddf35e4a9c19
Author: Nicolas Adment <39...@users.noreply.github.com>
AuthorDate: Mon Feb 6 22:59:19 2023 +0100
Fix Group By Concatenate string separated by new line (CRLF) #2243
I wrote a unit test, but didn't push it because I think CRLFs are not
compatible between Linux/Windows and Mac.
---
.../org/apache/hop/pipeline/transforms/groupby/GroupBy.java | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/plugins/transforms/groupby/src/main/java/org/apache/hop/pipeline/transforms/groupby/GroupBy.java b/plugins/transforms/groupby/src/main/java/org/apache/hop/pipeline/transforms/groupby/GroupBy.java
index 8c40c35e41..6dc6dcb5b8 100644
--- a/plugins/transforms/groupby/src/main/java/org/apache/hop/pipeline/transforms/groupby/GroupBy.java
+++ b/plugins/transforms/groupby/src/main/java/org/apache/hop/pipeline/transforms/groupby/GroupBy.java
@@ -543,6 +543,15 @@ public class GroupBy extends BaseTransform<GroupByMeta, GroupByData> {
sb.append(subjMeta.getString(subj));
}
break;
+ case Aggregation.TYPE_GROUP_CONCAT_STRING_CRLF:
+ if (subj != null) {
+ StringBuilder sb = (StringBuilder) value;
+ if (sb.length() > 0) {
+ sb.append(Const.CR);
+ }
+ sb.append(subjMeta.getString(subj));
+ }
+ break;
case Aggregation.TYPE_GROUP_CONCAT_STRING:
if (subj != null) {
String separator = "";
@@ -631,6 +640,7 @@ public class GroupBy extends BaseTransform<GroupByMeta, GroupByData> {
vMeta.setName(fieldName);
v = r == null ? null : r[data.subjectnrs[i]];
break;
+ case Aggregation.TYPE_GROUP_CONCAT_STRING_CRLF:
case Aggregation.TYPE_GROUP_CONCAT_COMMA:
vMeta = new ValueMetaString(fieldName);
v = new StringBuilder();
@@ -782,6 +792,7 @@ public class GroupBy extends BaseTransform<GroupByMeta, GroupByData> {
}
case Aggregation.TYPE_GROUP_CONCAT_COMMA:
case Aggregation.TYPE_GROUP_CONCAT_STRING:
+ case Aggregation.TYPE_GROUP_CONCAT_STRING_CRLF:
ag = ((StringBuilder) ag).toString();
break;
case Aggregation.TYPE_GROUP_CONCAT_DISTINCT: