Example #1
0
  public void refresh(Slice[] sliceData) {

    sliceListModel.clear();
    if (sliceData != null) sliceListModel.addAll(sliceData);
    sliceList.setSelectedIndex(0);
    updateDisplays();
  }
  @Override
  protected void itemsCollectionChanged(Object sender, NotifyCollectionChangedEventArgs<T> e) {
    super.itemsCollectionChanged(sender, e);

    resetIsEmpty();
    updatePagingAvailability();
  }
  @Override
  protected void itemsChanged() {
    super.itemsChanged();

    resetIsEmpty();
    updatePagingAvailability();
  }
  @Override
  public void setComparator(Comparator<? super T> comparator, boolean sortAscending) {
    super.setComparator(comparator, sortAscending);

    Collection<T> items = getItems();
    if (items != null) {
      Collection<T> maybeSortedItems =
          (comparator != null) ? sortItems(items) : new ArrayList<>(items);
      setItems(maybeSortedItems);
    }
  }
  @Override
  public void eventRaised(Event<? extends EventArgs> ev, Object sender, EventArgs args) {
    super.eventRaised(ev, sender, args);
    entityModel.eventRaised(ev, sender, args);

    if (ev.matchesDefinition(RegistrationResult.RetrievedEventDefinition)) {
      asyncResult_Retrieved();
    }
    if (ev.matchesDefinition(ProvideTickEvent.definition)) {
      syncSearch();
    }
  }
  @Override
  public void executeCommand(UICommand command) {
    super.executeCommand(command);

    if (command == getSearchCommand()) {
      search();
    } else if (command == getSearchNextPageCommand()) {
      searchNextPage();
    } else if (command == getSearchPreviousPageCommand()) {
      searchPreviousPage();
    } else if (command == getForceRefreshCommand()) {
      forceRefresh();
    }

    if (command != null && command.isAutoRefresh()) {
      getTimer().fastForward();
    }
  }
