nus-yam/ex-repair huggingface dataset:
Program: 57764
Project: 57764
Buggy source:
@Override public void handleSelectionUpdate(final SelectionDelta selectionDelta,final boolean scrollToSelection,final String info){
  recordSelectionManager.setDelta(selectionDelta);
  parentComposite.getDisplay().asyncExec(new Runnable(){
    @Override public void run(){
      updateContentTree();
    }
  }
);
}

Fixed version (ground truth):
@Override public void handleSelectionUpdate(final SelectionDelta selectionDelta,final boolean scrollToSelection,final String info){
  if (!selectionDelta.getIDType().getIDCategory().equals(recordSelectionManager.getIDType().getIDCategory()))   return;
  recordSelectionManager.setDelta(selectionDelta);
  parentComposite.getDisplay().asyncExec(new Runnable(){
    @Override public void run(){
      updateContentTree();
    }
  }
);
}
Program: 57765
Project: 57765
Buggy source:
@Override public void setDetailLevel(DetailLevel detailLevel){
  if (detailLevel.equals(this.detailLevel))   return;
  super.setDetailLevel(detailLevel);
  if (detailLevel == DetailLevel.HIGH || detailLevel == DetailLevel.MEDIUM) {
    layoutManager.setStaticLayoutConfiguration(detailedRenderingTemplate);
    detailedRenderingTemplate.setStaticLayouts();
    showCaptions=true;
  }
 else {
    layoutManager.setStaticLayoutConfiguration(textureTemplate);
    showCaptions=false;
  }
}

Fixed version (ground truth):
@Override public void setDetailLevel(DetailLevel detailLevel){
  if (detailLevel.equals(this.detailLevel))   return;
  super.setDetailLevel(detailLevel);
  if (dataContainer.getNrDimensions() > 1 && (detailLevel == DetailLevel.HIGH || detailLevel == DetailLevel.MEDIUM)) {
    layoutManager.setStaticLayoutConfiguration(detailedRenderingTemplate);
    detailedRenderingTemplate.setStaticLayouts();
    showCaptions=true;
  }
 else {
    layoutManager.setStaticLayoutConfiguration(textureTemplate);
    showCaptions=false;
  }
}
Program: 57766
Project: 57766
Buggy source:
/** 
 * Registers a   {@link IPickingListener} for this view that is called when objects with the specifiedpickingType <b>and</b> ID are picked.
 * @param pickingListener the picking listener that should be called on picking event
 * @param pickingType the picking type. Take care that the type is unique for a view.
 * @param pickedObjectID the id identifying the picked object
 */
public void addIDPickingListener(IPickingListener pickingListener,String pickingType,int pickedObjectID){
  HashMap<Integer,Set<IPickingListener>> map=idPickingListeners.get(pickingType);
  if (map == null) {
    map=new HashMap<Integer,Set<IPickingListener>>();
    idPickingListeners.put(pickingType,map);
  }
  Set<IPickingListener> pickingListeners=map.get(pickedObjectID);
  if (pickingListeners == null) {
    pickingListeners=new HashSet<IPickingListener>();
  }
  for (  IPickingListener listener : pickingListeners) {
    if (listener.getClass() == pickingListener.getClass()) {
      return;
    }
  }
  pickingListeners.add(pickingListener);
  map.put(pickedObjectID,pickingListeners);
}

Fixed version (ground truth):
/** 
 * Registers a   {@link IPickingListener} for this view that is called when objects with the specifiedpickingType <b>and</b> ID are picked.
 * @param pickingListener the picking listener that should be called on picking event
 * @param pickingType the picking type. Take care that the type is unique for a view.
 * @param pickedObjectID the id identifying the picked object
 */
public void addIDPickingListener(IPickingListener pickingListener,String pickingType,int pickedObjectID){
  HashMap<Integer,Set<IPickingListener>> map=idPickingListeners.get(pickingType);
  if (map == null) {
    map=new HashMap<Integer,Set<IPickingListener>>();
    idPickingListeners.put(pickingType,map);
  }
  Set<IPickingListener> pickingListeners=map.get(pickedObjectID);
  if (pickingListeners == null) {
    pickingListeners=new HashSet<IPickingListener>();
  }
  for (  IPickingListener listener : pickingListeners) {
    if (listener == pickingListener) {
      return;
    }
  }
  pickingListeners.add(pickingListener);
  map.put(pickedObjectID,pickingListeners);
}
Program: 57767
Project: 57767
Buggy source:
/** 
 * Sets the   {@link ABrickLayoutConfiguration} for this brick, specifying itsappearance. If the specified view type is valid, it will be set, otherwise the default view type will be set.
 * @param brickLayoutTemplate
 * @param viewType
 */
public void setBrickLayoutTemplate(ABrickLayoutConfiguration brickLayoutTemplate,EContainedViewType viewType){
  if (brickLayout != null)   brickLayout.destroy();
  brickLayout=brickLayoutTemplate;
  if ((brickLayout instanceof CompactBrickLayoutTemplate) || (brickLayout instanceof CompactHeaderBrickLayoutTemplate))   isInOverviewMode=true;
 else   isInOverviewMode=false;
  if (layoutManager != null) {
    layoutManager.setStaticLayoutConfiguration(brickLayout);
    if (brickLayout.isViewTypeValid(viewType)) {
      setContainedView(viewType);
    }
 else {
      setContainedView(brickLayout.getDefaultViewType());
    }
  }
}

Fixed version (ground truth):
/** 
 * Sets the   {@link ABrickLayoutConfiguration} for this brick, specifying itsappearance. If the specified view type is valid, it will be set, otherwise the default view type will be set.
 * @param newBrickLayout
 * @param viewType
 */
public void setBrickLayoutTemplate(ABrickLayoutConfiguration newBrickLayout,EContainedViewType viewType){
  if (brickLayout != null && brickLayout != newBrickLayout)   brickLayout.destroy();
  brickLayout=newBrickLayout;
  if ((brickLayout instanceof CompactBrickLayoutTemplate) || (brickLayout instanceof CompactHeaderBrickLayoutTemplate))   isInOverviewMode=true;
 else   isInOverviewMode=false;
  if (layoutManager != null) {
    layoutManager.setStaticLayoutConfiguration(brickLayout);
    if (brickLayout.isViewTypeValid(viewType)) {
      setContainedView(viewType);
    }
 else {
      setContainedView(brickLayout.getDefaultViewType());
    }
  }
}
Program: 57768
Project: 57768
Buggy source:
@Override public void displayRemote(GL2 gl){
  checkForHits(gl);
  display(gl);
}

