nus-yam/ex-repair huggingface dataset:
Program: 89227
Project: 89227
Buggy source:
/** 
 * @see org.alfresco.repo.node.NodeServicePolicies.OnRemoveAspectPolicy#onRemoveAspect(org.alfresco.service.cmr.repository.NodeRef,org.alfresco.service.namespace.QName)
 */
@Override @Behaviour(kind=BehaviourKind.CLASS,isService=true,notificationFrequency=NotificationFrequency.FIRST_EVENT) public void onRemoveAspect(final NodeRef nodeRef,final QName aspectTypeQName){
  AuthenticationUtil.runAs(new RunAsWork<Void>(){
    @Override public Void doWork() throws Exception {
      if (nodeService.exists(nodeRef) && isCustomisable(aspectTypeQName)) {
        QName customPropertyAspect=getCustomAspect(aspectTypeQName);
        nodeService.removeAspect(nodeRef,customPropertyAspect);
      }
      return null;
    }
  }
,AuthenticationUtil.getSystemUserName());
}

Fixed version (ground truth):
/** 
 * @see org.alfresco.repo.node.NodeServicePolicies.OnRemoveAspectPolicy#onRemoveAspect(org.alfresco.service.cmr.repository.NodeRef,org.alfresco.service.namespace.QName)
 */
@Override @Behaviour(kind=BehaviourKind.CLASS,isService=true,notificationFrequency=NotificationFrequency.FIRST_EVENT) public void onRemoveAspect(final NodeRef nodeRef,final QName aspectTypeQName){
  AuthenticationUtil.runAs(new RunAsWork<Void>(){
    @Override public Void doWork(){
      if (nodeService.exists(nodeRef) && isCustomisable(aspectTypeQName)) {
        QName customPropertyAspect=getCustomAspect(aspectTypeQName);
        nodeService.removeAspect(nodeRef,customPropertyAspect);
      }
      return null;
    }
  }
,AuthenticationUtil.getSystemUserName());
}
Program: 89228
Project: 89228
Buggy source:
/** 
 * Make sure any custom property aspects are applied to newly created nodes.
 * @see org.alfresco.repo.node.NodeServicePolicies.OnCreateNodePolicy#onCreateNode(org.alfresco.service.cmr.repository.ChildAssociationRef)
 */
@Override @Behaviour(kind=BehaviourKind.CLASS,isService=true,notificationFrequency=NotificationFrequency.FIRST_EVENT) public void onCreateNode(final ChildAssociationRef childAssocRef){
  AuthenticationUtil.runAs(new RunAsWork<Void>(){
    @Override public Void doWork() throws Exception {
      if (dictionaryService.getAllModels().contains(RecordsManagementCustomModel.RM_CUSTOM_MODEL)) {
        NodeRef nodeRef=childAssocRef.getChildRef();
        QName type=nodeService.getType(nodeRef);
        while (type != null && !ContentModel.TYPE_CMOBJECT.equals(type)) {
          if (isCustomisable(type)) {
            QName customPropertyAspect=getCustomAspect(type);
            nodeService.addAspect(nodeRef,customPropertyAspect,null);
          }
          TypeDefinition def=dictionaryService.getType(type);
          if (def != null) {
            type=def.getParentName();
          }
 else {
            type=null;
          }
        }
      }
      return null;
    }
  }
,AuthenticationUtil.getSystemUserName());
}

Fixed version (ground truth):
/** 
 * Make sure any custom property aspects are applied to newly created nodes.
 * @see org.alfresco.repo.node.NodeServicePolicies.OnCreateNodePolicy#onCreateNode(org.alfresco.service.cmr.repository.ChildAssociationRef)
 */
@Override @Behaviour(kind=BehaviourKind.CLASS,isService=true,notificationFrequency=NotificationFrequency.FIRST_EVENT) public void onCreateNode(final ChildAssociationRef childAssocRef){
  AuthenticationUtil.runAs(new RunAsWork<Void>(){
    @Override public Void doWork(){
      if (dictionaryService.getAllModels().contains(RecordsManagementCustomModel.RM_CUSTOM_MODEL)) {
        NodeRef nodeRef=childAssocRef.getChildRef();
        QName type=nodeService.getType(nodeRef);
        while (type != null && !ContentModel.TYPE_CMOBJECT.equals(type)) {
          if (isCustomisable(type)) {
            QName customPropertyAspect=getCustomAspect(type);
            nodeService.addAspect(nodeRef,customPropertyAspect,null);
          }
          TypeDefinition def=dictionaryService.getType(type);
          if (def != null) {
            type=def.getParentName();
          }
 else {
            type=null;
          }
        }
      }
      return null;
    }
  }
,AuthenticationUtil.getSystemUserName());
}
Program: 89229
Project: 89229
Buggy source:
/** 
 * Register the action
 */
public void registerAction(){
  AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork<Void>(){
    public Void doWork() throws Exception {
      RecordsManagementAction action=(RecordsManagementAction)getObject();
      recordsManagementActionService.register(action);
      return null;
    }
  }
,AuthenticationUtil.getSystemUserName());
}

Fixed version (ground truth):
/** 
 * Register the action
 */
public void registerAction(){
  AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork<Void>(){
    public Void doWork(){
      RecordsManagementAction action=(RecordsManagementAction)getObject();
      recordsManagementActionService.register(action);
      return null;
    }
  }
,AuthenticationUtil.getSystemUserName());
}
Program: 89230
Project: 89230
Buggy source:
public Void doWork() throws Exception {
  RecordsManagementAction action=(RecordsManagementAction)getObject();
  recordsManagementActionService.register(action);
  return null;
}

Fixed version (ground truth):
public Void doWork(){
  RecordsManagementAction action=(RecordsManagementAction)getObject();
  recordsManagementActionService.register(action);
  return null;
}
Program: 89231
Project: 89231
Buggy source:
public void afterPropertiesSet() throws Exception {
}

Fixed version (ground truth):
public void afterPropertiesSet(){
}
Program: 89232
Project: 89232
Buggy source:
/** 
 * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet()
 */
public void afterPropertiesSet() throws Exception {
}

Fixed version (ground truth):
/** 
 * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet()
 */
public void afterPropertiesSet(){
}
Program: 89237
Project: 89237
Buggy source:
/** 
 * @see org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService#deleteRole(java.lang.String)
 */
