Gilles commented on LANG-1196:

bq. easy fix would be to pass the Random implementation in the constructor

{{RandomSringUtils}} is a "_utility_" class: all methods are static. Passing an 
argument to the constructor will require to remove the _static_ keyword, which 
is not a compatible change.

Better would be to define a specific interface (as suggested by Jochen on the 

Even better would be to have a dedicated Commons component (for random-related 
There is a willingness to create one based on the RNG interface defined in

Please have a look at the "dev" ML archive for recent discussions about the new 
"RNG" component.

> Provide way to set random number generator on RandomStringUtils to enable 
> repeatable test execution
> ---------------------------------------------------------------------------------------------------
>                 Key: LANG-1196
>                 URL: https://issues.apache.org/jira/browse/LANG-1196
>             Project: Commons Lang
>          Issue Type: Improvement
>          Components: lang.*
>    Affects Versions: 3.4
>         Environment: java version "1.8.0_66"
> Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
> Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
> Linux 4.0.5 #3 SMP Mon Sep 14 12:41:09 BST 2015 x86_64 Intel(R) Core(TM) 
> i7-4710MQ CPU @ 2.50GHz GenuineIntel GNU/Linux
>            Reporter: Gus Power
>            Priority: Minor
> Hi,
> I'm using [Sham 
> |http://search.maven.org/#artifactdetails%7Corg.shamdata%7Csham%7C0.3%7Cjar] 
> to generate realistic looking test data for both parameterized tests and user 
> acceptance testing. We log the seed that is used for each run so that if 
> there is an issue we can recreate exactly the same test data. I would also 
> like to use some of the commons-lang RandomStringUtils functionality but 
> notice that the implementation provides no way of setting the random number 
> generator to be used.
> {code}private static final Random RANDOM = new Random();{code}
> A way to configure this would be really useful. If there is an alternative 
> way to do this then that would be great. If you think it's a good idea and it 
> requires a patch I'm happy to supply one.
> Cheers,
> Gus.

This message was sent by Atlassian JIRA

Reply via email to