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);
  }
}

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 ) ; } }
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 .
