@SuppressWarnings({"unchecked"}) private List<HandlerInfo> createHandlerInfos(final List<HandlerChainData> handlerChains) throws ClassNotFoundException { if (handlerChains == null || handlerChains.isEmpty()) return null; final List<HandlerData> handlers = handlerChains.get(0).getHandlers(); final List<HandlerInfo> handlerInfos = new ArrayList<HandlerInfo>(handlers.size()); for (final HandlerData handler : handlers) { final Class<?> handlerClass = handler.getHandlerClass(); final Map initParams = new HashMap(handler.getInitParams()); final QName[] headers = handler.getSoapHeaders().toArray(new QName[handler.getSoapHeaders().size()]); final HandlerInfo handlerInfo = new HandlerInfo(handlerClass, initParams, headers); handlerInfos.add(handlerInfo); } return handlerInfos; } }
public static List<HandlerChainData> toHandlerChainData(final List<HandlerChainInfo> chains, final ClassLoader classLoader) throws OpenEJBException { final List<HandlerChainData> handlerChains = new ArrayList<HandlerChainData>(); for (final HandlerChainInfo handlerChain : chains) { final List<HandlerData> handlers = new ArrayList<HandlerData>(); for (final HandlerInfo handler : handlerChain.handlers) { try { final Class<?> handlerClass = classLoader.loadClass(handler.handlerClass); final HandlerData handlerData = new HandlerData(handlerClass); handlerData.getInitParams().putAll(handler.initParams); handlerData.getSoapHeaders().addAll(handler.soapHeaders); handlerData.getSoapRoles().addAll(handler.soapRoles); handlers.add(handlerData); } catch (final ClassNotFoundException e) { throw new OpenEJBException("Could not load handler class " + handler.handlerClass); } } final HandlerChainData handlerChainData = new HandlerChainData(handlerChain.serviceNamePattern, handlerChain.portNamePattern, handlerChain.protocolBindings, handlers); handlerChains.add(handlerChainData); } return handlerChains; }
private List<Handler> buildHandlers(javax.xml.ws.handler.PortInfo portInfo, HandlerChainData handlerChain) { if (!matchServiceName(portInfo, handlerChain.getServiceNamePattern()) || !matchPortName(portInfo, handlerChain.getPortNamePattern()) || !matchBinding(portInfo, handlerChain.getProtocolBindings())) { return Collections.emptyList(); } List<Handler> handlers = new ArrayList<Handler>(handlerChain.getHandlers().size()); for (HandlerData handler : handlerChain.getHandlers()) { try { Class<? extends Handler> handlerClass = handler.getHandlerClass().asSubclass(Handler.class); InjectionProcessor<Handler> processor = new InjectionProcessor<Handler>(handlerClass, injections, handler.getPostConstruct(), handler.getPreDestroy(), unwrap(context)); processor.createInstance(); processor.postConstruct(); Handler handlerInstance = processor.getInstance(); handlers.add(handlerInstance); handlerInstances.add(processor); } catch (Exception e) { throw new WebServiceException("Failed to instantiate handler", e); } } return handlers; }
@ManagedAttribute @Description("The handler list") public TabularData getHandlers() { final List<String> names = new ArrayList<String>(); final List<String> values = new ArrayList<String>(); for (final HandlerChainData handlerChainData : port.getHandlerChains()) { for (final HandlerData handlerData : handlerChainData.getHandlers()) { names.add(handlerChainData.getServiceNamePattern().toString()); values.add(handlerData.getHandlerClass().getName()); } } return LocalMBeanServer.tabularData( "handlers", "The list of handlers", names.toArray(new String[names.size()]), values.toArray(new String[values.size()])); }
if (bm.isInUse()) { try { final Set<Bean<?>> beans = bm.getBeans(handler.getHandlerClass()); final Bean<?> bean = bm.resolve(beans); if (bean != null) { // proxy so faster to do it final Class<? extends Handler> handlerClass = handler.getHandlerClass().asSubclass(Handler.class); final InjectionProcessor<Handler> processor = new InjectionProcessor<Handler>(handlerClass, injections, handler.getPostConstruct(), handler.getPreDestroy(), unwrap(context)); processor.createInstance();
@ManagedAttribute @Description("The handler list") public TabularData getHandlers() { final List<String> names = new ArrayList<String>(); final List<String> values = new ArrayList<String>(); for (final HandlerChainData handlerChainData : port.getHandlerChains()) { for (final HandlerData handlerData : handlerChainData.getHandlers()) { names.add(handlerChainData.getServiceNamePattern().toString()); values.add(handlerData.getHandlerClass().getName()); } } return LocalMBeanServer.tabularData( "handlers", "The list of handlers", names.toArray(new String[names.size()]), values.toArray(new String[values.size()])); }
if (bm.isInUse()) { try { final Set<Bean<?>> beans = bm.getBeans(handler.getHandlerClass()); final Bean<?> bean = bm.resolve(beans); if (bean != null) { // proxy so faster to do it final Class<? extends Handler> handlerClass = handler.getHandlerClass().asSubclass(Handler.class); final InjectionProcessor<Handler> processor = new InjectionProcessor<Handler>(handlerClass, injections, handler.getPostConstruct(), handler.getPreDestroy(), unwrap(context)); processor.createInstance();
public static List<HandlerChainData> toHandlerChainData(List<HandlerChainInfo> chains, ClassLoader classLoader) throws OpenEJBException { List<HandlerChainData> handlerChains = new ArrayList<HandlerChainData>(); for (HandlerChainInfo handlerChain : chains) { List<HandlerData> handlers = new ArrayList<HandlerData>(); for (HandlerInfo handler : handlerChain.handlers) { try { Class<?> handlerClass = classLoader.loadClass(handler.handlerClass); HandlerData handlerData = new HandlerData(handlerClass); handlerData.getInitParams().putAll(handler.initParams); handlerData.getSoapHeaders().addAll(handler.soapHeaders); handlerData.getSoapRoles().addAll(handler.soapRoles); handlers.add(handlerData); } catch (ClassNotFoundException e) { throw new OpenEJBException("Could not load handler class "+ handler.handlerClass); } } HandlerChainData handlerChainData = new HandlerChainData(handlerChain.serviceNamePattern, handlerChain.portNamePattern, handlerChain.protocolBindings, handlers); handlerChains.add(handlerChainData); } return handlerChains; }
@ManagedAttribute @Description("The handler list") public TabularData getHandlers() { final List<String> names = new ArrayList<String>(); final List<String> values = new ArrayList<String>(); for (final HandlerChainData handlerChainData : port.getHandlerChains()) { for (final HandlerData handlerData : handlerChainData.getHandlers()) { names.add(handlerChainData.getServiceNamePattern().toString()); values.add(handlerData.getHandlerClass().getName()); } } return LocalMBeanServer.tabularData( "handlers", "The list of handlers", names.toArray(new String[names.size()]), values.toArray(new String[values.size()])); }
for (final HandlerData handler : handlerChain.getHandlers()) { final HandlerMetaData handlerMetaData = new HandlerMetaData(); handlerMetaData.setHandlerClass(handler.getHandlerClass().getName()); for (final Method method : handler.getPostConstruct()) { final CallbackMetaData callbackMetaData = new CallbackMetaData(); callbackMetaData.setClassName(method.getDeclaringClass().getName()); handlerMetaData.getPostConstruct().add(callbackMetaData); for (final Method method : handler.getPreDestroy()) { final CallbackMetaData callbackMetaData = new CallbackMetaData(); callbackMetaData.setClassName(method.getDeclaringClass().getName());
public static List<HandlerChainData> toHandlerChainData(final List<HandlerChainInfo> chains, final ClassLoader classLoader) throws OpenEJBException { final List<HandlerChainData> handlerChains = new ArrayList<HandlerChainData>(); for (final HandlerChainInfo handlerChain : chains) { final List<HandlerData> handlers = new ArrayList<HandlerData>(); for (final HandlerInfo handler : handlerChain.handlers) { try { final Class<?> handlerClass = classLoader.loadClass(handler.handlerClass); final HandlerData handlerData = new HandlerData(handlerClass); handlerData.getInitParams().putAll(handler.initParams); handlerData.getSoapHeaders().addAll(handler.soapHeaders); handlerData.getSoapRoles().addAll(handler.soapRoles); handlers.add(handlerData); } catch (final ClassNotFoundException e) { throw new OpenEJBException("Could not load handler class " + handler.handlerClass); } } final HandlerChainData handlerChainData = new HandlerChainData(handlerChain.serviceNamePattern, handlerChain.portNamePattern, handlerChain.protocolBindings, handlers); handlerChains.add(handlerChainData); } return handlerChains; }
@ManagedAttribute @Description("The handler list") public TabularData getHandlers() { final List<String> names = new ArrayList<String>(); final List<String> values = new ArrayList<String>(); for (final HandlerChainData handlerChainData : port.getHandlerChains()) { for (final HandlerData handlerData : handlerChainData.getHandlers()) { names.add(handlerChainData.getServiceNamePattern().toString()); values.add(handlerData.getHandlerClass().getName()); } } return LocalMBeanServer.tabularData( "handlers", "The list of handlers", names.toArray(new String[names.size()]), values.toArray(new String[values.size()])); }