public Object get(String key){ if (PolicyContextHandlerImpl.HTTP_SERVLET_REQUEST.equalsIgnoreCase(key)){ return httpReq; } else if (PolicyContextHandlerImpl.SUBJECT.equalsIgnoreCase(key)){ return SecurityContext.getCurrent().getSubject(); } else if (PolicyContextHandlerImpl.REUSE.equalsIgnoreCase(key)) { PermissionCacheFactory.resetCaches(); return Integer.valueOf(0); } if (inv == null) { return null; } if (PolicyContextHandlerImpl.SOAP_MESSAGE.equalsIgnoreCase(key)) { return (ejbDelegate != null) ? ejbDelegate.getSOAPMessage(inv) : null; } else if (PolicyContextHandlerImpl.ENTERPRISE_BEAN.equalsIgnoreCase(key)) { return (ejbDelegate != null) ? ejbDelegate.getEnterpriseBean(inv) : null; } else if (PolicyContextHandlerImpl.EJB_ARGUMENTS.equalsIgnoreCase(key)) { return (ejbDelegate != null) ? ejbDelegate.getEJbArguments(inv) : null; } return null; }