public void actionPerformed(ActionEvent evt) {
      JTable table = selectOrderWindow.getTable();
      CustomTableModel model = selectOrderWindow.getModel();
      int selectedRow = table.getSelectedRow();
      if (selectedRow >= 0) {

        // start by reading order id from screen
        // String id = (String)table.getValueAt(selectedRow, 0);

        selectOrderWindow.setVisible(false);
        @SuppressWarnings("unused")
        String selOrderId = (String) model.getValueAt(selectedRow, 0);
        // String selOrderId = "1";
        SessionContext context = SessionContext.getInstance();
        ICustomerSubsystem customer = (ICustomerSubsystem) context.get(CustomerConstants.CUSTOMER);
        viewOrderDetailsWindow = new ViewOrderDetailsWindow();
        if (customer != null) {
          List<IOrder> orderList = null;
          orderList = customer.getOrderHistory();
          List<IOrderItem> orderitems = OrderUtil.getOrderItemsFromOrder(selOrderId, orderList);
          List<String[]> displayableList = OrderUtil.extractOrderItemData(orderitems);
          viewOrderDetailsWindow.updateModel(displayableList);
        }

        mainFrame.getDesktop().add(viewOrderDetailsWindow);
        viewOrderDetailsWindow.setVisible(true);
      } else {
        JOptionPane.showMessageDialog(
            selectOrderWindow, ERROR_MESSAGE, ERROR, JOptionPane.ERROR_MESSAGE);
      }
    }