package org.tempuri;
import java.io.IOException;
import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.UnsupportedCallbackException;
import org.apache.ws.security.WSPasswordCallback;
import org.apache.log4j.*;

/**
* PWCallback for the Client
*/
public class PWCallback implements CallbackHandler {

public static Logger logger = Logger.getLogger("PWCallback.class");

public void handle(Callback[] callbacks) throws IOException,UnsupportedCallbackException {

for (int i = 0; i < callbacks.length; i++) {

		if (callbacks[i] instanceof WSPasswordCallback) {
		WSPasswordCallback pc = (WSPasswordCallback)callbacks[i];
		// set the password given a username
		if ("adminuser".equals(pc.getIdentifer())) {
		pc.setPassword("ADMIN$");
		logger.info("The user name is valid...");
		}       
		} else {
		throw new UnsupportedCallbackException(callbacks[i], "Unrecognized Callback");
		}
}
}

} 