Fixed version (ground truth):
@Override public void displayRemote(GL2 gl){
  display(gl);
}
Program: 57769
Project: 57769
Buggy source:
public GLBrick(GLCanvas glCanvas,Composite parentComposite,ViewFrustum viewFrustum){
  super(glCanvas,parentComposite,viewFrustum);
  viewType=GLBrick.VIEW_TYPE;
  viewLabel="String_Node_Str";
  views=new HashMap<EContainedViewType,AGLView>();
  containedViewRenderers=new HashMap<EContainedViewType,LayoutRenderer>();
}

Fixed version (ground truth):
public GLBrick(GLCanvas glCanvas,Composite parentComposite,ViewFrustum viewFrustum){
  super(glCanvas,parentComposite,viewFrustum);
  viewType=GLBrick.VIEW_TYPE;
  viewLabel="String_Node_Str";
  views=new HashMap<EContainedViewType,AGLView>();
  containedViewRenderers=new HashMap<EContainedViewType,LayoutRenderer>();
  System.out.println(getID());
}
Program: 57770
Project: 57770
Buggy source:
@Override public void display(GL2 gl){
  if (currentRemoteView != null)   currentRemoteView.processEvents();
  processEvents();
  handleBrickResize(gl);
  if (isBaseDisplayListDirty)   buildBaseDisplayList(gl);
  GLVisBricks visBricks=getDimensionGroup().getVisBricksView();
  gl.glPushName(visBricks.getPickingManager().getPickingID(visBricks.getID(),PickingType.BRICK.name(),getID()));
  gl.glPushName(getPickingManager().getPickingID(getID(),PickingType.BRICK.name(),getID()));
  gl.glColor4f(1.0f,0.0f,0.0f,0.5f);
  gl.glTranslatef(0,0,0.1f);
  gl.glBegin(GL2.GL_QUADS);
  float zpos=0f;
  gl.glVertex3f(0,0,zpos);
  gl.glVertex3f(wrappingLayout.getSizeScaledX(),0,zpos);
  gl.glVertex3f(wrappingLayout.getSizeScaledX(),wrappingLayout.getSizeScaledY(),zpos);
  gl.glVertex3f(0,wrappingLayout.getSizeScaledY(),zpos);
  gl.glEnd();
  gl.glPopName();
  gl.glPopName();
  layoutManager.render(gl);
  gl.glCallList(baseDisplayListIndex);
}

Fixed version (ground truth):
@Override public void display(GL2 gl){
  if (currentRemoteView != null)   currentRemoteView.processEvents();
  checkForHits(gl);
  processEvents();
  handleBrickResize(gl);
  if (isBaseDisplayListDirty)   buildBaseDisplayList(gl);
  GLVisBricks visBricks=getDimensionGroup().getVisBricksView();
  gl.glPushName(visBricks.getPickingManager().getPickingID(visBricks.getID(),PickingType.BRICK.name(),getID()));
  gl.glPushName(getPickingManager().getPickingID(getID(),PickingType.BRICK.name(),getID()));
  gl.glColor4f(1.0f,0.0f,0.0f,0.5f);
  gl.glTranslatef(0,0,0.1f);
  gl.glBegin(GL2.GL_QUADS);
  float zpos=0f;
  gl.glVertex3f(0,0,zpos);
  gl.glVertex3f(wrappingLayout.getSizeScaledX(),0,zpos);
  gl.glVertex3f(wrappingLayout.getSizeScaledX(),wrappingLayout.getSizeScaledY(),zpos);
  gl.glVertex3f(0,wrappingLayout.getSizeScaledY(),zpos);
  gl.glEnd();
  gl.glPopName();
  gl.glPopName();
  layoutManager.render(gl);
  gl.glCallList(baseDisplayListIndex);
}
Program: 57771
Project: 57771
Buggy source:
@Override protected void displayLocal(GL2 gl){
  pickingManager.handlePicking(this,gl);
  checkForHits(gl);
  display(gl);
}

Fixed version (ground truth):
@Override protected void displayLocal(GL2 gl){
  pickingManager.handlePicking(this,gl);
  display(gl);
}
Program: 57772
Project: 57772
Buggy source:
@Override protected void registerPickingListeners(){
  brick.addIDPickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
    }
  }
,PickingType.BRICK_LOCK_RESIZING_BUTTON.name(),LOCK_RESIZING_BUTTON_ID);
  brick.addIDPickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
      boolean isGlobalViewSwitching=!viewSwitchingModeButton.isSelected();
      dimensionGroup.setGlobalViewSwitching(isGlobalViewSwitching);
      viewSwitchingModeButton.setSelected(isGlobalViewSwitching);
    }
  }
,PickingType.BRICK_VIEW_SWITCHING_MODE_BUTTON.name(),VIEW_SWITCHING_MODE_BUTTON_ID);
  brick.addIDPickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
      brick.collapse();
      dimensionGroup.updateLayout();
    }
  }
,PickingType.BRICK_COLLAPSE_BUTTON.name(),COLLAPSE_BUTTON_ID);
  brick.addIDPickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
      dimensionGroup.showDetailedBrick(brick,false);
    }
  }
,PickingType.EXPAND_RIGHT_HANDLE.name(),brick.getID());
  brick.addIDPickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
      dimensionGroup.showDetailedBrick(brick,true);
    }
  }
,PickingType.EXPAND_LEFT_HANDLE.name(),brick.getID());
}

Fixed version (ground truth):
@Override protected void registerPickingListeners(){
  System.out.println("String_Node_Str" + brick.getID());
  brick.addIDPickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
    }
  }
,PickingType.BRICK_LOCK_RESIZING_BUTTON.name(),LOCK_RESIZING_BUTTON_ID);
  brick.addIDPickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
      boolean isGlobalViewSwitching=!viewSwitchingModeButton.isSelected();
      dimensionGroup.setGlobalViewSwitching(isGlobalViewSwitching);
      viewSwitchingModeButton.setSelected(isGlobalViewSwitching);
    }
  }
,PickingType.BRICK_VIEW_SWITCHING_MODE_BUTTON.name(),VIEW_SWITCHING_MODE_BUTTON_ID);
  brick.addIDPickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
      brick.collapse();
      dimensionGroup.updateLayout();
    }
  }
