Java 类javax.security.sasl.RealmChoiceCallback 实例源码

项目:ditb    文件:TestHBaseSaslRpcClient.java   
@Test
public void testSaslClientCallbackHandler() throws UnsupportedCallbackException {
  final Token<? extends TokenIdentifier> token = createTokenMock();
  when(token.getIdentifier()).thenReturn(DEFAULT_USER_NAME.getBytes());
  when(token.getPassword()).thenReturn(DEFAULT_USER_PASSWORD.getBytes());

  final NameCallback nameCallback = mock(NameCallback.class);
  final PasswordCallback passwordCallback = mock(PasswordCallback.class);
  final RealmCallback realmCallback = mock(RealmCallback.class);
  final RealmChoiceCallback realmChoiceCallback = mock(RealmChoiceCallback.class);

  Callback[] callbackArray = {nameCallback, passwordCallback,
      realmCallback, realmChoiceCallback};
  final SaslClientCallbackHandler saslClCallbackHandler = new SaslClientCallbackHandler(token);
  saslClCallbackHandler.handle(callbackArray);
  verify(nameCallback).setName(anyString());
  verify(realmCallback).setText(anyString());
  verify(passwordCallback).setPassword(any(char[].class));
}
项目:EIM    文件:SASLMechanism.java   
/**
 * 
 */
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
    for (int i = 0; i < callbacks.length; i++) {
        if (callbacks[i] instanceof NameCallback) {
            NameCallback ncb = (NameCallback)callbacks[i];
            ncb.setName(authenticationId);
        } else if(callbacks[i] instanceof PasswordCallback) {
            PasswordCallback pcb = (PasswordCallback)callbacks[i];
            pcb.setPassword(password.toCharArray());
        } else if(callbacks[i] instanceof RealmCallback) {
            RealmCallback rcb = (RealmCallback)callbacks[i];
            rcb.setText(hostname);
        } else if(callbacks[i] instanceof RealmChoiceCallback){
            //unused
            //RealmChoiceCallback rccb = (RealmChoiceCallback)callbacks[i];
        } else {
           throw new UnsupportedCallbackException(callbacks[i]);
        }
     }
}
项目:pbase    文件:TestHBaseSaslRpcClient.java   
@Test
public void testSaslClientCallbackHandler() throws UnsupportedCallbackException {
  final Token<? extends TokenIdentifier> token = createTokenMock();
  when(token.getIdentifier()).thenReturn(DEFAULT_USER_NAME.getBytes());
  when(token.getPassword()).thenReturn(DEFAULT_USER_PASSWORD.getBytes());

  final NameCallback nameCallback = mock(NameCallback.class);
  final PasswordCallback passwordCallback = mock(PasswordCallback.class);
  final RealmCallback realmCallback = mock(RealmCallback.class);
  final RealmChoiceCallback realmChoiceCallback = mock(RealmChoiceCallback.class);

  Callback[] callbackArray = {nameCallback, passwordCallback,
      realmCallback, realmChoiceCallback};
  final SaslClientCallbackHandler saslClCallbackHandler = new SaslClientCallbackHandler(token);
  saslClCallbackHandler.handle(callbackArray);
  verify(nameCallback).setName(anyString());
  verify(realmCallback).setText(anyString());
  verify(passwordCallback).setPassword(any(char[].class));
}
项目:HIndex    文件:TestHBaseSaslRpcClient.java   
@Test
public void testSaslClientCallbackHandler() throws UnsupportedCallbackException {
  final Token<? extends TokenIdentifier> token = createTokenMock();
  when(token.getIdentifier()).thenReturn(DEFAULT_USER_NAME.getBytes());
  when(token.getPassword()).thenReturn(DEFAULT_USER_PASSWORD.getBytes());

  final NameCallback nameCallback = mock(NameCallback.class);
  final PasswordCallback passwordCallback = mock(PasswordCallback.class);
  final RealmCallback realmCallback = mock(RealmCallback.class);
  final RealmChoiceCallback realmChoiceCallback = mock(RealmChoiceCallback.class);

  Callback[] callbackArray = {nameCallback, passwordCallback,
      realmCallback, realmChoiceCallback};
  final SaslClientCallbackHandler saslClCallbackHandler = new SaslClientCallbackHandler(token);
  saslClCallbackHandler.handle(callbackArray);
  verify(nameCallback).setName(anyString());
  verify(realmCallback).setText(anyString());
  verify(passwordCallback).setPassword(any(char[].class));
}
项目:RecordServiceClient    文件:ThriftUtils.java   
@Override
public void handle(Callback[] callbacks)
    throws IOException, UnsupportedCallbackException {
  for (Callback cb : callbacks) {
    if (cb instanceof RealmChoiceCallback) {
      continue; // Ignore.
    } else if (cb instanceof NameCallback) {
      ((NameCallback)cb).setName(token_.identifier);
    } else if (cb instanceof PasswordCallback) {
      PasswordCallback pcb = ((PasswordCallback)cb);
      if (token_.password == null) {
        pcb.setPassword(null);
      } else {
        pcb.setPassword(token_.password.toCharArray());
      }
    } else if (cb instanceof RealmCallback) {
      RealmCallback rcb = (RealmCallback)cb;
      rcb.setText(rcb.getDefaultText());
    } else {
      throw new UnsupportedCallbackException(cb, "Unexpected DIGEST-MD5 callback");
    }
  }
}
项目:hbase    文件:TestHBaseSaslRpcClient.java   
@Test
public void testSaslClientCallbackHandler() throws UnsupportedCallbackException {
  final Token<? extends TokenIdentifier> token = createTokenMock();
  when(token.getIdentifier()).thenReturn(Bytes.toBytes(DEFAULT_USER_NAME));
  when(token.getPassword()).thenReturn(Bytes.toBytes(DEFAULT_USER_PASSWORD));

  final NameCallback nameCallback = mock(NameCallback.class);
  final PasswordCallback passwordCallback = mock(PasswordCallback.class);
  final RealmCallback realmCallback = mock(RealmCallback.class);
  final RealmChoiceCallback realmChoiceCallback = mock(RealmChoiceCallback.class);

  Callback[] callbackArray = {nameCallback, passwordCallback, realmCallback, realmChoiceCallback};
  final SaslClientCallbackHandler saslClCallbackHandler = new SaslClientCallbackHandler(token);
  saslClCallbackHandler.handle(callbackArray);
  verify(nameCallback).setName(anyString());
  verify(realmCallback).setText(any());
  verify(passwordCallback).setPassword(any());
}
项目:cn1    文件:RealmChoiceCallbackTest.java   
@Override
protected Object[] getData() {
    Object [] oo = {
            new RealmChoiceCallback(msgs[0], msgs, 0, true),
            new RealmChoiceCallback(msgs[1], msgs, 1, true),
            new RealmChoiceCallback(msgs[1], msgs, 0, false),
            new RealmChoiceCallback(msgs[2], msgs, 0, false)

    };        
    for (Object element : oo) {
        RealmChoiceCallback rc = (RealmChoiceCallback)element;           
        if (rc.allowMultipleSelections()) {
            rc.setSelectedIndexes(idx);
        } else {
            rc.setSelectedIndex(msgs.length - 1);
        }
    }
    return oo;
}
项目:PyroDB    文件:TestHBaseSaslRpcClient.java   
@Test
public void testSaslClientCallbackHandler() throws UnsupportedCallbackException {
  final Token<? extends TokenIdentifier> token = createTokenMock();
  when(token.getIdentifier()).thenReturn(DEFAULT_USER_NAME.getBytes());
  when(token.getPassword()).thenReturn(DEFAULT_USER_PASSWORD.getBytes());

  final NameCallback nameCallback = mock(NameCallback.class);
  final PasswordCallback passwordCallback = mock(PasswordCallback.class);
  final RealmCallback realmCallback = mock(RealmCallback.class);
  final RealmChoiceCallback realmChoiceCallback = mock(RealmChoiceCallback.class);

  Callback[] callbackArray = {nameCallback, passwordCallback,
      realmCallback, realmChoiceCallback};
  final SaslClientCallbackHandler saslClCallbackHandler = new SaslClientCallbackHandler(token);
  saslClCallbackHandler.handle(callbackArray);
  verify(nameCallback).setName(anyString());
  verify(realmCallback).setText(anyString());
  verify(passwordCallback).setPassword(any(char[].class));
}
项目:wildfly-core    文件:SecretIdentityService.java   
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
    for (Callback current : callbacks) {
        if (current instanceof RealmCallback) {
            RealmCallback rcb = (RealmCallback) current;
            String defaultText = rcb.getDefaultText();
            rcb.setText(defaultText); // For now just use the realm suggested.
        } else if (current instanceof RealmChoiceCallback) {
            throw DomainManagementLogger.ROOT_LOGGER.realmNotSupported(current);
        } else if (current instanceof OptionalNameCallback) {
            // Do nothing as we don't want to set a name for local authentication.
        } else if (current instanceof NameCallback) {
            NameCallback ncb = (NameCallback) current;
            ncb.setName(userName);
        } else if (current instanceof PasswordCallback) {
            PasswordCallback pcb = (PasswordCallback) current;
            pcb.setPassword(password);
        } else {
            throw new UnsupportedCallbackException(current);
        }
    }
}
项目:wildfly-core    文件:HostControllerConnection.java   
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
    for (Callback current : callbacks) {
        if (current instanceof RealmCallback) {
            RealmCallback rcb = (RealmCallback) current;
            String defaultText = rcb.getDefaultText();
            rcb.setText(defaultText); // For now just use the realm suggested.
        } else if (current instanceof RealmChoiceCallback) {
            throw new UnsupportedCallbackException(current, "Realm choice not currently supported.");
        } else if (current instanceof NameCallback) {
            NameCallback ncb = (NameCallback) current;
            ncb.setName(userName);
        } else if (current instanceof PasswordCallback) {
            PasswordCallback pcb = (PasswordCallback) current;
            pcb.setPassword(authKey.toCharArray());
        } else {
            throw new UnsupportedCallbackException(current);
        }
    }
}
项目:java-bells    文件:SASLMechanism.java   
/**
 * 
 */
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
    for (int i = 0; i < callbacks.length; i++) {
        if (callbacks[i] instanceof NameCallback) {
            NameCallback ncb = (NameCallback)callbacks[i];
            ncb.setName(authenticationId);
        } else if(callbacks[i] instanceof PasswordCallback) {
            PasswordCallback pcb = (PasswordCallback)callbacks[i];
            pcb.setPassword(password.toCharArray());
        } else if(callbacks[i] instanceof RealmCallback) {
            RealmCallback rcb = (RealmCallback)callbacks[i];
            //Retrieve the REALM from the challenge response that the server returned when the client initiated the authentication 
            //exchange. If this value is not null or empty, *this value* has to be sent back to the server in the client's response 
            //to the server's challenge
            String text = rcb.getDefaultText();
            //The SASL client (sc) created in smack  uses rcb.getText when creating the negotiatedRealm to send it back to the server
            //Make sure that this value matches the server's realm
            rcb.setText(text);
        } else if(callbacks[i] instanceof RealmChoiceCallback){
            //unused
            //RealmChoiceCallback rccb = (RealmChoiceCallback)callbacks[i];
        } else {
           throw new UnsupportedCallbackException(callbacks[i]);
        }
     }
}
项目:freeVM    文件:RealmChoiceCallbackTest.java   
@Override
protected Object[] getData() {
    Object [] oo = {
            new RealmChoiceCallback(msgs[0], msgs, 0, true),
            new RealmChoiceCallback(msgs[1], msgs, 1, true),
            new RealmChoiceCallback(msgs[1], msgs, 0, false),
            new RealmChoiceCallback(msgs[2], msgs, 0, false)

    };        
    for (Object element : oo) {
        RealmChoiceCallback rc = (RealmChoiceCallback)element;           
        if (rc.allowMultipleSelections()) {
            rc.setSelectedIndexes(idx);
        } else {
            rc.setSelectedIndex(msgs.length - 1);
        }
    }
    return oo;
}
项目:freeVM    文件:RealmChoiceCallbackTest.java   
@Override
protected Object[] getData() {
    Object [] oo = {
            new RealmChoiceCallback(msgs[0], msgs, 0, true),
            new RealmChoiceCallback(msgs[1], msgs, 1, true),
            new RealmChoiceCallback(msgs[1], msgs, 0, false),
            new RealmChoiceCallback(msgs[2], msgs, 0, false)

    };        
    for (Object element : oo) {
        RealmChoiceCallback rc = (RealmChoiceCallback)element;           
        if (rc.allowMultipleSelections()) {
            rc.setSelectedIndexes(idx);
        } else {
            rc.setSelectedIndex(msgs.length - 1);
        }
    }
    return oo;
}
项目:jdk8u-jdk    文件:ClientServerTest.java   
@Override
public void handle(Callback[] callbacks) throws IOException,
        UnsupportedCallbackException {
    for (Callback callback : callbacks) {
        if (callback instanceof NameCallback) {
            System.out.println("NameCallback");
            ((NameCallback) callback).setName(userId);
        } else if (callback instanceof PasswordCallback) {
            System.out.println("PasswordCallback");
            ((PasswordCallback) callback).setPassword(passwd);
        } else if (callback instanceof RealmCallback) {
            System.out.println("RealmCallback");
            ((RealmCallback) callback).setText(realm);
        } else if (callback instanceof RealmChoiceCallback) {
            System.out.println("RealmChoiceCallback");
            RealmChoiceCallback choice = (RealmChoiceCallback) callback;
            if (realm == null) {
                choice.setSelectedIndex(choice.getDefaultChoice());
            } else {
                String[] choices = choice.getChoices();
                for (int j = 0; j < choices.length; j++) {
                    if (realm.equals(choices[j])) {
                        choice.setSelectedIndex(j);
                        break;
                    }
                }
            }
        } else if (callback instanceof AuthorizeCallback) {
            System.out.println("AuthorizeCallback");
            ((AuthorizeCallback) callback).setAuthorized(true);
            if (authId == null || authId.trim().length() == 0) {
                authId = userId;
            }
            ((AuthorizeCallback) callback).setAuthorizedID(authId);
        } else {
            throw new UnsupportedCallbackException(callback);
        }
    }
}
项目:openjdk-jdk10    文件:ClientServerTest.java   
@Override
public void handle(Callback[] callbacks) throws IOException,
        UnsupportedCallbackException {
    for (Callback callback : callbacks) {
        if (callback instanceof NameCallback) {
            System.out.println("NameCallback");
            ((NameCallback) callback).setName(userId);
        } else if (callback instanceof PasswordCallback) {
            System.out.println("PasswordCallback");
            ((PasswordCallback) callback).setPassword(passwd);
        } else if (callback instanceof RealmCallback) {
            System.out.println("RealmCallback");
            ((RealmCallback) callback).setText(realm);
        } else if (callback instanceof RealmChoiceCallback) {
            System.out.println("RealmChoiceCallback");
            RealmChoiceCallback choice = (RealmChoiceCallback) callback;
            if (realm == null) {
                choice.setSelectedIndex(choice.getDefaultChoice());
            } else {
                String[] choices = choice.getChoices();
                for (int j = 0; j < choices.length; j++) {
                    if (realm.equals(choices[j])) {
                        choice.setSelectedIndex(j);
                        break;
                    }
                }
            }
        } else if (callback instanceof AuthorizeCallback) {
            System.out.println("AuthorizeCallback");
            ((AuthorizeCallback) callback).setAuthorized(true);
            if (authId == null || authId.trim().length() == 0) {
                authId = userId;
            }
            ((AuthorizeCallback) callback).setAuthorizedID(authId);
        } else {
            throw new UnsupportedCallbackException(callback);
        }
    }
}
项目:openjdk9    文件:ClientServerTest.java   
@Override
public void handle(Callback[] callbacks) throws IOException,
        UnsupportedCallbackException {
    for (Callback callback : callbacks) {
        if (callback instanceof NameCallback) {
            System.out.println("NameCallback");
            ((NameCallback) callback).setName(userId);
        } else if (callback instanceof PasswordCallback) {
            System.out.println("PasswordCallback");
            ((PasswordCallback) callback).setPassword(passwd);
        } else if (callback instanceof RealmCallback) {
            System.out.println("RealmCallback");
            ((RealmCallback) callback).setText(realm);
        } else if (callback instanceof RealmChoiceCallback) {
            System.out.println("RealmChoiceCallback");
            RealmChoiceCallback choice = (RealmChoiceCallback) callback;
            if (realm == null) {
                choice.setSelectedIndex(choice.getDefaultChoice());
            } else {
                String[] choices = choice.getChoices();
                for (int j = 0; j < choices.length; j++) {
                    if (realm.equals(choices[j])) {
                        choice.setSelectedIndex(j);
                        break;
                    }
                }
            }
        } else if (callback instanceof AuthorizeCallback) {
            System.out.println("AuthorizeCallback");
            ((AuthorizeCallback) callback).setAuthorized(true);
            if (authId == null || authId.trim().length() == 0) {
                authId = userId;
            }
            ((AuthorizeCallback) callback).setAuthorizedID(authId);
        } else {
            throw new UnsupportedCallbackException(callback);
        }
    }
}
项目:jdk8u_jdk    文件:ClientServerTest.java   
@Override
public void handle(Callback[] callbacks) throws IOException,
        UnsupportedCallbackException {
    for (Callback callback : callbacks) {
        if (callback instanceof NameCallback) {
            System.out.println("NameCallback");
            ((NameCallback) callback).setName(userId);
        } else if (callback instanceof PasswordCallback) {
            System.out.println("PasswordCallback");
            ((PasswordCallback) callback).setPassword(passwd);
        } else if (callback instanceof RealmCallback) {
            System.out.println("RealmCallback");
            ((RealmCallback) callback).setText(realm);
        } else if (callback instanceof RealmChoiceCallback) {
            System.out.println("RealmChoiceCallback");
            RealmChoiceCallback choice = (RealmChoiceCallback) callback;
            if (realm == null) {
                choice.setSelectedIndex(choice.getDefaultChoice());
            } else {
                String[] choices = choice.getChoices();
                for (int j = 0; j < choices.length; j++) {
                    if (realm.equals(choices[j])) {
                        choice.setSelectedIndex(j);
                        break;
                    }
                }
            }
        } else if (callback instanceof AuthorizeCallback) {
            System.out.println("AuthorizeCallback");
            ((AuthorizeCallback) callback).setAuthorized(true);
            if (authId == null || authId.trim().length() == 0) {
                authId = userId;
            }
            ((AuthorizeCallback) callback).setAuthorizedID(authId);
        } else {
            throw new UnsupportedCallbackException(callback);
        }
    }
}
项目:lookaside_java-1.8.0-openjdk    文件:ClientServerTest.java   
@Override
public void handle(Callback[] callbacks) throws IOException,
        UnsupportedCallbackException {
    for (Callback callback : callbacks) {
        if (callback instanceof NameCallback) {
            System.out.println("NameCallback");
            ((NameCallback) callback).setName(userId);
        } else if (callback instanceof PasswordCallback) {
            System.out.println("PasswordCallback");
            ((PasswordCallback) callback).setPassword(passwd);
        } else if (callback instanceof RealmCallback) {
            System.out.println("RealmCallback");
            ((RealmCallback) callback).setText(realm);
        } else if (callback instanceof RealmChoiceCallback) {
            System.out.println("RealmChoiceCallback");
            RealmChoiceCallback choice = (RealmChoiceCallback) callback;
            if (realm == null) {
                choice.setSelectedIndex(choice.getDefaultChoice());
            } else {
                String[] choices = choice.getChoices();
                for (int j = 0; j < choices.length; j++) {
                    if (realm.equals(choices[j])) {
                        choice.setSelectedIndex(j);
                        break;
                    }
                }
            }
        } else if (callback instanceof AuthorizeCallback) {
            System.out.println("AuthorizeCallback");
            ((AuthorizeCallback) callback).setAuthorized(true);
            if (authId == null || authId.trim().length() == 0) {
                authId = userId;
            }
            ((AuthorizeCallback) callback).setAuthorizedID(authId);
        } else {
            throw new UnsupportedCallbackException(callback);
        }
    }
}
项目:teiid    文件:AdminFactory.java   
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
    // Special case for anonymous authentication to avoid prompting user for their name.
    if (callbacks.length == 1 && callbacks[0] instanceof NameCallback) {
        ((NameCallback)callbacks[0]).setName("anonymous CLI user"); //$NON-NLS-1$
        return;
    }

    for (Callback current : callbacks) {
        if (current instanceof RealmCallback) {
            RealmCallback rcb = (RealmCallback) current;
            String defaultText = rcb.getDefaultText();
            rcb.setText(defaultText); // For now just use the realm suggested.
            if (this.realmShown == false) {
                this.realmShown = true;
            }
        } else if (current instanceof RealmChoiceCallback) {
            throw new UnsupportedCallbackException(current, "Realm choice not currently supported."); //$NON-NLS-1$
        } else if (current instanceof NameCallback) {
            NameCallback ncb = (NameCallback) current;
            ncb.setName(this.userName);
        } else if (current instanceof PasswordCallback) {
            PasswordCallback pcb = (PasswordCallback) current;
            pcb.setPassword(this.password);
        } else {
            throw new UnsupportedCallbackException(current);
        }
    }
}
项目:cn1    文件:DefaultCallbackHandler.java   
public void handle(Callback[] callbacks) throws java.io.IOException,
        UnsupportedCallbackException {
    for (int i = 0; i < callbacks.length; i++) {
        if (callbacks[i] instanceof RealmChoiceCallback) {
            // TODO what to do here?
            // RealmChoiceCallback rcc = (RealmChoiceCallback) callbacks[i];

        } else if (callbacks[i] instanceof RealmCallback) {
            RealmCallback rc = (RealmCallback) callbacks[i];
            if (env.get(JAVA_NAMING_SECURITY_SASL_REALM) != null) {
                realm = (String) env.get(JAVA_NAMING_SECURITY_SASL_REALM);
                rc.setText(realm);
            } else {
                rc.setText(realm);
            }
        } else if (callbacks[i] instanceof PasswordCallback) {
            PasswordCallback pc = (PasswordCallback) callbacks[i];
            pc.setPassword(Utils.getCharArray(env
                    .get(Context.SECURITY_CREDENTIALS)));
        } else if (callbacks[i] instanceof NameCallback) {
            //authentication Id
            NameCallback nc = (NameCallback) callbacks[i];
            nc.setName((String) env.get(Context.SECURITY_PRINCIPAL));
        } else {
            throw new UnsupportedCallbackException(callbacks[i]);
        }
    }
}
项目:cn1    文件:RealmChoiceCallbackTest.java   
public void assertDeserialized(Serializable oref, Serializable otest) {
        RealmChoiceCallback ref = (RealmChoiceCallback) oref;
        RealmChoiceCallback test = (RealmChoiceCallback) otest;

        boolean all = ref.allowMultipleSelections();
        assertEquals(all, test.allowMultipleSelections());
        String prompt = ref.getPrompt();
        assertEquals(prompt, test.getPrompt());

        String [] ch = ref.getChoices();
        String [] tCh = test.getChoices();        
        assertEquals(ch.length, tCh.length);        
        for (int i = 0; i < ch.length; i++) {
            assertEquals(ch[i], tCh[i]);
        }
        assertEquals(ref.getDefaultChoice(), test.getDefaultChoice());
        int [] in = ref.getSelectedIndexes();
        int [] tIn = test.getSelectedIndexes();
//        assertNull("in is not null", in);            
//        assertNull("tIn is not null", tIn);

        if (!all) {
            assertEquals("Incorrect length in ", in.length, 1);
            assertEquals("Incorrect length tIn ", tIn.length, 1);
            assertEquals("Incorrect index", in[0], tIn[0]);
        } else {
            assertEquals("Incorrect length", in.length, tIn.length);
            for (int i = 0; i < in.length; i++) {
                assertEquals(in[i], tIn[i]);
            }            
        }
    }
