nus-yam/ex-repair huggingface dataset:
Program: 131965
Project: 131965
Buggy source:
public void load(final Object input,OCommandContext context){
  if (input == null)   return;
  if (input instanceof OrientVertex) {
    final OrientVertex v=(OrientVertex)input;
    if (clusterName != null)     v.save(clusterName);
 else     v.save();
  }
 else   if (input instanceof ODocument) {
    final ODocument doc=(ODocument)input;
    if (className != null)     doc.setClassName(className);
    if (clusterName != null)     doc.save(clusterName);
 else     doc.save();
  }
  progress.incrementAndGet();
  if (batchCommit > 0) {
    if (batchCounter > batchCommit) {
      if (dbType == DB_TYPE.DOCUMENT) {
        final ODatabaseDocumentTx documentDatabase=pipeline.getDocumentDatabase();
        documentDatabase.commit();
        documentDatabase.begin();
      }
 else {
        pipeline.getGraphDatabase().commit();
      }
    }
    batchCounter++;
  }
}

Fixed version (ground truth):
public void load(final Object input,OCommandContext context){
  if (input == null)   return;
  if (tx && dbType == DB_TYPE.DOCUMENT) {
    final ODatabaseDocumentTx documentDatabase=pipeline.getDocumentDatabase();
    if (!documentDatabase.getTransaction().isActive())     documentDatabase.begin();
  }
  if (input instanceof OrientVertex) {
    final OrientVertex v=(OrientVertex)input;
    if (clusterName != null)     v.save(clusterName);
 else     v.save();
  }
 else   if (input instanceof ODocument) {
    final ODocument doc=(ODocument)input;
    if (className != null)     doc.setClassName(className);
    if (clusterName != null)     doc.save(clusterName);
 else     doc.save();
  }
  progress.incrementAndGet();
  if (batchCommit > 0) {
    if (batchCounter > batchCommit) {
      if (dbType == DB_TYPE.DOCUMENT) {
        final ODatabaseDocumentTx documentDatabase=pipeline.getDocumentDatabase();
        documentDatabase.commit();
        documentDatabase.begin();
      }
 else {
        pipeline.getGraphDatabase().commit();
      }
      batchCounter=0;
    }
 else     batchCounter++;
  }
}
Program: 131966
Project: 131966
Buggy source:
@Override public void configure(final OETLProcessor iProcessor,final ODocument iConfiguration,final OBasicCommandContext iContext){
  processor=iProcessor;
  context=iContext;
  final String ifExpression=(String)resolve(iConfiguration.field("String_Node_Str"));
  if (ifExpression != null)   ifFilter=new OSQLFilter(ifExpression,iContext,null);
  if (iConfiguration.containsField("String_Node_Str"))   verbose=(Boolean)iConfiguration.field("String_Node_Str");
 else   verbose=iProcessor.isVerbose();
}

Fixed version (ground truth):
@Override public void configure(final OETLProcessor iProcessor,final ODocument iConfiguration,final OBasicCommandContext iContext){
  processor=iProcessor;
  context=iContext;
  final String ifExpression=(String)resolve(iConfiguration.field("String_Node_Str"));
  if (ifExpression != null)   ifFilter=new OSQLFilter(ifExpression,iContext,null);
  if (iConfiguration.containsField("String_Node_Str"))   verbose=(Boolean)iConfiguration.field("String_Node_Str");
 else   verbose=iProcessor.isVerbose();
  if (iConfiguration.containsField("String_Node_Str"))   output=(String)iConfiguration.field("String_Node_Str");
}
Program: 131967
Project: 131967
Buggy source:
@Override public Object transform(final Object input){
  if (input == null)   return null;
  if (skip(input))   return input;
 else {
    context.setVariable("String_Node_Str",input);
    return executeTransform(input);
  }
}

Fixed version (ground truth):
@Override public Object transform(final Object input){
  if (input == null)   return null;
  if (!skip(input)) {
    context.setVariable("String_Node_Str",input);
    final Object result=executeTransform(input);
    if (output == null)     return result;
    context.setVariable(output,result);
  }
  return input;
}
Program: 131968
Project: 131968
Buggy source:
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str");
}

Fixed version (ground truth):
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + getCommonConfigurationParameters() + "String_Node_Str"+ "String_Node_Str");
}
Program: 131969
Project: 131969
Buggy source:
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
}

Fixed version (ground truth):
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + getCommonConfigurationParameters() + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
}
Program: 131970
Project: 131970
Buggy source:
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + "String_Node_Str" + "String_Node_Str");
}

Fixed version (ground truth):
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + getCommonConfigurationParameters() + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
}
Program: 131971
Project: 131971
Buggy source:
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str" + stringArray2Json(ACTION.values()) + "String_Node_Str"+ "String_Node_Str");
}

Fixed version (ground truth):
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + getCommonConfigurationParameters() + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ stringArray2Json(ACTION.values())+ "String_Node_Str"+ "String_Node_Str");
}
Program: 131972
Project: 131972
Buggy source:
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + "String_Node_Str");
}

Fixed version (ground truth):
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + getCommonConfigurationParameters() + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
}
Program: 131973
Project: 131973
Buggy source:
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str" + stringArray2Json(ACTION.values()) + "String_Node_Str"+ "String_Node_Str");
}

Fixed version (ground truth):
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + getCommonConfigurationParameters() + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ stringArray2Json(ACTION.values())+ "String_Node_Str"+ "String_Node_Str");
}
Program: 131974
Project: 131974
Buggy source:
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str");
}

Fixed version (ground truth):
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + getCommonConfigurationParameters() + "String_Node_Str"+ "String_Node_Str");
}
Program: 131975
Project: 131975
Buggy source:
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + "String_Node_Str" + "String_Node_Str" + stringArray2Json(ACTION.values()) + "String_Node_Str"+ "String_Node_Str");
}

Fixed version (ground truth):
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + getCommonConfigurationParameters() + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ stringArray2Json(ACTION.values())+ "String_Node_Str"+ "String_Node_Str");
}
Program: 131976
Project: 131976
Buggy source:
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + "String_Node_Str");
}

