Save This Page
Home » jexcelapi_2_6_8 » common » [javadoc | source]
    1   /*
    2    * Danet GmbH
    3    * Beratung und Software-Entwicklung
    4    * Gesch?ftstelle AN
    5    *
    6    * $Id: STProjectLoginContext.java,v 1.2 2003/05/22 11:36:22 lipp Exp $
    7    *
    8    * $Log: STProjectLoginContext.java,v $
    9    * Revision 1.2  2003/05/22 11:36:22  lipp
   10    * Cleaned up usage of security domains.
   11    *
   12    * Revision 1.1  2003/04/26 16:46:55  lipp
   13    * Made unittests and systemtests coexist in eclipse.
   14    *
   15    * Revision 1.1  2003/04/16 19:58:49  lipp
   16    * Adapted to jdk 1.4
   17    *
   18    * Revision 1.1  2002/11/01 09:02:01  weidauer
   19    * initial version
   20    *
   21    * Revision 1.1  2001/12/10 15:27:51  lipp
   22    * Adapting to secure beans.
   23    *
   24    */
   25   
   26   package common;
   27   import java.io.IOException;
   28   
   29   import javax.security.auth.callback.Callback;
   30   import javax.security.auth.callback.CallbackHandler;
   31   import javax.security.auth.callback.NameCallback;
   32   import javax.security.auth.callback.PasswordCallback;
   33   import javax.security.auth.callback.TextOutputCallback;
   34   import javax.security.auth.callback.UnsupportedCallbackException;
   35   import javax.security.auth.login.LoginContext;
   36   import javax.security.auth.login.LoginException;
   37   
   38   /**
   39    * Simple login context for unit tests.
   40    */
   41   public class STProjectLoginContext extends LoginContext {
   42   
   43       private static class CBH implements CallbackHandler {
   44   	public void handle (Callback[] callbacks)
   45   	    throws UnsupportedCallbackException, IOException {
   46   	    for (int i = 0; i < callbacks.length; i++) {
   47   		if (callbacks[i] instanceof TextOutputCallback) {
   48   		    // display the message according to the specified type
   49   		    TextOutputCallback toc = (TextOutputCallback)callbacks[i];
   50   		    switch (toc.getMessageType()) {
   51   		    case TextOutputCallback.INFORMATION:
   52   			System.err.println(toc.getMessage());
   53   			break;
   54   		    case TextOutputCallback.ERROR:
   55   			System.err.println("ERROR: " + toc.getMessage());
   56   			break;
   57   		    case TextOutputCallback.WARNING:
   58   			System.err.println("WARNING: " + toc.getMessage());
   59   			break;
   60   		    default:
   61   			throw new IOException("Unsupported message type: " +
   62   					      toc.getMessageType());
   63   		    }
   64   		} else if (callbacks[i] instanceof NameCallback) {
   65   		    // prompt the user for a username
   66   		    NameCallback nc = (NameCallback)callbacks[i]; 
   67   		    nc.setName("junit");
   68   		} else if (callbacks[i] instanceof PasswordCallback) {
   69   		    // prompt the user for sensitive information
   70   		    PasswordCallback pc = (PasswordCallback)callbacks[i]; 
   71   		    pc.setPassword("junit".toCharArray());
   72   		} else {
   73   		    throw new UnsupportedCallbackException
   74   			(callbacks[i], "Unrecognized Callback");
   75   		}
   76   	    }
   77   	}
   78       }
   79   
   80       public STProjectLoginContext () throws LoginException {
   81   	super ("danetworkflow", new CBH());
   82       }
   83   
   84   }

Save This Page
Home » jexcelapi_2_6_8 » common » [javadoc | source]