项目:jamppa    文件:SASLMechanism.java   
/**
 * 
 */
public void handle(Callback[] callbacks) throws IOException,
        UnsupportedCallbackException {
    for (int i = 0; i < callbacks.length; i++) {
        if (callbacks[i] instanceof NameCallback) {
            NameCallback ncb = (NameCallback) callbacks[i];
            ncb.setName(authenticationId);
        } else if (callbacks[i] instanceof PasswordCallback) {
            PasswordCallback pcb = (PasswordCallback) callbacks[i];
            pcb.setPassword(password.toCharArray());
        } else if (callbacks[i] instanceof RealmCallback) {
            RealmCallback rcb = (RealmCallback) callbacks[i];
            // Retrieve the REALM from the challenge response that the
            // server returned when the client initiated the authentication
            // exchange. If this value is not null or empty, *this value*
            // has to be sent back to the server in the client's response
            // to the server's challenge
            String text = rcb.getDefaultText();
            // The SASL client (sc) created in smack uses rcb.getText when
            // creating the negotiatedRealm to send it back to the server
            // Make sure that this value matches the server's realm
            rcb.setText(text);
        } else if (callbacks[i] instanceof RealmChoiceCallback) {
            // unused
            // RealmChoiceCallback rccb = (RealmChoiceCallback)callbacks[i];
        } else {
            throw new UnsupportedCallbackException(callbacks[i]);
        }
    }
}
项目:nextop-client    文件:DefaultCallbackHandler.java   
public void handle(Callback[] callbacks) throws java.io.IOException,
        UnsupportedCallbackException {
    for (int i = 0; i < callbacks.length; i++) {
        if (callbacks[i] instanceof RealmChoiceCallback) {
            // TODO what to do here?
            // RealmChoiceCallback rcc = (RealmChoiceCallback) callbacks[i];

        } else if (callbacks[i] instanceof RealmCallback) {
            RealmCallback rc = (RealmCallback) callbacks[i];
            if (env.get(JAVA_NAMING_SECURITY_SASL_REALM) != null) {
                realm = (String) env.get(JAVA_NAMING_SECURITY_SASL_REALM);
                rc.setText(realm);
            } else {
                rc.setText(realm);
            }
        } else if (callbacks[i] instanceof PasswordCallback) {
            PasswordCallback pc = (PasswordCallback) callbacks[i];
            pc.setPassword(Utils.getCharArray(env
                    .get(Context.SECURITY_CREDENTIALS)));
        } else if (callbacks[i] instanceof NameCallback) {
            //authentication Id
            NameCallback nc = (NameCallback) callbacks[i];
            nc.setName((String) env.get(Context.SECURITY_PRINCIPAL));
        } else {
            throw new UnsupportedCallbackException(callbacks[i]);
        }
    }
}
项目:freeVM    文件:RealmChoiceCallbackTest.java   
public void assertDeserialized(Serializable oref, Serializable otest) {
        RealmChoiceCallback ref = (RealmChoiceCallback) oref;
        RealmChoiceCallback test = (RealmChoiceCallback) otest;

        boolean all = ref.allowMultipleSelections();
        assertEquals(all, test.allowMultipleSelections());
        String prompt = ref.getPrompt();
        assertEquals(prompt, test.getPrompt());

        String [] ch = ref.getChoices();
        String [] tCh = test.getChoices();        
        assertEquals(ch.length, tCh.length);        
        for (int i = 0; i < ch.length; i++) {
            assertEquals(ch[i], tCh[i]);
        }
        assertEquals(ref.getDefaultChoice(), test.getDefaultChoice());
        int [] in = ref.getSelectedIndexes();
        int [] tIn = test.getSelectedIndexes();
//        assertNull("in is not null", in);            
//        assertNull("tIn is not null", tIn);

        if (!all) {
            assertEquals("Incorrect length in ", in.length, 1);
            assertEquals("Incorrect length tIn ", tIn.length, 1);
            assertEquals("Incorrect index", in[0], tIn[0]);
        } else {
            assertEquals("Incorrect length", in.length, tIn.length);
            for (int i = 0; i < in.length; i++) {
                assertEquals(in[i], tIn[i]);
            }            
        }
    }