Fixed version (ground truth):
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + getCommonConfigurationParameters() + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
}
Program: 131977
Project: 131977
Buggy source:
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + "String_Node_Str");
}

Fixed version (ground truth):
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + getCommonConfigurationParameters() + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
}
Program: 131978
Project: 131978
Buggy source:
@Override public Object executeTransform(final Object input){
  if (graph == null)   graph=pipeline.getGraphDatabase();
  vertexClass=(String)resolve(vertexClass);
  if (vertexClass != null) {
    final OClass cls=graph.getVertexType(vertexClass);
    if (cls == null)     graph.createVertexType(vertexClass);
  }
  final OrientVertex v=graph.getVertex(input);
  if (vertexClass != null)   v.setProperty("String_Node_Str",vertexClass);
  return v;
}

Fixed version (ground truth):
@Override public Object executeTransform(final Object input){
  if (graph == null)   graph=pipeline.getGraphDatabase();
  vertexClass=(String)resolve(vertexClass);
  if (vertexClass != null) {
    final OClass cls=graph.getVertexType(vertexClass);
    if (cls == null)     graph.createVertexType(vertexClass);
  }
  final OrientVertex v=graph.getVertex(input);
  if (v == null)   return null;
  if (vertexClass != null)   v.setProperty("String_Node_Str",vertexClass);
  return v;
}
Program: 131979
Project: 131979
Buggy source:
@Override public void configure(final OETLProcessor iProcessor,final ODocument iConfiguration,final OBasicCommandContext iContext){
  processor=iProcessor;
  context=iContext;
  final String ifExpression=iConfiguration.field("String_Node_Str");
  if (ifExpression != null)   ifFilter=new OSQLFilter(ifExpression,iContext,null);
  if (iConfiguration.containsField("String_Node_Str"))   verbose=iConfiguration.field("String_Node_Str");
}

Fixed version (ground truth):
@Override public void configure(final OETLProcessor iProcessor,final ODocument iConfiguration,final OBasicCommandContext iContext){
  processor=iProcessor;
  context=iContext;
  final String ifExpression=(String)resolve(iConfiguration.field("String_Node_Str"));
  if (ifExpression != null)   ifFilter=new OSQLFilter(ifExpression,iContext,null);
  if (iConfiguration.containsField("String_Node_Str"))   verbose=(Boolean)iConfiguration.field("String_Node_Str");
}
Program: 131980
Project: 131980
Buggy source:
@Override public void configure(final OETLProcessor iProcessor,final ODocument iConfiguration,final OBasicCommandContext iContext){
  super.configure(iProcessor,iConfiguration,iContext);
  if (iConfiguration.containsField("String_Node_Str"))   dbURL=iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str"))   dbUser=iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str"))   dbPassword=iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str"))   dbType=DB_TYPE.valueOf(iConfiguration.field("String_Node_Str").toString().toUpperCase());
  if (iConfiguration.containsField("String_Node_Str"))   tx=iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str"))   batchCommit=iConfiguration.field("String_Node_Str");
  clusterName=iConfiguration.field("String_Node_Str");
  className=iConfiguration.field("String_Node_Str");
  indexes=iConfiguration.field("String_Node_Str");
switch (dbType) {
case DOCUMENT:
    documentDatabase=new ODatabaseDocumentTx(dbURL);
  if (documentDatabase.exists()) {
    documentDatabase.open(dbUser,dbPassword);
  }
 else {
    if (dbAutoCreate) {
      documentDatabase.create();
    }
 else {
      throw new IllegalArgumentException("String_Node_Str" + dbURL + "String_Node_Str");
    }
  }
break;
case GRAPH:
graphDatabase=new OrientGraphFactory(dbURL).setTransactional(tx).get();
documentDatabase=graphDatabase.getRawGraph();
break;
}
}

Fixed version (ground truth):
@Override public void configure(final OETLProcessor iProcessor,final ODocument iConfiguration,final OBasicCommandContext iContext){
  super.configure(iProcessor,iConfiguration,iContext);
  if (iConfiguration.containsField("String_Node_Str"))   dbURL=iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str"))   dbUser=iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str"))   dbPassword=iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str"))   dbType=DB_TYPE.valueOf(iConfiguration.field("String_Node_Str").toString().toUpperCase());
  if (iConfiguration.containsField("String_Node_Str"))   tx=(Boolean)iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str"))   batchCommit=(Integer)iConfiguration.field("String_Node_Str");
  clusterName=iConfiguration.field("String_Node_Str");
  className=iConfiguration.field("String_Node_Str");
  indexes=iConfiguration.field("String_Node_Str");
switch (dbType) {
case DOCUMENT:
    documentDatabase=new ODatabaseDocumentTx(dbURL);
  if (documentDatabase.exists()) {
    documentDatabase.open(dbUser,dbPassword);
  }
 else {
    if (dbAutoCreate) {
      documentDatabase.create();
    }
 else {
      throw new IllegalArgumentException("String_Node_Str" + dbURL + "String_Node_Str");
    }
  }
break;
case GRAPH:
graphDatabase=new OrientGraphFactory(dbURL).setTransactional(tx).get();
documentDatabase=graphDatabase.getRawGraph();
break;
}
}
Program: 131981
Project: 131981
Buggy source:
public void configure(OETLProcessor iProcessor,ODocument iConfiguration,OBasicCommandContext iContext){
  super.configure(iProcessor,iConfiguration,iContext);
  path=resolve(iConfiguration.field("String_Node_Str"));
  if (iConfiguration.containsField("String_Node_Str"))   lockFile=iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str"))   skipFirst=Long.parseLong((String)iConfiguration.field("String_Node_Str"));
  if (iConfiguration.containsField("String_Node_Str"))   skipLast=Long.parseLong((String)iConfiguration.field("String_Node_Str"));
  if (path instanceof String)   path=new File((String)path);
  if (path instanceof File) {
    final File file=(File)path;
    if (!file.exists())     throw new OSourceException("String_Node_Str" + path + "String_Node_Str");
    fileName=file.getName();
  }
}