public void deleteRole(final NodeRef rmRootNode,final String role){
  if (ROLE_ADMIN.equals(role)) {
    throw new AlfrescoRuntimeException("String_Node_Str");
  }
  if (FilePlanRoleService.SYSTEM_ROLES.contains(role)) {
    throw new AlfrescoRuntimeException("String_Node_Str" + role + "String_Node_Str");
  }
  AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork<Object>(){
    public Boolean doWork(){
      String roleAuthority=authorityService.getName(AuthorityType.GROUP,getFullRoleName(role,rmRootNode));
      authorityService.deleteAuthority(roleAuthority);
      return null;
    }
  }
,AuthenticationUtil.getSystemUserName());
}

Fixed version (ground truth):
/** 
 * @see org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService#deleteRole(java.lang.String)
 */
public void deleteRole(final NodeRef rmRootNode,final String role){
  if (ROLE_ADMIN.equals(role)) {
    throw new AlfrescoRuntimeException("String_Node_Str");
  }
  if (FilePlanRoleService.SYSTEM_ROLES.contains(role)) {
    throw new AlfrescoRuntimeException("String_Node_Str" + role + "String_Node_Str");
  }
  AuthenticationUtil.runAs(new AuthenticationUtil.RunAsWork<Object>(){
    public Void doWork(){
      String roleAuthority=authorityService.getName(AuthorityType.GROUP,getFullRoleName(role,rmRootNode));
      authorityService.deleteAuthority(roleAuthority);
      return null;
    }
  }
,AuthenticationUtil.getSystemUserName());
}
Program: 89238
Project: 89238
Buggy source:
/** 
 * @see org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService#deletePermission(org.alfresco.service.cmr.repository.NodeRef,java.lang.String,java.lang.String)
 */
public void deletePermission(final NodeRef nodeRef,final String authority,final String permission){
  runAsSystem(new AuthenticationUtil.RunAsWork<Object>(){
    public Boolean doWork(){
      if (!permissionService.getInheritParentPermissions(nodeRef)) {
        permissionService.deletePermission(nodeRef,authority,permission);
        if (isFilePlanContainer(nodeRef) || isRecordFolder(nodeRef)) {
          List<ChildAssociationRef> assocs=nodeService.getChildAssocs(nodeRef,ContentModel.ASSOC_CONTAINS,RegexQNamePattern.MATCH_ALL);
          for (          ChildAssociationRef assoc : assocs) {
            NodeRef child=assoc.getChildRef();
            if (isFilePlanContainer(child) || isRecordFolder(child) || isRecord(child)|| isHold(child)|| instanceOf(child,TYPE_TRANSFER)) {
              deletePermission(child,authority,permission);
            }
          }
        }
      }
      return null;
    }
  }
);
}

Fixed version (ground truth):
/** 
 * @see org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService#deletePermission(org.alfresco.service.cmr.repository.NodeRef,java.lang.String,java.lang.String)
 */
public void deletePermission(final NodeRef nodeRef,final String authority,final String permission){
  runAsSystem(new AuthenticationUtil.RunAsWork<Object>(){
    public Void doWork(){
      if (!permissionService.getInheritParentPermissions(nodeRef)) {
        permissionService.deletePermission(nodeRef,authority,permission);
        if (isFilePlanContainer(nodeRef) || isRecordFolder(nodeRef)) {
          List<ChildAssociationRef> assocs=nodeService.getChildAssocs(nodeRef,ContentModel.ASSOC_CONTAINS,RegexQNamePattern.MATCH_ALL);
          for (          ChildAssociationRef assoc : assocs) {
            NodeRef child=assoc.getChildRef();
            if (isFilePlanContainer(child) || isRecordFolder(child) || isRecord(child)|| isHold(child)|| instanceOf(child,TYPE_TRANSFER)) {
              deletePermission(child,authority,permission);
            }
          }
        }
      }
      return null;
    }
  }
);
}
Program: 89239
Project: 89239
Buggy source:
public Boolean doWork(){
  if (!permissionService.getInheritParentPermissions(nodeRef)) {
    permissionService.deletePermission(nodeRef,authority,permission);
    if (isFilePlanContainer(nodeRef) || isRecordFolder(nodeRef)) {
      List<ChildAssociationRef> assocs=nodeService.getChildAssocs(nodeRef,ContentModel.ASSOC_CONTAINS,RegexQNamePattern.MATCH_ALL);
      for (      ChildAssociationRef assoc : assocs) {
        NodeRef child=assoc.getChildRef();
        if (isFilePlanContainer(child) || isRecordFolder(child) || isRecord(child)|| isHold(child)|| instanceOf(child,TYPE_TRANSFER)) {
          deletePermission(child,authority,permission);
        }
      }
    }
  }
  return null;
}

Fixed version (ground truth):
public Void doWork(){
  if (!permissionService.getInheritParentPermissions(nodeRef)) {
    permissionService.deletePermission(nodeRef,authority,permission);
    if (isFilePlanContainer(nodeRef) || isRecordFolder(nodeRef)) {
      List<ChildAssociationRef> assocs=nodeService.getChildAssocs(nodeRef,ContentModel.ASSOC_CONTAINS,RegexQNamePattern.MATCH_ALL);
      for (      ChildAssociationRef assoc : assocs) {
        NodeRef child=assoc.getChildRef();
        if (isFilePlanContainer(child) || isRecordFolder(child) || isRecord(child)|| isHold(child)|| instanceOf(child,TYPE_TRANSFER)) {
          deletePermission(child,authority,permission);
        }
      }
    }
  }
  return null;
}
Program: 89240
Project: 89240
Buggy source:
/** 
 * @see org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService#setPermission(org.alfresco.service.cmr.repository.NodeRef,java.lang.String,java.lang.String,boolean)
 */
public void setPermission(final NodeRef nodeRef,final String authority,final String permission){
  ParameterCheck.mandatory("String_Node_Str",nodeRef);
  ParameterCheck.mandatory("String_Node_Str",authority);
  ParameterCheck.mandatory("String_Node_Str",permission);
  runAsSystem(new AuthenticationUtil.RunAsWork<Object>(){
    public Boolean doWork(){
      if (isFilePlan(nodeRef)) {
        setPermissionDown(nodeRef,authority,permission);
      }
 else       if (isFilePlanContainer(nodeRef) || isRecordFolder(nodeRef) || isRecord(nodeRef)|| isHold(nodeRef)) {
        setReadPermissionUp(nodeRef,authority);
        setPermissionDown(nodeRef,authority,permission);
      }
 else {
        if (logger.isWarnEnabled()) {
          logger.warn("String_Node_Str" + nodeRef + "String_Node_Str"+ authority+ "String_Node_Str"+ permission+ "String_Node_Str");
        }
      }
      return null;
    }
  }
);
}