项目:freeVM    文件:DefaultCallbackHandler.java   
public void handle(Callback[] callbacks) throws java.io.IOException,
        UnsupportedCallbackException {
    for (int i = 0; i < callbacks.length; i++) {
        if (callbacks[i] instanceof RealmChoiceCallback) {
            // TODO what to do here?
            // RealmChoiceCallback rcc = (RealmChoiceCallback) callbacks[i];

        } else if (callbacks[i] instanceof RealmCallback) {
            RealmCallback rc = (RealmCallback) callbacks[i];
            if (env.get(JAVA_NAMING_SECURITY_SASL_REALM) != null) {
                realm = (String) env.get(JAVA_NAMING_SECURITY_SASL_REALM);
                rc.setText(realm);
            } else {
                rc.setText(realm);
            }
        } else if (callbacks[i] instanceof PasswordCallback) {
            PasswordCallback pc = (PasswordCallback) callbacks[i];
            pc.setPassword(Utils.getCharArray(env
                    .get(Context.SECURITY_CREDENTIALS)));
        } else if (callbacks[i] instanceof NameCallback) {
            //authentication Id
            NameCallback nc = (NameCallback) callbacks[i];
            nc.setName((String) env.get(Context.SECURITY_PRINCIPAL));
        } else {
            throw new UnsupportedCallbackException(callbacks[i]);
        }
    }
}
项目:freeVM    文件:RealmChoiceCallbackTest.java   
public void assertDeserialized(Serializable oref, Serializable otest) {
        RealmChoiceCallback ref = (RealmChoiceCallback) oref;
        RealmChoiceCallback test = (RealmChoiceCallback) otest;

        boolean all = ref.allowMultipleSelections();
        assertEquals(all, test.allowMultipleSelections());
        String prompt = ref.getPrompt();
        assertEquals(prompt, test.getPrompt());

        String [] ch = ref.getChoices();
        String [] tCh = test.getChoices();        
        assertEquals(ch.length, tCh.length);        
        for (int i = 0; i < ch.length; i++) {
            assertEquals(ch[i], tCh[i]);
        }
        assertEquals(ref.getDefaultChoice(), test.getDefaultChoice());
        int [] in = ref.getSelectedIndexes();
        int [] tIn = test.getSelectedIndexes();
//        assertNull("in is not null", in);            
//        assertNull("tIn is not null", tIn);

        if (!all) {
            assertEquals("Incorrect length in ", in.length, 1);
            assertEquals("Incorrect length tIn ", tIn.length, 1);
            assertEquals("Incorrect index", in[0], tIn[0]);
        } else {
            assertEquals("Incorrect length", in.length, tIn.length);
            for (int i = 0; i < in.length; i++) {
                assertEquals(in[i], tIn[i]);
            }            
        }
    }