Fixed version (ground truth):
public void configure(OETLProcessor iProcessor,ODocument iConfiguration,OBasicCommandContext iContext){
  super.configure(iProcessor,iConfiguration,iContext);
  path=resolve(iConfiguration.field("String_Node_Str"));
  if (iConfiguration.containsField("String_Node_Str"))   lockFile=(Boolean)iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str"))   skipFirst=Long.parseLong((String)iConfiguration.field("String_Node_Str"));
  if (iConfiguration.containsField("String_Node_Str"))   skipLast=Long.parseLong((String)iConfiguration.field("String_Node_Str"));
  if (path instanceof String)   path=new File((String)path);
  if (path instanceof File) {
    final File file=(File)path;
    if (!file.exists())     throw new OSourceException("String_Node_Str" + path + "String_Node_Str");
    fileName=file.getName();
  }
}
Program: 131982
Project: 131982
Buggy source:
@Override public void configure(final OETLProcessor iProcessor,final ODocument iConfiguration,final OBasicCommandContext iContext){
  super.configure(iProcessor,iConfiguration,iContext);
  if (iConfiguration.containsField("String_Node_Str"))   separator=iConfiguration.field("String_Node_Str").toString().charAt(0);
  if (iConfiguration.containsField("String_Node_Str"))   columnsOnFirstLine=iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str")) {
    final List<String> columns=iConfiguration.field("String_Node_Str");
    columnNames=new ArrayList<String>(columns.size());
    columnTypes=new ArrayList<OType>(columns.size());
    for (    String c : columns) {
      final String[] parts=c.split("String_Node_Str");
      columnNames.add(parts[0]);
      if (parts.length > 1)       columnTypes.add(OType.valueOf(parts[1].toUpperCase()));
 else       columnTypes.add(OType.ANY);
    }
  }
  if (iConfiguration.containsField("String_Node_Str"))   skipFrom=((Number)iConfiguration.field("String_Node_Str")).longValue();
  if (iConfiguration.containsField("String_Node_Str"))   skipTo=((Number)iConfiguration.field("String_Node_Str")).longValue();
  if (iConfiguration.containsField("String_Node_Str"))   nullValue=iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str"))   stringCharacter=iConfiguration.field("String_Node_Str").toString().charAt(0);
}

Fixed version (ground truth):
@Override public void configure(final OETLProcessor iProcessor,final ODocument iConfiguration,final OBasicCommandContext iContext){
  super.configure(iProcessor,iConfiguration,iContext);
  if (iConfiguration.containsField("String_Node_Str"))   separator=iConfiguration.field("String_Node_Str").toString().charAt(0);
  if (iConfiguration.containsField("String_Node_Str"))   columnsOnFirstLine=(Boolean)iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str")) {
    final List<String> columns=iConfiguration.field("String_Node_Str");
    columnNames=new ArrayList<String>(columns.size());
    columnTypes=new ArrayList<OType>(columns.size());
    for (    String c : columns) {
      final String[] parts=c.split("String_Node_Str");
      columnNames.add(parts[0]);
      if (parts.length > 1)       columnTypes.add(OType.valueOf(parts[1].toUpperCase()));
 else       columnTypes.add(OType.ANY);
    }
  }
  if (iConfiguration.containsField("String_Node_Str"))   skipFrom=((Number)iConfiguration.field("String_Node_Str")).longValue();
  if (iConfiguration.containsField("String_Node_Str"))   skipTo=((Number)iConfiguration.field("String_Node_Str")).longValue();
  if (iConfiguration.containsField("String_Node_Str"))   nullValue=iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str"))   stringCharacter=iConfiguration.field("String_Node_Str").toString().charAt(0);
}
Program: 131983
Project: 131983
Buggy source:
public void begin(){
  for (  OTransformer t : transformers)   t.begin();
  loader.begin();
}

Fixed version (ground truth):
public void begin(){
  loader.begin();
  for (  OTransformer t : transformers)   t.begin();
}
Program: 131984
Project: 131984
Buggy source:
protected boolean skip(final Object input){
  if (ifFilter != null && input instanceof ODocument) {
    final Object result=ifFilter.evaluate((ODocument)input,null,context);
    if (!(result instanceof Boolean))     throw new OConfigurationException("String_Node_Str" + getName() + "String_Node_Str"+ result+ "String_Node_Str");
    return !((Boolean)result).booleanValue();
  }
  return false;
}

Fixed version (ground truth):
protected boolean skip(final Object input){
  if (ifFilter != null && input instanceof OIdentifiable) {
    final ODocument doc=((OIdentifiable)input).getRecord();
    final Object result=ifFilter.evaluate(doc,null,context);
    if (!(result instanceof Boolean))     throw new OConfigurationException("String_Node_Str" + getName() + "String_Node_Str"+ result+ "String_Node_Str");
    return !((Boolean)result).booleanValue();
  }
  return false;
}
Program: 131986
Project: 131986
Buggy source:
@Override public void configure(OETLProcessor iProcessor,final ODocument iConfiguration,final OBasicCommandContext iContext){
  super.configure(iProcessor,iConfiguration,iContext);
  joinFieldName=iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str"))   lookup=iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str"))   unresolvedLinkAction=ACTION.valueOf(iConfiguration.field("String_Node_Str").toString().toUpperCase());
  edgeClass=iConfiguration.field("String_Node_Str");
}

Fixed version (ground truth):
@Override public void configure(OETLProcessor iProcessor,final ODocument iConfiguration,final OBasicCommandContext iContext){
  super.configure(iProcessor,iConfiguration,iContext);
  edgeClass=iConfiguration.field("String_Node_Str");
}
Program: 131987
Project: 131987
Buggy source:
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + getCommonConfigurationParameters() + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ stringArray2Json(ACTION.values())+ "String_Node_Str"+ "String_Node_Str");
}

