private static Hashtable updateNamingTable(boolean forClient) throws SMSException {
  Hashtable nametable=null;
  try {
    ServiceSchema sc=ssmNaming.getGlobalSchema();
    Map namingAttrs=sc.getAttributeDefaults();
    sc=ssmPlatform.getGlobalSchema();
    Map platformAttrs=sc.getAttributeDefaults();
    Set sites=getSites(platformAttrs);
    Set servers=getServers(platformAttrs,sites);
    Set siteNamesAndIDs=getSiteNamesAndIDs();
    storeSiteNames(siteNamesAndIDs,namingAttrs);
    if ((sites != null) && !sites.isEmpty()) {
      if (!forClient) {
        registFQDNMapping(sites);
      }
      sites.addAll(servers);
    }
 else {
      sites=servers;
    }
    if (forClient) {
      storeServerListForClient(sites,namingAttrs);
    }
 else {
      storeServerList(sites,namingAttrs);
    }
    nametable=convertToHash(namingAttrs);
    if (forClient && (namingTable != null)) {
      String siteList=(String)namingTable.get(Constants.SITE_ID_LIST);
      nametable.put(Constants.SITE_ID_LIST,siteList);
    }
    insertLBCookieValues(nametable);
  }
 catch (  Exception ex) {
    String errorMsg="Can't get naming table";
    namingDebug.error(errorMsg,ex);
    if (ex.getMessage() != null) {
      errorMsg=ex.getMessage();
    }
    throw new SMSException(errorMsg);
  }
  return nametable;
}

private static Hashtable updateNamingTable ( boolean forClient ) throws SMSException { Hashtable nametable = null ; try { ServiceSchema sc = ssmNaming . getGlobalSchema ( ) ; Map namingAttrs = sc . getAttributeDefaults ( ) ; sc = ssmPlatform . getGlobalSchema ( ) ; Map platformAttrs = sc . getAttributeDefaults ( ) ; Set sites = getSites ( platformAttrs ) ; Set servers = getServers ( platformAttrs , sites ) ; Set siteNamesAndIDs = getSiteNamesAndIDs ( ) ; storeSiteNames ( siteNamesAndIDs , namingAttrs ) ; if ( ( sites != null ) && ! sites . isEmpty ( ) ) { if ( ! forClient ) { registFQDNMapping ( sites ) ; } sites . addAll ( servers ) ; } else { sites = servers ; } if ( forClient ) { storeServerListForClient ( sites , namingAttrs ) ; } else { storeServerList ( sites , namingAttrs ) ; } nametable = convertToHash ( namingAttrs ) ; if ( forClient && ( namingTable != null ) ) { String siteList = ( String ) namingTable . get ( Constants . SITE_ID_LIST ) ; nametable . put ( Constants . SITE_ID_LIST , siteList ) ; } insertLBCookieValues ( nametable ) ; } catch ( Exception ex ) { String errorMsg = "Can't get naming table" ; namingDebug . error ( errorMsg , ex ) ; if ( ex . getMessage ( ) != null ) { errorMsg = ex . getMessage ( ) ; } throw new SMSException ( errorMsg ) ; } return nametable ; }
this method updates the naming table especially whenever a new server added / deleted into platform server list
