private void addManagedSystem(ISource S) throws AdeException {
  logger.trace(String.format("addManagedSystem(%s) -->entry",S.getSourceId()));
  boolean addOk;
  try {
    logger.info(String.format("addManagedSystem(%s) -->executeBatch",S.getSourceId()));
    addOk=executeBatch(getSqlForAdd(S));
  }
 catch (  AdeException e) {
    throw e;
  }
catch (  Throwable t) {
    final String msg=String.format("addManagedSystem(%s) caught unexpected throwable: %s",S.getSourceId(),t.getMessage());
    logger.error(msg);
    throw new AdeInternalException(msg,t);
  }
  if (!addOk) {
    final String msg=String.format("addManagedSystem(%s) unexpected (sql) failure",S.getSourceId());
    logger.error(msg);
    throw new AdeInternalException(msg);
  }
  logger.trace("addManagedSystem() <-- exit");
}

private void addManagedSystem ( ISource S ) throws AdeException { logger . trace ( String . format ( "addManagedSystem(%s) -->entry" , S . getSourceId ( ) ) ) ; boolean addOk ; try { logger . info ( String . format ( "addManagedSystem(%s) -->executeBatch" , S . getSourceId ( ) ) ) ; addOk = executeBatch ( getSqlForAdd ( S ) ) ; } catch ( AdeException e ) { throw e ; } catch ( Throwable t ) { final String msg = String . format ( "addManagedSystem(%s) caught unexpected throwable: %s" , S . getSourceId ( ) , t . getMessage ( ) ) ; logger . error ( msg ) ; throw new AdeInternalException ( msg , t ) ; } if ( ! addOk ) { final String msg = String . format ( "addManagedSystem(%s) unexpected (sql) failure" , S . getSourceId ( ) ) ; logger . error ( msg ) ; throw new AdeInternalException ( msg ) ; } logger . trace ( "addManagedSystem() <-- exit" ) ; }
add a new row to the analytics database ' " managed_systems " table which reflects the input managed system info . note : in the most subtle of cases , these rows may already exist * and * be marked as " obsolete " by the earlier setting of their end_time column , and in this case our new reference should " reinstate " them . since managing this setting is somewhat difficult to do with perfect precision , we opt instead for simply unconditionally clearing their end_time each time we reference them .