Fixed version (ground truth):
@Override public ODocument getConfiguration(){
  return new ODocument().fromJSON("String_Node_Str" + getCommonConfigurationParameters() + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ stringArray2Json(ACTION.values())+ "String_Node_Str"+ "String_Node_Str");
}
Program: 131988
Project: 131988
Buggy source:
@Override public Object executeTransform(final Object input){
  final OrientVertex vertex;
  if (input instanceof OIdentifiable)   vertex=graph.getVertex(input);
 else   if (input instanceof OrientVertex)   vertex=(OrientVertex)input;
 else   throw new OTransformException("String_Node_Str" + input + "String_Node_Str");
  Object joinValue=vertex.getProperty(joinFieldName);
  Object result=lookup(joinValue);
  if (result == null) {
switch (unresolvedLinkAction) {
case CREATE:
      if (lookup != null) {
        final String[] lookupParts=lookup.split("String_Node_Str");
        final OrientVertex linkedV=graph.addTemporaryVertex(lookupParts[0]);
        linkedV.setProperty(lookupParts[1],joinValue);
        linkedV.save();
        result=linkedV;
      }
 else       throw new OConfigurationException("String_Node_Str");
    break;
case ERROR:
  processor.getStats().incrementErrors();
log("String_Node_Str",getName(),joinValue);
break;
case WARNING:
processor.getStats().incrementWarnings();
log("String_Node_Str",getName(),joinValue);
break;
case SKIP:
return null;
case HALT:
throw new OETLProcessHaltedException("String_Node_Str" + joinValue + "String_Node_Str");
}
if (result != null) {
final OrientVertex targetVertex=graph.getVertex(result);
vertex.addEdge(edgeClass,targetVertex);
}
}
return input;
}

Fixed version (ground truth):
@Override public Object executeTransform(final Object input){
  final OrientVertex vertex;
  if (input instanceof OIdentifiable)   vertex=graph.getVertex(input);
 else   if (input instanceof OrientVertex)   vertex=(OrientVertex)input;
 else   throw new OTransformException("String_Node_Str" + input + "String_Node_Str");
  Object joinValue=vertex.getProperty(joinFieldName);
  Object result=lookup(joinValue);
  if (result == null) {
switch (unresolvedLinkAction) {
case CREATE:
      if (lookup != null) {
        final String[] lookupParts=lookup.split("String_Node_Str");
        final OrientVertex linkedV=graph.addTemporaryVertex(lookupParts[0]);
        linkedV.setProperty(lookupParts[1],joinValue);
        linkedV.save();
        result=linkedV;
      }
 else       throw new OConfigurationException("String_Node_Str");
    break;
case ERROR:
  processor.getStats().incrementErrors();
log("String_Node_Str",getName(),joinValue);
break;
case WARNING:
processor.getStats().incrementWarnings();
log("String_Node_Str",getName(),joinValue);
break;
case SKIP:
return null;
case HALT:
throw new OETLProcessHaltedException("String_Node_Str" + joinValue + "String_Node_Str");
}
if (result != null) {
final OrientVertex targetVertex=graph.getVertex(result);
if (directionOut) vertex.addEdge(edgeClass,targetVertex);
 else targetVertex.addEdge(edgeClass,vertex);
}
}
return input;
}
Program: 131989
Project: 131989
Buggy source:
@Override public void configure(OETLProcessor iProcessor,final ODocument iConfiguration,final OBasicCommandContext iContext){
  super.configure(iProcessor,iConfiguration,iContext);
  edgeClass=iConfiguration.field("String_Node_Str");
}

Fixed version (ground truth):
@Override public void configure(OETLProcessor iProcessor,final ODocument iConfiguration,final OBasicCommandContext iContext){
  super.configure(iProcessor,iConfiguration,iContext);
  edgeClass=iConfiguration.field("String_Node_Str");
  if (iConfiguration.containsField("String_Node_Str")) {
    final String direction=iConfiguration.field("String_Node_Str");
    if ("String_Node_Str".equalsIgnoreCase(direction))     directionOut=true;
 else     if ("String_Node_Str".equalsIgnoreCase(direction))     directionOut=false;
 else     throw new OConfigurationException("String_Node_Str" + direction);
  }
}
Program: 131990
Project: 131990
Buggy source:
/** 
 * Method builds OVS BridgeAugmentation InstanceIdentifier which is based on OVS Bridge name. <p>
 * @param serviceFunctionForwarderName serviceFunctionForwarderName String
 * @return InstanceIdentifier&lt;OvsdbBridgeAugmentation&gt;
 */
public static InstanceIdentifier<OvsdbBridgeAugmentation> buildOvsdbBridgeIID(String serviceFunctionForwarderName){
  InstanceIdentifier<OvsdbBridgeAugmentation> bridgeEntryIID=buildOvsdbNodeIID(serviceFunctionForwarderName).augmentation(OvsdbBridgeAugmentation.class);
  return bridgeEntryIID;
}

Fixed version (ground truth):
/** 
 * Method builds OVS BridgeAugmentation InstanceIdentifier which is based on OVS Bridge name. <p>
 * @param serviceFunctionForwarderName serviceFunctionForwarderName String
 * @return InstanceIdentifier&lt;OvsdbBridgeAugmentation&gt;
 */
public static InstanceIdentifier<OvsdbBridgeAugmentation> buildOvsdbBridgeIID(String serviceFunctionForwarderName){
  return buildOvsdbNodeIID(serviceFunctionForwarderName).augmentation(OvsdbBridgeAugmentation.class);
}
Program: 131991
Project: 131991
Buggy source:
public static Long getLongFromDpid(String dpid){
  String[] addressInBytes=dpid.split("String_Node_Str");
  Long address=Long.decode(HEX + addressInBytes[2]) << 40 | Long.decode(HEX + addressInBytes[3]) << 32 | Long.decode(HEX + addressInBytes[4]) << 24 | Long.decode(HEX + addressInBytes[5]) << 16 | Long.decode(HEX + addressInBytes[6]) << 8 | Long.decode(HEX + addressInBytes[7]);
  return address;
}