Fixed version (ground truth):
/** 
 * @see org.alfresco.module.org_alfresco_module_rm.security.RecordsManagementSecurityService#setPermission(org.alfresco.service.cmr.repository.NodeRef,java.lang.String,java.lang.String,boolean)
 */
public void setPermission(final NodeRef nodeRef,final String authority,final String permission){
  ParameterCheck.mandatory("String_Node_Str",nodeRef);
  ParameterCheck.mandatory("String_Node_Str",authority);
  ParameterCheck.mandatory("String_Node_Str",permission);
  runAsSystem(new AuthenticationUtil.RunAsWork<Object>(){
    public Void doWork(){
      if (isFilePlan(nodeRef)) {
        setPermissionDown(nodeRef,authority,permission);
      }
 else       if (isFilePlanContainer(nodeRef) || isRecordFolder(nodeRef) || isRecord(nodeRef)|| isHold(nodeRef)) {
        setReadPermissionUp(nodeRef,authority);
        setPermissionDown(nodeRef,authority,permission);
      }
 else {
        if (logger.isWarnEnabled()) {
          logger.warn("String_Node_Str" + nodeRef + "String_Node_Str"+ authority+ "String_Node_Str"+ permission+ "String_Node_Str");
        }
      }
      return null;
    }
  }
);
}
Program: 89242
Project: 89242
Buggy source:
/** 
 * Helper method to get the transfer node reference. <p> Takes into account records in tranferred record folders.
 * @param nodeRef               node reference
 * @return {@link NodeRef}      transfer node
 */
private NodeRef getTransferNodeRef(NodeRef nodeRef){
  NodeRef result=null;
  List<ChildAssociationRef> parents=nodeService.getParentAssocs(nodeRef,RecordsManagementModel.ASSOC_TRANSFERRED,RegexQNamePattern.MATCH_ALL);
  if (parents.size() == 1) {
    result=parents.get(0).getParentRef();
  }
 else {
    if (recordService.isRecord(nodeRef)) {
      for (      NodeRef recordFolder : recordFolderService.getRecordFolders(nodeRef)) {
        result=getTransferNodeRef(recordFolder);
        if (result != null) {
          break;
        }
      }
      ;
    }
  }
  return result;
}

Fixed version (ground truth):
/** 
 * Helper method to get the transfer node reference. <p> Takes into account records in tranferred record folders.
 * @param nodeRef               node reference
 * @return {@link NodeRef}      transfer node
 */
private NodeRef getTransferNodeRef(NodeRef nodeRef){
  NodeRef result=null;
  List<ChildAssociationRef> parents=nodeService.getParentAssocs(nodeRef,RecordsManagementModel.ASSOC_TRANSFERRED,RegexQNamePattern.MATCH_ALL);
  if (parents.size() == 1) {
    result=parents.get(0).getParentRef();
  }
 else {
    if (recordService.isRecord(nodeRef)) {
      for (      NodeRef recordFolder : recordFolderService.getRecordFolders(nodeRef)) {
        result=getTransferNodeRef(recordFolder);
        if (result != null) {
          break;
        }
      }
    }
  }
  return result;
}
Program: 89243
Project: 89243
Buggy source:
/** 
 * Report capability status.
 * @param name      capability name
 * @param status    capability status
 */
public static void reportCapabilityStatus(String name,int status){
  if (logger.isDebugEnabled()) {
    CapabilityReport capability=getCapabilityReport(name);
    capability.status=translate(status);
    ;
  }
}

Fixed version (ground truth):
/** 
 * Report capability status.
 * @param name      capability name
 * @param status    capability status
 */
public static void reportCapabilityStatus(String name,int status){
  if (logger.isDebugEnabled()) {
    CapabilityReport capability=getCapabilityReport(name);
    capability.status=translate(status);
  }
}
Program: 89244
Project: 89244
Buggy source:
/** 
 * Get capability report object from the thread local, creating one for the given capability name if one does not already exist.
 * @param name  capability name 
 * @return {@link CapabilityReport} object containing information about the capability
 */
private static final CapabilityReport getCapabilityReport(String name){
  Map<String,CapabilityReport> map=RMMethodSecurityInterceptor.capabilities.get();
  CapabilityReport capability=map.get(name);
  if (capability == null) {
    capability=new CapabilityReport();
    capability.name=name;
    map.put(name,capability);
  }
  return capability;
}

Fixed version (ground truth):
/** 
 * Get capability report object from the thread local, creating one for the given capability name if one does not already exist.
 * @param name  capability name
 * @return {@link CapabilityReport} object containing information about the capability
 */
private static final CapabilityReport getCapabilityReport(String name){
  Map<String,CapabilityReport> map=RMMethodSecurityInterceptor.capabilities.get();
  CapabilityReport capability=map.get(name);
  if (capability == null) {
    capability=new CapabilityReport();
    capability.name=name;
    map.put(name,capability);
  }
  return capability;
}
Program: 89245
Project: 89245
Buggy source:
/** 
 * @param isRecordLevelDisposition
 * @param rmContainer
 * @param root
 * @return
 */
private List<NodeRef> getDisposableItemsImpl(boolean isRecordLevelDisposition,NodeRef rmContainer){
  List<NodeRef> items=filePlanService.getAllContained(rmContainer);
  List<NodeRef> result=new ArrayList<NodeRef>(items.size());
  for (  NodeRef item : items) {
    if (recordFolderService.isRecordFolder(item)) {
      if (isRecordLevelDisposition) {
        result.addAll(recordService.getRecords(item));
      }
 else {
        result.add(item);
      }
    }
 else     if (filePlanService.isRecordCategory(item)) {
      if (getAssociatedDispositionScheduleImpl(item) == null) {
        result.addAll(getDisposableItemsImpl(isRecordLevelDisposition,item));
      }
    }
  }
  return result;
}

Fixed version (ground truth):
/** 
 * @param isRecordLevelDisposition
 * @param rmContainer
 * @param root
 * @return
 */
