Class ProjectAccessPanel

All Implemented Interfaces:
WizardPanel, ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
ViewProjectAccessPanel

public class ProjectAccessPanel extends AbstractWizardJPanel
Panel that shows the users for a given repository and the users associated with the current shared project. There are 3 main sub-panels:

  • Known Users Panel: Displays all users in the repository
  • Button Panel: Provides buttons for adding/removing users from the project
  • User Access Panel: Displays all users on the project, and their access permissions

If the current user is an admin, he may change user permissions and add/remove them from the project. If not, only the User Access Panel will be visible and it will be read-only.

See Also:
  • Field Details

    • knownUsersPanel

      protected ghidra.framework.main.ProjectAccessPanel.KnownUsersPanel knownUsersPanel
    • userAccessPanel

      protected ghidra.framework.main.ProjectAccessPanel.UserAccessPanel userAccessPanel
    • addRemoveButtonPanel

      protected ghidra.framework.main.ProjectAccessPanel.ButtonPanel addRemoveButtonPanel
    • anonymousAccessCB

      protected JCheckBox anonymousAccessCB
    • currentUser

      protected String currentUser
    • origProjectUserList

      protected List<User> origProjectUserList
    • origAnonymousAccessEnabled

      protected boolean origAnonymousAccessEnabled
    • repositoryName

      protected String repositoryName
    • helpLoc

      protected HelpLocation helpLoc
    • SELECTION_BG_COLOR

      protected final Color SELECTION_BG_COLOR
    • SELECTION_FG_COLOR

      protected final Color SELECTION_FG_COLOR
    • tool

      protected PluginTool tool
  • Constructor Details

    • ProjectAccessPanel

      public ProjectAccessPanel(String[] knownUsers, RepositoryAdapter repository, PluginTool tool) throws IOException
      Construct a new panel from a RepositoryAdapter instance.
      Parameters:
      knownUsers - names of the users that are known to the remote server
      repository - the repository adapter instance
      tool - the current tool
      Throws:
      IOException - if there's an error processing the repository user list
    • ProjectAccessPanel

      public ProjectAccessPanel(String[] knownUsers, String currentUser, List<User> allUsers, String repositoryName, boolean anonymousServerAccessAllowed, boolean anonymousAccessEnabled, PluginTool tool)
      Constructs a new panel from the given arguments.
      Parameters:
      knownUsers - names of the users that are known to the remote server
      currentUser - the current user
      allUsers - all users known to the repository
      repositoryName - the name of the repository
      anonymousServerAccessAllowed - true if the server allows anonymous access
      anonymousAccessEnabled - true if the repository allows anonymous access (ignored if anonymousServerAccessAllowed is false)
      tool - the current tool
  • Method Details

    • isValidInformation

      public boolean isValidInformation()
      Description copied from interface: WizardPanel
      Return true if the user entered valid information for this panel.
      Returns:
      boolean whether or not the info on the panel valid
    • getTitle

      public String getTitle()
      Description copied from interface: WizardPanel
      Get the title for this panel.
      Returns:
      String title
    • initialize

      public void initialize()
      Description copied from interface: WizardPanel
      Initialize the panel as though this is the first time it is being displayed.
    • getHelpLocation

      public HelpLocation getHelpLocation()
      Description copied from interface: WizardPanel
      Returns the help content location for this panel.
      Specified by:
      getHelpLocation in interface WizardPanel
      Overrides:
      getHelpLocation in class AbstractWizardJPanel
      Returns:
      String help location for this panel; return null if default help location should be used.
      See Also:
    • createMainPanel

      protected void createMainPanel(String[] knownUsers, boolean anonymousServerAccessAllowed)