Fixed version (ground truth):
public static Long getLongFromDpid(String dpid){
  String[] addressInBytes=dpid.split("String_Node_Str");
  return (Long.decode(HEX + addressInBytes[2]) << 40 | Long.decode(HEX + addressInBytes[3]) << 32 | Long.decode(HEX + addressInBytes[4]) << 24 | Long.decode(HEX + addressInBytes[5]) << 16 | Long.decode(HEX + addressInBytes[6]) << 8 | Long.decode(HEX + addressInBytes[7]));
}
Program: 131992
Project: 131992
Buggy source:
/** 
 * This gets the OVSDB Manager Topology Node for the  {@link ServiceFunctionForwarder}, using the IP address found in an IP based Data Plane Locator. If there isn't an IP based Data Plane Locator, then this will return null.
 * @param serviceFunctionForwarder -  {@link ServiceFunctionForwarder}
 * @return {@link Node}
 */
public static Node lookupTopologyNode(ServiceFunctionForwarder serviceFunctionForwarder){
  List<SffDataPlaneLocator> sffDplList=serviceFunctionForwarder.getSffDataPlaneLocator();
  IpAddress ip=null;
  if (sffDplList == null) {
    LOG.debug("String_Node_Str",serviceFunctionForwarder);
    return null;
  }
  for (  SffDataPlaneLocator sffDpl : sffDplList) {
    if (sffDpl.getDataPlaneLocator() != null && sffDpl.getDataPlaneLocator().getLocatorType() != null) {
      Class<? extends DataContainer> locatorType=sffDpl.getDataPlaneLocator().getLocatorType().getImplementedInterface();
      if (locatorType.isAssignableFrom(Ip.class)) {
        Ip ipPortLocator=(Ip)sffDpl.getDataPlaneLocator().getLocatorType();
        IpAddress ipAddress=new IpAddress(ipPortLocator.getIp().getValue());
        ip=ipAddress;
      }
    }
  }
  if (ip == null) {
    LOG.debug("String_Node_Str",serviceFunctionForwarder);
    return null;
  }
  return SfcOvsUtil.getManagerNodeByIp(ip);
}

Fixed version (ground truth):
/** 
 * This gets the OVSDB Manager Topology Node for the  {@link ServiceFunctionForwarder}, using the IP address found in an IP based Data Plane Locator. If there isn't an IP based Data Plane Locator, then this will return null.
 * @param serviceFunctionForwarder -  {@link ServiceFunctionForwarder}
 * @return {@link Node}
 */
public static Node lookupTopologyNode(ServiceFunctionForwarder serviceFunctionForwarder){
  List<SffDataPlaneLocator> sffDplList=serviceFunctionForwarder.getSffDataPlaneLocator();
  IpAddress ip=null;
  if (sffDplList == null) {
    LOG.debug("String_Node_Str",serviceFunctionForwarder);
    return null;
  }
  for (  SffDataPlaneLocator sffDpl : sffDplList) {
    if (sffDpl.getDataPlaneLocator() != null && sffDpl.getDataPlaneLocator().getLocatorType() != null) {
      Class<? extends DataContainer> locatorType=sffDpl.getDataPlaneLocator().getLocatorType().getImplementedInterface();
      if (locatorType.isAssignableFrom(Ip.class)) {
        Ip ipPortLocator=(Ip)sffDpl.getDataPlaneLocator().getLocatorType();
        ip=new IpAddress(ipPortLocator.getIp().getValue());
      }
    }
  }
  if (ip == null) {
    LOG.debug("String_Node_Str",serviceFunctionForwarder);
    return null;
  }
  return SfcOvsUtil.getManagerNodeByIp(ip);
}
Program: 131993
Project: 131993
Buggy source:
/** 
 * Method builds OVS TerminationPointAugmentation InstanceIdentifier which is based on: 1. OVS Node InstanceIdentifier which manages the OVS Bridge, to which the OVS TerminationPoint is attached 2. OVS Termination Point name. <p> If the two aforementioned fields are missing, NullPointerException is raised. <p>
 * @param ovsdbBridge OvsdbBridgeAugmentation
 * @param ovsdbTerminationPoint OvsdbTerminationPointAugmentation
 * @return InstanceIdentifier&lt;OvsdbTerminationPointAugmentation&gt;
 */
public static InstanceIdentifier<OvsdbTerminationPointAugmentation> buildOvsdbTerminationPointAugmentationIID(OvsdbBridgeAugmentation ovsdbBridge,OvsdbTerminationPointAugmentation ovsdbTerminationPoint){
  Preconditions.checkNotNull(ovsdbTerminationPoint,"String_Node_Str" + "String_Node_Str");
  Preconditions.checkNotNull(ovsdbTerminationPoint.getName(),"String_Node_Str" + "String_Node_Str");
  Preconditions.checkNotNull(ovsdbBridge,"String_Node_Str");
  NodeId nodeId=getOvsBridgeNodeId(ovsdbBridge);
  String terminationPointId=ovsdbTerminationPoint.getName();
  InstanceIdentifier<OvsdbTerminationPointAugmentation> terminationPointIID=InstanceIdentifier.create(NetworkTopology.class).child(Topology.class,new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID)).child(Node.class,new NodeKey(nodeId)).child(TerminationPoint.class,new TerminationPointKey(new TpId(terminationPointId))).augmentation(OvsdbTerminationPointAugmentation.class);
  return terminationPointIID;
}

Fixed version (ground truth):
/** 
 * Method builds OVS TerminationPointAugmentation InstanceIdentifier which is based on: 1. OVS Node InstanceIdentifier which manages the OVS Bridge, to which the OVS TerminationPoint is attached 2. OVS Termination Point name. <p> If the two aforementioned fields are missing, NullPointerException is raised. <p>
 * @param ovsdbBridge OvsdbBridgeAugmentation
 * @param ovsdbTerminationPoint OvsdbTerminationPointAugmentation
 * @return InstanceIdentifier&lt;OvsdbTerminationPointAugmentation&gt;
 */
