You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by ha...@apache.org on 2021/04/16 22:06:49 UTC
[incubator-hop] branch master updated: HOP-2792 Add CRLFto
concatenate option in GroupBy transform
This is an automated email from the ASF dual-hosted git repository.
hansva pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hop.git
The following commit(s) were added to refs/heads/master by this push:
new 1024aec HOP-2792 Add CRLFto concatenate option in GroupBy transform
new 647de06 Merge pull request #752 from sramazzina/master
1024aec is described below
commit 1024aec6d0a91fcc8b3c197425bda0e0b378e609
Author: sergio.ramazzina <se...@serasoft.it>
AuthorDate: Fri Apr 16 21:47:37 2021 +0200
HOP-2792 Add CRLFto concatenate option in GroupBy transform
---
.../hop/pipeline/transforms/groupby/GroupBy.java | 12 +++++++
.../pipeline/transforms/groupby/GroupByMeta.java | 11 ++++--
.../groupby/messages/messages_en_US.properties | 1 +
.../groupby/messages/messages_it_IT.properties | 39 +++++++++++-----------
4 files changed, 42 insertions(+), 21 deletions(-)
diff --git a/engine/src/main/java/org/apache/hop/pipeline/transforms/groupby/GroupBy.java b/engine/src/main/java/org/apache/hop/pipeline/transforms/groupby/GroupBy.java
index 3297b5f..93da989 100644
--- a/engine/src/main/java/org/apache/hop/pipeline/transforms/groupby/GroupBy.java
+++ b/engine/src/main/java/org/apache/hop/pipeline/transforms/groupby/GroupBy.java
@@ -551,6 +551,17 @@ public class GroupBy extends BaseTransform<GroupByMeta, GroupByData> implements
}
break;
+
+ case GroupByMeta.TYPE_GROUP_CONCAT_STRING_CRLF:
+ if ( !( subj == null ) ) {
+ StringBuilder sb = (StringBuilder) value;
+ if ( sb.length() > 0 ) {
+ sb.append( System.lineSeparator() );
+ }
+ sb.append( subjMeta.getString( subj ) );
+ }
+
+ break;
default:
break;
}
@@ -625,6 +636,7 @@ public class GroupBy extends BaseTransform<GroupByMeta, GroupByData> implements
v = new StringBuilder();
break;
case GroupByMeta.TYPE_GROUP_CONCAT_STRING:
+ case GroupByMeta.TYPE_GROUP_CONCAT_STRING_CRLF:
vMeta = new ValueMetaString( fieldName );
v = new StringBuilder();
break;
diff --git a/engine/src/main/java/org/apache/hop/pipeline/transforms/groupby/GroupByMeta.java b/engine/src/main/java/org/apache/hop/pipeline/transforms/groupby/GroupByMeta.java
index e41cae3..ddf7ef5 100644
--- a/engine/src/main/java/org/apache/hop/pipeline/transforms/groupby/GroupByMeta.java
+++ b/engine/src/main/java/org/apache/hop/pipeline/transforms/groupby/GroupByMeta.java
@@ -97,6 +97,7 @@ public class GroupByMeta extends BaseTransformMeta implements ITransformMeta<Gro
public static final int TYPE_GROUP_CONCAT_STRING = 16;
+
public static final int TYPE_GROUP_COUNT_DISTINCT = 17;
public static final int TYPE_GROUP_COUNT_ANY = 18;
@@ -105,6 +106,8 @@ public class GroupByMeta extends BaseTransformMeta implements ITransformMeta<Gro
public static final int TYPE_GROUP_PERCENTILE_NEAREST_RANK = 20;
+ public static final int TYPE_GROUP_CONCAT_STRING_CRLF = 21;
+
public static final String[]
typeGroupCode = /* WARNING: DO NOT TRANSLATE THIS. WE ARE SERIOUS, DON'T TRANSLATE! */ {
"-",
@@ -127,7 +130,8 @@ public class GroupByMeta extends BaseTransformMeta implements ITransformMeta<Gro
"COUNT_DISTINCT",
"COUNT_ANY",
"STD_DEV_SAMPLE",
- "PERCENTILE_NEAREST_RANK"
+ "PERCENTILE_NEAREST_RANK",
+ "CONCAT_STRING_CRLF"
};
public static final String[] typeGroupLongDesc = {
@@ -151,7 +155,9 @@ public class GroupByMeta extends BaseTransformMeta implements ITransformMeta<Gro
BaseMessages.getString(PKG, "GroupByMeta.TypeGroupLongDesc.COUNT_DISTINCT"),
BaseMessages.getString(PKG, "GroupByMeta.TypeGroupLongDesc.COUNT_ANY"),
BaseMessages.getString(PKG, "GroupByMeta.TypeGroupLongDesc.STANDARD_DEVIATION_SAMPLE"),
- BaseMessages.getString(PKG, "GroupByMeta.TypeGroupLongDesc.PERCENTILE_NEAREST_RANK")
+ BaseMessages.getString(PKG, "GroupByMeta.TypeGroupLongDesc.PERCENTILE_NEAREST_RANK"),
+ BaseMessages.getString(PKG, "GroupByMeta.TypeGroupLongDesc.CONCAT_STRING_CRLF")
+
};
/** All rows need to pass, adding an extra row at the end of each group/block. */
@@ -435,6 +441,7 @@ public class GroupByMeta extends BaseTransformMeta implements ITransformMeta<Gro
valueType = IValueMeta.TYPE_NUMBER;
break;
case TYPE_GROUP_CONCAT_STRING:
+ case TYPE_GROUP_CONCAT_STRING_CRLF:
valueType = IValueMeta.TYPE_STRING;
break;
default:
diff --git a/engine/src/main/resources/org/apache/hop/pipeline/transforms/groupby/messages/messages_en_US.properties b/engine/src/main/resources/org/apache/hop/pipeline/transforms/groupby/messages/messages_en_US.properties
index c15cd02..e22af7b 100644
--- a/engine/src/main/resources/org/apache/hop/pipeline/transforms/groupby/messages/messages_en_US.properties
+++ b/engine/src/main/resources/org/apache/hop/pipeline/transforms/groupby/messages/messages_en_US.properties
@@ -78,6 +78,7 @@ GroupByDialog.GroupByWarningDialog.DialogMessage=If the incoming data is not sor
GroupByMeta.TypeGroupLongDesc.MEDIAN=Median
GroupByMeta.TypeGroupLongDesc.COUNT_ANY=Number of rows (without field argument)
GroupByMeta.TypeGroupLongDesc.CONCAT_STRING=Concatenate strings separated by
+GroupByMeta.TypeGroupLongDesc.CONCAT_STRING_CRLF=Concatenate strings separated by CRLF
GroupByMeta.Injection.PASS_ALL_ROWS = Pass all rows?
GroupByMeta.Injection.TEMP_DIRECTORY=Temporary directory
diff --git a/engine/src/main/resources/org/apache/hop/pipeline/transforms/groupby/messages/messages_it_IT.properties b/engine/src/main/resources/org/apache/hop/pipeline/transforms/groupby/messages/messages_it_IT.properties
index 0c2a698..d089b05 100644
--- a/engine/src/main/resources/org/apache/hop/pipeline/transforms/groupby/messages/messages_it_IT.properties
+++ b/engine/src/main/resources/org/apache/hop/pipeline/transforms/groupby/messages/messages_it_IT.properties
@@ -19,33 +19,33 @@
#
GroupByDialog.GroupByWarningDialog.DialogTitle=Attenzione\!
-GroupByDialog.FailedToGetFields.DialogMessage=Impossibile prelevare i campi dai passi precedenti a causa di un errore
+GroupByDialog.FailedToGetFields.DialogMessage=Impossibile prelevare i campi dai transforms precedenti a causa di un errore
GroupByDialog.GetLookupFields.Button=&Preleva campi di lookup
-GroupByMeta.CheckResult.ReceivingInfoOK=Il passo sta ricevendo informazioni dagli altri passi.
+GroupByMeta.CheckResult.ReceivingInfoOK=Il transform sta ricevendo informazioni dagli altri transforms.
GroupBy.Log.GroupFieldCouldNotFound=Il campo di raggruppamento [{0}] non \u00E8 stato trovato\!
GroupByDialog.Aggregates.Label=Aggregati\:
-GroupByMeta.CheckResult.NoInputError=Nessun input ricevuto dagli altri passi\!
+GroupByMeta.CheckResult.NoInputError=Nessun input ricevuto dai transforms precedenti\!
GroupByDialog.AlwaysAddResult.Label=Restituisci sempre una riga di risultato
GroupByDialog.LineNrField.Label=Nome campo del numero linea
GroupByMeta.TypeGroupLongDesc.LAST=Ultimo valore non nullo
GroupByDialog.ColumnInfo.Type=Tipo
GroupByDialog.Shell.Title=Raggruppa per
GroupByDialog.Group.Label=Campi che formano il gruppo\:
-GroupByDialog.FailedToGetFields.DialogTitle=Recupero campi fallito
+GroupByDialog.FailedToGetFields.DialogTitle=Recupero dei campi fallito
GroupBy.LineNumber=Linea n\u00B0
-GroupByDialog.AlwaysAddResult.ToolTip=Per avere la sicurezza di avere come output una corretta aggregazione, \nviene sempre mandata in output almeno una riga, anche se non ci sono righe d''input.\nIn questo modo il comportamento \u00E8 consistente con l''aggregazione nel GROUP BY dell''SQL.
-GroupBy.Exception.UnableToCloseInputStream=Impossibile chiudere l''input stream\!
+GroupByDialog.AlwaysAddResult.ToolTip=Per avere la sicurezza di avere come output una corretta aggregazione, \nviene sempre mandata in output almeno una riga, anche se non ci sono righe di input.\nIn questo modo il comportamento \u00E8 consistente con l''aggregazione rispetto alla GROUP BY dell''SQL.
+GroupBy.Exception.UnableToCloseInputStream=Impossibile chiudere lo stream di input\!
GroupByMeta.TypeGroupLongDesc.CONCAT_ALL=Numero dei valori
GroupByMeta.TypeGroupLongDesc.CUMUMALTIVE_SUM=Somma cumulata (opzione valida solo per tutte le righe\!)
-GroupByDialog.FilePrefix.Label=Prefisso TMP-file
+GroupByDialog.FilePrefix.Label=Prefisso del file temporaneo
GroupByDialog.Browse.Button=&Sfoglia...
GroupByMeta.TypeGroupLongDesc.CUMUMALTIVE_AVERAGE=Media cumulata (opzione valida solo per tutte le righe\!)
GroupByMeta.TypeGroupLongDesc.AVERAGE=Media
-GroupByDialog.GroupByWarningDialog.Option2=Prego, non mostrare pi\u00F9 questo messaggio.
+GroupByDialog.GroupByWarningDialog.Option2=Per favore, non mostrare pi\u00F9 questo messaggio.
GroupByMeta.TypeGroupLongDesc.MIN=Minimo
GroupByMeta.TypeGroupLongDesc.PERCENTILE=Percentile
GroupByDialog.GroupByWarningDialog.Option1=Capisco
-GroupByDialog.GetFields.Button=&Preleva campi
+GroupByDialog.GetFields.Button=&Preleva i campi
GroupByDialog.ColumnInfo.Value=Valore
GroupByDialog.ColumnInfo.GroupField=Campo di raggruppamento
GroupByDialog.ColumnInfo.Name=Nome
@@ -53,22 +53,23 @@ GroupByDialog.ColumnInfo.Subject=Oggetto
GroupByDialog.TempDir.Label=Cartella dei file temporanei
GroupByMeta.TypeGroupLongDesc.FIRST=Primo valore non nullo
GroupByMeta.TypeGroupLongDesc.LAST_INCL_NULL=Ultimo valore
-GroupByMeta.TypeGroupLongDesc.CONCAT_COMMA=Concatena le stringhe separate da ,
+GroupByMeta.TypeGroupLongDesc.CONCAT_COMMA=Concatena le stringhe separandole con ,
GroupByDialog.Log.GettingKeyInfo=recupero informazioni chiavi...
GroupByMeta.TypeGroupLongDesc.STANDARD_DEVIATION=Deviazione standard
-GroupByDialog.AddLineNr.Label=Aggiungi numero linea, riparti ad ogni gruppo
-GroupBy.Exception.UnableToReadBackRowFromTemporaryFile=Impossibile leggere riga dal file temporaneo\!
+GroupByDialog.AddLineNr.Label=Aggiungi numero linea ed azzera a break di gruppo
+GroupBy.Exception.UnableToReadBackRowFromTemporaryFile=Impossibile leggere la riga dal file temporaneo\!
GroupByDialog.ColumnInfo.Value.Tooltip=Riempire qua se sono richiesti pi\u00F9 valori.\nPer esempio per l''opzione ''Concatenare le stringhe separate da''.
-GroupBy.Log.AggregateSubjectFieldCouldNotFound=Il campo oggetto aggregato [{0}] non \u00E8 stato trovato\!
-GroupByDialog.AllRows.Label=Includere tutte le righe?
+GroupBy.Log.AggregateSubjectFieldCouldNotFound=Il campo su cui effettuare l''aggregazione [{0}] non \u00E8 stato trovato\!
+GroupByDialog.AllRows.Label=Devo includere tutte le righe?
GroupByMeta.TypeGroupLongDesc.SUM=Somma
-GroupByMeta.Exception.UnableToLoadTransformMetaFromXML=Impossibile caricare le informazioni del passo da XML
-GroupBy.Exception.UnableToCreateTemporaryFile=Impossibile creare file temporaneo
+GroupByMeta.Exception.UnableToLoadTransformMetaFromXML=Impossibile caricare le informazioni del transform dai metadati XML
+GroupBy.Exception.UnableToCreateTemporaryFile=Impossibile creare il file temporaneo
GroupByMeta.TypeGroupLongDesc.FIRST_INCL_NULL=Primo valore
GroupByMeta.TypeGroupLongDesc.COUNT_DISTINCT=Numero di valori distinti (N)
-GroupByDialog.TransformName.Label=Nome del passo
+GroupByDialog.TransformName.Label=Nome del transform
GroupByMeta.TypeGroupLongDesc.MAX=Massimo
-GroupByDialog.GroupByWarningDialog.DialogMessage=Il gruppo per funzione richiede l''input ordinato sulle chiavi specificate.{0} Se non viene ordinato, i risultati potrebbero non essere corretti.
+GroupByDialog.GroupByWarningDialog.DialogMessage=Il raggruppamento, per funzonare correttamente, richiede che l''input sa ordinato sulle chiavi specificate.{0} Se non viene ordinato, i risultati potrebbero non essere corretti.
GroupByMeta.TypeGroupLongDesc.MEDIAN=Mediana
GroupByMeta.TypeGroupLongDesc.COUNT_ANY=Numero di righe (senza argomenti di campo)
-GroupByMeta.TypeGroupLongDesc.CONCAT_STRING=Concatena le string separate da
+GroupByMeta.TypeGroupLongDesc.CONCAT_STRING=Concatena le stringhe separandole con
+GroupByMeta.TypeGroupLongDesc.CONCAT_STRING_CRLF=Concatena le stringhe separandole con CRLF