Program: 105949
Project: 105949
Buggy source:
@SuppressWarnings("String_Node_Str") @Override public DataStore initialize(Map<String,Object> dsInfos){
  Long clusterId=(Long)dsInfos.get("String_Node_Str");
  Long podId=(Long)dsInfos.get("String_Node_Str");
  Long zoneId=(Long)dsInfos.get("String_Node_Str");
  String url=(String)dsInfos.get("String_Node_Str");
  String providerName=(String)dsInfos.get("String_Node_Str");
  if (clusterId != null && podId == null) {
    throw new InvalidParameterValueException("String_Node_Str");
  }
  PrimaryDataStoreParameters parameters=new PrimaryDataStoreParameters();
  URI uri=null;
  try {
    uri=new URI(UriUtils.encodeURIComponent(url));
    if (uri.getScheme() == null) {
      throw new InvalidParameterValueException("String_Node_Str" + url + "String_Node_Str");
    }
 else     if (uri.getScheme().equalsIgnoreCase("String_Node_Str")) {
      String uriHost=uri.getHost();
      String uriPath=uri.getPath();
      if (uriHost == null || uriPath == null || uriHost.trim().isEmpty() || uriPath.trim().isEmpty()) {
        throw new InvalidParameterValueException("String_Node_Str");
      }
    }
 else     if (uri.getScheme().equalsIgnoreCase("String_Node_Str")) {
      URI cifsUri=new URI(url);
      String warnMsg=UriUtils.getCifsUriParametersProblems(cifsUri);
      if (warnMsg != null) {
        throw new InvalidParameterValueException(warnMsg);
      }
    }
 else     if (uri.getScheme().equalsIgnoreCase("String_Node_Str")) {
      String uriPath=uri.getPath();
      if (uriPath == null) {
        throw new InvalidParameterValueException("String_Node_Str");
      }
    }
 else     if (uri.getScheme().equalsIgnoreCase("String_Node_Str")) {
      String uriPath=uri.getPath();
      if (uriPath == null) {
        throw new InvalidParameterValueException("String_Node_Str");
      }
    }
  }
 catch (  URISyntaxException e) {
    throw new InvalidParameterValueException(url + "String_Node_Str");
  }
  String tags=(String)dsInfos.get("String_Node_Str");
  Map<String,String> details=(Map<String,String>)dsInfos.get("String_Node_Str");
  parameters.setTags(tags);
  parameters.setDetails(details);
  String scheme=uri.getScheme();
  String storageHost=uri.getHost();
  String hostPath=uri.getPath();
  Object localStorage=dsInfos.get("String_Node_Str");
  if (localStorage != null) {
    hostPath=hostPath.replaceFirst("String_Node_Str","String_Node_Str");
    hostPath=hostPath.replace("String_Node_Str","String_Node_Str");
  }
  String userInfo=uri.getUserInfo();
  int port=uri.getPort();
  if (s_logger.isDebugEnabled()) {
    s_logger.debug("String_Node_Str" + scheme + "String_Node_Str"+ storageHost+ "String_Node_Str"+ hostPath+ "String_Node_Str"+ port);
  }
  if (scheme.equalsIgnoreCase("String_Node_Str")) {
    if (port == -1) {
      port=2049;
    }
    parameters.setType(StoragePoolType.NetworkFilesystem);
    parameters.setHost(storageHost);
    parameters.setPort(port);
    parameters.setPath(hostPath);
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    if (port == -1) {
      port=445;
    }
    parameters.setType(StoragePoolType.SMB);
    parameters.setHost(storageHost);
    parameters.setPort(port);
    parameters.setPath(hostPath);
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    if (port == -1) {
      port=0;
    }
    parameters.setType(StoragePoolType.Filesystem);
    parameters.setHost("String_Node_Str");
    parameters.setPort(0);
    parameters.setPath(hostPath);
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    parameters.setType(StoragePoolType.SharedMountPoint);
    parameters.setHost(storageHost);
    parameters.setPort(0);
    parameters.setPath(hostPath);
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    parameters.setType(StoragePoolType.CLVM);
    parameters.setHost(storageHost);
    parameters.setPort(0);
    parameters.setPath(hostPath.replaceFirst("String_Node_Str","String_Node_Str"));
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    if (port == -1) {
      port=6789;
    }
    parameters.setType(StoragePoolType.RBD);
    parameters.setHost(storageHost);
    parameters.setPort(port);
    parameters.setPath(hostPath.replaceFirst("String_Node_Str","String_Node_Str"));
    parameters.setUserInfo(userInfo);
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    parameters.setType(StoragePoolType.PreSetup);
    parameters.setHost(storageHost);
    parameters.setPort(0);
    parameters.setPath(hostPath);
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    String[] tokens=hostPath.split("String_Node_Str");
    int lun=NumbersUtil.parseInt(tokens[tokens.length - 1],-1);
    if (port == -1) {
      port=3260;
    }
    if (lun != -1) {
      if (clusterId == null) {
        throw new IllegalArgumentException("String_Node_Str");
      }
      hostPath.replaceFirst("String_Node_Str","String_Node_Str");
      parameters.setType(StoragePoolType.IscsiLUN);
      parameters.setHost(storageHost);
      parameters.setPort(port);
      parameters.setPath(hostPath);
    }
 else {
      for (      StoragePoolDiscoverer discoverer : _discoverers) {
        Map<? extends StoragePool,Map<String,String>> pools;
        try {
          pools=discoverer.find(zoneId,podId,uri,details);
        }
 catch (        DiscoveryException e) {
          throw new IllegalArgumentException("String_Node_Str" + uri,e);
        }
        if (pools != null) {
          Map.Entry<? extends StoragePool,Map<String,String>> entry=pools.entrySet().iterator().next();
          details=entry.getValue();
          break;
        }
      }
    }
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    if (port == -1) {
      port=2049;
    }
    parameters.setType(StoragePoolType.ISO);
    parameters.setHost(storageHost);
    parameters.setPort(port);
    parameters.setPath(hostPath);
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    parameters.setType(StoragePoolType.VMFS);
    parameters.setHost("String_Node_Str" + hostPath);
    parameters.setPort(0);
    parameters.setPath(hostPath);
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    port=7777;
    parameters.setType(StoragePoolType.OCFS2);
    parameters.setHost("String_Node_Str");
    parameters.setPort(port);
    parameters.setPath(hostPath);
  }
 else {
    StoragePoolType type=Enum.valueOf(StoragePoolType.class,scheme);
    if (type != null) {
      parameters.setType(type);
      parameters.setHost(storageHost);
      parameters.setPort(0);
      parameters.setPath(hostPath);
    }
 else {
      s_logger.warn("String_Node_Str" + uri);
      throw new IllegalArgumentException("String_Node_Str" + uri);
    }
  }
  if (localStorage == null) {
    List<StoragePoolVO> pools=primaryDataStoreDao.listPoolByHostPath(storageHost,hostPath);
    if (!pools.isEmpty() && !scheme.equalsIgnoreCase("String_Node_Str")) {
      Long oldPodId=pools.get(0).getPodId();
      throw new CloudRuntimeException("String_Node_Str" + uri + "String_Node_Str"+ oldPodId+ "String_Node_Str");
    }
  }
  Object existingUuid=dsInfos.get("String_Node_Str");
  String uuid=null;
  if (existingUuid != null) {
    uuid=(String)existingUuid;
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str") || scheme.equalsIgnoreCase("String_Node_Str")) {
    uuid=UUID.randomUUID().toString();
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    uuid=hostPath.replace("String_Node_Str","String_Node_Str");
  }
 else {
    uuid=UUID.nameUUIDFromBytes(new String(storageHost + hostPath).getBytes()).toString();
  }
  List<StoragePoolVO> spHandles=primaryDataStoreDao.findIfDuplicatePoolsExistByUUID(uuid);
  if ((spHandles != null) && (spHandles.size() > 0)) {
    if (s_logger.isDebugEnabled()) {
      s_logger.debug("String_Node_Str");
    }
    throw new CloudRuntimeException("String_Node_Str");
  }
  String poolName=(String)dsInfos.get("String_Node_Str");
  parameters.setUuid(uuid);
  parameters.setZoneId(zoneId);
  parameters.setPodId(podId);
  parameters.setName(poolName);
  parameters.setClusterId(clusterId);
  parameters.setProviderName(providerName);
  return dataStoreHelper.createPrimaryDataStore(parameters);
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") @Override public DataStore initialize(Map<String,Object> dsInfos){
  Long clusterId=(Long)dsInfos.get("String_Node_Str");
  Long podId=(Long)dsInfos.get("String_Node_Str");
  Long zoneId=(Long)dsInfos.get("String_Node_Str");
  String url=(String)dsInfos.get("String_Node_Str");
  String providerName=(String)dsInfos.get("String_Node_Str");
  if (clusterId != null && podId == null) {
    throw new InvalidParameterValueException("String_Node_Str");
  }
  PrimaryDataStoreParameters parameters=new PrimaryDataStoreParameters();
  URI uri=null;
  try {
    uri=new URI(UriUtils.encodeURIComponent(url));
    if (uri.getScheme() == null) {
      throw new InvalidParameterValueException("String_Node_Str" + url + "String_Node_Str");
    }
 else     if (uri.getScheme().equalsIgnoreCase("String_Node_Str")) {
      String uriHost=uri.getHost();
      String uriPath=uri.getPath();
      if (uriHost == null || uriPath == null || uriHost.trim().isEmpty() || uriPath.trim().isEmpty()) {
        throw new InvalidParameterValueException("String_Node_Str");
      }
    }
 else     if (uri.getScheme().equalsIgnoreCase("String_Node_Str")) {
      URI cifsUri=new URI(url);
      String warnMsg=UriUtils.getCifsUriParametersProblems(cifsUri);
      if (warnMsg != null) {
        throw new InvalidParameterValueException(warnMsg);
      }
    }
 else     if (uri.getScheme().equalsIgnoreCase("String_Node_Str")) {
      String uriPath=uri.getPath();
      if (uriPath == null) {
        throw new InvalidParameterValueException("String_Node_Str");
      }
    }
 else     if (uri.getScheme().equalsIgnoreCase("String_Node_Str")) {
      String uriPath=uri.getPath();
      if (uriPath == null) {
        throw new InvalidParameterValueException("String_Node_Str");
      }
    }
  }
 catch (  URISyntaxException e) {
    throw new InvalidParameterValueException(url + "String_Node_Str");
  }
  String tags=(String)dsInfos.get("String_Node_Str");
  Map<String,String> details=(Map<String,String>)dsInfos.get("String_Node_Str");
  parameters.setTags(tags);
  parameters.setDetails(details);
  String scheme=uri.getScheme();
  String storageHost=uri.getHost();
  String hostPath=uri.getPath();
  Object localStorage=dsInfos.get("String_Node_Str");
  if (localStorage != null) {
    hostPath=hostPath.replaceFirst("String_Node_Str","String_Node_Str");
    hostPath=hostPath.replace("String_Node_Str","String_Node_Str");
  }
  String userInfo=uri.getUserInfo();
  int port=uri.getPort();
  if (s_logger.isDebugEnabled()) {
    s_logger.debug("String_Node_Str" + scheme + "String_Node_Str"+ storageHost+ "String_Node_Str"+ hostPath+ "String_Node_Str"+ port);
  }
  if (scheme.equalsIgnoreCase("String_Node_Str")) {
    if (port == -1) {
      port=2049;
    }
    parameters.setType(StoragePoolType.NetworkFilesystem);
    parameters.setHost(storageHost);
    parameters.setPort(port);
    parameters.setPath(hostPath);
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    if (port == -1) {
      port=445;
    }
    parameters.setType(StoragePoolType.SMB);
    parameters.setHost(storageHost);
    parameters.setPort(port);
    parameters.setPath(hostPath);
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    if (port == -1) {
      port=0;
    }
    parameters.setType(StoragePoolType.Filesystem);
    parameters.setHost("String_Node_Str");
    parameters.setPort(0);
    parameters.setPath(hostPath);
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    parameters.setType(StoragePoolType.SharedMountPoint);
    parameters.setHost(storageHost);
    parameters.setPort(0);
    parameters.setPath(hostPath);
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    parameters.setType(StoragePoolType.CLVM);
    parameters.setHost(storageHost);
    parameters.setPort(0);
    parameters.setPath(hostPath.replaceFirst("String_Node_Str","String_Node_Str"));
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    if (port == -1) {
      port=6789;
    }
    parameters.setType(StoragePoolType.RBD);
    parameters.setHost(storageHost);
    parameters.setPort(port);
    parameters.setPath(hostPath.replaceFirst("String_Node_Str","String_Node_Str"));
    parameters.setUserInfo(userInfo);
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    parameters.setType(StoragePoolType.PreSetup);
    parameters.setHost(storageHost);
    parameters.setPort(0);
    parameters.setPath(hostPath);
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    String[] tokens=hostPath.split("String_Node_Str");
    int lun=NumbersUtil.parseInt(tokens[tokens.length - 1],-1);
    if (port == -1) {
      port=3260;
    }
    if (lun != -1) {
      if (clusterId == null) {
        throw new IllegalArgumentException("String_Node_Str");
      }
      hostPath=hostPath.replaceFirst("String_Node_Str","String_Node_Str");
      parameters.setType(StoragePoolType.IscsiLUN);
      parameters.setHost(storageHost);
      parameters.setPort(port);
      parameters.setPath(hostPath);
    }
 else {
      for (      StoragePoolDiscoverer discoverer : _discoverers) {
        Map<? extends StoragePool,Map<String,String>> pools;
        try {
          pools=discoverer.find(zoneId,podId,uri,details);
        }
 catch (        DiscoveryException e) {
          throw new IllegalArgumentException("String_Node_Str" + uri,e);
        }
        if (pools != null) {
          Map.Entry<? extends StoragePool,Map<String,String>> entry=pools.entrySet().iterator().next();
          details=entry.getValue();
          break;
        }
      }
    }
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    if (port == -1) {
      port=2049;
    }
    parameters.setType(StoragePoolType.ISO);
    parameters.setHost(storageHost);
    parameters.setPort(port);
    parameters.setPath(hostPath);
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    parameters.setType(StoragePoolType.VMFS);
    parameters.setHost("String_Node_Str" + hostPath);
    parameters.setPort(0);
    parameters.setPath(hostPath);
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    port=7777;
    parameters.setType(StoragePoolType.OCFS2);
    parameters.setHost("String_Node_Str");
    parameters.setPort(port);
    parameters.setPath(hostPath);
  }
 else {
    StoragePoolType type=Enum.valueOf(StoragePoolType.class,scheme);
    if (type != null) {
      parameters.setType(type);
      parameters.setHost(storageHost);
      parameters.setPort(0);
      parameters.setPath(hostPath);
    }
 else {
      s_logger.warn("String_Node_Str" + uri);
      throw new IllegalArgumentException("String_Node_Str" + uri);
    }
  }
  if (localStorage == null) {
    List<StoragePoolVO> pools=primaryDataStoreDao.listPoolByHostPath(storageHost,hostPath);
    if (!pools.isEmpty() && !scheme.equalsIgnoreCase("String_Node_Str")) {
      Long oldPodId=pools.get(0).getPodId();
      throw new CloudRuntimeException("String_Node_Str" + uri + "String_Node_Str"+ oldPodId+ "String_Node_Str");
    }
  }
  Object existingUuid=dsInfos.get("String_Node_Str");
  String uuid=null;
  if (existingUuid != null) {
    uuid=(String)existingUuid;
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str") || scheme.equalsIgnoreCase("String_Node_Str")) {
    uuid=UUID.randomUUID().toString();
  }
 else   if (scheme.equalsIgnoreCase("String_Node_Str")) {
    uuid=hostPath.replace("String_Node_Str","String_Node_Str");
  }
 else {
    uuid=UUID.nameUUIDFromBytes((storageHost + hostPath).getBytes()).toString();
  }
  List<StoragePoolVO> spHandles=primaryDataStoreDao.findIfDuplicatePoolsExistByUUID(uuid);
  if ((spHandles != null) && (spHandles.size() > 0)) {
    if (s_logger.isDebugEnabled()) {
      s_logger.debug("String_Node_Str");
    }
    throw new CloudRuntimeException("String_Node_Str");
  }
  String poolName=(String)dsInfos.get("String_Node_Str");
  parameters.setUuid(uuid);
  parameters.setZoneId(zoneId);
  parameters.setPodId(podId);
  parameters.setName(poolName);
  parameters.setClusterId(clusterId);
  parameters.setProviderName(providerName);
  return dataStoreHelper.createPrimaryDataStore(parameters);
}