public static InstanceIdentifier<OvsdbTerminationPointAugmentation> buildOvsdbTerminationPointAugmentationIID(OvsdbBridgeAugmentation ovsdbBridge,OvsdbTerminationPointAugmentation ovsdbTerminationPoint){
  Preconditions.checkNotNull(ovsdbTerminationPoint,"String_Node_Str" + "String_Node_Str");
  Preconditions.checkNotNull(ovsdbTerminationPoint.getName(),"String_Node_Str" + "String_Node_Str");
  Preconditions.checkNotNull(ovsdbBridge,"String_Node_Str");
  NodeId nodeId=getOvsBridgeNodeId(ovsdbBridge);
  String terminationPointId=ovsdbTerminationPoint.getName();
  return InstanceIdentifier.create(NetworkTopology.class).child(Topology.class,new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID)).child(Node.class,new NodeKey(nodeId)).child(TerminationPoint.class,new TerminationPointKey(new TpId(terminationPointId))).augmentation(OvsdbTerminationPointAugmentation.class);
}
Program: 131994
Project: 131994
Buggy source:
/** 
 * Method builds OVS TerminationPoint InstanceIdentifier which is based on SFF name and SFF DataPlane locator name. Method will return valid InstanceIdentifier only if the given SFF and SFF DataPlane locator belongs to SFF instance mapped to OVS. <p>
 * @param ovsdbBridgeNodeId OVSDB bridge NodeId where the SFF DPL resides
 * @param sffDataPlaneLocatorName Service Function Forwarder Data Plane locator name
 * @return InstanceIdentifier&lt;TerminationPoint&gt;
 */
public static InstanceIdentifier<TerminationPoint> buildOvsdbTerminationPointIID(NodeId ovsdbBridgeNodeId,String sffDataPlaneLocatorName){
  InstanceIdentifier<TerminationPoint> terminationPointIID=InstanceIdentifier.create(NetworkTopology.class).child(Topology.class,new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID)).child(Node.class,new NodeKey(new NodeId(ovsdbBridgeNodeId))).child(TerminationPoint.class,new TerminationPointKey(new TpId(sffDataPlaneLocatorName)));
  return terminationPointIID;
}

Fixed version (ground truth):
/** 
 * Method builds OVS TerminationPoint InstanceIdentifier which is based on SFF name and SFF DataPlane locator name. Method will return valid InstanceIdentifier only if the given SFF and SFF DataPlane locator belongs to SFF instance mapped to OVS. <p>
 * @param ovsdbBridgeNodeId OVSDB bridge NodeId where the SFF DPL resides
 * @param sffDataPlaneLocatorName Service Function Forwarder Data Plane locator name
 * @return InstanceIdentifier&lt;TerminationPoint&gt;
 */
public static InstanceIdentifier<TerminationPoint> buildOvsdbTerminationPointIID(NodeId ovsdbBridgeNodeId,String sffDataPlaneLocatorName){
  return InstanceIdentifier.create(NetworkTopology.class).child(Topology.class,new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID)).child(Node.class,new NodeKey(new NodeId(ovsdbBridgeNodeId))).child(TerminationPoint.class,new TerminationPointKey(new TpId(sffDataPlaneLocatorName)));
}
Program: 131995
Project: 131995
Buggy source:
/** 
 * Method builds OVSDB Topology InstanceIdentifier. <p>
 * @return InstanceIdentifier&lt;Topology&gt;
 */
public static InstanceIdentifier<Topology> buildOvsdbTopologyIID(){
  InstanceIdentifier<Topology> ovsdbTopologyIID=InstanceIdentifier.create(NetworkTopology.class).child(Topology.class,new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID));
  return ovsdbTopologyIID;
}

Fixed version (ground truth):
/** 
 * Method builds OVSDB Topology InstanceIdentifier. <p>
 * @return InstanceIdentifier&lt;Topology&gt;
 */
public static InstanceIdentifier<Topology> buildOvsdbTopologyIID(){
  return InstanceIdentifier.create(NetworkTopology.class).child(Topology.class,new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID));
}
Program: 131996
Project: 131996
Buggy source:
/** 
 * Method builds OVS Node InstanceIdentifier which is based on NodeId. <p>
 * @param nodeId NodeId
 * @return InstanceIdentifier&lt;Node&gt;
 */
public static InstanceIdentifier<Node> buildOvsdbNodeIID(NodeId nodeId){
  InstanceIdentifier<Node> nodeIID=InstanceIdentifier.create(NetworkTopology.class).child(Topology.class,new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID)).child(Node.class,new NodeKey(nodeId));
  return nodeIID;
}

Fixed version (ground truth):
/** 
 * Method builds OVS Node InstanceIdentifier which is based on NodeId. <p>
 * @param nodeId NodeId
 * @return InstanceIdentifier&lt;Node&gt;
 */
public static InstanceIdentifier<Node> buildOvsdbNodeIID(NodeId nodeId){
  return InstanceIdentifier.create(NetworkTopology.class).child(Topology.class,new TopologyKey(SouthboundConstants.OVSDB_TOPOLOGY_ID)).child(Node.class,new NodeKey(nodeId));
}
Program: 131997
Project: 131997
Buggy source:
public void registerPath(RenderedServicePath rsp){
  List<IpAddress> hopIpList=new ArrayList<>();
  List<RenderedServicePathHop> hops=rsp.getRenderedServicePathHop();
  for (  RenderedServicePathHop hop : hops) {
    SffDataPlaneLocatorName locatorName=hop.getServiceFunctionForwarderLocator();
    SffName sffName=hop.getServiceFunctionForwarder();
    ServiceFunctionForwarder sff=SfcProviderServiceForwarderAPI.readServiceFunctionForwarder(sffName);
    if (sff == null) {
      LOG.warn("String_Node_Str",sffName,hop.getHopNumber());
      return;
    }
    List<SffDataPlaneLocator> locators=sff.getSffDataPlaneLocator();
    if (locators == null) {
      LOG.debug("String_Node_Str",sff);
      return;
    }
    boolean found=false;
    for (    SffDataPlaneLocator locator : locators) {
      if (locator.getName().equals(locatorName)) {
        DataPlaneLocator dpLocator=locator.getDataPlaneLocator();
        LOG.debug("String_Node_Str",sffName,dpLocator);
        if (dpLocator.getLocatorType() instanceof Ip) {
          Ip sffLocator=(Ip)dpLocator.getLocatorType();
          if (sffLocator != null) {
            hopIpList.add(sffLocator.getIp());
            found=true;
            break;
          }
        }
      }
    }
    if (!found) {
      LOG.debug("String_Node_Str",sff);
      return;
    }
  }
  Eid spEid=LispAddressUtil.asServicePathEid(0,rsp.getPathId().longValue(),LispAddressUtil.STARTING_SERVICE_INDEX);
  registerElpMapping(spEid,hopIpList);
}