private List<NodeRef> getDisposableItemsImpl(boolean isRecordLevelDisposition,NodeRef rmContainer){
  List<NodeRef> items=filePlanService.getAllContained(rmContainer);
  List<NodeRef> result=new ArrayList<NodeRef>(items.size());
  for (  NodeRef item : items) {
    if (recordFolderService.isRecordFolder(item)) {
      if (isRecordLevelDisposition) {
        result.addAll(recordService.getRecords(item));
      }
 else {
        result.add(item);
      }
    }
 else     if (filePlanService.isRecordCategory(item) && getAssociatedDispositionScheduleImpl(item) == null) {
      result.addAll(getDisposableItemsImpl(isRecordLevelDisposition,item));
    }
  }
  return result;
}
Program: 89246
Project: 89246
Buggy source:
@Override public Void doWork() throws Exception {
  Date updatedDateValue=(Date)after.get(propertyName);
  if (updatedDateValue != null) {
    DispositionAction dispositionAction=dispositionService.getNextDispositionAction(nodeRef);
    if (dispositionAction != null) {
      DispositionActionDefinition daDefinition=dispositionAction.getDispositionActionDefinition();
      if (daDefinition != null) {
        if (propertyName.equals(daDefinition.getPeriodProperty())) {
          Period period=daDefinition.getPeriod();
          Date updatedAsOf=period.getNextDate(updatedDateValue);
          NodeRef daNodeRef=dispositionAction.getNodeRef();
          nodeService.setProperty(daNodeRef,PROP_DISPOSITION_AS_OF,updatedAsOf);
        }
      }
    }
  }
 else {
    if (before.get(propertyName) != null) {
      throw new AlfrescoRuntimeException("String_Node_Str" + propertyName.toPrefixString(namespaceService) + "String_Node_Str");
    }
  }
  return null;
}

Fixed version (ground truth):
@Override public Void doWork() throws Exception {
  Date updatedDateValue=(Date)after.get(propertyName);
  if (updatedDateValue != null) {
    DispositionAction dispositionAction=dispositionService.getNextDispositionAction(nodeRef);
    if (dispositionAction != null) {
      DispositionActionDefinition daDefinition=dispositionAction.getDispositionActionDefinition();
      if (daDefinition != null && propertyName.equals(daDefinition.getPeriodProperty())) {
        Period period=daDefinition.getPeriod();
        Date updatedAsOf=period.getNextDate(updatedDateValue);
        NodeRef daNodeRef=dispositionAction.getNodeRef();
        nodeService.setProperty(daNodeRef,PROP_DISPOSITION_AS_OF,updatedAsOf);
      }
    }
  }
 else {
    if (before.get(propertyName) != null) {
      throw new AlfrescoRuntimeException("String_Node_Str" + propertyName.toPrefixString(namespaceService) + "String_Node_Str");
    }
  }
  return null;
}
Program: 89248
Project: 89248
Buggy source:
/** 
 * @see org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService#getFilePlanBySiteId(java.lang.String)
 */
@Override public NodeRef getFilePlanBySiteId(String siteId){
  NodeRef filePlan=null;
  SiteService siteService=getSiteService();
  SiteInfo siteInfo=siteService.getSite(siteId);
  if (siteInfo != null) {
    if (siteService.hasContainer(siteId,FILE_PLAN_CONTAINER)) {
      NodeRef nodeRef=siteService.getContainer(siteId,FILE_PLAN_CONTAINER);
      if (instanceOf(nodeRef,TYPE_FILE_PLAN)) {
        filePlan=nodeRef;
      }
    }
  }
  return filePlan;
}

Fixed version (ground truth):
/** 
 * @see org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService#getFilePlanBySiteId(java.lang.String)
 */
@Override public NodeRef getFilePlanBySiteId(String siteId){
  NodeRef filePlan=null;
  SiteService siteService=getSiteService();
  SiteInfo siteInfo=siteService.getSite(siteId);
  if (siteInfo != null && siteService.hasContainer(siteId,FILE_PLAN_CONTAINER)) {
    NodeRef nodeRef=siteService.getContainer(siteId,FILE_PLAN_CONTAINER);
    if (instanceOf(nodeRef,TYPE_FILE_PLAN)) {
      filePlan=nodeRef;
    }
  }
  return filePlan;
}
Program: 89249
Project: 89249
Buggy source:
/** 
 * Marks all the fields that contain data extracted from an email as protected fields.
 * @param form The Form instance to add the property to
 * @param nodeRef The node the form is being generated for
 */
protected void protectEmailExtractedFields(Form form,NodeRef nodeRef){
  List<FieldDefinition> fieldDefs=form.getFieldDefinitions();
  for (  FieldDefinition fieldDef : fieldDefs) {
    String prefixName=fieldDef.getName();
    QName qname=QName.createQName(prefixName,namespaceService);
    Serializable value=nodeService.getProperty(nodeRef,qname);
    if (value != null) {
      if (prefixName.equals("String_Node_Str") || prefixName.equals("String_Node_Str") || prefixName.equals("String_Node_Str")|| prefixName.equals("String_Node_Str")|| prefixName.equals("String_Node_Str")|| prefixName.equals("String_Node_Str")|| prefixName.equals("String_Node_Str")) {
        fieldDef.setProtectedField(true);
      }
    }
  }
  if (logger.isDebugEnabled()) {
    logger.debug("String_Node_Str");
  }
}

Fixed version (ground truth):
/** 
 * Marks all the fields that contain data extracted from an email as protected fields.
 * @param form The Form instance to add the property to
 * @param nodeRef The node the form is being generated for
 */
protected void protectEmailExtractedFields(Form form,NodeRef nodeRef){
  List<FieldDefinition> fieldDefs=form.getFieldDefinitions();
  for (  FieldDefinition fieldDef : fieldDefs) {
    String prefixName=fieldDef.getName();
    QName qname=QName.createQName(prefixName,namespaceService);
    Serializable value=nodeService.getProperty(nodeRef,qname);
    if (value != null && (prefixName.equals("String_Node_Str") || prefixName.equals("String_Node_Str") || prefixName.equals("String_Node_Str")|| prefixName.equals("String_Node_Str")|| prefixName.equals("String_Node_Str")|| prefixName.equals("String_Node_Str")|| prefixName.equals("String_Node_Str"))) {
      fieldDef.setProtectedField(true);
    }
  }
  if (logger.isDebugEnabled()) {
    logger.debug("String_Node_Str");
  }
}
Program: 89251
Project: 89251
Buggy source:
public static boolean isRmSite(WebScriptRequest req,SiteService siteService){
  boolean isRmSite=false;
  String siteId=req.getParameter(SITE_ID);
  if (StringUtils.isNotBlank(siteId)) {
    SiteInfo site=siteService.getSite(siteId);
    if (site != null) {
      if (site.getSitePreset().equals(SITE_PRESET)) {
        isRmSite=true;
      }
    }
  }
  return isRmSite;
}

