Actually load() method return String[] (actually with arbitrary number of
elements and arbitrary order) so I see no issue here, You read parameters
in the same order as you wright them.
Map<String,String> will make things worst IMHO since the order will not be
the same

On Wed, Feb 25, 2015 at 4:16 AM, Tobias Soloschenko <
tobiassolosche...@googlemail.com> wrote:

> Hi Maxim,
>
> I think this isn't a good idea because the order in which the arguments
> are added to the save method is important - and what if you want to let one
> argument away? Then the rest would not used for their purpose.
>
> Instead I would add another method save method that takes a Map with key
> value pairs (key are used to identify the values)
> map.put("username","tom");
> map.put("password","secret);
> map.put("host","127.0.0.1");
>
> the save method could be invoked internally with
> #save(map.get("username"),map.get("password"));
>
> Another way:
>
> Oracle uses system properties - (http://docs.oracle.com/
> javase/7/docs/api/java/net/doc-files/net-properties.html)
> System.setProperty("org.apache.auth.username","tom");
> System.setProperty("org.apache.auth.password","secret");
> the save method could be invoked internally with
> #save(System.getProperty("org.apache.auth.username"),System.
> getProperty("org.apache.auth.username"));
>
> kind regards
>
> Tobias
>
> Am 24.02.15 um 17:09 schrieb Maxim Solodovnik:
>
>  Hello All,
>>
>> recently I have proposed the patch to reduce copy/paste while implementing
>> custom IAuthenticationStrategy.
>>
>> Actually this interface have 2 methods which are not correlate to each
>> other
>> String[] load();
>> void save(final String username, final String password);
>>
>> in fact this is getter and setter but with different signatures
>> The change I would like to propose is to replace (in Wicket7)
>> void save(final String username, final String password);
>> with
>> void save(final String... credentials);
>>
>> this will allow to easily store additional credentials (like domain) and
>> will not introduce the code break since previous calls will work as
>> expected
>>
>> What do you think?
>>
>>
>


-- 
WBR
Maxim aka solomax

Reply via email to