1*cdf0e10cSrcweir /* 2*cdf0e10cSrcweir * To change this template, choose Tools | Templates 3*cdf0e10cSrcweir * and open the template in the editor. 4*cdf0e10cSrcweir */ 5*cdf0e10cSrcweir 6*cdf0e10cSrcweir /** 7*cdf0e10cSrcweir * 8*cdf0e10cSrcweir * @author zxf 9*cdf0e10cSrcweir */ 10*cdf0e10cSrcweir 11*cdf0e10cSrcweir package complex.passwordcontainer; 12*cdf0e10cSrcweir 13*cdf0e10cSrcweir import com.sun.star.lib.uno.helper.WeakBase; 14*cdf0e10cSrcweir import com.sun.star.task.XInteractionContinuation; 15*cdf0e10cSrcweir import com.sun.star.ucb.XInteractionSupplyAuthentication; 16*cdf0e10cSrcweir import com.sun.star.task.XInteractionRequest; 17*cdf0e10cSrcweir import com.sun.star.task.XInteractionHandler; 18*cdf0e10cSrcweir import com.sun.star.task.MasterPasswordRequest; 19*cdf0e10cSrcweir import com.sun.star.uno.UnoRuntime; 20*cdf0e10cSrcweir 21*cdf0e10cSrcweir public class MasterPasswdHandler extends WeakBase 22*cdf0e10cSrcweir implements XInteractionHandler { 23*cdf0e10cSrcweir XInteractionHandler m_xHandler; 24*cdf0e10cSrcweir 25*cdf0e10cSrcweir public MasterPasswdHandler( XInteractionHandler xHandler ) { 26*cdf0e10cSrcweir m_xHandler = xHandler; 27*cdf0e10cSrcweir } 28*cdf0e10cSrcweir 29*cdf0e10cSrcweir public void handle( XInteractionRequest xRequest ) { 30*cdf0e10cSrcweir try { 31*cdf0e10cSrcweir MasterPasswordRequest aMasterPasswordRequest; 32*cdf0e10cSrcweir if( xRequest.getRequest() instanceof MasterPasswordRequest ) { 33*cdf0e10cSrcweir aMasterPasswordRequest = (MasterPasswordRequest)xRequest.getRequest(); 34*cdf0e10cSrcweir if( aMasterPasswordRequest != null ) { 35*cdf0e10cSrcweir XInteractionContinuation xContinuations[] = xRequest.getContinuations(); 36*cdf0e10cSrcweir XInteractionSupplyAuthentication xAuthentication = null; 37*cdf0e10cSrcweir 38*cdf0e10cSrcweir for( int i = 0; i < xContinuations.length; ++i ) { 39*cdf0e10cSrcweir xAuthentication = UnoRuntime.queryInterface(XInteractionSupplyAuthentication.class, xContinuations[i]); 40*cdf0e10cSrcweir if( xAuthentication != null ) 41*cdf0e10cSrcweir { 42*cdf0e10cSrcweir break; 43*cdf0e10cSrcweir } 44*cdf0e10cSrcweir } 45*cdf0e10cSrcweir if( xAuthentication.canSetPassword() ) 46*cdf0e10cSrcweir { 47*cdf0e10cSrcweir xAuthentication.setPassword("abcdefghijklmnopqrstuvwxyz123456"); 48*cdf0e10cSrcweir } 49*cdf0e10cSrcweir xAuthentication.select(); 50*cdf0e10cSrcweir } 51*cdf0e10cSrcweir } else { 52*cdf0e10cSrcweir m_xHandler.handle( xRequest ); 53*cdf0e10cSrcweir } 54*cdf0e10cSrcweir } catch( Exception e ) { 55*cdf0e10cSrcweir System.out.println( "MasterPasswordHandler Error: " + e ); 56*cdf0e10cSrcweir } 57*cdf0e10cSrcweir } 58*cdf0e10cSrcweir } 59*cdf0e10cSrcweir 60*cdf0e10cSrcweir 61*cdf0e10cSrcweir 62*cdf0e10cSrcweir 63*cdf0e10cSrcweir 64*cdf0e10cSrcweir 65*cdf0e10cSrcweir 66