public void setValue( Boolean val ) { // just save it back into kettle Props.getInstance().setProperty( PDI_CHECK_VERSION_FLAG, val.toString() ); }
@Override public boolean overwritePrompt( String message, String rememberText, String rememberPropertyName ) { Object[] res = messageDialogWithToggle( "Warning", null, message, Const.WARNING, new String[] { BaseMessages.getString( Spoon.class, "System.Button.Yes" ), BaseMessages.getString( Spoon.class, "System.Button.No" ) }, 1, rememberText, !"Y".equalsIgnoreCase( props .getProperty( rememberPropertyName ) ) ); int idx = ( (Integer) res[0] ).intValue(); boolean overwrite = ( ( idx & 0xFF ) == 0 ); boolean toggleState = ( (Boolean) res[1] ).booleanValue(); props.setProperty( rememberPropertyName, ( !toggleState ) ? "Y" : "N" ); return overwrite; }
@Override public boolean overwritePrompt( String message, String rememberText, String rememberPropertyName ) { log.logBasic( message ); String line; Boolean result = null; boolean remember = false; while ( result == null ) { log.logBasic( prompt ); try { line = reader.readLine().trim(); } catch ( IOException e ) { throw new RuntimeException( BaseMessages.getString( PKG, "Import.CouldntReadline" ) ); } if ( line.equalsIgnoreCase( yes ) || line.equalsIgnoreCase( all ) ) { result = true; } else if ( line.equalsIgnoreCase( no ) || line.equalsIgnoreCase( none ) ) { result = false; } if ( line.equalsIgnoreCase( all ) || line.equalsIgnoreCase( none ) ) { remember = true; } } Props.getInstance().setProperty( rememberPropertyName, ( !remember ) ? "Y" : "N" ); return result; } };
@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" ) ); }
Props.getInstance().setProperty( IMPORT_ASK_ABOUT_REPLACE_CS, "Y" ); Props.getInstance().setProperty( IMPORT_ASK_ABOUT_REPLACE_DB, "Y" ); Props.getInstance().setProperty( IMPORT_ASK_ABOUT_REPLACE_PS, "Y" ); Props.getInstance().setProperty( IMPORT_ASK_ABOUT_REPLACE_SS, "Y" ); this.overwritePrompter = ( (HasOverwritePrompter) feedback ).getOverwritePrompter(); } else {