View Javadoc
1   package org.argeo.cms.ui.widgets.auth;
2   
3   import java.io.IOException;
4   
5   import javax.security.auth.callback.Callback;
6   import javax.security.auth.callback.CallbackHandler;
7   import javax.security.auth.callback.UnsupportedCallbackException;
8   
9   import org.argeo.eclipse.ui.dialogs.LightweightDialog;
10  import org.eclipse.swt.SWT;
11  import org.eclipse.swt.widgets.Composite;
12  import org.eclipse.swt.widgets.Control;
13  import org.eclipse.swt.widgets.Display;
14  import org.eclipse.swt.widgets.Shell;
15  
16  public class DynamicCallbackHandler implements CallbackHandler {
17  
18  	@Override
19  	public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
20  		Shell activeShell = Display.getCurrent().getActiveShell();
21  		LightweightDialog dialog = new LightweightDialog(activeShell) {
22  
23  			@Override
24  			protected Control createDialogArea(Composite parent) {
25  				CompositeCallbackHandler cch = new CompositeCallbackHandler(parent, SWT.NONE);
26  				cch.createCallbackHandlers(callbacks);
27  				return cch;
28  			}
29  		};
30  		dialog.setBlockOnOpen(true);
31  		dialog.open();
32  	}
33  
34  }