/** * Constructor. * * @param passedRecordList List of Records that Passed over Filter. * @param peName Name of Physical Entity. * @param bpContainer */ public DownloadDetails( List<BasicRecordType> passedRecordList, String peName, CPath2Factory factory) { super(); this.factory = factory; this.peName = peName; this.setTitle("Retrieval Confirmation"); this.setModal(true); Container contentPane = getContentPane(); contentPane.setLayout(new BorderLayout()); GradientHeader header = new GradientHeader("Confirm Retrieval: " + passedRecordList.size() + " records"); contentPane.add(header, BorderLayout.NORTH); DefaultTableModel tableModel = new NonEditableTableModel(); Vector headerList = new Vector(); headerList.add("Name (if available)"); headerList.add("Type"); headerList.add("Data Source"); tableModel.setColumnIdentifiers(headerList); tableModel.setRowCount(passedRecordList.size()); JTable table = new JTable(tableModel); // Adjust width / height of viewport; fixes bug #1620. Dimension d = table.getPreferredSize(); d.width = d.width * 2; if (d.height > 200) { d.height = 200; } table.setPreferredScrollableViewportSize(d); table.setAutoCreateColumnsFromModel(true); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); ids = new long[passedRecordList.size()]; int i = 0; for (BasicRecordType record : passedRecordList) { if (record.getName().equalsIgnoreCase("N/A")) { record.setName("---"); } tableModel.setValueAt(record.getName(), i, 0); tableModel.setValueAt(record.getEntityType(), i, 1); if (record.getDataSource() != null) { tableModel.setValueAt(record.getDataSource().getName(), i, 2); } else { tableModel.setValueAt("---", i, 3); } ids[i++] = record.getPrimaryId(); } JScrollPane scrollPane = new JScrollPane(table); scrollPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.add(scrollPane, BorderLayout.CENTER); JPanel buttonPanel = createButtonPanel(this); mergePanel = factory.createMergePanel(); JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); if (mergePanel != null) { panel.add(mergePanel); } panel.add(buttonPanel); contentPane.add(panel, BorderLayout.SOUTH); pack(); setLocationRelativeTo(factory.getCySwingApplication().getJFrame()); }