Program: 34688
Project: 34688
Buggy source:
/** 
 * Refreshes the caches using the given configuration data object. This method should be called when there are changes in configuration and schema.
 * @param reposConfig the data object containing configuration information of the repository.
 * @throws WIMException
 */
public void initialize(Map<String,Object> configProps) throws WIMException {
  final String METHODNAME="String_Node_Str";
  iLdapType=(String)configProps.get(ConfigConstants.CONFIG_PROP_LDAP_SERVER_TYPE);
  if (iLdapType == null) {
    iLdapType=ConfigConstants.CONFIG_LDAP_IDS52;
  }
 else {
    iLdapType=iLdapType.toUpperCase();
  }
  setCertificateMapMode((String)configProps.get(ConfigConstants.CONFIG_PROP_CERTIFICATE_MAP_MODE));
  if (ConfigConstants.CONFIG_VALUE_FILTER_DESCRIPTOR_MODE.equalsIgnoreCase(getCertificateMapMode())) {
    setCertificateFilter((String)configProps.get(ConfigConstants.CONFIG_PROP_CERTIFICATE_FILTER));
  }
  List<HashMap<String,String>> baseEntries=new ArrayList<HashMap<String,String>>();
  String baseDN=(String)configProps.get(BASE_DN);
  String name=(String)configProps.get(BASE_ENTRY_NAME);
  HashMap<String,String> baseEntryMap=new HashMap<String,String>();
  if (name != null)   baseEntryMap.put(name,baseDN);
 else   baseEntryMap.put(baseDN,baseDN);
  baseEntries.add(baseEntryMap);
  Map<String,List<Map<String,Object>>> configMap=Nester.nest(configProps,BASE_ENTRY,LDAP_ENTITY_TYPE,GROUP_PROPERTIES);
  for (  Map<String,Object> entry : configMap.get(BASE_ENTRY)) {
    baseDN=(String)entry.get(BASE_DN);
    name=(String)entry.get(BASE_ENTRY_NAME);
    if (baseDN == null || baseDN.trim().length() == 0) {
      Tr.error(tc,WIMMessageKey.INVALID_BASE_ENTRY_DEFINITION,name);
    }
 else {
      baseEntryMap=new HashMap<String,String>();
      if (name != null) {
        baseEntryMap.put(name,baseDN);
      }
 else {
        baseEntryMap.put(baseDN,baseDN);
      }
      baseEntries.add(baseEntryMap);
    }
  }
  if (configProps.containsKey(ConfigConstants.TIMESTAMP_FORMAT))   timestampFormat=(String)configProps.get(ConfigConstants.TIMESTAMP_FORMAT);
 else   timestampFormat=null;
  setNodes(baseEntries);
  setLDAPEntities(configMap.get(LDAP_ENTITY_TYPE),baseEntries);
  List<Map<String,Object>> groupPropList=configMap.get(GROUP_PROPERTIES);
  Map<String,Object> groupProps=groupPropList.isEmpty() ? Collections.<String,Object>emptyMap() : groupPropList.get(0);
  setMemberAttributes(groupProps);
  setMembershipAttribute(groupProps);
  setDynaMemberAttributes(groupProps);
  setGroupSeachScope(configProps);
  setAttributes(configProps);
  setExtIdAttributes(configProps);
  setConfidentialAttributes();
  setLoginProperties((String)configProps.get(ConfigConstants.CONFIG_PROP_LOGIN_PROPERTIES));
  setFilters(configProps);
  setGroupMemberFilter();
  useEncodingInSearchExpression=AccessControllerHelper.getSystemProperty(ConfigConstants.CONFIG_CUSTOM_PROP_USE_ENCODING_IN_SEARCH_EXPRESSION);
  if (useEncodingInSearchExpression != null) {
    try {
      "String_Node_Str".getBytes(useEncodingInSearchExpression);
    }
 catch (    UnsupportedEncodingException e) {
      if (tc.isDebugEnabled())       Tr.debug(tc,METHODNAME + "String_Node_Str" + e.getMessage());
      useEncodingInSearchExpression="String_Node_Str";
    }
  }
  entityTypeProps.add("String_Node_Str");
  entityTypeProps.add("String_Node_Str");
  entityTypeProps.add("String_Node_Str");
  if (tc.isDebugEnabled()) {
    StringBuffer strBuf=new StringBuffer();
    strBuf.append("String_Node_Str").append(iLdapType).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(WIMTraceHelper.printObjectArray(iNodes)).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(WIMTraceHelper.printObjectArray(iLdapNodes)).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(WIMTraceHelper.printObjectArray(iTopLdapNodes)).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iNeedSwitchNode).append("String_Node_Str");
    strBuf.append("String_Node_Str").append("String_Node_Str");
    for (int i=0; i < iLdapEntities.size(); i++) {
      strBuf.append(iLdapEntities.get(i).toString());
    }
    strBuf.append("String_Node_Str").append(iMbrAttrMap).append("String_Node_Str").append(WIMTraceHelper.printObjectArray(iMbrAttrs)).append("String_Node_Str").append(WIMTraceHelper.printPrimitiveArray(iMbrAttrScope)).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iGrpMbrFilter).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iDynaMbrAttrMap).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iDynaGrpFilter).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iMembershipAttrName).append("String_Node_Str").append(iMembershipAttrScope).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iPropToAttrMap).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iAttrToPropMap).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iExtIds).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iAttrs).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iLoginAttrs).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iUserFilter).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iGroupFilter).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iUserIdMap).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iGroupIdMap).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iGroupMemberIdMap).append("String_Node_Str");
    Tr.debug(tc,METHODNAME + strBuf.toString());
  }
}