,PickingType.BRICK_COLLAPSE_BUTTON.name(),COLLAPSE_BUTTON_ID);
  brick.addIDPickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
      dimensionGroup.showDetailedBrick(brick,false);
    }
  }
,PickingType.EXPAND_RIGHT_HANDLE.name(),brick.getID());
  brick.addIDPickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
      dimensionGroup.showDetailedBrick(brick,true);
    }
  }
,PickingType.EXPAND_LEFT_HANDLE.name(),brick.getID());
}
Program: 57773
Project: 57773
Buggy source:
@Override public void destroy(){
  brick.removeAllIDPickingListeners(PickingType.BRICK_LOCK_RESIZING_BUTTON.name(),LOCK_RESIZING_BUTTON_ID);
  brick.removeAllIDPickingListeners(PickingType.BRICK_VIEW_SWITCHING_MODE_BUTTON.name(),VIEW_SWITCHING_MODE_BUTTON_ID);
  brick.removeAllIDPickingListeners(PickingType.BRICK_COLLAPSE_BUTTON.name(),COLLAPSE_BUTTON_ID);
  brick.removeAllIDPickingListeners(PickingType.EXPAND_RIGHT_HANDLE.name(),brick.getID());
  brick.removeAllIDPickingListeners(PickingType.EXPAND_LEFT_HANDLE.name(),brick.getID());
  toolBar.destroy();
  super.destroy();
}

Fixed version (ground truth):
@Override public void destroy(){
  System.out.println("String_Node_Str" + brick.getID());
  brick.removeAllIDPickingListeners(PickingType.BRICK_LOCK_RESIZING_BUTTON.name(),LOCK_RESIZING_BUTTON_ID);
  brick.removeAllIDPickingListeners(PickingType.BRICK_VIEW_SWITCHING_MODE_BUTTON.name(),VIEW_SWITCHING_MODE_BUTTON_ID);
  brick.removeAllIDPickingListeners(PickingType.BRICK_COLLAPSE_BUTTON.name(),COLLAPSE_BUTTON_ID);
  brick.removeAllIDPickingListeners(PickingType.EXPAND_RIGHT_HANDLE.name(),brick.getID());
  brick.removeAllIDPickingListeners(PickingType.EXPAND_LEFT_HANDLE.name(),brick.getID());
  super.destroy();
}
Program: 57774
Project: 57774
Buggy source:
public DimensionGroup(GLCanvas canvas,Composite parentComposite,ViewFrustum viewFrustum){
  super(canvas,parentComposite,viewFrustum);
  viewType=VIEW_TYPE;
  mainRow=new Row("String_Node_Str");
  mainRow.setRenderingPriority(1);
  mainRow.setXDynamic(true);
  mainRow.setFrameColor(1,0,1,1);
  mainRow.sethAlign(HAlign.CENTER);
  mainColumn=new Column("String_Node_Str");
  mainColumn.setPriorityRendereing(true);
  mainColumn.setBottomUp(false);
  mainColumn.setXDynamic(true);
  mainColumn.setVAlign(VAlign.CENTER);
  clusterBrickWrapperColumn=new Column("String_Node_Str");
  clusterBrickWrapperColumn.setXDynamic(true);
  clusterBrickColumn=new Column("String_Node_Str");
  clusterBrickColumn.setFrameColor(1,0,1,1);
  clusterBrickColumn.setBottomUp(false);
  clusterBrickColumn.setXDynamic(true);
  clusterBrickColumn.setIDs(uniqueID,BOTTOM_COLUMN_ID);
  clusterBrickColumn.setVAlign(VAlign.CENTER);
  clusterBrickWrapperColumn.append(clusterBrickColumn);
  clusterBricks=new ArrayList<GLBrick>(20);
  headerBrickLayout=new Column("String_Node_Str");
  headerBrickLayout.setXDynamic(true);
  headerBrickLayout.setYDynamic(true);
  headerBrickLayout.setFrameColor(1,1,0,1);
  headerBrickLayout.setRenderingPriority(10);
  initMainColumn();
  mainRow.append(mainColumn);
}

Fixed version (ground truth):
public DimensionGroup(GLCanvas canvas,Composite parentComposite,ViewFrustum viewFrustum){
  super(canvas,parentComposite,viewFrustum);
  viewType=VIEW_TYPE;
  mainRow=new Row("String_Node_Str");
  mainRow.setRenderingPriority(1);
  mainRow.setXDynamic(true);
  mainRow.setFrameColor(1,0,1,1);
  mainRow.sethAlign(HAlign.CENTER);
  mainColumn=new Column("String_Node_Str");
  mainColumn.setPriorityRendereing(true);
  mainColumn.setBottomUp(false);
  mainColumn.setXDynamic(true);
  mainColumn.setVAlign(VAlign.CENTER);
  clusterBrickWrapperColumn=new Column("String_Node_Str");
  clusterBrickWrapperColumn.setXDynamic(true);
  clusterBrickColumn=new Column("String_Node_Str");
  clusterBrickColumn.setFrameColor(1,0,1,1);
  clusterBrickColumn.setBottomUp(false);
  clusterBrickColumn.setXDynamic(true);
  clusterBrickColumn.setIDs(uniqueID,BOTTOM_COLUMN_ID);
  clusterBrickColumn.setVAlign(VAlign.CENTER);
  clusterBrickWrapperColumn.append(clusterBrickColumn);
  clusterBricks=new ArrayList<GLBrick>(20);
  headerBrickLayout=new Column("String_Node_Str");
  headerBrickLayout.setXDynamic(true);
  headerBrickLayout.setYDynamic(true);
  headerBrickLayout.setFrameColor(1,1,0,1);
  headerBrickLayout.setRenderingPriority(10);
  isCollapsed=true;
  initMainColumn();
  mainRow.append(mainColumn);
}
Program: 57775
Project: 57775
Buggy source:
/** 
 * @return Returns a new list of all record ids in the order they were initialized
 */
public List<Integer> getRowIDList(){
  ArrayList<Integer> list=new ArrayList<Integer>(metaData.depth);
  for (int count=0; count < metaData.depth(); count++) {
    list.add(count);
  }
  return list;
}

Fixed version (ground truth):
/** 
 * @return Returns a new list of all record ids in the order they were initialized
 */
