private boolean getPromptResult( String message, String rememberText, String rememberPropertyName ) { boolean result = false; // There is nothing to remember in case of Ask Before Replacing option is turned off. // Thus is returned value of Replace existing objects checkbox if ( !askReplace ) { result = overwritePrompter.overwritePrompt( message, rememberText, rememberPropertyName ); return result; } if ( isRemembered( rememberPropertyName ) ) { result = rememberPropertyNamesToOverwrite.contains( rememberPropertyName ); return result; } result = overwritePrompter.overwritePrompt( message, rememberText, rememberPropertyName ); // Save result so we'll know what to return if the user selects to remember if ( result ) { rememberPropertyNamesToOverwrite.add( rememberPropertyName ); } else { rememberPropertyNamesToOverwrite.remove( rememberPropertyName ); } return result; }
protected boolean shouldOverwrite( OverwritePrompter prompter, Props props, String message, String rememberMessage ) { boolean askOverwrite = Props.isInitialized() ? props.askAboutReplacingDatabaseConnections() : false; boolean overwrite = Props.isInitialized() ? props.replaceExistingDatabaseConnections() : true; if ( askOverwrite ) { if ( prompter != null ) { overwrite = prompter.overwritePrompt( message, rememberMessage, Props.STRING_ASK_ABOUT_REPLACING_DATABASES ); } } return overwrite; }
@Test public void testShouldOverwrite() { assertTrue( meta.shouldOverwrite( null, null, null, null ) ); Props.init( Props.TYPE_PROPERTIES_EMPTY ); assertTrue( meta.shouldOverwrite( null, Props.getInstance(), "message", "remember" ) ); Props.getInstance().setProperty( Props.STRING_ASK_ABOUT_REPLACING_DATABASES, "Y" ); OverwritePrompter prompter = mock( OverwritePrompter.class ); when( prompter.overwritePrompt( "message", "remember", Props.STRING_ASK_ABOUT_REPLACING_DATABASES ) ) .thenReturn( false ); assertFalse( meta.shouldOverwrite( prompter, Props.getInstance(), "message", "remember" ) ); }