Fixed version (ground truth):
public static boolean isRmSite(WebScriptRequest req,SiteService siteService){
  boolean isRmSite=false;
  String siteId=req.getParameter(SITE_ID);
  if (StringUtils.isNotBlank(siteId)) {
    SiteInfo site=siteService.getSite(siteId);
    if (site != null && site.getSitePreset().equals(SITE_PRESET)) {
      isRmSite=true;
    }
  }
  return isRmSite;
}
Program: 89252
Project: 89252
Buggy source:
/** 
 * Add the disposition schedule associated with the node ref to the passed set of disposition schedule then call this method recursively for this node's children
 * @param nodeRef
 * @param dispositionSchedules
 */
private void getDispositionSchedules(NodeRef nodeRef,Set<DispositionSchedule> dispositionSchedules){
  if (filePlanService.isRecordCategory(nodeRef) == true) {
    DispositionSchedule dispositionSchedule=this.dispositionService.getDispositionSchedule(nodeRef);
    if (dispositionSchedule != null) {
      dispositionSchedules.add(dispositionSchedule);
    }
    List<ChildAssociationRef> children=nodeService.getChildAssocs(nodeRef,ContentModel.ASSOC_CONTAINS,RegexQNamePattern.MATCH_ALL);
    for (    ChildAssociationRef childAssoc : children) {
      getDispositionSchedules(childAssoc.getChildRef(),dispositionSchedules);
    }
  }
}

Fixed version (ground truth):
/** 
 * Add the disposition schedule associated with the node ref to the passed set of disposition schedule then call this method recursively for this node's children
 * @param nodeRef
 * @param dispositionSchedules
 */
private void getDispositionSchedules(NodeRef nodeRef,Set<DispositionSchedule> dispositionSchedules){
  if (filePlanService.isRecordCategory(nodeRef)) {
    DispositionSchedule dispositionSchedule=this.dispositionService.getDispositionSchedule(nodeRef);
    if (dispositionSchedule != null) {
      dispositionSchedules.add(dispositionSchedule);
    }
    List<ChildAssociationRef> children=nodeService.getChildAssocs(nodeRef,ContentModel.ASSOC_CONTAINS,RegexQNamePattern.MATCH_ALL);
    for (    ChildAssociationRef childAssoc : children) {
      getDispositionSchedules(childAssoc.getChildRef(),dispositionSchedules);
    }
  }
}
Program: 89253
Project: 89253
Buggy source:
/** 
 * Gets the failure report for the currently recorded capabilities.
 * @return  {@link String}  capability error report
 */
public String getFailureReport(){
  String result=null;
  if (logger.isDebugEnabled()) {
    Collection<CapabilityReport> capabilities=RMMethodSecurityInterceptor.CAPABILITIES.get().values();
    if (!capabilities.isEmpty()) {
      StringBuffer buffer=new StringBuffer("String_Node_Str");
      for (      CapabilityReport capability : capabilities) {
        buffer.append("String_Node_Str").append(capability.name).append("String_Node_Str").append(capability.status).append("String_Node_Str");
        if (!capability.conditions.isEmpty()) {
          for (          Map.Entry<String,Boolean> entry : capability.conditions.entrySet()) {
            buffer.append("String_Node_Str").append(entry.getKey()).append("String_Node_Str");
            if (entry.getValue() == true) {
              buffer.append("String_Node_Str");
            }
 else {
              buffer.append("String_Node_Str");
            }
            buffer.append("String_Node_Str");
          }
        }
      }
      result=buffer.toString();
    }
  }
  return result;
}

Fixed version (ground truth):
/** 
 * Gets the failure report for the currently recorded capabilities.
 * @return  {@link String}  capability error report
 */
public String getFailureReport(){
  String result=null;
  if (logger.isDebugEnabled()) {
    Collection<CapabilityReport> capabilities=RMMethodSecurityInterceptor.CAPABILITIES.get().values();
    if (!capabilities.isEmpty()) {
      StringBuffer buffer=new StringBuffer("String_Node_Str");
      for (      CapabilityReport capability : capabilities) {
        buffer.append("String_Node_Str").append(capability.name).append("String_Node_Str").append(capability.status).append("String_Node_Str");
        if (!capability.conditions.isEmpty()) {
          for (          Map.Entry<String,Boolean> entry : capability.conditions.entrySet()) {
            buffer.append("String_Node_Str").append(entry.getKey()).append("String_Node_Str");
            if (entry.getValue()) {
              buffer.append("String_Node_Str");
            }
 else {
              buffer.append("String_Node_Str");
            }
            buffer.append("String_Node_Str");
          }
        }
      }
      result=buffer.toString();
    }
  }
  return result;
}
Program: 89254
Project: 89254
Buggy source:
/** 
 * Report capability condition.
 * @param name              capability name
 * @param conditionName     capability condition name
 * @param expected          expected value
 * @param actual            actual value
 */
public static void reportCapabilityCondition(String name,String conditionName,boolean expected,boolean actual){
  if (logger.isDebugEnabled()) {
    CapabilityReport capability=getCapabilityReport(name);
    if (expected == false) {
      conditionName="String_Node_Str" + conditionName;
    }
    capability.conditions.put(conditionName,(expected == actual));
  }
}

Fixed version (ground truth):
/** 
 * Report capability condition.
 * @param name              capability name
 * @param conditionName     capability condition name
 * @param expected          expected value
 * @param actual            actual value
 */
public static void reportCapabilityCondition(String name,String conditionName,boolean expected,boolean actual){
  if (logger.isDebugEnabled()) {
    CapabilityReport capability=getCapabilityReport(name);
    if (!expected) {
      conditionName="String_Node_Str" + conditionName;
    }
    capability.conditions.put(conditionName,(expected == actual));
  }
}
Program: 89256
Project: 89256
Buggy source:
public HashMap<Integer,Integer> getParameters(){
  return parameters;
}

Fixed version (ground truth):
public Map<Integer,Integer> getParameters(){
  return parameters;
}
Program: 89257
Project: 89257
Buggy source:
/** 
 * Helper method to build a <b>NodeRef</b> path from the node to the RM root
 */