Fixed version (ground truth):
public void registerPath(RenderedServicePath rsp){
  List<IpAddress> hopIpList=new ArrayList<>();
  List<RenderedServicePathHop> hops=rsp.getRenderedServicePathHop();
  for (  RenderedServicePathHop hop : hops) {
    SffDataPlaneLocatorName locatorName=hop.getServiceFunctionForwarderLocator();
    SffName sffName=hop.getServiceFunctionForwarder();
    ServiceFunctionForwarder sff=SfcProviderServiceForwarderAPI.readServiceFunctionForwarder(sffName);
    if (sff == null) {
      LOG.warn("String_Node_Str",sffName,hop.getHopNumber());
      return;
    }
    List<SffDataPlaneLocator> locators=sff.getSffDataPlaneLocator();
    if (locators == null) {
      LOG.debug("String_Node_Str",sff);
      return;
    }
    boolean found=false;
    for (    SffDataPlaneLocator locator : locators) {
      if (locator.getName().equals(locatorName)) {
        DataPlaneLocator dpLocator=locator.getDataPlaneLocator();
        LOG.debug("String_Node_Str",sffName,dpLocator);
        if (dpLocator.getLocatorType() instanceof Ip) {
          Ip sffLocator=(Ip)dpLocator.getLocatorType();
          if (sffLocator != null) {
            hopIpList.add(sffLocator.getIp());
            found=true;
            break;
          }
        }
      }
    }
    if (!found) {
      LOG.debug("String_Node_Str",sff);
      return;
    }
  }
  Eid spEid=LispAddressUtil.asServicePathEid(0,rsp.getPathId(),LispAddressUtil.STARTING_SERVICE_INDEX);
  registerElpMapping(spEid,hopIpList);
}
Program: 131998
Project: 131998
Buggy source:
public void deletePath(RenderedServicePath rsp){
  Eid spEid=LispAddressUtil.asServicePathEid(0,rsp.getPathId().longValue(),LispAddressUtil.STARTING_SERVICE_INDEX);
  removeMapping(spEid);
}

Fixed version (ground truth):
public void deletePath(RenderedServicePath rsp){
  Eid spEid=LispAddressUtil.asServicePathEid(0,rsp.getPathId(),LispAddressUtil.STARTING_SERVICE_INDEX);
  removeMapping(spEid);
}
Program: 131999
Project: 131999
Buggy source:
@Override public Object call() throws Exception {
  Object result=null;
switch (methodToCall) {
case GET_MAPPING:
    result=getLispMapping((Eid)methodParameters[0]);
  break;
case ADD_MAPPING:
result=addLispMapping((Eid)methodParameters[0],(List<Rloc>)methodParameters[1]);
break;
case DELETE_MAPPING:
result=removeLispMapping((Eid)methodParameters[0]);
break;
default :
break;
}
return result;
}

Fixed version (ground truth):
@Override public Object call(){
  Object result=null;
switch (methodToCall) {
case GET_MAPPING:
    result=getLispMapping((Eid)methodParameters[0]);
  break;
case ADD_MAPPING:
result=addLispMapping((Eid)methodParameters[0],(List<Rloc>)methodParameters[1]);
break;
case DELETE_MAPPING:
result=removeLispMapping((Eid)methodParameters[0]);
break;
default :
break;
}
return result;
}
Program: 132001
Project: 132001
Buggy source:
@Override public FlowDetails createClassifierRelayFlow(String nodeId,String flowKey,SfcRspInfo sfcRspInfo,String classifierName){
  SffName lastSff=sfcRspInfo.getLastSffName();
  SffName classifierSff=new SffName(classifierName);
  SffDataPlaneLocator returnSffDpl=SfcModelUtil.searchSrcDplInConnectedSffs(lastSff,classifierSff);
  if (returnSffDpl == null) {
    return null;
  }
  SffDataPlaneLocator1 ofsDpl=returnSffDpl.getAugmentation(SffDataPlaneLocator1.class);
  if (ofsDpl == null) {
    return null;
  }
  FlowBuilder fb=SfcScfOfUtils.createClassifierMacChainingRelayFlow(nodeId,flowKey,ofsDpl.getOfsPort().getPortId(),sfcRspInfo.getNshNsp(),sfcRspInfo.getNshStartNsi(),sfcRspInfo.getNshEndNsi());
  return classifierHandler.addRspRelatedFlowIntoNode(nodeId,fb,sfcRspInfo.getNshNsp());
}