public List<Integer> getRowIDList(){
  ArrayList<Integer> list=new ArrayList<Integer>(metaData.nrColumns);
  for (int count=0; count < metaData.depth(); count++) {
    list.add(count);
  }
  return list;
}
Program: 57776
Project: 57776
Buggy source:
/** 
 * Gets the minimum value in the set in the specified data representation.
 * @param dataRepresentation Data representation the minimum value shall be returned in.
 * @throws OperationNotSupportedException when executed on nominal data
 * @return The absolute minimum value in the set in the specified data representation.
 */
public double getMinAs(ExternalDataRepresentation dataRepresentation){
  if (min == Double.MAX_VALUE) {
    calculateGlobalExtrema();
  }
  if (dataRepresentation == table.externalDataRep)   return min;
  double result=getRawFromExternalDataRep(min);
  return getDataRepFromRaw(result,dataRepresentation);
}

Fixed version (ground truth):
/** 
 * Gets the minimum value in the set in the specified data representation.
 * @param dataRepresentation Data representation the minimum value shall be returned in.
 * @throws OperationNotSupportedException when executed on nominal data
 * @return The absolute minimum value in the set in the specified datarepresentation.
 */
public double getMinAs(ExternalDataRepresentation dataRepresentation){
  if (min == Double.MAX_VALUE) {
    calculateGlobalExtrema();
  }
  if (dataRepresentation == table.externalDataRep)   return min;
  double result=getRawFromExternalDataRep(min);
  return getDataRepFromRaw(result,dataRepresentation);
}
Program: 57777
Project: 57777
Buggy source:
/** 
 * Get the depth of the set, which is the length of the dimensions (i.e. the number of content elements)
 * @return the number of elements in the dimensions contained in the list
 */
public int depth(){
  if (depth == 0) {
    for (    AColumn dimension : table.hashColumns.values()) {
      if (depth == 0)       depth=dimension.size();
 else {
        if (depth != dimension.size())         throw new IllegalArgumentException("String_Node_Str");
      }
    }
  }
  return depth;
}

Fixed version (ground truth):
/** 
 * Get the depth of the set, which is the number of records, the length of the dimensions
 * @return the number of elements in the dimensions contained in the list
 */
public int depth(){
  if (table.isColumnDimension)   return getNrColumns();
 else   return getNrRows();
}
Program: 57778
Project: 57778
Buggy source:
/** 
 * Get the number of dimensions in a set
 * @return
 */
public int size(){
  return table.hashColumns.size();
}

Fixed version (ground truth):
/** 
 * Get the number of dimensions in a set
 * @return
 */
public int size(){
  if (table.isColumnDimension)   return getNrRows();
 else   return getNrColumns();
}
Program: 57779
Project: 57779
Buggy source:
/** 
 * Gets the maximum value in the set in the specified data representation.
 * @param dataRepresentation Data representation the maximum value shall be returned in.
 * @throws OperationNotSupportedException when executed on nominal data
 * @return The absolute maximum value in the set in the specified data representation.
 */
public double getMaxAs(ExternalDataRepresentation dataRepresentation){
  if (max == Double.MIN_VALUE) {
    calculateGlobalExtrema();
  }
  if (dataRepresentation == table.externalDataRep)   return max;
  double result=getRawFromExternalDataRep(max);
  return getDataRepFromRaw(result,dataRepresentation);
}

Fixed version (ground truth):
/** 
 * Gets the maximum value in the set in the specified data representation.
 * @param dataRepresentation Data representation the maximum value shall be returned in.
 * @throws OperationNotSupportedException when executed on nominal data
 * @return The absolute maximum value in the set in the specified datarepresentation.
 */
public double getMaxAs(ExternalDataRepresentation dataRepresentation){
  if (max == Double.MIN_VALUE) {
    calculateGlobalExtrema();
  }
  if (dataRepresentation == table.externalDataRep)   return max;
  double result=getRawFromExternalDataRep(max);
  return getDataRepFromRaw(result,dataRepresentation);
}
Program: 57780
Project: 57780
Buggy source:
/** 
 * Converts a raw value to the specified data representation.
 * @param dRaw Raw value that shall be converted
 * @param dataRepresentation Data representation the raw value shall be converted to.
 * @return Value in the specified data representation converted from the raw value.
 */
private double getDataRepFromRaw(double dRaw,ExternalDataRepresentation dataRepresentation){
switch (dataRepresentation) {
case NORMAL:
    return dRaw;
case LOG2:
  return Math.log(dRaw) / Math.log(2);
case LOG10:
return Math.log10(dRaw);
default :
throw new IllegalStateException("String_Node_Str" + dataRepresentation);
}
}

Fixed version (ground truth):
/** 
 * Converts a raw value to the specified data representation.
 * @param dRaw Raw value that shall be converted
 * @param dataRepresentation Data representation the raw value shall be converted to.
 * @return Value in the specified data representation converted from the rawvalue.
 */
private double getDataRepFromRaw(double dRaw,ExternalDataRepresentation dataRepresentation){
switch (dataRepresentation) {
case NORMAL:
    return dRaw;
case LOG2:
  return Math.log(dRaw) / Math.log(2);
case LOG10:
return Math.log10(dRaw);
default :
throw new IllegalStateException("String_Node_Str" + dataRepresentation);
}
}
Program: 57781
Project: 57781
Buggy source:
/** 
 * Render the text at the position specified (lower left corner) within the bounding box The height is scaled to fit, the string is truncated to fit the width
 * @param gl
 * @param text
 * @param xPosition x of lower left corner
 * @param yPosition y of lower left corner
 * @param zPositon
 * @param width width fo the bounding box
 * @param height height of the bounding box
 */
public void renderTextInBounds(GL2 gl,String text,float xPosition,float yPosition,float zPositon,float width,float height){
  Rectangle2D bounds=super.getBounds(text);
  double scaling=height / bounds.getHeight();
  double requiredWidth=bounds.getWidth() * scaling;
  if (requiredWidth > width + 0.001) {
    double truncateFactor=width / requiredWidth;
    int length=(int)(text.length() * truncateFactor);
    if (length >= 0)     text=text.substring(0,length);
  }
  begin3DRendering();
  draw3D(text,xPosition,yPosition,zPositon,(float)scaling);
  flush();
  end3DRendering();
}

Fixed version (ground truth):
/** 
 * Render the text at the position specified (lower left corner) within the bounding box The height is scaled to fit, the string is truncated to fit the width
 * @param gl
 * @param text
 * @param xPosition x of lower left corner
 * @param yPosition y of lower left corner
 * @param zPositon
 * @param width width fo the bounding box
 * @param height height of the bounding box
 */