private void getNodeRefPathRecursive(NodeRef nodeRef,LinkedList<NodeRef> nodeRefPath){
  if (!isFilePlanComponent(nodeRef)) {
    throw new AlfrescoRuntimeException(I18NUtil.getMessage(MSG_INVALID_RM_NODE,ASPECT_FILE_PLAN_COMPONENT.toString()));
  }
  nodeRefPath.addFirst(nodeRef);
  if (!isFilePlan(nodeRef)) {
    ChildAssociationRef assocRef=nodeService.getPrimaryParent(nodeRef);
    if (assocRef == null) {
      throw new AlfrescoRuntimeException(I18NUtil.getMessage(MSG_NO_ROOT));
    }
    nodeRef=assocRef.getParentRef();
    getNodeRefPathRecursive(nodeRef,nodeRefPath);
  }
}

Fixed version (ground truth):
/** 
 * Helper method to build a <b>NodeRef</b> path from the node to the RM root
 */
private void getNodeRefPathRecursive(NodeRef nodeRef,Deque<NodeRef> nodeRefPath){
  if (!isFilePlanComponent(nodeRef)) {
    throw new AlfrescoRuntimeException(I18NUtil.getMessage(MSG_INVALID_RM_NODE,ASPECT_FILE_PLAN_COMPONENT.toString()));
  }
  nodeRefPath.addFirst(nodeRef);
  if (!isFilePlan(nodeRef)) {
    ChildAssociationRef assocRef=nodeService.getPrimaryParent(nodeRef);
    if (assocRef == null) {
      throw new AlfrescoRuntimeException(I18NUtil.getMessage(MSG_NO_ROOT));
    }
    nodeRef=assocRef.getParentRef();
    getNodeRefPathRecursive(nodeRef,nodeRefPath);
  }
}
Program: 89258
Project: 89258
Buggy source:
/** 
 * Get capability report object from the thread local, creating one for the given capability name if one does not already exist.
 * @param name  capability name
 * @return {@link CapabilityReport} object containing information about the capability
 */
private static final CapabilityReport getCapabilityReport(String name){
  Map<String,CapabilityReport> map=RMMethodSecurityInterceptor.CAPABILITIES.get();
  CapabilityReport capability=map.get(name);
  if (capability == null) {
    capability=new CapabilityReport();
    capability.name=name;
    map.put(name,capability);
  }
  return capability;
}

Fixed version (ground truth):
/** 
 * Get capability report object from the thread local, creating one for the given capability name if one does not already exist.
 * @param name  capability name
 * @return {@link CapabilityReport} object containing information about the capability
 */
private static CapabilityReport getCapabilityReport(String name){
  Map<String,CapabilityReport> map=RMMethodSecurityInterceptor.CAPABILITIES.get();
  CapabilityReport capability=map.get(name);
  if (capability == null) {
    capability=new CapabilityReport();
    capability.name=name;
    map.put(name,capability);
  }
  return capability;
}
Program: 89259
Project: 89259
Buggy source:
/** 
 * @see org.alfresco.repo.action.evaluator.ActionConditionEvaluatorAbstractBase#init()
 */
@Override public void init(){
  AuthenticationUtil.runAs(new RunAsWork<Object>(){
    public Object doWork(){
      RetryingTransactionCallback<Void> callback=new RetryingTransactionCallback<Void>(){
        public Void execute() throws Throwable {
          recordsManagementActionService.register(RecordsManagementActionConditionEvaluatorAbstractBase.this);
          return null;
        }
      }
;
      retryingTransactionHelper.doInTransaction(callback);
      return null;
    }
  }
,AuthenticationUtil.getSystemUserName());
}

Fixed version (ground truth):
/** 
 * @see org.alfresco.repo.action.evaluator.ActionConditionEvaluatorAbstractBase#init()
 */
@Override public void init(){
  AuthenticationUtil.runAs(new RunAsWork<Object>(){
    public Object doWork(){
      RetryingTransactionCallback<Void> callback=new RetryingTransactionCallback<Void>(){
        public Void execute(){
          recordsManagementActionService.register(RecordsManagementActionConditionEvaluatorAbstractBase.this);
          return null;
        }
      }
;
      retryingTransactionHelper.doInTransaction(callback);
      return null;
    }
  }
,AuthenticationUtil.getSystemUserName());
}
Program: 89260
Project: 89260
Buggy source:
public Void execute() throws Throwable {
  recordsManagementActionService.register(RecordsManagementActionConditionEvaluatorAbstractBase.this);
  return null;
}

Fixed version (ground truth):
public Void execute(){
  recordsManagementActionService.register(RecordsManagementActionConditionEvaluatorAbstractBase.this);
  return null;
}
Program: 89261
Project: 89261
Buggy source:
/** 
 * @see org.alfresco.repo.action.evaluator.ActionConditionEvaluatorAbstractBase#getActionConditionDefintion() TODO base class should provide "createActionDefinition" method that can be over-ridden like the ActionExecuter  base class to prevent duplication of code and a cleaner extension.
 */
@Override public ActionConditionDefinition getActionConditionDefintion(){
  if (this.actionConditionDefinition == null) {
    this.actionConditionDefinition=new RecordsManagementActionConditionDefinitionImpl(name);
    ((RecordsManagementActionConditionDefinitionImpl)actionConditionDefinition).setTitleKey(getTitleKey());
    ((RecordsManagementActionConditionDefinitionImpl)actionConditionDefinition).setDescriptionKey(getDescriptionKey());
    ((RecordsManagementActionConditionDefinitionImpl)actionConditionDefinition).setAdhocPropertiesAllowed(getAdhocPropertiesAllowed());
    ((RecordsManagementActionConditionDefinitionImpl)actionConditionDefinition).setConditionEvaluator(name);
    ((RecordsManagementActionConditionDefinitionImpl)actionConditionDefinition).setParameterDefinitions(getParameterDefintions());
  }
  return this.actionConditionDefinition;
}

Fixed version (ground truth):
/** 
 * @see org.alfresco.repo.action.evaluator.ActionConditionEvaluatorAbstractBase#getActionConditionDefintion() TODO base class should provide "createActionDefinition" method that can be over-ridden like the ActionExecuter base class to prevent duplication of code and a cleaner extension.
 */