Example #7
0
  /** Create the frame. */
  public Slices(MainGUI parent, Slice[] sliceData) {

    mainGUI = parent;
    setLayout(new BorderLayout(0, 0));

    JScrollPane scrollPane = new JScrollPane();
    sliceListModel = new SortedListModel<Slice>();
    if (sliceData != null) sliceListModel.addAll(sliceData);

    sliceList = new JList(sliceListModel);
    sliceList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    scrollPane.setViewportView(sliceList);
    TitledBorder titled = new TitledBorder("List of Slices");

    JPanel panelButtons = new JPanel();
    add(panelButtons, BorderLayout.SOUTH);

    JButton btnAddMember = new JButton("Add Member");
    btnAddMember.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent arg0) {
            if (sliceList.isSelectionEmpty())
              JOptionPane.showMessageDialog(
                  Slices.this,
                  "Select a slice from list to add member.",
                  "Add Member",
                  JOptionPane.INFORMATION_MESSAGE);
            else showAddMemberDialog();
          }
        });

    JButton btnNewSlice = new JButton("New Slice");
    btnNewSlice.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent arg0) {
            Slice d = showNewSliceDialog();
            if (d != null) {
              d = SliceAuthorityAPI.addSlice(d);
              if (d == null) showErrorMessage();
              else {
                sliceListModel.add(d);
                sliceList.setSelectedValue(d, true);
                updateDisplays();
              }
            }
          }
        });
    panelButtons.add(btnNewSlice);
    panelButtons.add(btnAddMember);

    JButton btnRemoveMember = new JButton("Remove Member");
    btnRemoveMember.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent arg0) {
            if (memberTable.getSelectedRow() >= 0) {
              Slice slice = (Slice) sliceList.getSelectedValue();
              int row = memberTable.convertRowIndexToModel(memberTable.getSelectedRow());
              String role = slice.members.get(row).role;

              if (role.toUpperCase().equals("LEAD")) {
                JOptionPane.showMessageDialog(
                    Slices.this,
                    "Sorry, a member with LEAD role cannot be removed.",
                    "Remove Member",
                    JOptionPane.INFORMATION_MESSAGE);
              } else {
                boolean rsp =
                    SliceAuthorityAPI.removeMember(
                        slice.urn, slice.members.get(row).urn, slice.members.get(row).type);
                if (rsp) {
                  slice.members.remove(row);
                  tableModel.remove(row);
                } else showErrorMessage();
              }
            } else
              JOptionPane.showMessageDialog(
                  Slices.this,
                  "Select a member from list to remove.",
                  "Remove Member",
                  JOptionPane.INFORMATION_MESSAGE);
          }
        });
    panelButtons.add(btnRemoveMember);

    JButton btnRole = new JButton("Alter Role");
    btnRole.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent arg0) {
            if (memberTable.getSelectedRow() >= 0) showChangeRoleDialog();
            else
              JOptionPane.showMessageDialog(
                  Slices.this,
                  "Select the member from list to change role.",
                  "Alter role",
                  JOptionPane.INFORMATION_MESSAGE);
          }
        });
    panelButtons.add(btnRole);
    scrollPane.setBorder(titled);
    scrollPane.setPreferredSize(new Dimension(300, 400));

    JSplitPane splitPane = new JSplitPane();
    splitPane.setLeftComponent(scrollPane);
    add(splitPane, BorderLayout.CENTER);

    JPanel rightPanel = new JPanel();
    splitPane.setRightComponent(rightPanel);
    rightPanel.setLayout(new BorderLayout(0, 0));

    JPanel panelInfo = new JPanel();
    rightPanel.add(panelInfo, BorderLayout.NORTH);
    GridBagLayout gbl_panelInfo = new GridBagLayout();
    gbl_panelInfo.rowWeights = new double[] {0.0, 0.0, 0.0, 1.0};
    gbl_panelInfo.columnWeights = new double[] {0.0, 1.0};
    panelInfo.setLayout(gbl_panelInfo);

    JLabel lblURN = new JLabel("URN:");
    lblURN.setHorizontalAlignment(SwingConstants.TRAILING);
    GridBagConstraints gbc_lblURN = new GridBagConstraints();
    gbc_lblURN.insets = new Insets(5, 0, 5, 5);
    gbc_lblURN.weightx = 0.01;
    gbc_lblURN.anchor = GridBagConstraints.EAST;
    gbc_lblURN.gridx = 0;
    gbc_lblURN.gridy = 0;
    panelInfo.add(lblURN, gbc_lblURN);

    textFieldSliceURN = new JTextField();
    textFieldSliceURN.setEditable(false);
    GridBagConstraints gbc_textFieldSliceURN = new GridBagConstraints();
    gbc_textFieldSliceURN.insets = new Insets(5, 0, 5, 0);
    gbc_textFieldSliceURN.weightx = 0.99;
    gbc_textFieldSliceURN.fill = GridBagConstraints.HORIZONTAL;
    gbc_textFieldSliceURN.gridx = 1;
    gbc_textFieldSliceURN.gridy = 0;
    panelInfo.add(textFieldSliceURN, gbc_textFieldSliceURN);

    JLabel lblNewLabel = new JLabel("Project:");
    GridBagConstraints gbc_lblNewLabel = new GridBagConstraints();
    gbc_lblNewLabel.insets = new Insets(10, 0, 5, 5);
    gbc_lblNewLabel.weightx = 0.01;
    gbc_lblNewLabel.anchor = GridBagConstraints.EAST;
    gbc_lblNewLabel.gridx = 0;
    gbc_lblNewLabel.gridy = 1;
    panelInfo.add(lblNewLabel, gbc_lblNewLabel);

    textFieldProjectURN = new JTextField();
    textFieldProjectURN.setEditable(false);
    GridBagConstraints gbc_textFieldProjectURN = new GridBagConstraints();
    gbc_textFieldProjectURN.insets = new Insets(10, 0, 5, 0);

    gbc_textFieldProjectURN.weightx = 0.99;
    gbc_textFieldProjectURN.fill = GridBagConstraints.HORIZONTAL;
    gbc_textFieldProjectURN.gridx = 1;
    gbc_textFieldProjectURN.gridy = 1;
    panelInfo.add(textFieldProjectURN, gbc_textFieldProjectURN);

    JLabel lblCreation = new JLabel("Creation:");
    GridBagConstraints gbc_lblCreation = new GridBagConstraints();
    gbc_lblCreation.anchor = GridBagConstraints.EAST;
    gbc_lblCreation.insets = new Insets(10, 0, 0, 5);
    gbc_lblCreation.gridx = 0;
    gbc_lblCreation.gridy = 2;
    panelInfo.add(lblCreation, gbc_lblCreation);

    textFieldCreation = new JTextField();
    textFieldCreation.setEditable(false);
    GridBagConstraints gbc_textFieldCreation = new GridBagConstraints();
    gbc_textFieldCreation.insets = new Insets(10, 0, 5, 0);
    gbc_textFieldCreation.weightx = 0.99;
    gbc_textFieldCreation.fill = GridBagConstraints.HORIZONTAL;
    gbc_textFieldCreation.gridx = 1;
    gbc_textFieldCreation.gridy = 2;
    panelInfo.add(textFieldCreation, gbc_textFieldCreation);

    JLabel lblNewLabel_1 = new JLabel("Expiration:");
    GridBagConstraints gbc_lblNewLabel_1 = new GridBagConstraints();
    gbc_lblNewLabel_1.insets = new Insets(10, 0, 0, 5);
    gbc_lblNewLabel_1.weightx = 0.01;
    gbc_lblNewLabel_1.anchor = GridBagConstraints.EAST;

    gbc_lblNewLabel_1.gridx = 0;
    gbc_lblNewLabel_1.gridy = 3;
    panelInfo.add(lblNewLabel_1, gbc_lblNewLabel_1);

    textFieldExpiry = new JTextField();
    textFieldExpiry.setEditable(false);
    GridBagConstraints gbc_textFieldExpiry = new GridBagConstraints();
    gbc_textFieldExpiry.insets = new Insets(10, 0, 0, 0);
    gbc_textFieldExpiry.weightx = 0.99;
    gbc_textFieldExpiry.fill = GridBagConstraints.HORIZONTAL;
    gbc_textFieldExpiry.gridx = 1;
    gbc_textFieldExpiry.gridy = 3;
    panelInfo.add(textFieldExpiry, gbc_textFieldExpiry);

    JLabel lblSliceDescription = new JLabel("Description:");
    GridBagConstraints gbc_lblSliceDescription = new GridBagConstraints();
    gbc_lblSliceDescription.insets = new Insets(10, 0, 20, 5);
    gbc_lblSliceDescription.gridx = 0;
    gbc_lblSliceDescription.gridy = 4;
    panelInfo.add(lblSliceDescription, gbc_lblSliceDescription);

    textAreaDesc = new JTextArea();
    textAreaDesc.setEditable(false);
    GridBagConstraints gbc_textArea = new GridBagConstraints();
    gbc_textArea.fill = GridBagConstraints.BOTH;
    gbc_textArea.insets = new Insets(10, 0, 20, 5);
    gbc_textArea.gridx = 1;
    gbc_textArea.gridy = 4;
    gbc_textArea.ipady = 40;
    panelInfo.add(new JScrollPane(textAreaDesc), gbc_textArea);

    tableModel = new CustomTableModel(null, new String[] {"Member", "Role"});
    memberTable = new JTable(tableModel);
    memberTable.setAutoCreateRowSorter(true);
    memberTable.addMouseListener(
        new MouseAdapter() {
          @Override
          public void mouseClicked(MouseEvent e) {
            if (e.getClickCount() == 2) {
              JTable t = (JTable) e.getSource();
              String urn = (String) (t.getValueAt(t.getSelectedRow(), t.getSelectedColumn()));
              if (urn.startsWith("urn:")) {
                String username = urn.substring(urn.lastIndexOf('+') + 1);
                mainGUI.setSelectedMember(username);
              }
            }
          }
        });
    memberTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    memberTable.getColumnModel().getColumn(0).setPreferredWidth(300);
    memberTable.getColumnModel().getColumn(1).setPreferredWidth(75);
    memberTable.getColumnModel().getColumn(1).setMaxWidth(75);
    JScrollPane memberScrollPane = new JScrollPane(memberTable);
    memberScrollPane.setToolTipText("Double click an entry to see its details");
    rightPanel.add(memberScrollPane, BorderLayout.CENTER);

    sliceList.addListSelectionListener(
        new ListSelectionListener() {

          @Override
          public void valueChanged(ListSelectionEvent arg0) {
            if (!arg0.getValueIsAdjusting()) {
              updateDisplays();
            }
          }
        });

    // Select first item for display
    if (sliceListModel.getSize() > 0) sliceList.setSelectedIndex(0);
  }
Example #8
0
 public Object[] getSliceArray() {
   return sliceListModel.toArray();
 }
 @Override
 public void setSelectedItem(T value) {
   setIsQueryFirstTime(true);
   super.setSelectedItem(value);
   setIsQueryFirstTime(false);
 }