public void renderTextInBounds(GL2 gl,String text,float xPosition,float yPosition,float zPositon,float width,float height){
  double scaling=height / super.getBounds("String_Node_Str").getHeight();
  ;
  Rectangle2D boundsForWidth=super.getBounds(text);
  double requiredWidth=boundsForWidth.getWidth() * scaling;
  if (requiredWidth > width + 0.001) {
    double truncateFactor=width / requiredWidth;
    int length=(int)(text.length() * truncateFactor);
    if (length >= 0)     text=text.substring(0,length);
  }
  begin3DRendering();
  draw3D(text,xPosition,yPosition,zPositon,(float)scaling);
  flush();
  end3DRendering();
}
Program: 57782
Project: 57782
Buggy source:
/** 
 * Renders text with a specified minimum size. Use this only if you want to render several instances at a time. If you have only one string, use  {@link #renderText(GL2,String,float,float,float,float,int)} instead.
 * @param gl GL2 context.
 * @param text Text to render
 * @param x X coordinate of the text.
 * @param y Y coordinate of the text.
 * @param z Z coordinate of the text.
 * @param scaling Factor the text is scaled with.
 * @param minSize Minimum size of the text. Note that the minimum size is scaled with the specified scaling vector.
 */
public void draw3D(GL2 gl,String text,float x,float y,float z,float scaling,int minSize){
  scaling=calculateScaling(gl,scaling,minSize);
  draw3D(text,x,y,z,scaling);
}

Fixed version (ground truth):
/** 
 * Renders text with a specified minimum size. Use this only if you want to render several instances at a time. If you have only one string, use  {@link #renderText(GL2,String,float,float,float,float,int)}instead.
 * @param gl GL2 context.
 * @param text Text to render
 * @param x X coordinate of the text.
 * @param y Y coordinate of the text.
 * @param z Z coordinate of the text.
 * @param scaling Factor the text is scaled with.
 * @param minSize Minimum size of the text. Note that the minimum size is scaled with the specified scaling vector.
 */
public void draw3D(GL2 gl,String text,float x,float y,float z,float scaling,int minSize){
  scaling=calculateScaling(gl,scaling,minSize);
  draw3D(text,x,y,z,scaling);
}
Program: 57783
Project: 57783
Buggy source:
/** 
 * Calculates the min and max of the container and sets them to the fMin and fMax class variables
 */
private void calculateMinMax(){
  fMin=Float.MAX_VALUE;
  fMax=Float.MIN_VALUE;
  for (  float fCurrent : fArContainer) {
    if (Float.isNaN(fCurrent)) {
      continue;
    }
    if (fCurrent < fMin) {
      fMin=fCurrent;
      continue;
    }
    if (fCurrent > fMax) {
      fMax=fCurrent;
    }
  }
  return;
}

Fixed version (ground truth):
/** 
 * Calculates the min and max of the container and sets them to the fMin and fMax class variables
 */
private void calculateMinMax(){
  fMin=Float.MAX_VALUE;
  fMax=Float.MIN_VALUE;
  for (  float fCurrent : container) {
    if (Float.isNaN(fCurrent)) {
      continue;
    }
    if (fCurrent < fMin) {
      fMin=fCurrent;
      continue;
    }
    if (fCurrent > fMax) {
      fMax=fCurrent;
    }
  }
  return;
}
Program: 57784
Project: 57784
Buggy source:
@Override public int size(){
  return fArContainer.length;
}

Fixed version (ground truth):
@Override public int size(){
  return container.length;
}
Program: 57785
Project: 57785
Buggy source:
@Override public FloatCContainer log(int iBase){
  float[] fArTarget=new float[fArContainer.length];
  float fTmp;
  for (int index=0; index < fArContainer.length; index++) {
    fTmp=fArContainer[index];
    fArTarget[index]=(float)Math.log(fTmp) / (float)Math.log(iBase);
    if (fArTarget[index] == Float.NEGATIVE_INFINITY) {
      fArTarget[index]=0;
    }
  }
  return new FloatCContainer(fArTarget);
}

Fixed version (ground truth):
@Override public FloatCContainer log(int iBase){
  float[] fArTarget=new float[container.length];
  float fTmp;
  for (int index=0; index < container.length; index++) {
    fTmp=container[index];
    fArTarget[index]=(float)Math.log(fTmp) / (float)Math.log(iBase);
    if (fArTarget[index] == Float.NEGATIVE_INFINITY) {
      fArTarget[index]=0;
    }
  }
  return new FloatCContainer(fArTarget);
}
Program: 57786
Project: 57786
Buggy source:
/** 
 * Constructor Pass a float array. The length of the array can not be modified after initialization
 * @param fArContainer the float array
 */
public FloatCContainer(final float[] fArContainer){
  this.fArContainer=fArContainer;
}

Fixed version (ground truth):
/** 
 * Constructor Pass a float array. The length of the array can not be modified after initialization
 * @param fArContainer the float array
 */
public FloatCContainer(final float[] fArContainer){
  this.container=fArContainer;
}
Program: 57787
Project: 57787
Buggy source:
/** 
 * Returns the value associated with the index
 * @throws IndexOutOfBoundsException if index out of range
 * @param iIndex index of element to return
 * @return the element at the specified position in this list
 */
public float get(final int iIndex){
  return fArContainer[iIndex];
}

Fixed version (ground truth):
/** 
 * Returns the value associated with the index
 * @throws IndexOutOfBoundsException if index out of range
 * @param index index of element to return
 * @return the element at the specified position in this list
 */
public float get(final int index){
  return container[index];
}
Program: 57788
Project: 57788
Buggy source:
@Override public FloatCContainer normalize(){
  return new FloatCContainer(ConversionTools.normalize(fArContainer,(int)getMin(),(int)getMax()));
}

Fixed version (ground truth):
@Override public FloatCContainer normalize(){
  return new FloatCContainer(ConversionTools.normalize(container,(int)getMin(),(int)getMax()));
}
Program: 57789
Project: 57789
Buggy source:
@Override public FloatCContainer normalizeWithExternalExtrema(final double dMin,final double dMax){
  if (dMin >= dMax)   throw new IllegalArgumentException("String_Node_Str");
  return new FloatCContainer(ConversionTools.normalize(fArContainer,(float)dMin,(float)dMax));
}

