Class SecurityDialogMessageHandler

java.lang.Object
net.adoptopenjdk.icedteaweb.client.parts.dialogs.security.SecurityDialogMessageHandler
All Implemented Interfaces:
Runnable

public class SecurityDialogMessageHandler extends Object implements Runnable
Handles SecurityDialogMessages and shows appropriate security dialogs.

In the current architecture, SecurityDialogs are shown from a different AppContext than the AppContext that asks for a security prompt. This ensures that all security prompts are isolated and their Look and Feel is not affected by the Look and Feel of the applet/application.

This class contains allows a client application to post a SecurityDialogMessage. When this class finds a security message in the queue, it shows a security warning to the user, and sets SecurityDialogMessage.userResponse to the appropriate value.

  • Field Details

  • Constructor Details

    • SecurityDialogMessageHandler

      public SecurityDialogMessageHandler()
  • Method Details

    • run

      public void run()
      Runs the message handler loop. This waits for incoming security messages and shows a security dialog.
      Specified by:
      run in interface Runnable
    • handleMessage

      protected void handleMessage(SecurityDialogMessage message)
      Handles a single SecurityDialogMessage by showing a SecurityDialog.

      Once the user has made a choice the SecurityDialogMessage.toDispose (if not null) is disposed and SecurityDialogMessage.lock (in not null) is released.

      Parameters:
      message - the message indicating what type of security dialog to show
    • processAutomatedAnswers

      private boolean processAutomatedAnswers(SecurityDialogMessage message, SecurityDialog dialog)
    • processMessageInGui

      private void processMessageInGui(SecurityDialog dialog, RememberableDialog found, SecurityDialogMessage message)
    • processMessageInHeadless

      private void processMessageInHeadless(SecurityDialog dialog, SecurityDialogMessage message)
    • unlockMessagesClient

      protected void unlockMessagesClient(SecurityDialogMessage msg)
    • postMessage

      public void postMessage(SecurityDialogMessage message)
      Post a message to the security event queue. This message will be picked up by the security thread and used to show the appropriate security dialog.

      Once the user has made a choice the SecurityDialogMessage.toDispose (if not null) is disposed and SecurityDialogMessage.lock (in not null) is released.

      Parameters:
      message - indicates the type of security dialog to show
    • shouldPromptUser

      private static boolean shouldPromptUser()
      Returns whether the current runtime configuration allows prompting user for security warnings.
      Returns:
      true if security warnings should be shown to the user.
    • isHeadless

      private static boolean isHeadless()
      Returns whether the current runtime configuration is headless
      Returns:
      true X is used
    • isXtrustAll

      private static boolean isXtrustAll()
      Returns whether the current runtime configuration is trustAll
      Returns:
      true if xtrustall was specified
    • isXtrustNone

      private static boolean isXtrustNone()
      Returns whether the current runtime configuration is trustNone
      Returns:
      true if xtrustnone was specified