Class SecurityDialogMessageHandler
- All Implemented Interfaces:
Runnable
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 Summary
FieldsModifier and TypeFieldDescriptionprivate static final Loggerprivate BlockingQueue<SecurityDialogMessage> the queue of incoming messages to show security dialogs -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidhandleMessage(SecurityDialogMessage message) Handles a singleSecurityDialogMessageby showing aSecurityDialog.private static booleanReturns whether the current runtime configuration is headlessprivate static booleanReturns whether the current runtime configuration is trustAllprivate static booleanReturns whether the current runtime configuration is trustNonevoidpostMessage(SecurityDialogMessage message) Post a message to the security event queue.private booleanprocessAutomatedAnswers(SecurityDialogMessage message, SecurityDialog dialog) private voidprocessMessageInGui(SecurityDialog dialog, RememberableDialog found, SecurityDialogMessage message) private voidprocessMessageInHeadless(SecurityDialog dialog, SecurityDialogMessage message) voidrun()Runs the message handler loop.private static booleanReturns whether the current runtime configuration allows prompting user for security warnings.protected void
-
Field Details
-
LOG
-
queue
the queue of incoming messages to show security dialogs
-
-
Constructor Details
-
SecurityDialogMessageHandler
public SecurityDialogMessageHandler()
-
-
Method Details
-
run
-
handleMessage
Handles a singleSecurityDialogMessageby showing aSecurityDialog.Once the user has made a choice the
SecurityDialogMessage.toDispose(if not null) is disposed andSecurityDialogMessage.lock(in not null) is released.- Parameters:
message- the message indicating what type of security dialog to show
-
processAutomatedAnswers
-
processMessageInGui
private void processMessageInGui(SecurityDialog dialog, RememberableDialog found, SecurityDialogMessage message) -
processMessageInHeadless
-
unlockMessagesClient
-
postMessage
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 andSecurityDialogMessage.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
-