I consider it a hack or weird thing. By convention all functions start with "__" Consider yourself giving a training, how do you explain why some functions start with "_"
Look at the fix, the code that handles it is a code hack and breaks isolation of this function. Backward compat is nice but having to maintain in lot of places code that allows those is a bad thing in long term and source of bugs. IMO, dropping this alias is harmless, as you do a search replace to move to new name. Regards On Sunday, July 16, 2017, sebb <[email protected]> wrote: > On 16 July 2017 at 16:50, Felix Schumacher > <[email protected] <javascript:;>> wrote: > > Am 16.07.2017 um 17:05 schrieb Philippe Mouawad: > >> > >> Hi Felix, > >> This function was just an alias for the other one __StringFromFile. > >> The replacement is just to add a '_' as all other functions. > >> From my understanding, we'll release a 3.3 which IMO can drop elements > >> and/or functions as we did in 3.2. > >> > >> I can keep it, but those are always backward compatibility hacks that > IMO > >> give a weird image of JMeter sometimes. > > > > I feel a bit uneasy to drop support for an old hack without warning. > > This is not a hack; it's an alias added when the function was renamed. > There's no need to drop the alias. > > > Felix > > > >> > >> But if you still want to keep it, it 'll be ok for me. > >> > >> Regards > >> Philippe > >> > >> > >> > >> > >> > >> On Sun, Jul 16, 2017 at 4:58 PM, Felix Schumacher < > >> [email protected] <javascript:;>> wrote: > >> > >>> Am 16.07.2017 um 16:38 schrieb [email protected] <javascript:;>: > >>> > >>>> Author: pmouawad > >>>> Date: Sun Jul 16 14:38:29 2017 > >>>> New Revision: 1802063 > >>>> > >>>> URL: http://svn.apache.org/viewvc?rev=1802063&view=rev > >>>> Log: > >>>> Bug 61258 - StringFromFile function is mentioned twice in the Function > >>>> helper dialog > >>>> Bugzilla Id: 61258 > >>>> > >>>> Modified: > >>>> jmeter/trunk/src/components/org/apache/jmeter/modifiers/Use > >>>> rParameters.java > >>>> jmeter/trunk/src/core/org/apache/jmeter/engine/util/Compoun > >>>> dVariable.java > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages. > >>>> properties > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_ > >>>> es.properties > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_ > >>>> fr.properties > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_ > >>>> pt_BR.properties > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_ > >>>> tr.properties > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages_ > >>>> zh_TW.properties > >>>> jmeter/trunk/xdocs/changes.xml > >>>> jmeter/trunk/xdocs/usermanual/component_reference.xml > >>>> jmeter/trunk/xdocs/usermanual/functions.xml > >>>> > >>>> Modified: jmeter/trunk/src/components/org/apache/jmeter/modifiers/ > User > >>>> Parameters.java > >>>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org > >>>> /apache/jmeter/modifiers/UserParameters.java?rev=1802063&r1= > >>>> 1802062&r2=1802063&view=diff > >>>> ============================================================ > >>>> ================== > >>>> --- > >>>> jmeter/trunk/src/components/org/apache/jmeter/modifiers/ > UserParameters.java > >>>> (original) > >>>> +++ > >>>> jmeter/trunk/src/components/org/apache/jmeter/modifiers/ > UserParameters.java > >>>> Sun Jul 16 14:38:29 2017 > >>>> @@ -49,7 +49,7 @@ public class UserParameters extends Abst > >>>> * shared between all threads see the clone() method below > >>>> * > >>>> * The lock ensures that all the variables are processed > >>>> together, > >>>> which is > >>>> - * important for functions such as __CSVRead and _StringFromFile. > >>>> + * important for functions such as __CSVRead and > __StringFromFile. > >>>> * But it has a performance drawback. > >>>> */ > >>>> private transient Object lock = new Object(); > >>>> > >>>> Modified: jmeter/trunk/src/core/org/apache/jmeter/engine/util/ > Compound > >>>> Variable.java > >>>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apach > >>>> e/jmeter/engine/util/CompoundVariable.java?rev=1802063&r1= > >>>> 1802062&r2=1802063&view=diff > >>>> ============================================================ > >>>> ================== > >>>> --- > >>>> jmeter/trunk/src/core/org/apache/jmeter/engine/util/ > CompoundVariable.java > >>>> (original) > >>>> +++ > >>>> jmeter/trunk/src/core/org/apache/jmeter/engine/util/ > CompoundVariable.java > >>>> Sun Jul 16 14:38:29 2017 > >>>> @@ -76,10 +76,6 @@ public class CompoundVariable implements > >>>> String referenceKey = tempFunc.getReferenceKey(); > >>>> if (referenceKey.length() > 0) { // ignore self > >>>> functions.put(referenceKey, > tempFunc.getClass()); > >>>> - // Add alias for original StringFromFile name > (had > >>>> only one underscore) > >>>> - if (referenceKey.equals("__String > >>>> FromFile")){//$NON-NLS-1$ > >>>> - functions.put("_StringFromFile", > >>>> tempFunc.getClass());//$NON-NLS-1$ > >>>> - } > >>>> > >>> Do you think it is a good idea to drop a function (alias) in a minor > >>> version? > >>> > >>> I think we should keep the alias. I am OK to remove it from the > >>> documentation. > >>> > >>> Felix > >>> > >>> > >>> } > >>>> > >>>> } > >>>> > >>>> Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages. > >>>> properties > >>>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apach > >>>> e/jmeter/resources/messages.properties?rev=1802063&r1= > >>>> 1802062&r2=1802063&view=diff > >>>> ============================================================ > >>>> ================== > >>>> --- > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties > >>>> (original) > >>>> +++ > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties > >>>> Sun Jul 16 14:38:29 2017 > >>>> @@ -1007,7 +1007,7 @@ server=Server Name or IP\: > >>>> servername=Servername \: > >>>> session_argument_name=Session Argument Name > >>>> setup_thread_group_title=setUp Thread Group > >>>> -should_save=You should save your test plan before running it. \nIf > you > >>>> are using supporting data files (ie, for CSV Data Set or > >>>> _StringFromFile), > >>>> \nthen it is particularly important to first save your test script. > \nDo > >>>> you want to save your test plan first? > >>>> +should_save=You should save your test plan before running it. \nIf > you > >>>> are using supporting data files (ie, for CSV Data Set or > >>>> __StringFromFile), > >>>> \nthen it is particularly important to first save your test script. > \nDo > >>>> you want to save your test plan first? > >>>> shutdown=Shutdown > >>>> simple_config_element=Simple Config Element > >>>> simple_data_writer_title=Simple Data Writer > >>>> > >>>> Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages_ > >>>> es.properties > >>>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apach > >>>> e/jmeter/resources/messages_es.properties?rev=1802063&r1= > >>>> 1802062&r2=1802063&view=diff > >>>> ============================================================ > >>>> ================== > >>>> --- > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/ > messages_es.properties > >>>> (original) > >>>> +++ > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/ > messages_es.properties > >>>> Sun Jul 16 14:38:29 2017 > >>>> @@ -706,7 +706,7 @@ server=Nombre de Servidor o IP\: > >>>> servername=Nombre de Servidor\: > >>>> session_argument_name=Nombre de Argumento de Sesi\u00F3n > >>>> setup_thread_group_title=Montar grupo de Hilos > >>>> -should_save=Deber\u00EDa guardar el plan de pruebas antes de > lanzarlo. > >>>> Si est\u00E1 utilizando archivos de datos (ie, para DCV o > >>>> _StringFromFile), > >>>> entonces es especialmente importante que primero guarde su script de > >>>> prueba. > >>>> +should_save=Deber\u00EDa guardar el plan de pruebas antes de > lanzarlo. > >>>> Si est\u00E1 utilizando archivos de datos (ie, para DCV o > >>>> __StringFromFile), entonces es especialmente importante que primero > >>>> guarde > >>>> su script de prueba. > >>>> shutdown=Interrumpir > >>>> simple_config_element=Elemento de Configuraci\u00F3n Simple > >>>> simple_data_writer_title=Escritor de Datos Simple > >>>> > >>>> Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages_ > >>>> fr.properties > >>>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apach > >>>> e/jmeter/resources/messages_fr.properties?rev=1802063&r1= > >>>> 1802062&r2=1802063&view=diff > >>>> ============================================================ > >>>> ================== > >>>> --- > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/ > messages_fr.properties > >>>> (original) > >>>> +++ > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/ > messages_fr.properties > >>>> Sun Jul 16 14:38:29 2017 > >>>> @@ -997,7 +997,7 @@ server=Nom ou IP du serveur \: > >>>> servername=Nom du serveur \: > >>>> session_argument_name=Nom des arguments de la session > >>>> setup_thread_group_title=Groupe d'unit\u00E9s de d\u00E9but > >>>> -should_save=Vous devez enregistrer le plan de test avant de le > lancer. > >>>> \nSi vous utilisez des fichiers de donn\u00E9es (i.e. Source de > >>>> donn\u00E9es CSV ou la fonction _StringFromFile), \nalors c'est > >>>> particuli\u00E8rement important d'enregistrer d'abord votre script de > >>>> test. > >>>> \nVoulez-vous enregistrer maintenant votre plan de test ? > >>>> +should_save=Vous devez enregistrer le plan de test avant de le > lancer. > >>>> \nSi vous utilisez des fichiers de donn\u00E9es (i.e. Source de > >>>> donn\u00E9es CSV ou la fonction __StringFromFile), \nalors c'est > >>>> particuli\u00E8rement important d'enregistrer d'abord votre script de > >>>> test. > >>>> \nVoulez-vous enregistrer maintenant votre plan de test ? > >>>> shutdown=Eteindre > >>>> simple_config_element=Configuration Simple > >>>> simple_data_writer_title=Enregistreur de donn\u00E9es > >>>> > >>>> Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages_ > >>>> pt_BR.properties > >>>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apach > >>>> e/jmeter/resources/messages_pt_BR.properties?rev=1802063& > >>>> r1=1802062&r2=1802063&view=diff > >>>> ============================================================ > >>>> ================== > >>>> --- > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/ > messages_pt_BR.properties > >>>> (original) > >>>> +++ > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/ > messages_pt_BR.properties > >>>> Sun Jul 16 14:38:29 2017 > >>>> @@ -651,7 +651,7 @@ send_file_param_name_label=Nome do Par\u > >>>> server=Nome do servidor ou IP\: > >>>> servername=Nome do servidor\: > >>>> session_argument_name=Nome do Argumento de Sess\u00E3o > >>>> -should_save=Voc\u00EA deveria salvar seu plano de teste antes de > >>>> execut\u00E1-lo.\nSe voc\u00EA est\u00E1 usando suporte a arquivos de > >>>> dados > >>>> (ex\: Conjunto de Dados CSV ou _StringFromFile),\nent\u00E3o \u00E9 > >>>> particularmente importante salvar seu script de teste.\nVoc\u00EA quer > >>>> salvar seu plano de teste primeiro? > >>>> +should_save=Voc\u00EA deveria salvar seu plano de teste antes de > >>>> execut\u00E1-lo.\nSe voc\u00EA est\u00E1 usando suporte a arquivos de > >>>> dados > >>>> (ex\: Conjunto de Dados CSV ou __StringFromFile),\nent\u00E3o \u00E9 > >>>> particularmente importante salvar seu script de teste.\nVoc\u00EA quer > >>>> salvar seu plano de teste primeiro? > >>>> shutdown=Desligar > >>>> simple_config_element=Elemento de Configura\u00E7\u00E3o Simples > >>>> simple_data_writer_title=Escritor de Dados Simples > >>>> > >>>> Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages_ > >>>> tr.properties > >>>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apach > >>>> e/jmeter/resources/messages_tr.properties?rev=1802063&r1= > >>>> 1802062&r2=1802063&view=diff > >>>> ============================================================ > >>>> ================== > >>>> --- > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/ > messages_tr.properties > >>>> (original) > >>>> +++ > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/ > messages_tr.properties > >>>> Sun Jul 16 14:38:29 2017 > >>>> @@ -620,7 +620,7 @@ send_file_param_name_label=Parametre \u0 > >>>> server=Sunucu \u0130smi veya IP\: > >>>> servername=Sunucu \u0130smi \: > >>>> session_argument_name=Oturum Arg\u00FCman\u0131 \u0130smi > >>>> -should_save=Testi \u00E7al\u0131\u015Ft\u0131rmadan \u00F6nce test > >>>> plan\u0131n\u0131 kaydetmeniz tavsiye edilir.\nE\u011Fer destek veri > >>>> dosyalar\u0131 kullan\u0131yorsan\u0131z (\u00F6r\: CSV Veri > K\u00FCmesi > >>>> ya > >>>> da _StringFromFile), \u00F6ncelikle test beti\u011Fini kaydetmeniz > >>>> \u00F6nemlidir.\n\u00D6ncelikle test plan\u0131n\u0131 kaydetmek > istiyor > >>>> musunuz? > >>>> +should_save=Testi \u00E7al\u0131\u015Ft\u0131rmadan \u00F6nce test > >>>> plan\u0131n\u0131 kaydetmeniz tavsiye edilir.\nE\u011Fer destek veri > >>>> dosyalar\u0131 kullan\u0131yorsan\u0131z (\u00F6r\: CSV Veri > K\u00FCmesi > >>>> ya > >>>> da __StringFromFile), \u00F6ncelikle test beti\u011Fini kaydetmeniz > >>>> \u00F6nemlidir.\n\u00D6ncelikle test plan\u0131n\u0131 kaydetmek > istiyor > >>>> musunuz? > >>>> shutdown=Kapat > >>>> simple_config_element=Basit Ayar Eleman\u0131 > >>>> simple_data_writer_title=Basit Veri Yaz\u0131c\u0131 > >>>> > >>>> Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages_ > >>>> zh_TW.properties > >>>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apach > >>>> e/jmeter/resources/messages_zh_TW.properties?rev=1802063& > >>>> r1=1802062&r2=1802063&view=diff > >>>> ============================================================ > >>>> ================== > >>>> --- > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/ > messages_zh_TW.properties > >>>> (original) > >>>> +++ > >>>> jmeter/trunk/src/core/org/apache/jmeter/resources/ > messages_zh_TW.properties > >>>> Sun Jul 16 14:38:29 2017 > >>>> @@ -468,7 +468,7 @@ send_file_param_name_label=\u53C3\u6578\ > >>>> server=\u4F3A\u670D\u5668\u540D\u7A31\u6216 IP > >>>> servername=\u4F3A\u670D\u5668\u540D\u7A31 > >>>> > >>>> session_argument_name=\u9023\u7DDA\u968E\u6BB5\u53C3\u6578\ > u540D\u7A31 > >>>> -should_save=\u57F7\u884C\u6E2C\u8A66\u524D\u8981\u5148\u5C0 > >>>> 7\u6E2C\u8A66\u8173\u672C\u5B58\u6A94. > >>>> \u5C24\u5176\u662F\u7576\u4F60\u4F7F\u7528 > >>>> CSV Data Set \u6216 _StringFromFile \u6642 > >>>> +should_save=\u57F7\u884C\u6E2C\u8A66\u524D\u8981\u5148\u5C0 > >>>> 7\u6E2C\u8A66\u8173\u672C\u5B58\u6A94. > >>>> \u5C24\u5176\u662F\u7576\u4F60\u4F7F\u7528 > >>>> CSV Data Set \u6216 __StringFromFile \u6642 > >>>> shutdown=\u95DC\u9589 > >>>> simple_config_element=\u7C21\u6613\u8A2D\u7F6E\u5143\u7D20 > >>>> simple_data_writer_title=\u7C21\u6613\u8CC7\u6599\u5BEB\ > u4F5C\u8005 > >>>> > >>>> Modified: jmeter/trunk/xdocs/changes.xml > >>>> URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml? > >>>> rev=1802063&r1=1802062&r2=1802063&view=diff > >>>> ============================================================ > >>>> ================== > >>>> --- jmeter/trunk/xdocs/changes.xml [utf-8] (original) > >>>> +++ jmeter/trunk/xdocs/changes.xml [utf-8] Sun Jul 16 14:38:29 2017 > >>>> @@ -80,7 +80,7 @@ Summary > >>>> <li>In CookieManager, DEFAULT_IMPLEMENTATION and > >>>> DEFAULT_IMPLEMENTATION > >>>> constants are now private. > >>>> <note>If you're using ignorecookies with HC3CookieHandler (< > >>>> JMeter > >>>> 3.1) configuration will be reset, ensure you put it back </note></li> > >>>> <h3>Removed elements or functions</h3> > >>>> - > >>>> + <li><code>_StringFromFile</code> function has been dropped, use > >>>> <code>__StringFromFile</code> instead</li> > >>>> <h3>Logging changes</h3> > >>>> <!-- =================== Improvements =================== --> > >>>> @@ -179,6 +179,7 @@ Summary > >>>> <h3>Functions</h3> > >>>> <ul> > >>>> + <li><bug>61258</bug>StringFromFile function is mentioned twice > in > >>>> the Function helper dialog</li> > >>>> </ul> > >>>> <h3>I18N</h3> > >>>> > >>>> Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml > >>>> URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/c > >>>> omponent_reference.xml?rev=1802063&r1=1802062&r2=1802063&view=diff > >>>> ============================================================ > >>>> ================== > >>>> --- jmeter/trunk/xdocs/usermanual/component_reference.xml (original) > >>>> +++ jmeter/trunk/xdocs/usermanual/component_reference.xml Sun Jul 16 > >>>> 14:38:29 2017 > >>>> @@ -3507,7 +3507,7 @@ By default, a Graphite implementation is > >>>> <description> > >>>> <p> > >>>> CSV Data Set Config is used to read lines from a file, and > split > >>>> them into variables. > >>>> - It is easier to use than the <code>__CSVRead()</code> and > >>>> <code>_StringFromFile()</code> functions. > >>>> + It is easier to use than the <code>__CSVRead()</code> and > >>>> <code>__StringFromFile()</code> functions. > >>>> It is well suited to handling large numbers of variables, and > is > >>>> also useful for testing with > >>>> "random" and unique values.</p> > >>>> <p>Generating unique random values at run-time is expensive in > >>>> terms of CPU and memory, so just create the data > >>>> > >>>> Modified: jmeter/trunk/xdocs/usermanual/functions.xml > >>>> URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/f > >>>> unctions.xml?rev=1802063&r1=1802062&r2=1802063&view=diff > >>>> ============================================================ > >>>> ================== > >>>> --- jmeter/trunk/xdocs/usermanual/functions.xml (original) > >>>> +++ jmeter/trunk/xdocs/usermanual/functions.xml Sun Jul 16 14:38:29 > 2017 > >>>> @@ -432,8 +432,6 @@ be in the interval -2147483648 to 214748 > >>>> </p> > >>>> </component> > >>>> -<!-- Alternate spelling --> > >>>> -<a name="_StringFromFile"/> > >>>> <component index="§-num;.5.5" name="__StringFromFile"> > >>>> <description> > >>>> @@ -520,8 +518,8 @@ Here are a few format strings and the co > >>>> the sequence number is interpreted as a loop count, and the > file > >>>> will be used at most "<code>end</code>" times. > >>>> In this case the filename is not formatted. > >>>> <br></br> > >>>> - <code>${_StringFromFile(PIN#'.'DAT,,1,2)}</code> - reads > >>>> <code>PIN1.DAT</code>, <code>PIN2.DAT</code><br></br> > >>>> - <code>${_StringFromFile(PIN.DAT,,,2)}</code> - reads > >>>> <code>PIN.DAT</code> twice<br></br> > >>>> + <code>${__StringFromFile(PIN#'.'DAT,,1,2)}</code> - reads > >>>> <code>PIN1.DAT</code>, <code>PIN2.DAT</code><br></br> > >>>> + <code>${__StringFromFile(PIN.DAT,,,2)}</code> - reads > >>>> <code>PIN.DAT</code> twice<br></br> > >>>> Note that the "<code>.</code>" in <code>PIN.DAT</code> above > >>>> should > >>>> <u>not</u> be quoted. > >>>> In this case the start number is omitted, so the file name is > >>>> used > >>>> exactly as is. > >>>> </p> > >>>> @@ -697,7 +695,7 @@ This leads to creation of match number v > >>>> </component> > >>>> <component index="§-num;.5.8" name="__CSVRead"> > >>>> -<description><p>The CSVRead function returns a string from a CSV file > >>>> (c.f. <a href="#_StringFromFile">StringFromFile</a>)</p> > >>>> +<description><p>The CSVRead function returns a string from a CSV file > >>>> (c.f. <a href="#__StringFromFile">StringFromFile</a>)</p> > >>>> <p>NOTE: JMeter supports multiple file names. > >>>> </p> > >>>> <p><b>In most cases, the newer > >>>> > >>>> > >>>> > >> > > > -- Cordialement. Philippe Mouawad.
