question: private void readBootJson ( String basedir ) throws IOException { BootstrapConfig boot = BootstrapConfig . fromJsonFile ( basedir + "/boot.json" ) ; String dsamePassword ; String configStorePassword ; try { AMKeyProvider amKeyProvider = new AMKeyProvider ( boot . getKeyStoreConfig ( "default" ) ) ; dsamePassword = amKeyProvider . getSecret ( DSAME_PWD_KEY ) ; configStorePassword = amKeyProvider . getSecret ( CONFIG_PWD_KEY ) ; } catch ( KeyStoreException e ) { throw new IOException ( "Can't open boot keystore" , e ) ; } String server_instance = boot . getInstance ( ) ; if ( server_instance == null ) { throw new IOException ( "Can't bootstrap - missing server instance" ) ; } String dsame_user = boot . getDsameUser ( ) ; for ( ConfigStoreProperties cfp : boot . getConfigStoreList ( ) ) { Map m = new HashMap ( ) ; String proto = cfp . getLdapProtocol ( ) + "://" ; m . put ( PROTOCOL , proto ) ; m . put ( DS_HOST , cfp . getLdapHost ( ) ) ; String port = "" + cfp . getLdapPort ( ) ; m . put ( DS_PORT , port ) ; m . put ( SERVER_INSTANCE , server_instance ) ; m . put ( PWD , configStorePassword ) ; m . put ( DS_BASE_DN , cfp . getBaseDN ( ) ) ; m . put ( USER , dsame_user ) ; m . put ( DS_MGR , cfp . getDirManagerDN ( ) ) ; m . put ( DS_PWD , dsamePassword ) ; String bootstrap = createBootstrapResource ( m , false ) ; bootstrap = StringUtils . strReplaceAll ( bootstrap , "@DSAMEUSER_NAME@" , URLEncoder . encode ( dsame_user , "UTF-8" ) ) ; data . add ( bootstrap ) ; } }
target:  Read bootstrap data from boot.json The boot passwords are stored in keystore.jceks. This mimics the readFile() call - and as a side effect leaves this.data List populated with the bootstrap url in the same form as the bootstrap file.