Program: 127949
Project: 127949
Buggy source:
public List<Status> getStatusList(Property property) throws PersistenceException {
  List<Status> status=null;
  Item item=property.getItem();
  if (item != null) {
    EClass propertyEClass=item.eClass();
    int i=propertyEClass.getClassifierID();
switch (propertyEClass.getClassifierID()) {
case PropertiesPackage.CSV_FILE_CONNECTION_ITEM:
case PropertiesPackage.DATABASE_CONNECTION_ITEM:
case PropertiesPackage.SAP_CONNECTION_ITEM:
case PropertiesPackage.DELIMITED_FILE_CONNECTION_ITEM:
case PropertiesPackage.POSITIONAL_FILE_CONNECTION_ITEM:
case PropertiesPackage.CONTEXT_ITEM:
case PropertiesPackage.PROCESS_ITEM:
case PropertiesPackage.JOBLET_PROCESS_ITEM:
case PropertiesPackage.ROUTINE_ITEM:
case PropertiesPackage.REG_EX_FILE_CONNECTION_ITEM:
case PropertiesPackage.GENERIC_SCHEMA_CONNECTION_ITEM:
case PropertiesPackage.LDAP_SCHEMA_CONNECTION_ITEM:
case PropertiesPackage.LDIF_FILE_CONNECTION_ITEM:
case PropertiesPackage.XML_FILE_CONNECTION_ITEM:
case PropertiesPackage.EXCEL_FILE_CONNECTION_ITEM:
case PropertiesPackage.SALESFORCE_SCHEMA_CONNECTION_ITEM:
case PropertiesPackage.WSDL_SCHEMA_CONNECTION_ITEM:
case PropertiesPackage.EBCDIC_CONNECTION_ITEM:
case PropertiesPackage.HL7_CONNECTION_ITEM:
case PropertiesPackage.FTP_CONNECTION_ITEM:
case PropertiesPackage.BRMS_CONNECTION_ITEM:
case PropertiesPackage.MDM_CONNECTION_ITEM:
case PropertiesPackage.JOB_SCRIPT_ITEM:
case PropertiesPackage.SQL_PATTERN_ITEM:
case PropertiesPackage.EDIFACT_CONNECTION_ITEM:
case PropertiesPackage.VALIDATION_RULES_CONNECTION_ITEM:
      status=repositoryFactory.getTechnicalStatus();
    break;
case PropertiesPackage.RULES_ITEM:
  status=repositoryFactory.getTechnicalStatus();
break;
case PropertiesPackage.LINK_RULES_ITEM:
status=repositoryFactory.getTechnicalStatus();
break;
case PropertiesPackage.BUSINESS_PROCESS_ITEM:
case PropertiesPackage.SVG_BUSINESS_PROCESS_ITEM:
case PropertiesPackage.DOCUMENTATION_ITEM:
status=repositoryFactory.getDocumentationStatus();
break;
}
if (status == null) {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IESBService.class)) {
IESBService service=(IESBService)GlobalServiceRegister.getDefault().getService(IESBService.class);
if (service != null) {
boolean flag=service.isServiceItem(i);
if (flag) {
status=repositoryFactory.getTechnicalStatus();
}
}
}
for (IRepositoryContentHandler handler : RepositoryContentManager.getHandlers()) {
List<Status> propertyStatus=handler.getPropertyStatus(item);
if (propertyStatus != null && propertyStatus.size() > 0) {
status=propertyStatus;
break;
}
}
}
}
if (status == null) {
status=new ArrayList<Status>();
}
toMaps(status);
return status;
}

Fixed version (ground truth):
public List<Status> getStatusList(Property property) throws PersistenceException {
  List<Status> status=null;
  Item item=property.getItem();
  if (item != null) {
    EClass propertyEClass=item.eClass();
    int i=propertyEClass.getClassifierID();
switch (propertyEClass.getClassifierID()) {
case PropertiesPackage.CSV_FILE_CONNECTION_ITEM:
case PropertiesPackage.DATABASE_CONNECTION_ITEM:
case PropertiesPackage.SAP_CONNECTION_ITEM:
case PropertiesPackage.DELIMITED_FILE_CONNECTION_ITEM:
case PropertiesPackage.POSITIONAL_FILE_CONNECTION_ITEM:
case PropertiesPackage.CONTEXT_ITEM:
case PropertiesPackage.PROCESS_ITEM:
case PropertiesPackage.JOBLET_PROCESS_ITEM:
case PropertiesPackage.ROUTINE_ITEM:
case PropertiesPackage.PIGUDF_ITEM:
case PropertiesPackage.REG_EX_FILE_CONNECTION_ITEM:
case PropertiesPackage.GENERIC_SCHEMA_CONNECTION_ITEM:
case PropertiesPackage.LDAP_SCHEMA_CONNECTION_ITEM:
case PropertiesPackage.LDIF_FILE_CONNECTION_ITEM:
case PropertiesPackage.XML_FILE_CONNECTION_ITEM:
case PropertiesPackage.EXCEL_FILE_CONNECTION_ITEM:
case PropertiesPackage.SALESFORCE_SCHEMA_CONNECTION_ITEM:
case PropertiesPackage.WSDL_SCHEMA_CONNECTION_ITEM:
case PropertiesPackage.EBCDIC_CONNECTION_ITEM:
case PropertiesPackage.HL7_CONNECTION_ITEM:
case PropertiesPackage.FTP_CONNECTION_ITEM:
case PropertiesPackage.BRMS_CONNECTION_ITEM:
case PropertiesPackage.MDM_CONNECTION_ITEM:
case PropertiesPackage.JOB_SCRIPT_ITEM:
case PropertiesPackage.SQL_PATTERN_ITEM:
case PropertiesPackage.EDIFACT_CONNECTION_ITEM:
case PropertiesPackage.VALIDATION_RULES_CONNECTION_ITEM:
      status=repositoryFactory.getTechnicalStatus();
    break;
case PropertiesPackage.RULES_ITEM:
  status=repositoryFactory.getTechnicalStatus();
break;
case PropertiesPackage.LINK_RULES_ITEM:
status=repositoryFactory.getTechnicalStatus();
break;
case PropertiesPackage.BUSINESS_PROCESS_ITEM:
case PropertiesPackage.SVG_BUSINESS_PROCESS_ITEM:
case PropertiesPackage.DOCUMENTATION_ITEM:
status=repositoryFactory.getDocumentationStatus();
break;
}
if (status == null) {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IESBService.class)) {
IESBService service=(IESBService)GlobalServiceRegister.getDefault().getService(IESBService.class);
if (service != null) {
boolean flag=service.isServiceItem(i);
if (flag) {
status=repositoryFactory.getTechnicalStatus();
}
}
}
for (IRepositoryContentHandler handler : RepositoryContentManager.getHandlers()) {
List<Status> propertyStatus=handler.getPropertyStatus(item);
if (propertyStatus != null && propertyStatus.size() > 0) {
status=propertyStatus;
break;
}
}
}
}
if (status == null) {
status=new ArrayList<Status>();
}
toMaps(status);
return status;
}