项目:wildfly-maven-plugin    文件:ClientCallbackHandler.java   
@Override
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
    // Special case for anonymous authentication to avoid prompting user for their name.
    if (callbacks.length == 1 && callbacks[0] instanceof NameCallback) {
        ((NameCallback) callbacks[0]).setName("anonymous demo user");
        return;
    }

    for (Callback current : callbacks) {
        if (current instanceof RealmCallback) {
            final RealmCallback rcb = (RealmCallback) current;
            final String defaultText = rcb.getDefaultText();
            rcb.setText(defaultText); // For now just use the realm suggested.

            prompt(defaultText);
        } else if (current instanceof RealmChoiceCallback) {
            throw new UnsupportedCallbackException(current, "Realm choice not currently supported.");
        } else if (current instanceof NameCallback) {
            final NameCallback ncb = (NameCallback) current;
            final String userName = obtainUsername("Username:");

            ncb.setName(userName);
        } else if (current instanceof PasswordCallback) {
            PasswordCallback pcb = (PasswordCallback) current;
            char[] password = obtainPassword("Password:");

            pcb.setPassword(password);
        } else {
            throw new UnsupportedCallbackException(current);
        }
    }
}
项目:directory-ldap-api    文件:SaslCallbackHandler.java   
/**
 * {@inheritDoc}
 */