Fixed version (ground truth):
/** 
 * Refreshes the caches using the given configuration data object. This method should be called when there are changes in configuration and schema.
 * @param reposConfig the data object containing configuration information of the repository.
 * @throws WIMException
 */
public void initialize(Map<String,Object> configProps) throws WIMException {
  final String METHODNAME="String_Node_Str";
  iLdapType=(String)configProps.get(ConfigConstants.CONFIG_PROP_LDAP_SERVER_TYPE);
  if (iLdapType == null) {
    iLdapType=ConfigConstants.CONFIG_LDAP_IDS52;
  }
 else {
    iLdapType=iLdapType.toUpperCase();
  }
  setCertificateMapMode((String)configProps.get(ConfigConstants.CONFIG_PROP_CERTIFICATE_MAP_MODE));
  if (ConfigConstants.CONFIG_VALUE_FILTER_DESCRIPTOR_MODE.equalsIgnoreCase(getCertificateMapMode())) {
    setCertificateFilter((String)configProps.get(ConfigConstants.CONFIG_PROP_CERTIFICATE_FILTER));
  }
  List<HashMap<String,String>> baseEntries=new ArrayList<HashMap<String,String>>();
  String baseDN=(String)configProps.get(BASE_DN);
  String name=(String)configProps.get(BASE_ENTRY_NAME);
  HashMap<String,String> baseEntryMap=new HashMap<String,String>();
  if (name != null)   baseEntryMap.put(name,baseDN);
 else   baseEntryMap.put(baseDN,baseDN);
  baseEntries.add(baseEntryMap);
  Map<String,List<Map<String,Object>>> configMap=Nester.nest(configProps,BASE_ENTRY,LDAP_ENTITY_TYPE,GROUP_PROPERTIES);
  for (  Map<String,Object> entry : configMap.get(BASE_ENTRY)) {
    baseDN=(String)entry.get(BASE_DN);
    name=(String)entry.get(BASE_ENTRY_NAME);
    if (baseDN == null || baseDN.trim().length() == 0) {
      Tr.error(tc,WIMMessageKey.INVALID_BASE_ENTRY_DEFINITION,name);
    }
 else {
      baseEntryMap=new HashMap<String,String>();
      if (name != null) {
        baseEntryMap.put(name,baseDN);
      }
 else {
        baseEntryMap.put(baseDN,baseDN);
      }
      baseEntries.add(baseEntryMap);
    }
  }
  if (configProps.containsKey(ConfigConstants.TIMESTAMP_FORMAT))   timestampFormat=(String)configProps.get(ConfigConstants.TIMESTAMP_FORMAT);
 else   timestampFormat=null;
  setNodes(baseEntries);
  setLDAPEntities(configMap.get(LDAP_ENTITY_TYPE),baseEntries);
  List<Map<String,Object>> groupPropList=configMap.get(GROUP_PROPERTIES);
  Map<String,Object> groupProps=groupPropList.isEmpty() ? Collections.<String,Object>emptyMap() : groupPropList.get(0);
  setMemberAttributes(groupProps);
  setMembershipAttribute(groupProps);
  setDynaMemberAttributes(groupProps);
  setGroupSearchScope(configProps);
  setAttributes(configProps);
  setExtIdAttributes(configProps);
  setConfidentialAttributes();
  setLoginProperties((String)configProps.get(ConfigConstants.CONFIG_PROP_LOGIN_PROPERTIES));
  setFilters(configProps);
  setGroupMemberFilter();
  useEncodingInSearchExpression=AccessControllerHelper.getSystemProperty(ConfigConstants.CONFIG_CUSTOM_PROP_USE_ENCODING_IN_SEARCH_EXPRESSION);
  if (useEncodingInSearchExpression != null) {
    try {
      "String_Node_Str".getBytes(useEncodingInSearchExpression);
    }
 catch (    UnsupportedEncodingException e) {
      if (tc.isDebugEnabled())       Tr.debug(tc,METHODNAME + "String_Node_Str" + e.getMessage());
      useEncodingInSearchExpression="String_Node_Str";
    }
  }
  entityTypeProps.add("String_Node_Str");
  entityTypeProps.add("String_Node_Str");
  entityTypeProps.add("String_Node_Str");
  if (tc.isDebugEnabled()) {
    StringBuffer strBuf=new StringBuffer();
    strBuf.append("String_Node_Str").append(iLdapType).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(WIMTraceHelper.printObjectArray(iNodes)).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(WIMTraceHelper.printObjectArray(iLdapNodes)).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(WIMTraceHelper.printObjectArray(iTopLdapNodes)).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iNeedSwitchNode).append("String_Node_Str");
    strBuf.append("String_Node_Str").append("String_Node_Str");
    for (int i=0; i < iLdapEntities.size(); i++) {
      strBuf.append("String_Node_Str" + iLdapEntities.get(i).toString()).append("String_Node_Str");
    }
    strBuf.append("String_Node_Str").append(iMbrAttrMap).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(WIMTraceHelper.printObjectArray(iMbrAttrs)).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(WIMTraceHelper.printPrimitiveArray(iMbrAttrScope)).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iGrpMbrFilter).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iDynaMbrAttrMap).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iDynaGrpFilter).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iMembershipAttrName).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iMembershipAttrScope).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iPropToAttrMap).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iAttrToPropMap).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iExtIds).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iAttrs).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iLoginAttrs).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iUserFilter).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iGroupFilter).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iUserIdMap).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iGroupIdMap).append("String_Node_Str");
    strBuf.append("String_Node_Str").append(iGroupMemberIdMap).append("String_Node_Str");
    Tr.debug(tc,METHODNAME + strBuf.toString());
  }
}