use of com.sun.enterprise.web.WebModule in project Payara by payara.
the class WebContainerListener method containerEvent.
public void containerEvent(ContainerEvent event) {
if (_logger.isLoggable(Level.FINEST)) {
_logger.log(Level.FINEST, LogFacade.CONTAINER_EVENT, event.getType() + "," + event.getContainer() + "," + event.getData());
}
String type = event.getType();
try {
WebModule wm = (WebModule) event.getContainer();
if (beforeEvents.contains(type)) {
preInvoke(wm);
if (type.equals(ContainerEvent.BEFORE_CONTEXT_DESTROYED)) {
try {
// must close the validator factory
if (validationNamingProxy != null) {
Object validatorFactory = validationNamingProxy.handle("java:comp/ValidatorFactory");
if (validatorFactory != null) {
((ValidatorFactory) validatorFactory).close();
}
}
} catch (NamingException exc) {
if (_logger.isLoggable(Level.WARNING)) {
_logger.log(Level.FINEST, LogFacade.EXCEPTION_GETTING_VALIDATOR_FACTORY, exc);
}
}
}
} else if (afterEvents.contains(type)) {
if (type.equals(ContainerEvent.AFTER_FILTER_DESTROYED) || type.equals(ContainerEvent.AFTER_CONTEXT_DESTROYED)) {
preDestroy(event);
}
postInvoke(wm);
} else if (ContainerEvent.PRE_DESTROY.equals(type)) {
preInvoke(wm);
preDestroy(event);
postInvoke(wm);
}
} catch (Throwable t) {
String msg = rb.getString(LogFacade.EXCEPTION_DURING_HANDLE_EVENT);
msg = MessageFormat.format(msg, new Object[] { type, event.getContainer() });
_logger.log(Level.SEVERE, msg, t);
}
}
use of com.sun.enterprise.web.WebModule in project Payara by payara.
the class WebContainerListener method preInvoke.
private void preInvoke(WebModule ctx) {
WebModule wm = (WebModule) ctx;
ComponentInvocation inv = new WebComponentInvocation(wm);
invocationMgr.preInvoke(inv);
}
use of com.sun.enterprise.web.WebModule in project Payara by payara.
the class WSTCPAdapterRegistryImpl method createWSAdapter.
private TCPAdapter createWSAdapter(@NotNull final String wsPath, @NotNull final WSEndpointDescriptor wsEndpointDescriptor) throws Exception {
if (wsEndpointDescriptor.isEJB()) {
final EjbRuntimeEndpointInfo ejbEndPtInfo = (EjbRuntimeEndpointInfo) V3Module.getWSEjbEndpointRegistry().getEjbWebServiceEndpoint(wsEndpointDescriptor.getURI(), "POST", null);
final AdapterInvocationInfo adapterInfo = (AdapterInvocationInfo) ejbEndPtInfo.prepareInvocation(true);
return new Ejb109Adapter(wsEndpointDescriptor.getWSServiceName().toString(), wsPath, adapterInfo.getAdapter().getEndpoint(), new ServletFakeArtifactSet(wsEndpointDescriptor.getRequestURL(), wsEndpointDescriptor.getUrlPattern()), ejbEndPtInfo, adapterInfo);
} else {
final String uri = wsEndpointDescriptor.getURI();
final Adapter adapter = JAXWSAdapterRegistry.getInstance().getAdapter(wsEndpointDescriptor.getContextRoot(), uri, uri);
final WebModule webModule = AppServRegistry.getWebModule(wsEndpointDescriptor.getWSServiceEndpoint());
final ComponentInvocation invocation = new WebComponentInvocation(webModule);
return new Web109Adapter(wsEndpointDescriptor.getWSServiceName().toString(), wsPath, adapter.getEndpoint(), new ServletFakeArtifactSet(wsEndpointDescriptor.getRequestURL(), wsEndpointDescriptor.getUrlPattern()), invocation);
}
}
use of com.sun.enterprise.web.WebModule in project Payara by payara.
the class WebServiceContextImpl method isUserInRole.
public boolean isUserInRole(String role) {
WebServiceContractImpl wscImpl = WebServiceContractImpl.getInstance();
ComponentInvocation.ComponentInvocationType EJBInvocationType = ComponentInvocation.ComponentInvocationType.EJB_INVOCATION;
InvocationManager mgr = wscImpl.getInvocationManager();
if ((mgr != null) && (EJBInvocationType.equals(mgr.getCurrentInvocation().getInvocationType()))) {
EJBInvocation inv = (EJBInvocation) mgr.getCurrentInvocation();
boolean res = inv.isCallerInRole(role);
return res;
}
// This is a servlet endpoint
boolean ret = this.jaxwsContextDelegate.isUserInRole(role);
// handling for webservice with WS-Security
if (!ret && secServ != null) {
if (mgr.getCurrentInvocation().getContainer() instanceof WebModule) {
Principal p = getUserPrincipal();
ret = secServ.isUserInRole((WebModule) mgr.getCurrentInvocation().getContainer(), p, servletName, role);
}
}
return ret;
}
Aggregations