Fixed version (ground truth):
@Override public FlowDetails createClassifierRelayFlow(String nodeId,String flowKey,SfcRspInfo sfcRspInfo,String classifierName){
  SffName lastSff=sfcRspInfo.getLastSffName();
  SffName classifierSff=new SffName(classifierName);
  SffDataPlaneLocator returnSffDpl=SfcModelUtil.searchSrcDplInConnectedSffs(lastSff,classifierSff);
  if (returnSffDpl == null) {
    LOG.error("String_Node_Str",lastSff,classifierSff);
    return null;
  }
  SffDataPlaneLocator1 ofsDpl=returnSffDpl.getAugmentation(SffDataPlaneLocator1.class);
  if (ofsDpl == null) {
    LOG.error("String_Node_Str",returnSffDpl);
    return null;
  }
  FlowBuilder fb=SfcScfOfUtils.createClassifierMacChainingRelayFlow(nodeId,flowKey,ofsDpl.getOfsPort().getPortId(),sfcRspInfo.getNshNsp(),sfcRspInfo.getNshStartNsi(),sfcRspInfo.getNshEndNsi());
  return classifierHandler.addRspRelatedFlowIntoNode(nodeId,fb,sfcRspInfo.getNshNsp());
}
Program: 132002
Project: 132002
Buggy source:
@Override public FlowDetails createClassifierInFlow(String nodeId,String flowKey,SfcRspInfo sfcRspInfo,Long outPort){
  SffName classifier=new SffName(SfcProviderServiceForwarderAPI.getSffName(nodeId));
  ServiceFunctionForwarder sff=SfcProviderServiceForwarderAPI.readServiceFunctionForwarder(classifier);
  List<SffDataPlaneLocator> sffDataPlaneLocatorList=sff.getSffDataPlaneLocator();
  TerminationPoint terminationPoint=null;
  for (  SffDataPlaneLocator dpl : sffDataPlaneLocatorList) {
    SffDplChainTerminationAugment terminationDpl=dpl.getAugmentation(SffDplChainTerminationAugment.class);
    if (terminationDpl != null) {
      terminationPoint=terminationDpl.getTerminationPoint();
      break;
    }
  }
  if (terminationPoint == null) {
    return null;
  }
  String classifierNodeName=SfcOvsUtil.getOpenFlowNodeIdForSff(SfcProviderServiceForwarderAPI.readServiceFunctionForwarder(classifier));
  FlowBuilder fb=SfcScfOfUtils.createMacChainClassifierInFlow(classifierNodeName,String.format("String_Node_Str",flowKey,sfcRspInfo.getNshNsp().toString()),terminationPoint.getPortId(),terminationPoint.getMacAddress().getValue(),sfcRspInfo.getNshNsp(),sfcRspInfo.getNshStartNsi());
  return classifierHandler.addRspRelatedFlowIntoNode(classifierNodeName,fb,sfcRspInfo.getNshNsp());
}

Fixed version (ground truth):
@Override public FlowDetails createClassifierInFlow(String nodeId,String flowKey,SfcRspInfo sfcRspInfo,Long outPort){
  SffName classifier=new SffName(SfcProviderServiceForwarderAPI.getSffName(nodeId));
  ServiceFunctionForwarder sff=SfcProviderServiceForwarderAPI.readServiceFunctionForwarder(classifier);
  List<SffDataPlaneLocator> sffDataPlaneLocatorList=sff.getSffDataPlaneLocator();
  TerminationPoint terminationPoint=null;
  for (  SffDataPlaneLocator dpl : sffDataPlaneLocatorList) {
    SffDplChainTerminationAugment terminationDpl=dpl.getAugmentation(SffDplChainTerminationAugment.class);
    if (terminationDpl != null) {
      terminationPoint=terminationDpl.getTerminationPoint();
      break;
    }
  }
  if (terminationPoint == null) {
    LOG.error("String_Node_Str",classifier);
    return null;
  }
  String classifierNodeName=SfcOvsUtil.getOpenFlowNodeIdForSff(SfcProviderServiceForwarderAPI.readServiceFunctionForwarder(classifier));
  if (classifierNodeName == null) {
    LOG.error("String_Node_Str",classifier);
    return null;
  }
  FlowBuilder fb=SfcScfOfUtils.createMacChainClassifierInFlow(classifierNodeName,String.format("String_Node_Str",flowKey,sfcRspInfo.getNshNsp().toString()),terminationPoint.getPortId(),terminationPoint.getMacAddress().getValue(),sfcRspInfo.getNshNsp(),sfcRspInfo.getNshStartNsi());
  return classifierHandler.addRspRelatedFlowIntoNode(classifierNodeName,fb,sfcRspInfo.getNshNsp());
}
Program: 132003
Project: 132003
Buggy source:
@Override public FlowDetails createClassifierOutFlow(String nodeId,String flowKey,Match match,SfcRspInfo sfcRspInfo){
  SffName firstSffName=sfcRspInfo.getFirstSffName();
  SffName classifier=new SffName(SfcProviderServiceForwarderAPI.getSffName(nodeId));
  SffDataPlaneLocator outputDpl=SfcModelUtil.searchSrcDplInConnectedSffs(classifier,firstSffName);
  if (outputDpl == null) {
    return null;
  }
  SffDataPlaneLocator1 ofsDpl=outputDpl.getAugmentation(SffDataPlaneLocator1.class);
  if (ofsDpl == null) {
    return null;
  }
  FlowBuilder fb=SfcScfOfUtils.createMacChainClassifierOutFlow(nodeId,String.format("String_Node_Str",flowKey,ofsDpl.getOfsPort().getPortId()),match,ofsDpl.getOfsPort().getPortId(),sfcRspInfo.getNshNsp(),sfcRspInfo.getNshStartNsi());
  return classifierHandler.addRspRelatedFlowIntoNode(nodeId,fb,sfcRspInfo.getNshNsp());
}

Fixed version (ground truth):
@Override public FlowDetails createClassifierOutFlow(String nodeId,String flowKey,Match match,SfcRspInfo sfcRspInfo){
  SffName firstSffName=sfcRspInfo.getFirstSffName();
  SffName classifier=new SffName(SfcProviderServiceForwarderAPI.getSffName(nodeId));
  SffDataPlaneLocator outputDpl=SfcModelUtil.searchSrcDplInConnectedSffs(classifier,firstSffName);
  if (outputDpl == null) {
    LOG.error("String_Node_Str",classifier,firstSffName);
    return null;
  }
  SffDataPlaneLocator1 ofsDpl=outputDpl.getAugmentation(SffDataPlaneLocator1.class);
  if (ofsDpl == null) {
    LOG.error("String_Node_Str",outputDpl);
    return null;
  }
  FlowBuilder fb=SfcScfOfUtils.createMacChainClassifierOutFlow(nodeId,String.format("String_Node_Str",flowKey,ofsDpl.getOfsPort().getPortId()),match,ofsDpl.getOfsPort().getPortId(),sfcRspInfo.getNshNsp(),sfcRspInfo.getNshStartNsi());
  return classifierHandler.addRspRelatedFlowIntoNode(nodeId,fb,sfcRspInfo.getNshNsp());
}