@Override public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { for (Callback callback: callbacks) { if (callback instanceof NameCallback) { ((NameCallback) callback).setName(username); } else if (callback instanceof PasswordCallback) { ((PasswordCallback) callback).setPassword(credentials.toString().toCharArray()); } else if (callback instanceof ObjectCallback) { ((ObjectCallback) callback).setObject(credentials); } else if (callback instanceof RequestParameterCallback) { AbstractHttpConnection connection = AbstractHttpConnection.getCurrentConnection(); Request request = (connection == null ? null : connection.getRequest()); if (request != null) { RequestParameterCallback rpc = (RequestParameterCallback) callback; rpc.setParameterValues(Arrays.asList(request.getParameterValues(rpc.getParameterName()))); } } else { throw new UnsupportedCallbackException(callback); } } } };
public Callback[] configureCallbacks () { Callback[] callbacks = new Callback[3]; callbacks[0] = new NameCallback("Enter user name"); callbacks[1] = new ObjectCallback(); callbacks[2] = new PasswordCallback("Enter password", false); //only used if framework does not support the ObjectCallback return callbacks; }
Object webCredential = null; webCredential = ((ObjectCallback)callbacks[1]).getObject(); //first check if ObjectCallback has the credential if (webCredential == null) webCredential = ((PasswordCallback)callbacks[2]).getPassword(); //use standard PasswordCallback
Object webCredential = null; webCredential = ((ObjectCallback)callbacks[1]).getObject(); //first check if ObjectCallback has the credential if (webCredential == null) webCredential = ((PasswordCallback)callbacks[2]).getPassword(); //use standard PasswordCallback
((ObjectCallback)callback).setObject(credentials);
Object webCredential = ((ObjectCallback) callbacks[1]).getObject();
public Callback[] configureCallbacks () { Callback[] callbacks = new Callback[3]; callbacks[0] = new NameCallback("Enter user name"); callbacks[1] = new ObjectCallback(); callbacks[2] = new PasswordCallback("Enter password", false); //only used if framework does not support the ObjectCallback return callbacks; }
((ObjectCallback)callback).setObject(credentials);
Object webCredential = ((ObjectCallback) callbacks[1]).getObject();
((ObjectCallback)callbacks[i]).setObject(getCredential());
((ObjectCallback)callbacks[i]).setObject(getCredential());