@Override public ActionConditionDefinition getActionConditionDefintion(){
  if (this.actionConditionDefinition == null) {
    this.actionConditionDefinition=new RecordsManagementActionConditionDefinitionImpl(name);
    ((RecordsManagementActionConditionDefinitionImpl)actionConditionDefinition).setTitleKey(getTitleKey());
    ((RecordsManagementActionConditionDefinitionImpl)actionConditionDefinition).setDescriptionKey(getDescriptionKey());
    ((RecordsManagementActionConditionDefinitionImpl)actionConditionDefinition).setAdhocPropertiesAllowed(getAdhocPropertiesAllowed());
    ((RecordsManagementActionConditionDefinitionImpl)actionConditionDefinition).setConditionEvaluator(name);
    ((RecordsManagementActionConditionDefinitionImpl)actionConditionDefinition).setParameterDefinitions(getParameterDefintions());
  }
  return this.actionConditionDefinition;
}
Program: 89262
Project: 89262
Buggy source:
public Object doWork(){
  RetryingTransactionCallback<Void> callback=new RetryingTransactionCallback<Void>(){
    public Void execute() throws Throwable {
      recordsManagementActionService.register(RecordsManagementActionConditionEvaluatorAbstractBase.this);
      return null;
    }
  }
;
  retryingTransactionHelper.doInTransaction(callback);
  return null;
}

Fixed version (ground truth):
public Object doWork(){
  RetryingTransactionCallback<Void> callback=new RetryingTransactionCallback<Void>(){
    public Void execute(){
      recordsManagementActionService.register(RecordsManagementActionConditionEvaluatorAbstractBase.this);
      return null;
    }
  }
;
  retryingTransactionHelper.doInTransaction(callback);
  return null;
}
Program: 89263
Project: 89263
Buggy source:
/** 
 * @see org.alfresco.repo.audit.extractor.DataExtractor#extractData(java.io.Serializable)
 */
public Serializable extractData(Serializable value) throws Throwable {
  NodeRef nodeRef=(NodeRef)value;
  String user=AuthenticationUtil.getFullyAuthenticatedUser();
  if (user == null) {
    return null;
  }
  NodeRef rmRootNodeRef=filePlanService.getFilePlan(nodeRef);
  Set<Role> roles=filePlanRoleService.getRolesByUser(rmRootNodeRef,user);
  StringBuilder sb=new StringBuilder(100);
  for (  Role role : roles) {
    if (sb.length() > 0) {
      sb.append("String_Node_Str");
    }
    sb.append(role.getDisplayLabel());
  }
  return sb.toString();
}

Fixed version (ground truth):
/** 
 * @see org.alfresco.repo.audit.extractor.DataExtractor#extractData(java.io.Serializable)
 */
public Serializable extractData(Serializable value){
  NodeRef nodeRef=(NodeRef)value;
  String user=AuthenticationUtil.getFullyAuthenticatedUser();
  if (user == null) {
    return null;
  }
  NodeRef rmRootNodeRef=filePlanService.getFilePlan(nodeRef);
  Set<Role> roles=filePlanRoleService.getRolesByUser(rmRootNodeRef,user);
  StringBuilder sb=new StringBuilder(100);
  for (  Role role : roles) {
    if (sb.length() > 0) {
      sb.append("String_Node_Str");
    }
    sb.append(role.getDisplayLabel());
  }
  return sb.toString();
}
Program: 89264
Project: 89264
Buggy source:
public Serializable extractData(Serializable value) throws Throwable {
  NodeRef nodeRef=(NodeRef)value;
  String identifier=(String)nodeService.getProperty(nodeRef,RecordsManagementModel.PROP_IDENTIFIER);
  return identifier;
}

Fixed version (ground truth):
public Serializable extractData(Serializable value){
  NodeRef nodeRef=(NodeRef)value;
  String identifier=(String)nodeService.getProperty(nodeRef,RecordsManagementModel.PROP_IDENTIFIER);
  return identifier;
}
Program: 89265
Project: 89265
Buggy source:
/** 
 * @see org.alfresco.repo.audit.extractor.DataExtractor#extractData(java.io.Serializable)
 */
public Serializable extractData(Serializable value) throws Throwable {
  NodeRef nodeRef=(NodeRef)value;
  List<NodeRef> nodeRefPath=filePlanService.getNodeRefPath(nodeRef);
  StringBuilder sb=new StringBuilder(128);
  for (  NodeRef pathNodeRef : nodeRefPath) {
    String name=(String)nodeService.getProperty(pathNodeRef,ContentModel.PROP_NAME);
    sb.append("String_Node_Str").append(name);
  }
  return sb.toString();
}

Fixed version (ground truth):
/** 
 * @see org.alfresco.repo.audit.extractor.DataExtractor#extractData(java.io.Serializable)
 */
public Serializable extractData(Serializable value){
  NodeRef nodeRef=(NodeRef)value;
  List<NodeRef> nodeRefPath=filePlanService.getNodeRefPath(nodeRef);
  StringBuilder sb=new StringBuilder(128);
  for (  NodeRef pathNodeRef : nodeRefPath) {
    String name=(String)nodeService.getProperty(pathNodeRef,ContentModel.PROP_NAME);
    sb.append("String_Node_Str").append(name);
  }
  return sb.toString();
}
Program: 89266
Project: 89266
Buggy source:
public Serializable extractData(Serializable value) throws Throwable {
  NodeRef nodeRef=(NodeRef)value;
  List<NodeRef> nodeRefPath=filePlanService.getNodeRefPath(nodeRef);
  return (Serializable)nodeRefPath;
}

Fixed version (ground truth):
public Serializable extractData(Serializable value){
  NodeRef nodeRef=(NodeRef)value;
  List<NodeRef> nodeRefPath=filePlanService.getNodeRefPath(nodeRef);
  return (Serializable)nodeRefPath;
}
Program: 89267
Project: 89267
Buggy source:
public Object doWork(){
  RetryingTransactionCallback<Void> callback=new RetryingTransactionCallback<Void>(){
    public Void execute() throws Throwable {
      caveatConfigService.init();
      adminService.initialiseCustomModel();
      SplitEmailAction action=(SplitEmailAction)getApplicationContext().getBean("String_Node_Str");
      action.bootstrap();
      return null;
    }
  }
;
  transactionService.getRetryingTransactionHelper().doInTransaction(callback);
  return null;
}

