package connector; import javax.resource.spi.work.SecurityContext; import javax.security.auth.callback.CallbackHandler; import javax.security.auth.callback.Callback; import javax.security.auth.Subject; import java.security.Principal; import java.util.List; import java.util.ArrayList; public class SinglePrincipalSIC extends SecurityContext{ private Principal p = null; public SinglePrincipalSIC(Principal p){ this.p = p; } public void setupSecurityContext(CallbackHandler callbackHandler, Subject executionSubject, Subject serviceSubject) { executionSubject.getPrincipals().add(p); try { List<Callback> callbacks = new ArrayList<Callback>(); Callback callbackArray[] = new Callback[callbacks.size()]; callbackHandler.handle(callbacks.toArray(callbackArray)); } catch (Exception e) { debug(e.toString()); } } public void debug(String message) { System.out.println("JSR-322 [RA] [SinglePrincipalSIC]: " + message); } }