Fixed version (ground truth):
@Override public FloatCContainer normalizeWithExternalExtrema(final double dMin,final double dMax){
  if (dMin >= dMax)   throw new IllegalArgumentException("String_Node_Str");
  return new FloatCContainer(ConversionTools.normalize(container,(float)dMin,(float)dMax));
}
Program: 57790
Project: 57790
Buggy source:
@Override public String toString(){
  String string="String_Node_Str";
  for (  float value : fArContainer)   string+=value + "String_Node_Str";
  return string;
}

Fixed version (ground truth):
@Override public String toString(){
  String string="String_Node_Str";
  for (  float value : container)   string+=value + "String_Node_Str";
  return string;
}
Program: 57791
Project: 57791
Buggy source:
/** 
 * @return Returns a new list of all record ids in the order they were initialized
 */
public List<Integer> getRowIDList(){
  ArrayList<Integer> list=new ArrayList<Integer>(metaData.nrColumns);
  for (int count=0; count < metaData.depth(); count++) {
    list.add(count);
  }
  return list;
}

Fixed version (ground truth):
/** 
 * @return Returns a new list of all record ids in the order they were initialized
 */
public List<Integer> getRowIDList(){
  ArrayList<Integer> list=new ArrayList<Integer>(metaData.nrColumns);
  for (int count=0; count < metaData.getNrRows(); count++) {
    list.add(count);
  }
  return list;
}
Program: 57792
Project: 57792
Buggy source:
/** 
 * Set an artificial maximum for the datatable. All elements smaller than that are clipped to this value in the representation. This only affects the normalization, does not alter the raw data
 */
void setMax(double dMax){
  bArtificialMax=true;
  this.max=dMax;
}

Fixed version (ground truth):
/** 
 * Set an artificial maximum for the DataTable. All elements smaller than that are clipped to this value in the representation. This only affects the normalization, does not alter the raw data
 */
void setMax(double dMax){
  bArtificialMax=true;
  this.max=dMax;
}
Program: 57793
Project: 57793
Buggy source:
/** 
 * Get the number of rows in the table 
 */
private int getNrRows(){
  return table.hashColumns.size();
}

Fixed version (ground truth):
/** 
 * Get the number of rows in the table 
 */
int getNrRows(){
  return table.hashColumns.values().iterator().next().size();
}
Program: 57794
Project: 57794
Buggy source:
/** 
 * Get the number of columns in the table 
 */
private int getNrColumns(){
  if (nrColumns == 0) {
    for (    AColumn dimension : table.hashColumns.values()) {
      if (nrColumns == 0)       nrColumns=dimension.size();
 else {
        if (nrColumns != dimension.size())         throw new IllegalArgumentException("String_Node_Str");
      }
    }
  }
  return nrColumns;
}

Fixed version (ground truth):
/** 
 * Get the number of columns in the table 
 */
int getNrColumns(){
  if (nrColumns == 0) {
    for (    AColumn dimension : table.hashColumns.values()) {
      if (nrColumns == 0)       nrColumns=dimension.size();
 else {
        if (nrColumns != dimension.size())         throw new IllegalArgumentException("String_Node_Str");
      }
    }
  }
  return nrColumns;
}
Program: 57797
Project: 57797
Buggy source:
/** 
 * Sets the type of view that should be rendered in the brick. The view type is not set, if it is not valid for the current brick layout.
 * @param viewType
 */
public void setContainedView(EContainedViewType viewType){
  currentViewType=viewType;
  LayoutRenderer viewRenderer=containedViewRenderers.get(viewType);
  if (viewRenderer == null)   return;
  if (!brickLayout.isViewTypeValid(viewType))   return;
  currentRemoteView=views.get(viewType);
  brickLayout.setViewRenderer(viewRenderer);
  brickLayout.viewTypeChanged(viewType);
  if (viewType.isUseProportionalHeight())   brickHeigthMode=EBrickHeightMode.PROPORTIONAL;
switch (brickHeigthMode) {
case STATIC:
    break;
case VIEW_DEPENDENT:
  int defaultHeightPixels=brickLayout.getDefaultHeightPixels();
wrappingLayout.setPixelSizeY(defaultHeightPixels);
break;
case PROPORTIONAL:
double proportionalHeight=dimensionGroup.getProportionalHeightPerRecord() * dataContainer.getNrRecords();
wrappingLayout.setPixelSizeY((int)proportionalHeight);
break;
}
switch (brickWidthMode) {
case STATIC:
break;
case VIEW_DEPENDENT:
int defaultWidthPixels=brickLayout.getDefaultWidthPixels();
wrappingLayout.setPixelSizeX(defaultWidthPixels);
break;
}
layoutManager.setStaticLayoutConfiguration(brickLayout);
layoutManager.updateLayout();
visBricks.updateLayout();
visBricks.updateConnectionLinesBetweenDimensionGroups();
}

Fixed version (ground truth):
/** 
 * Sets the type of view that should be rendered in the brick. The view type is not set, if it is not valid for the current brick layout.
 * @param viewType
 */
public void setContainedView(EContainedViewType viewType){
  currentViewType=viewType;
  LayoutRenderer viewRenderer=containedViewRenderers.get(viewType);
  if (viewRenderer == null)   return;
  if (!brickLayout.isViewTypeValid(viewType))   return;
  currentRemoteView=views.get(viewType);
  brickLayout.setViewRenderer(viewRenderer);
  brickLayout.viewTypeChanged(viewType);
  if (viewType.isUseProportionalHeight())   brickHeigthMode=EBrickHeightMode.PROPORTIONAL;
switch (brickHeigthMode) {
case STATIC:
    wrappingLayout.setPixelSizeY(staticBrickHeight);
  break;
case VIEW_DEPENDENT:
int defaultHeightPixels=brickLayout.getDefaultHeightPixels();
wrappingLayout.setPixelSizeY(defaultHeightPixels);
break;
case PROPORTIONAL:
double proportionalHeight=dimensionGroup.getProportionalHeightPerRecord() * dataContainer.getNrRecords();
wrappingLayout.setPixelSizeY((int)proportionalHeight);
break;
}
switch (brickWidthMode) {
case STATIC:
wrappingLayout.setPixelSizeX(staticBrickWidth);
break;
case VIEW_DEPENDENT:
int defaultWidthPixels=brickLayout.getDefaultWidthPixels();
wrappingLayout.setPixelSizeX(defaultWidthPixels);
break;
}
layoutManager.setStaticLayoutConfiguration(brickLayout);
layoutManager.updateLayout();
visBricks.updateLayout();
visBricks.updateConnectionLinesBetweenDimensionGroups();
}
Program: 57798
Project: 57798
Buggy source:
/** 
 * Creates all bricks of the dimension group
 */
