import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
+import java.util.HashSet;
import java.util.List;
import javax.swing.ImageIcon;
protected int pageLimit;
+ protected HashSet<String> paginatorCart = new HashSet<String>();
+
private JTable tbl_summary = new JTable()
{
private boolean inLayout;
if (!getTypedText().equalsIgnoreCase(lastSearchTerm))
{
searchAction(true);
+ paginatorCart.clear();
lastSearchTerm = getTypedText();
}
}
if (wantedFieldsUpdated())
{
searchAction(true);
+ paginatorCart.clear();
}
else
{
public void validateSelection()
{
- if (tbl_summary.getSelectedRows().length > 0)
+ if (tbl_summary.getSelectedRows().length > 0
+ || !paginatorCart.isEmpty())
{
btn_ok.setEnabled(true);
}
@Override
public void prevPageAction()
{
+ updatePaginatorCart();
if (offSet >= pageLimit)
{
offSet = offSet - pageLimit;
@Override
public void nextPageAction()
{
+ updatePaginatorCart();
offSet = offSet + pageLimit;
searchAction(false);
+ }
+
+ public void updatePaginatorCart()
+ {
+ int primaryKeyColIndex = 0;
+ JTable resultTable = getResultTable();
+ int totalRows = resultTable.getRowCount();
+ try
+ {
+ primaryKeyColIndex = getFTSRestClient().getPrimaryKeyColumIndex(
+ wantedFields, false);
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ for (int row = 0; row < totalRows; row++)
+ {
+ String id = (String) resultTable.getValueAt(row, primaryKeyColIndex);
+ if (paginatorCart.contains(id))
+ {
+ paginatorCart.remove(id);
+ }
+ }
+ int[] selectedRows = resultTable.getSelectedRows();
+ for (int summaryRow : selectedRows)
+ {
+ String idStr = resultTable.getValueAt(summaryRow,
+ primaryKeyColIndex).toString();
+ paginatorCart.add(idStr);
+ }
+ // System.out.println("Paginator shopping cart size : "
+ // + paginatorCart.size());
}
+ public void updateSummaryTableSelections()
+ {
+ JTable resultTable = getResultTable();
+ if (paginatorCart.isEmpty())
+ {
+ return;
+ }
+ int primaryKeyColIndex = 0;
+ try
+ {
+ primaryKeyColIndex = getFTSRestClient().getPrimaryKeyColumIndex(
+ wantedFields, false);
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ // System.out.println(">>>>>> got here : 1");
+ int totalRows = resultTable.getRowCount();
+ // resultTable.clearSelection();
+ for (int row = 0; row < totalRows; row++)
+ {
+ String id = (String) resultTable.getValueAt(row, primaryKeyColIndex);
+ if (paginatorCart.contains(id))
+ {
+ resultTable.addRowSelectionInterval(row, row);
+ }
+ }
+ validateSelection();
+ }
public void refreshPaginatorState()
{
// System.out.println("resultSet count : " + resultSetCount);