public void mousePressed(MouseEvent e) {
   if (e.getButton() != MouseEvent.BUTTON1) {
     return;
   }
   if (e.getClickCount() != 2) {
     return;
   }
   JTable table = (JTable) e.getSource();
   Point p = e.getPoint();
   int row = table.rowAtPoint(p);
   if (row < 0) {
     return;
   }
   ListTableModel model = getDataModel();
   ICFBamTopProjectObj o = (ICFBamTopProjectObj) model.getValueAt(row, COLID_ROW_HEADER);
   if (o == null) {
     return;
   }
   JInternalFrame frame = swingSchema.getTopProjectFactory().newViewEditJInternalFrame(o);
   frame.addInternalFrameListener(getViewEditInternalFrameListener());
   ((ICFBamSwingTopProjectJPanelCommon) frame).setPanelMode(CFJPanel.PanelMode.View);
   if (frame == null) {
     return;
   }
   Container cont = getParent();
   while ((cont != null) && (!(cont instanceof JInternalFrame))) {
     cont = cont.getParent();
   }
   if (cont != null) {
     JInternalFrame myInternalFrame = (JInternalFrame) cont;
     myInternalFrame.getDesktopPane().add(frame);
     frame.setVisible(true);
     frame.show();
   }
 }
 public void setSwingDataCollection(Collection<ICFInternetTopProjectObj> value) {
   final String S_ProcName = "setSwingDataCollection";
   swingDataCollection = value;
   if (swingDataCollection == null) {
     arrayOfTopProject = new ICFInternetTopProjectObj[0];
   } else {
     int len = value.size();
     arrayOfTopProject = new ICFInternetTopProjectObj[len];
     Iterator<ICFInternetTopProjectObj> iter = swingDataCollection.iterator();
     int idx = 0;
     while (iter.hasNext() && (idx < len)) {
       arrayOfTopProject[idx++] = iter.next();
     }
     if (idx < len) {
       throw CFLib.getDefaultExceptionFactory()
           .newRuntimeException(
               getClass(),
               S_ProcName,
               "Collection iterator did not fully populate the array copy");
     }
     if (iter.hasNext()) {
       throw CFLib.getDefaultExceptionFactory()
           .newRuntimeException(
               getClass(),
               S_ProcName,
               "Collection iterator had left over items when done populating array copy");
     }
     Arrays.sort(arrayOfTopProject, compareTopProjectByQualName);
   }
   ListTableModel tblDataModel = getDataModel();
   if (tblDataModel != null) {
     tblDataModel.fireTableDataChanged();
   }
 }
 public void valueChanged(ListSelectionEvent lse) {
   final String S_ProcName = "valueChanged";
   ICFInternetTopProjectObj selectedObj;
   if (lse.getValueIsAdjusting()) {
     return;
   }
   if (dataTable == null) {
     return;
   }
   int dataRow = dataTable.getSelectedRow();
   int modelIndex = dataTable.convertRowIndexToModel(dataRow);
   ListTableModel tblDataModel = getDataModel();
   Object selectedRowData = tblDataModel.getValueAt(modelIndex, COLID_ROW_HEADER);
   if (selectedRowData != null) {
     if (selectedRowData instanceof ICFBamTopProjectObj) {
       int selectedCount = dataTable.getSelectedRowCount();
       if (selectedCount <= 0) {
         selectedObj = null;
       } else if (selectedCount == 1) {
         selectedObj = (ICFBamTopProjectObj) selectedRowData;
       } else {
         selectedObj = null;
       }
     } else {
       selectedObj = null;
       throw CFLib.getDefaultExceptionFactory()
           .newUnsupportedClassException(
               getClass(),
               S_ProcName,
               "selectedRowData",
               selectedRowData,
               "ICFBamTopProjectObj");
     }
   } else {
     selectedObj = null;
   }
   setSwingFocus(selectedObj);
 }