protected void createBricks(){
  mainColumn.addBackgroundRenderer(new DimensionGroupBackgroundColorRenderer(dataContainer.getDataDomain().getColor().getRGBA()));
  headerBrick=createBrick(headerBrickLayout,dataContainer);
  headerBrick.setBrickHeigthMode(EBrickHeightMode.STATIC);
  ABrickLayoutConfiguration layoutTemplate;
  if (isCollapsed) {
    layoutTemplate=new CompactHeaderBrickLayoutTemplate(headerBrick,this,visBricks,headerBrick.getBrickConfigurer());
  }
 else {
    layoutTemplate=new HeaderBrickLayoutTemplate(headerBrick,this,visBricks,headerBrick.getBrickConfigurer());
  }
  headerBrick.setBrickLayoutTemplate(layoutTemplate,layoutTemplate.getDefaultViewType());
  creatClusterBricks();
}

Fixed version (ground truth):
/** 
 * Creates all bricks of the dimension group
 */
protected void createBricks(){
  mainColumn.addBackgroundRenderer(new DimensionGroupBackgroundColorRenderer(dataContainer.getDataDomain().getColor().getRGBA()));
  headerBrick=createBrick(headerBrickLayout,dataContainer);
  ABrickLayoutConfiguration layoutTemplate;
  if (isCollapsed) {
    layoutTemplate=new CompactHeaderBrickLayoutTemplate(headerBrick,this,visBricks,headerBrick.getBrickConfigurer());
  }
 else {
    layoutTemplate=new HeaderBrickLayoutTemplate(headerBrick,this,visBricks,headerBrick.getBrickConfigurer());
  }
  headerBrick.setBrickLayoutTemplate(layoutTemplate,layoutTemplate.getDefaultViewType());
  creatClusterBricks();
}
Program: 57799
Project: 57799
Buggy source:
/** 
 * Handles the up-down dragging of the whole dimension group
 * @param gl
 */
private void handleVerticalMoveDragging(GL2 gl){
  if (!isVerticalMoveDraggingActive)   return;
  if (glMouseListener.wasMouseReleased()) {
    isVerticalMoveDraggingActive=false;
    previousYCoordinate=Float.NaN;
    return;
  }
  Point currentPoint=glMouseListener.getPickedPoint();
  float[] pointCordinates=GLCoordinateUtils.convertWindowCoordinatesToWorldCoordinates(gl,currentPoint.x,currentPoint.y);
  if (Float.isNaN(previousYCoordinate)) {
    previousYCoordinate=pointCordinates[1];
    return;
  }
  float change=pointCordinates[1] - previousYCoordinate;
  previousYCoordinate=pointCordinates[1];
  float bottomSize=clusterBrickColumn.getSizeScaledY();
  clusterBrickColumn.setAbsoluteSizeY(bottomSize + change);
  float centerSize=headerBrickLayout.getSizeScaledY();
  headerBrickLayout.setAbsoluteSizeY(centerSize);
  headerBrickLayout.updateSubLayout();
  mainRow.updateSubLayout();
  visBricks.updateConnectionLinesBetweenDimensionGroups();
}

Fixed version (ground truth):
/** 
 * Handles the up-down dragging of the whole dimension group
 * @param gl
 */
private void handleVerticalMoveDragging(GL2 gl){
  if (!isVerticalMoveDraggingActive)   return;
  if (glMouseListener.wasMouseReleased()) {
    isVerticalMoveDraggingActive=false;
    previousYCoordinate=Float.NaN;
    return;
  }
  Point currentPoint=glMouseListener.getPickedPoint();
  float[] pointCordinates=GLCoordinateUtils.convertWindowCoordinatesToWorldCoordinates(gl,currentPoint.x,currentPoint.y);
  if (Float.isNaN(previousYCoordinate)) {
    previousYCoordinate=pointCordinates[1];
    return;
  }
  float change=pointCordinates[1] - previousYCoordinate;
  previousYCoordinate=pointCordinates[1];
  float bottomSize=clusterBrickColumn.getSizeScaledY();
  clusterBrickColumn.setAbsoluteSizeY(bottomSize + change);
  mainRow.updateSubLayout();
  visBricks.updateConnectionLinesBetweenDimensionGroups();
}
Program: 57800
Project: 57800
Buggy source:
/** 
 * <p> Set the spacing of the arch in pixel. </p> <p> This is only used if the group is not collapsed. If it is collapsed, the values are irrelevant. </p>
 * @param archHeight the pixel height of the arch
 */
public void setArchHeight(int archHeight){
  if (isCollapsed) {
    headerBrickLayout.setRatioSizeY(1);
  }
 else {
    if (!(headerBrickLayout.getSizeScaledY() > 0)) {
      clusterBrickColumn.setRatioSizeY(1f);
      headerBrickLayout.setPixelSizeY(archHeight);
    }
  }
}

Fixed version (ground truth):
/** 
 * <p> Set the spacing of the arch in pixel. </p> <p> This is only used if the group is not collapsed. If it is collapsed, the values are irrelevant. </p>
 * @param archHeight the pixel height of the arch
 */
public void setArchHeight(int archHeight){
  if (isCollapsed) {
    headerBrick.setBrickHeigthMode(EBrickHeightMode.VIEW_DEPENDENT);
  }
 else {
    headerBrick.setBrickHeigthMode(EBrickHeightMode.STATIC);
    headerBrick.setStaticBrickHeight(archHeight);
  }
}
Program: 57801
Project: 57801
Buggy source:
protected void loadData(DataSetMetaInfo dataSetMetaInfo) throws FileNotFoundException, IOException {
  LoadDataParameters loadDataParameters=dataSetMetaInfo.getLoadDataParameters();
  loadDataParameters.setColumnHeaderStringConverter(new TCGAIDStringConverter());
  dataDomain=(ATableBasedDataDomain)DataDomainManager.get().createDataDomain(dataSetMetaInfo.getDataDomainType(),dataSetMetaInfo.getDataDomainConfiguration());
  loadDataParameters.setDataDomain(dataDomain);
  dataDomain.setColorMapper(ColorMapper.createDefaultMapper(EDefaultColorSchemes.valueOf(dataSetMetaInfo.getColorScheme())));
  dataDomain.init();
  loadDataParameters.setFileIDType(dataDomain.getHumanReadableDimensionIDType());
  Thread thread=new Thread(dataDomain,dataDomain.getDataDomainType());
  thread.start();
  DataTableUtils.createColumns(loadDataParameters);
  boolean createDefaultRecordPerspective=false;
  if (dataSetMetaInfo.getGroupingPath() == null)   createDefaultRecordPerspective=true;
  DataTable table=DataTableUtils.createData(dataDomain,true,createDefaultRecordPerspective);
  if (table == null)   throw new IllegalStateException("String_Node_Str");
}