Fixed version (ground truth):
public Object doWork(){
  RetryingTransactionCallback<Void> callback=new RetryingTransactionCallback<Void>(){
    public Void execute(){
      caveatConfigService.init();
      adminService.initialiseCustomModel();
      SplitEmailAction action=(SplitEmailAction)getApplicationContext().getBean("String_Node_Str");
      action.bootstrap();
      return null;
    }
  }
;
  transactionService.getRetryingTransactionHelper().doInTransaction(callback);
  return null;
}
Program: 89268
Project: 89268
Buggy source:
public Void execute() throws Throwable {
  caveatConfigService.init();
  adminService.initialiseCustomModel();
  SplitEmailAction action=(SplitEmailAction)getApplicationContext().getBean("String_Node_Str");
  action.bootstrap();
  return null;
}

Fixed version (ground truth):
public Void execute(){
  caveatConfigService.init();
  adminService.initialiseCustomModel();
  SplitEmailAction action=(SplitEmailAction)getApplicationContext().getBean("String_Node_Str");
  action.bootstrap();
  return null;
}
Program: 89269
Project: 89269
Buggy source:
@Override protected void onBootstrap(ApplicationEvent event){
  AuthenticationUtil.runAs(new RunAsWork<Object>(){
    public Object doWork(){
      RetryingTransactionCallback<Void> callback=new RetryingTransactionCallback<Void>(){
        public Void execute() throws Throwable {
          caveatConfigService.init();
          adminService.initialiseCustomModel();
          SplitEmailAction action=(SplitEmailAction)getApplicationContext().getBean("String_Node_Str");
          action.bootstrap();
          return null;
        }
      }
;
      transactionService.getRetryingTransactionHelper().doInTransaction(callback);
      return null;
    }
  }
,AuthenticationUtil.getSystemUserName());
}

Fixed version (ground truth):
@Override protected void onBootstrap(ApplicationEvent event){
  AuthenticationUtil.runAs(new RunAsWork<Object>(){
    public Object doWork(){
      RetryingTransactionCallback<Void> callback=new RetryingTransactionCallback<Void>(){
        public Void execute(){
          caveatConfigService.init();
          adminService.initialiseCustomModel();
          SplitEmailAction action=(SplitEmailAction)getApplicationContext().getBean("String_Node_Str");
          action.bootstrap();
          return null;
        }
      }
;
      transactionService.getRetryingTransactionHelper().doInTransaction(callback);
      return null;
    }
  }
,AuthenticationUtil.getSystemUserName());
}
Program: 89270
Project: 89270
Buggy source:
public Void execute() throws Throwable {
  try {
    updateExtractor();
  }
 catch (  RuntimeException e) {
    if (logger.isWarnEnabled()) {
      logger.warn(e.getMessage());
    }
    customMappings=null;
    throw e;
  }
  return null;
}

Fixed version (ground truth):
public Void execute(){
  try {
    updateExtractor();
  }
 catch (  RuntimeException e) {
    if (logger.isWarnEnabled()) {
      logger.warn(e.getMessage());
    }
    customMappings=null;
    throw e;
  }
  return null;
}
Program: 89271
Project: 89271
Buggy source:
public Object doWork(){
  RetryingTransactionCallback<Void> callback=new RetryingTransactionCallback<Void>(){
    public Void execute() throws Throwable {
      try {
        updateExtractor();
      }
 catch (      RuntimeException e) {
        if (logger.isWarnEnabled()) {
          logger.warn(e.getMessage());
        }
        customMappings=null;
        throw e;
      }
      return null;
    }
  }
;
  transactionService.getRetryingTransactionHelper().doInTransaction(callback);
  return null;
}

Fixed version (ground truth):
public Object doWork(){
  RetryingTransactionCallback<Void> callback=new RetryingTransactionCallback<Void>(){
    public Void execute(){
      try {
        updateExtractor();
      }
 catch (      RuntimeException e) {
        if (logger.isWarnEnabled()) {
          logger.warn(e.getMessage());
        }
        customMappings=null;
        throw e;
      }
      return null;
    }
  }
;
  transactionService.getRetryingTransactionHelper().doInTransaction(callback);
  return null;
}
Program: 89272
Project: 89272
Buggy source:
/** 
 * @see org.springframework.extensions.surf.util.AbstractLifecycleBean#onBootstrap(org.springframework.context.ApplicationEvent)
 */
@Override protected void onBootstrap(ApplicationEvent event){
  AuthenticationUtil.runAs(new RunAsWork<Object>(){
    public Object doWork(){
      RetryingTransactionCallback<Void> callback=new RetryingTransactionCallback<Void>(){
        public Void execute() throws Throwable {
          try {
            updateExtractor();
          }
 catch (          RuntimeException e) {
            if (logger.isWarnEnabled()) {
              logger.warn(e.getMessage());
            }
            customMappings=null;
            throw e;
          }
          return null;
        }
      }
;
      transactionService.getRetryingTransactionHelper().doInTransaction(callback);
      return null;
    }
  }
,AuthenticationUtil.getSystemUserName());
}

Fixed version (ground truth):
/** 
 * @see org.springframework.extensions.surf.util.AbstractLifecycleBean#onBootstrap(org.springframework.context.ApplicationEvent)
 */
@Override protected void onBootstrap(ApplicationEvent event){
  AuthenticationUtil.runAs(new RunAsWork<Object>(){
    public Object doWork(){
      RetryingTransactionCallback<Void> callback=new RetryingTransactionCallback<Void>(){
        public Void execute(){
          try {
            updateExtractor();
          }
 catch (          RuntimeException e) {
            if (logger.isWarnEnabled()) {
              logger.warn(e.getMessage());
            }
            customMappings=null;
            throw e;
          }
          return null;
        }
      }
;
      transactionService.getRetryingTransactionHelper().doInTransaction(callback);
      return null;
    }
  }
,AuthenticationUtil.getSystemUserName());
}
Program: 89273
Project: 89273
Buggy source:
/** 
 * Action click on new rule button
 * @return {@link RmCreateRulePage}
 */
public RmCreateRulePage clickNewRuleButton(){
  click(NEW_RULE_BUTTON);
  HtmlPage page=drone.getCurrentPage();
  Assert.assertEquals(RmCreateRulePage.class.getSimpleName(),page.getClass().getSimpleName());
  return page.render();
}

Fixed version (ground truth):
/** 
 * Action click on new rule button
 * @return {@link RmCreateRulePage}
 */
public RmCreateRulePage clickNewRuleButton(){
  click(NEW_RULE_BUTTON);
  HtmlPage page=drone.getCurrentPage();
  return page.render();
}