[MNG-7263] improve AbstractLifecycleProvider

This commit is contained in:
Hervé Boutemy 2022-01-06 21:21:34 +01:00 committed by Hervé Boutemy
parent 711d5fbbf2
commit 94af1d99f8
1 changed files with 11 additions and 4 deletions

View File

@ -41,11 +41,18 @@ protected AbstractLifecycleProvider( String id, String[] phases, String[] plugin
HashMap<String, LifecyclePhase> defaultBindings = null;
if ( pluginBindings != null )
{
int len = pluginBindings.length;
defaultBindings = new HashMap<>();
for ( int i = 0; i < len; i++ )
final int len = pluginBindings.length;
if ( len < 1 || len % 2 != 0 )
{
defaultBindings.put( pluginBindings[i++], new LifecyclePhase( pluginBindings[i] ) );
throw new IllegalArgumentException( "Plugin bindings must have more than 0, even count of elements" );
}
defaultBindings = new HashMap<>( len / 2 );
for ( int i = 0; i < len; i += 2 )
{
defaultBindings.put( pluginBindings[i], new LifecyclePhase( pluginBindings[i + 1] ) );
}
}