@Override
public void handle( Callback[] callbacks ) throws IOException, UnsupportedCallbackException
{
    for ( Callback cb : callbacks )
    {
        if ( cb instanceof NameCallback )
        {
            NameCallback ncb = ( NameCallback ) cb;

            String name = saslReq.getUsername();
            LOG.debug( "sending name {} in the NameCallback", name );
            ncb.setName( name );
        }
        else if ( cb instanceof PasswordCallback )
        {
            PasswordCallback pcb = ( PasswordCallback ) cb;

            LOG.debug( "sending credentials in the PasswordCallback" );
            pcb.setPassword( Strings.utf8ToString( saslReq.getCredentials() ).toCharArray() );
        }
        else if ( cb instanceof RealmCallback )
        {
            RealmCallback rcb = ( RealmCallback ) cb;

            if ( saslReq.getRealmName() != null )
            {
                LOG.debug( "sending the user specified realm value {} in the RealmCallback", saslReq.getRealmName() );
                rcb.setText( saslReq.getRealmName() );
            }
            else
            {
                LOG.debug(
                    "No user specified relam value, sending the default realm value {} in the RealmCallback",
                    rcb.getDefaultText() );
                rcb.setText( rcb.getDefaultText() );
            }
        }
        else if ( cb instanceof RealmChoiceCallback )
        {
            RealmChoiceCallback rccb = ( RealmChoiceCallback ) cb;

            boolean foundRealmName = false;

            String[] realmNames = rccb.getChoices();
            for ( int i = 0; i < realmNames.length; i++ )
            {
                String realmName = realmNames[i];
                if ( realmName.equals( saslReq.getRealmName() ) )
                {
                    foundRealmName = true;

                    LOG.debug( "sending the user specified realm value {} in the RealmChoiceCallback", realmName );
                    rccb.setSelectedIndex( i );
                    break;
                }
            }

            if ( !foundRealmName )
            {
                throw new IOException(
                    I18n.format(
                        "Cannot match ''java.naming.security.sasl.realm'' property value ''{0}'' with choices ''{1}'' in RealmChoiceCallback.",
                        saslReq.getRealmName(), getRealmNamesAsString( realmNames ) ) );
            }
        }
    }
}
项目:OpenJSharp    文件:DefaultCallbackHandler.java   
public void handle(Callback[] callbacks)
    throws IOException, UnsupportedCallbackException {
        for (int i = 0; i < callbacks.length; i++) {
            if (callbacks[i] instanceof NameCallback) {
                ((NameCallback)callbacks[i]).setName(authenticationID);

            } else if (callbacks[i] instanceof PasswordCallback) {
                ((PasswordCallback)callbacks[i]).setPassword(passwd);

            } else if (callbacks[i] instanceof RealmChoiceCallback) {
                /* Deals with a choice of realms */
                String[] choices =
                    ((RealmChoiceCallback)callbacks[i]).getChoices();
                int selected = 0;

                if (authRealm != null && authRealm.length() > 0) {
                    selected = -1; // no realm chosen
                    for (int j = 0; j < choices.length; j++) {
                        if (choices[j].equals(authRealm)) {
                            selected = j;
                        }
                    }
                    if (selected == -1) {
                        StringBuffer allChoices = new StringBuffer();
                        for (int j = 0; j <  choices.length; j++) {
                            allChoices.append(choices[j] + ",");
                        }
                        throw new IOException("Cannot match " +
                            "'java.naming.security.sasl.realm' property value, '" +
                            authRealm + "' with choices " + allChoices +
                            "in RealmChoiceCallback");
                    }
                }

                ((RealmChoiceCallback)callbacks[i]).setSelectedIndex(selected);

            } else if (callbacks[i] instanceof RealmCallback) {
                /* 1 or 0 realms specified in challenge */
                RealmCallback rcb = (RealmCallback) callbacks[i];
                if (authRealm != null) {
                    rcb.setText(authRealm);  // Use what user supplied
                } else {
                    String defaultRealm = rcb.getDefaultText();
                    if (defaultRealm != null) {
                        rcb.setText(defaultRealm); // Use what server supplied
                    } else {
                        rcb.setText("");  // Specify no realm
                    }
                }
            } else {
                throw new UnsupportedCallbackException(callbacks[i]);
            }
        }
}
项目:jdk8u-jdk    文件:DefaultCallbackHandler.java   
public void handle(Callback[] callbacks)
    throws IOException, UnsupportedCallbackException {
        for (int i = 0; i < callbacks.length; i++) {
            if (callbacks[i] instanceof NameCallback) {
                ((NameCallback)callbacks[i]).setName(authenticationID);

            } else if (callbacks[i] instanceof PasswordCallback) {
                ((PasswordCallback)callbacks[i]).setPassword(passwd);

            } else if (callbacks[i] instanceof RealmChoiceCallback) {
                /* Deals with a choice of realms */
                String[] choices =
                    ((RealmChoiceCallback)callbacks[i]).getChoices();
                int selected = 0;

                if (authRealm != null && authRealm.length() > 0) {
                    selected = -1; // no realm chosen
                    for (int j = 0; j < choices.length; j++) {
                        if (choices[j].equals(authRealm)) {
                            selected = j;
                        }
                    }
                    if (selected == -1) {
                        StringBuffer allChoices = new StringBuffer();
                        for (int j = 0; j <  choices.length; j++) {
                            allChoices.append(choices[j] + ",");
                        }
                        throw new IOException("Cannot match " +
                            "'java.naming.security.sasl.realm' property value, '" +
                            authRealm + "' with choices " + allChoices +
                            "in RealmChoiceCallback");
                    }
                }

                ((RealmChoiceCallback)callbacks[i]).setSelectedIndex(selected);

            } else if (callbacks[i] instanceof RealmCallback) {
                /* 1 or 0 realms specified in challenge */
                RealmCallback rcb = (RealmCallback) callbacks[i];
                if (authRealm != null) {
                    rcb.setText(authRealm);  // Use what user supplied
                } else {
                    String defaultRealm = rcb.getDefaultText();
                    if (defaultRealm != null) {
                        rcb.setText(defaultRealm); // Use what server supplied
                    } else {
                        rcb.setText("");  // Specify no realm
                    }
                }
            } else {
                throw new UnsupportedCallbackException(callbacks[i]);
            }
        }
}
项目:openjdk-jdk10    文件:DefaultCallbackHandler.java   
public void handle(Callback[] callbacks)
    throws IOException, UnsupportedCallbackException {
        for (int i = 0; i < callbacks.length; i++) {
            if (callbacks[i] instanceof NameCallback) {
                ((NameCallback)callbacks[i]).setName(authenticationID);

            } else if (callbacks[i] instanceof PasswordCallback) {
                ((PasswordCallback)callbacks[i]).setPassword(passwd);

            } else if (callbacks[i] instanceof RealmChoiceCallback) {
                /* Deals with a choice of realms */
                String[] choices =
                    ((RealmChoiceCallback)callbacks[i]).getChoices();
                int selected = 0;

                if (authRealm != null && authRealm.length() > 0) {
                    selected = -1; // no realm chosen
                    for (int j = 0; j < choices.length; j++) {
                        if (choices[j].equals(authRealm)) {
                            selected = j;
                        }
                    }
                    if (selected == -1) {
                        StringBuilder allChoices = new StringBuilder();
                        for (int j = 0; j <  choices.length; j++) {
                            allChoices.append(choices[j]).append(',');
                        }
                        throw new IOException("Cannot match " +
                            "'java.naming.security.sasl.realm' property value, '" +
                            authRealm + "' with choices " + allChoices +
                            "in RealmChoiceCallback");
                    }
                }

                ((RealmChoiceCallback)callbacks[i]).setSelectedIndex(selected);

            } else if (callbacks[i] instanceof RealmCallback) {
                /* 1 or 0 realms specified in challenge */
                RealmCallback rcb = (RealmCallback) callbacks[i];
                if (authRealm != null) {
                    rcb.setText(authRealm);  // Use what user supplied
                } else {
                    String defaultRealm = rcb.getDefaultText();
                    if (defaultRealm != null) {
                        rcb.setText(defaultRealm); // Use what server supplied
                    } else {
                        rcb.setText("");  // Specify no realm
                    }
                }
            } else {
                throw new UnsupportedCallbackException(callbacks[i]);
            }
        }
}
项目:openjdk9    文件:DefaultCallbackHandler.java   
public void handle(Callback[] callbacks)
    throws IOException, UnsupportedCallbackException {
        for (int i = 0; i < callbacks.length; i++) {
            if (callbacks[i] instanceof NameCallback) {
                ((NameCallback)callbacks[i]).setName(authenticationID);

            } else if (callbacks[i] instanceof PasswordCallback) {
                ((PasswordCallback)callbacks[i]).setPassword(passwd);

            } else if (callbacks[i] instanceof RealmChoiceCallback) {
                /* Deals with a choice of realms */
                String[] choices =
                    ((RealmChoiceCallback)callbacks[i]).getChoices();
                int selected = 0;

                if (authRealm != null && authRealm.length() > 0) {
                    selected = -1; // no realm chosen
                    for (int j = 0; j < choices.length; j++) {
                        if (choices[j].equals(authRealm)) {
                            selected = j;
                        }
                    }
                    if (selected == -1) {
                        StringBuilder allChoices = new StringBuilder();
                        for (int j = 0; j <  choices.length; j++) {
                            allChoices.append(choices[j]).append(',');
                        }
                        throw new IOException("Cannot match " +
                            "'java.naming.security.sasl.realm' property value, '" +
                            authRealm + "' with choices " + allChoices +
                            "in RealmChoiceCallback");
                    }
                }

                ((RealmChoiceCallback)callbacks[i]).setSelectedIndex(selected);

            } else if (callbacks[i] instanceof RealmCallback) {
                /* 1 or 0 realms specified in challenge */
                RealmCallback rcb = (RealmCallback) callbacks[i];
                if (authRealm != null) {
                    rcb.setText(authRealm);  // Use what user supplied
                } else {
                    String defaultRealm = rcb.getDefaultText();
                    if (defaultRealm != null) {
                        rcb.setText(defaultRealm); // Use what server supplied
                    } else {
                        rcb.setText("");  // Specify no realm
                    }
                }
            } else {
                throw new UnsupportedCallbackException(callbacks[i]);
            }
        }
}
项目:jdk8u_jdk    文件:DefaultCallbackHandler.java   
public void handle(Callback[] callbacks)
    throws IOException, UnsupportedCallbackException {
        for (int i = 0; i < callbacks.length; i++) {
            if (callbacks[i] instanceof NameCallback) {
                ((NameCallback)callbacks[i]).setName(authenticationID);

            } else if (callbacks[i] instanceof PasswordCallback) {
                ((PasswordCallback)callbacks[i]).setPassword(passwd);

            } else if (callbacks[i] instanceof RealmChoiceCallback) {
                /* Deals with a choice of realms */
                String[] choices =
                    ((RealmChoiceCallback)callbacks[i]).getChoices();
                int selected = 0;

                if (authRealm != null && authRealm.length() > 0) {
                    selected = -1; // no realm chosen
                    for (int j = 0; j < choices.length; j++) {
                        if (choices[j].equals(authRealm)) {
                            selected = j;
                        }
                    }
                    if (selected == -1) {
                        StringBuffer allChoices = new StringBuffer();
                        for (int j = 0; j <  choices.length; j++) {
                            allChoices.append(choices[j] + ",");
                        }
                        throw new IOException("Cannot match " +
                            "'java.naming.security.sasl.realm' property value, '" +
                            authRealm + "' with choices " + allChoices +
                            "in RealmChoiceCallback");
                    }
                }

                ((RealmChoiceCallback)callbacks[i]).setSelectedIndex(selected);

            } else if (callbacks[i] instanceof RealmCallback) {
                /* 1 or 0 realms specified in challenge */
                RealmCallback rcb = (RealmCallback) callbacks[i];
                if (authRealm != null) {
                    rcb.setText(authRealm);  // Use what user supplied
                } else {
                    String defaultRealm = rcb.getDefaultText();
                    if (defaultRealm != null) {
                        rcb.setText(defaultRealm); // Use what server supplied
                    } else {
                        rcb.setText("");  // Specify no realm
                    }
                }
            } else {
                throw new UnsupportedCallbackException(callbacks[i]);
            }
        }
}
项目:lookaside_java-1.8.0-openjdk    文件:DefaultCallbackHandler.java   
public void handle(Callback[] callbacks)
    throws IOException, UnsupportedCallbackException {
        for (int i = 0; i < callbacks.length; i++) {
            if (callbacks[i] instanceof NameCallback) {
                ((NameCallback)callbacks[i]).setName(authenticationID);

            } else if (callbacks[i] instanceof PasswordCallback) {
                ((PasswordCallback)callbacks[i]).setPassword(passwd);

            } else if (callbacks[i] instanceof RealmChoiceCallback) {
                /* Deals with a choice of realms */
                String[] choices =
                    ((RealmChoiceCallback)callbacks[i]).getChoices();
                int selected = 0;

                if (authRealm != null && authRealm.length() > 0) {
                    selected = -1; // no realm chosen
                    for (int j = 0; j < choices.length; j++) {
                        if (choices[j].equals(authRealm)) {
                            selected = j;
                        }
                    }
                    if (selected == -1) {
                        StringBuffer allChoices = new StringBuffer();
                        for (int j = 0; j <  choices.length; j++) {
                            allChoices.append(choices[j] + ",");
                        }
                        throw new IOException("Cannot match " +
                            "'java.naming.security.sasl.realm' property value, '" +
                            authRealm + "' with choices " + allChoices +
                            "in RealmChoiceCallback");
                    }
                }

                ((RealmChoiceCallback)callbacks[i]).setSelectedIndex(selected);

            } else if (callbacks[i] instanceof RealmCallback) {
                /* 1 or 0 realms specified in challenge */
                RealmCallback rcb = (RealmCallback) callbacks[i];
                if (authRealm != null) {
                    rcb.setText(authRealm);  // Use what user supplied
                } else {
                    String defaultRealm = rcb.getDefaultText();
                    if (defaultRealm != null) {
                        rcb.setText(defaultRealm); // Use what server supplied
                    } else {
                        rcb.setText("");  // Specify no realm
                    }
                }
            } else {
                throw new UnsupportedCallbackException(callbacks[i]);
            }
        }
}
项目:Smack    文件:SASLJavaXMechanism.java   
@Override
protected void authenticateInternal()
                throws SmackException {
    String[] mechanisms = { getName() };
    Map<String, String> props = getSaslProps();
    try {
        sc = Sasl.createSaslClient(mechanisms, null, "xmpp", getServerName(), props,
                        new CallbackHandler() {
                            @Override
                            public void handle(Callback[] callbacks) throws IOException,
                                            UnsupportedCallbackException {
                                for (int i = 0; i < callbacks.length; i++) {
                                    if (callbacks[i] instanceof NameCallback) {
                                        NameCallback ncb = (NameCallback) callbacks[i];
                                        ncb.setName(authenticationId);
                                    }
                                    else if (callbacks[i] instanceof PasswordCallback) {
                                        PasswordCallback pcb = (PasswordCallback) callbacks[i];
                                        pcb.setPassword(password.toCharArray());
                                    }
                                    else if (callbacks[i] instanceof RealmCallback) {
                                        RealmCallback rcb = (RealmCallback) callbacks[i];
                                        // Retrieve the REALM from the challenge response that
                                        // the server returned when the client initiated the
                                        // authentication exchange. If this value is not null or
                                        // empty, *this value* has to be sent back to the server
                                        // in the client's response to the server's challenge
                                        String text = rcb.getDefaultText();
                                        // The SASL client (sc) created in smack uses
                                        // rcb.getText when creating the negotiatedRealm to send
                                        // it back to the server. Make sure that this value
                                        // matches the server's realm
                                        rcb.setText(text);
                                    }
                                    else if (callbacks[i] instanceof RealmChoiceCallback) {
                                        // unused, prevents UnsupportedCallbackException
                                        // RealmChoiceCallback rccb =
                                        // (RealmChoiceCallback)callbacks[i];
                                    }
                                    else {
                                        throw new UnsupportedCallbackException(callbacks[i]);
                                    }
                                }
                            }

                        });
    }
    catch (SaslException e) {
        throw new SmackException(e);
    }
}
项目:infobip-open-jdk-8    文件:DefaultCallbackHandler.java   
public void handle(Callback[] callbacks)
    throws IOException, UnsupportedCallbackException {
        for (int i = 0; i < callbacks.length; i++) {
            if (callbacks[i] instanceof NameCallback) {
                ((NameCallback)callbacks[i]).setName(authenticationID);

            } else if (callbacks[i] instanceof PasswordCallback) {
                ((PasswordCallback)callbacks[i]).setPassword(passwd);

            } else if (callbacks[i] instanceof RealmChoiceCallback) {
                /* Deals with a choice of realms */
                String[] choices =
                    ((RealmChoiceCallback)callbacks[i]).getChoices();
                int selected = 0;

                if (authRealm != null && authRealm.length() > 0) {
                    selected = -1; // no realm chosen
                    for (int j = 0; j < choices.length; j++) {
                        if (choices[j].equals(authRealm)) {
                            selected = j;
                        }
                    }
                    if (selected == -1) {
                        StringBuffer allChoices = new StringBuffer();
                        for (int j = 0; j <  choices.length; j++) {
                            allChoices.append(choices[j] + ",");
                        }
                        throw new IOException("Cannot match " +
                            "'java.naming.security.sasl.realm' property value, '" +
                            authRealm + "' with choices " + allChoices +
                            "in RealmChoiceCallback");
                    }
                }

                ((RealmChoiceCallback)callbacks[i]).setSelectedIndex(selected);

            } else if (callbacks[i] instanceof RealmCallback) {
                /* 1 or 0 realms specified in challenge */
                RealmCallback rcb = (RealmCallback) callbacks[i];
                if (authRealm != null) {
                    rcb.setText(authRealm);  // Use what user supplied
                } else {
                    String defaultRealm = rcb.getDefaultText();
                    if (defaultRealm != null) {
                        rcb.setText(defaultRealm); // Use what server supplied
                    } else {
                        rcb.setText("");  // Specify no realm
                    }
                }
            } else {
                throw new UnsupportedCallbackException(callbacks[i]);
            }
        }
}
项目:jdk8u-dev-jdk    文件:DefaultCallbackHandler.java   
public void handle(Callback[] callbacks)
    throws IOException, UnsupportedCallbackException {
        for (int i = 0; i < callbacks.length; i++) {
            if (callbacks[i] instanceof NameCallback) {
                ((NameCallback)callbacks[i]).setName(authenticationID);

            } else if (callbacks[i] instanceof PasswordCallback) {
                ((PasswordCallback)callbacks[i]).setPassword(passwd);

            } else if (callbacks[i] instanceof RealmChoiceCallback) {
                /* Deals with a choice of realms */
                String[] choices =
                    ((RealmChoiceCallback)callbacks[i]).getChoices();
                int selected = 0;

                if (authRealm != null && authRealm.length() > 0) {
                    selected = -1; // no realm chosen
                    for (int j = 0; j < choices.length; j++) {
                        if (choices[j].equals(authRealm)) {
                            selected = j;
                        }
                    }
                    if (selected == -1) {
                        StringBuffer allChoices = new StringBuffer();
                        for (int j = 0; j <  choices.length; j++) {
                            allChoices.append(choices[j] + ",");
                        }
                        throw new IOException("Cannot match " +
                            "'java.naming.security.sasl.realm' property value, '" +
                            authRealm + "' with choices " + allChoices +
                            "in RealmChoiceCallback");
                    }
                }

                ((RealmChoiceCallback)callbacks[i]).setSelectedIndex(selected);

            } else if (callbacks[i] instanceof RealmCallback) {
                /* 1 or 0 realms specified in challenge */
                RealmCallback rcb = (RealmCallback) callbacks[i];
                if (authRealm != null) {
                    rcb.setText(authRealm);  // Use what user supplied
                } else {
                    String defaultRealm = rcb.getDefaultText();
                    if (defaultRealm != null) {
                        rcb.setText(defaultRealm); // Use what server supplied
                    } else {
                        rcb.setText("");  // Specify no realm
                    }
                }
            } else {
                throw new UnsupportedCallbackException(callbacks[i]);
            }
        }
}
项目:jdk7-jdk    文件:DefaultCallbackHandler.java   
public void handle(Callback[] callbacks)
    throws IOException, UnsupportedCallbackException {
        for (int i = 0; i < callbacks.length; i++) {
            if (callbacks[i] instanceof NameCallback) {
                ((NameCallback)callbacks[i]).setName(authenticationID);

            } else if (callbacks[i] instanceof PasswordCallback) {
                ((PasswordCallback)callbacks[i]).setPassword(passwd);

            } else if (callbacks[i] instanceof RealmChoiceCallback) {
                /* Deals with a choice of realms */
                String[] choices =
                    ((RealmChoiceCallback)callbacks[i]).getChoices();
                int selected = 0;

                if (authRealm != null && authRealm.length() > 0) {
                    selected = -1; // no realm chosen
                    for (int j = 0; j < choices.length; j++) {
                        if (choices[j].equals(authRealm)) {
                            selected = j;
                        }
                    }
                    if (selected == -1) {
                        StringBuffer allChoices = new StringBuffer();
                        for (int j = 0; j <  choices.length; j++) {
                            allChoices.append(choices[j] + ",");
                        }
                        throw new IOException("Cannot match " +
                            "'java.naming.security.sasl.realm' property value, '" +
                            authRealm + "' with choices " + allChoices +
                            "in RealmChoiceCallback");
                    }
                }

                ((RealmChoiceCallback)callbacks[i]).setSelectedIndex(selected);

            } else if (callbacks[i] instanceof RealmCallback) {
                /* 1 or 0 realms specified in challenge */
                RealmCallback rcb = (RealmCallback) callbacks[i];
                if (authRealm != null) {
                    rcb.setText(authRealm);  // Use what user supplied
                } else {
                    String defaultRealm = rcb.getDefaultText();
                    if (defaultRealm != null) {
                        rcb.setText(defaultRealm); // Use what server supplied
                    } else {
                        rcb.setText("");  // Specify no realm
                    }
                }
            } else {
                throw new UnsupportedCallbackException(callbacks[i]);
            }
        }
}
项目:openjdk-source-code-learn    文件:DefaultCallbackHandler.java   
public void handle(Callback[] callbacks)
    throws IOException, UnsupportedCallbackException {
        for (int i = 0; i < callbacks.length; i++) {
            if (callbacks[i] instanceof NameCallback) {
                ((NameCallback)callbacks[i]).setName(authenticationID);

            } else if (callbacks[i] instanceof PasswordCallback) {
                ((PasswordCallback)callbacks[i]).setPassword(passwd);

            } else if (callbacks[i] instanceof RealmChoiceCallback) {
                /* Deals with a choice of realms */
                String[] choices =
                    ((RealmChoiceCallback)callbacks[i]).getChoices();
                int selected = 0;

                if (authRealm != null && authRealm.length() > 0) {
                    selected = -1; // no realm chosen
                    for (int j = 0; j < choices.length; j++) {
                        if (choices[j].equals(authRealm)) {
                            selected = j;
                        }
                    }
                    if (selected == -1) {
                        StringBuffer allChoices = new StringBuffer();
                        for (int j = 0; j <  choices.length; j++) {
                            allChoices.append(choices[j] + ",");
                        }
                        throw new IOException("Cannot match " +
                            "'java.naming.security.sasl.realm' property value, '" +
                            authRealm + "' with choices " + allChoices +
                            "in RealmChoiceCallback");
                    }
                }

                ((RealmChoiceCallback)callbacks[i]).setSelectedIndex(selected);

            } else if (callbacks[i] instanceof RealmCallback) {
                /* 1 or 0 realms specified in challenge */
                RealmCallback rcb = (RealmCallback) callbacks[i];
                if (authRealm != null) {
                    rcb.setText(authRealm);  // Use what user supplied
                } else {
                    String defaultRealm = rcb.getDefaultText();
                    if (defaultRealm != null) {
                        rcb.setText(defaultRealm); // Use what server supplied
                    } else {
                        rcb.setText("");  // Specify no realm
                    }
                }
            } else {
                throw new UnsupportedCallbackException(callbacks[i]);
            }
        }
}
项目:OLD-OpenJDK8    文件:DefaultCallbackHandler.java   
public void handle(Callback[] callbacks)
    throws IOException, UnsupportedCallbackException {
        for (int i = 0; i < callbacks.length; i++) {
            if (callbacks[i] instanceof NameCallback) {
                ((NameCallback)callbacks[i]).setName(authenticationID);

            } else if (callbacks[i] instanceof PasswordCallback) {
                ((PasswordCallback)callbacks[i]).setPassword(passwd);

            } else if (callbacks[i] instanceof RealmChoiceCallback) {
                /* Deals with a choice of realms */
                String[] choices =
                    ((RealmChoiceCallback)callbacks[i]).getChoices();
                int selected = 0;

                if (authRealm != null && authRealm.length() > 0) {
                    selected = -1; // no realm chosen
                    for (int j = 0; j < choices.length; j++) {
                        if (choices[j].equals(authRealm)) {
                            selected = j;
                        }
                    }
                    if (selected == -1) {
                        StringBuffer allChoices = new StringBuffer();
                        for (int j = 0; j <  choices.length; j++) {
                            allChoices.append(choices[j] + ",");
                        }
                        throw new IOException("Cannot match " +
                            "'java.naming.security.sasl.realm' property value, '" +
                            authRealm + "' with choices " + allChoices +
                            "in RealmChoiceCallback");
                    }
                }

                ((RealmChoiceCallback)callbacks[i]).setSelectedIndex(selected);

            } else if (callbacks[i] instanceof RealmCallback) {
                /* 1 or 0 realms specified in challenge */
                RealmCallback rcb = (RealmCallback) callbacks[i];
                if (authRealm != null) {
                    rcb.setText(authRealm);  // Use what user supplied
                } else {
                    String defaultRealm = rcb.getDefaultText();
                    if (defaultRealm != null) {
                        rcb.setText(defaultRealm); // Use what server supplied
                    } else {
                        rcb.setText("");  // Specify no realm
                    }
                }
            } else {
                throw new UnsupportedCallbackException(callbacks[i]);
            }
        }
}