Fixed version (ground truth):
protected void loadData(DataSetMetaInfo dataSetMetaInfo) throws FileNotFoundException, IOException {
  LoadDataParameters loadDataParameters=dataSetMetaInfo.getLoadDataParameters();
  loadDataParameters.setColumnHeaderStringConverter(new TCGAIDStringConverter());
  dataDomain=(ATableBasedDataDomain)DataDomainManager.get().createDataDomain(dataSetMetaInfo.getDataDomainType(),dataSetMetaInfo.getDataDomainConfiguration());
  loadDataParameters.setDataDomain(dataDomain);
  dataDomain.setColorMapper(ColorMapper.createDefaultMapper(EDefaultColorSchemes.valueOf(dataSetMetaInfo.getColorScheme())));
  dataDomain.init();
  if (dataDomain.isColumnDimension())   loadDataParameters.setFileIDType(dataDomain.getHumanReadableRecordIDType());
 else   loadDataParameters.setFileIDType(dataDomain.getHumanReadableDimensionIDType());
  Thread thread=new Thread(dataDomain,dataDomain.getDataDomainType());
  thread.start();
  DataTableUtils.createColumns(loadDataParameters);
  boolean createDefaultRecordPerspective=false;
  if (dataSetMetaInfo.getGroupingPath() == null)   createDefaultRecordPerspective=true;
  DataTable table=DataTableUtils.createData(dataDomain,true,createDefaultRecordPerspective);
  if (table == null)   throw new IllegalStateException("String_Node_Str");
}
Program: 57803
Project: 57803
Buggy source:
@Override public int getMinWidthPixels(){
  return 110;
}

Fixed version (ground truth):
@Override public int getMinWidthPixels(){
  return 140;
}
Program: 57804
Project: 57804
Buggy source:
@Override public void handleEvent(AEvent event){
  if (event instanceof OpenCreatePathwaySmallMultiplesGroupDialogEvent) {
    if (((OpenCreatePathwaySmallMultiplesGroupDialogEvent)event).getDimensionGroupDataContainer() != handler.getDataContainer())     return;
    OpenCreatePathwaySmallMultiplesGroupDialogEvent openCreateSmallPathwayMultiplesGroupDialogevent=(OpenCreatePathwaySmallMultiplesGroupDialogEvent)event;
    handler.openCreateKaplanMeierSmallMultiplesGroupDialog(openCreateSmallPathwayMultiplesGroupDialogevent.getDimensionGroupDataContainer(),openCreateSmallPathwayMultiplesGroupDialogevent.getDimensionPerspective());
  }
}

Fixed version (ground truth):
@Override public void handleEvent(AEvent event){
  if (event instanceof OpenCreatePathwaySmallMultiplesGroupDialogEvent) {
    if (((OpenCreatePathwaySmallMultiplesGroupDialogEvent)event).getDimensionGroupDataContainer() != handler.getDataContainer())     return;
    OpenCreatePathwaySmallMultiplesGroupDialogEvent openCreatePathwaySmallMultiplesGroupDialogevent=(OpenCreatePathwaySmallMultiplesGroupDialogEvent)event;
    handler.openCreatePathwaySmallMultiplesGroupDialog(openCreatePathwaySmallMultiplesGroupDialogevent.getDimensionGroupDataContainer(),openCreatePathwaySmallMultiplesGroupDialogevent.getDimensionPerspective());
  }
}
Program: 57805
Project: 57805
Buggy source:
@Override public void setDataDomain(ATableBasedDataDomain dataDomain){
  if (!(dataDomain instanceof GeneticDataDomain))   throw new IllegalArgumentException("String_Node_Str" + dataDomain);
  if (pathwayDataDomain.getGeneIDMappingManager().hasMapping(pathwayDataDomain.getDavidIDType(),dataDomain.getRecordIDType())) {
    geneSelectionManager=dataDomain.getRecordSelectionManager();
  }
 else {
    geneSelectionManager=dataDomain.getDimensionSelectionManager();
  }
  super.setDataDomain(dataDomain);
}

Fixed version (ground truth):
@Override public void setDataDomain(ATableBasedDataDomain dataDomain){
  if (!(dataDomain instanceof GeneticDataDomain))   throw new IllegalArgumentException("String_Node_Str" + dataDomain);
  if (pathwayDataDomain.getGeneIDMappingManager().hasMapping(pathwayDataDomain.getDavidIDType(),dataDomain.getRecordIDType())) {
    geneSelectionManager=dataDomain.getRecordSelectionManager();
    sampleSelectionManager=dataDomain.getDimensionSelectionManager();
  }
 else {
    geneSelectionManager=dataDomain.getDimensionSelectionManager();
    sampleSelectionManager=dataDomain.getRecordSelectionManager();
  }
  super.setDataDomain(dataDomain);
}
Program: 57807
Project: 57807
Buggy source:
protected void fillNodeDisplayListFrame(final GL2 gl,final float fNodeWidth,final float fNodeHeight){
  gl.glLineWidth(7);
  gl.glBegin(GL2.GL_LINE_LOOP);
  gl.glVertex3f(-fNodeWidth,fNodeHeight,0.02f);
  gl.glVertex3f(fNodeWidth,fNodeHeight,0.02f);
  gl.glVertex3f(fNodeWidth,-fNodeHeight,0.02f);
  gl.glVertex3f(-fNodeWidth,-fNodeHeight,0.02f);
  gl.glEnd();
}

Fixed version (ground truth):
protected void fillNodeDisplayListFrame(final GL2 gl,final float fNodeWidth,final float fNodeHeight){
  gl.glLineWidth(7);
  gl.glBegin(GL2.GL_POLYGON);
  gl.glVertex3f(-fNodeWidth,fNodeHeight,0.02f);
  gl.glVertex3f(fNodeWidth,fNodeHeight,0.02f);
  gl.glVertex3f(fNodeWidth,-fNodeHeight,0.02f);
  gl.glVertex3f(-fNodeWidth,-fNodeHeight,0.02f);
  gl.glEnd();
}