Program: 136874
Project: 136874
Buggy source:
private RepositoryNode createRepositoryNode(IRepositoryViewObject folder,RepositoryNode parentNode,EResourceConstant resConstant,org.talend.core.model.general.Project inWhichProject) throws PersistenceException {
  DQRepositoryNode subFolderNode=null;
switch (resConstant) {
case ANALYSIS:
    AnalysisFolderRepNode anaFolderNode=new AnalysisFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
  folder.setRepositoryNode(anaFolderNode);
parentNode.getChildren().add(anaFolderNode);
return anaFolderNode;
case REPORTS:
ReportFolderRepNode repFolderNode=new ReportFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(repFolderNode);
parentNode.getChildren().add(repFolderNode);
return repFolderNode;
case INDICATORS:
IndicatorFolderRepNode indicatorFolderRepNode=new IndicatorFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(indicatorFolderRepNode);
parentNode.getChildren().add(indicatorFolderRepNode);
return indicatorFolderRepNode;
case JRXML_TEMPLATE:
JrxmlTempFolderRepNode jrxmlFolderNode=new JrxmlTempFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(jrxmlFolderNode);
parentNode.getChildren().add(jrxmlFolderNode);
return jrxmlFolderNode;
case SOURCE_FILES:
SourceFileFolderRepNode sourceFileFolder=new SourceFileFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(sourceFileFolder);
parentNode.getChildren().add(sourceFileFolder);
return sourceFileFolder;
case PATTERNS:
PatternFolderRepNode patternFolder=new PatternFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(patternFolder);
parentNode.getChildren().add(patternFolder);
return patternFolder;
case RULES:
RulesFolderRepNode ruleFolder=new RulesFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(ruleFolder);
parentNode.getChildren().add(ruleFolder);
return ruleFolder;
case DB_CONNECTIONS:
DBConnectionFolderRepNode dbFolder=new DBConnectionFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(dbFolder);
parentNode.getChildren().add(dbFolder);
return dbFolder;
case FILEDELIMITED:
DFConnectionFolderRepNode dfmFolder=new DFConnectionFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(dfmFolder);
parentNode.getChildren().add(dfmFolder);
return dfmFolder;
case HADOOP_CLUSTER:
HadoopClusterFolderRepNode hcFolder=new HadoopClusterFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER);
folder.setRepositoryNode(hcFolder);
parentNode.getChildren().add(hcFolder);
return hcFolder;
case EXCHANGE:
ExchangeFolderRepNode exchangeFolder=new ExchangeFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(exchangeFolder);
parentNode.getChildren().add(exchangeFolder);
return exchangeFolder;
default :
subFolderNode=new DQRepositoryNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(subFolderNode);
parentNode.getChildren().add(subFolderNode);
if (resConstant.equals(EResourceConstant.PATTERNS)) {
createRepositoryNodeSubSystemFolder(subFolderNode,EResourceConstant.PATTERN_REGEX,inWhichProject);
createRepositoryNodeSubSystemFolder(subFolderNode,EResourceConstant.PATTERN_SQL,inWhichProject);
}
break;
}
return subFolderNode;
}

Fixed version (ground truth):
private RepositoryNode createRepositoryNode(IRepositoryViewObject folder,RepositoryNode parentNode,EResourceConstant resConstant,org.talend.core.model.general.Project inWhichProject) throws PersistenceException {
  DQRepositoryNode subFolderNode=null;
switch (resConstant) {
case ANALYSIS:
    AnalysisFolderRepNode anaFolderNode=new AnalysisFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
  folder.setRepositoryNode(anaFolderNode);
parentNode.getChildren().add(anaFolderNode);
return anaFolderNode;
case REPORTS:
ReportFolderRepNode repFolderNode=new ReportFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(repFolderNode);
parentNode.getChildren().add(repFolderNode);
return repFolderNode;
case INDICATORS:
IndicatorFolderRepNode indicatorFolderRepNode=new IndicatorFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(indicatorFolderRepNode);
parentNode.getChildren().add(indicatorFolderRepNode);
return indicatorFolderRepNode;
case JRXML_TEMPLATE:
JrxmlTempFolderRepNode jrxmlFolderNode=new JrxmlTempFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(jrxmlFolderNode);
parentNode.getChildren().add(jrxmlFolderNode);
return jrxmlFolderNode;
case SOURCE_FILES:
SourceFileFolderRepNode sourceFileFolder=new SourceFileFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(sourceFileFolder);
parentNode.getChildren().add(sourceFileFolder);
return sourceFileFolder;
case PATTERNS:
PatternFolderRepNode patternFolder=new PatternFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(patternFolder);
parentNode.getChildren().add(patternFolder);
return patternFolder;
case RULES:
RulesFolderRepNode ruleFolder=new RulesFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(ruleFolder);
parentNode.getChildren().add(ruleFolder);
return ruleFolder;
case DB_CONNECTIONS:
DBConnectionFolderRepNode dbFolder=new DBConnectionFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(dbFolder);
parentNode.getChildren().add(dbFolder);
return dbFolder;
case FILEDELIMITED:
DFConnectionFolderRepNode dfmFolder=new DFConnectionFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(dfmFolder);
parentNode.getChildren().add(dfmFolder);
return dfmFolder;
case HADOOP_CLUSTER:
HadoopClusterFolderRepNode hcFolder=new HadoopClusterFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(hcFolder);
parentNode.getChildren().add(hcFolder);
return hcFolder;
case EXCHANGE:
ExchangeFolderRepNode exchangeFolder=new ExchangeFolderRepNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(exchangeFolder);
parentNode.getChildren().add(exchangeFolder);
return exchangeFolder;
default :
subFolderNode=new DQRepositoryNode(folder,parentNode,ENodeType.SYSTEM_FOLDER,inWhichProject);
folder.setRepositoryNode(subFolderNode);
parentNode.getChildren().add(subFolderNode);
if (resConstant.equals(EResourceConstant.PATTERNS)) {
createRepositoryNodeSubSystemFolder(subFolderNode,EResourceConstant.PATTERN_REGEX,inWhichProject);
createRepositoryNodeSubSystemFolder(subFolderNode,EResourceConstant.PATTERN_SQL,inWhichProject);
}
break;
}
return subFolderNode;
}