public Object processInvocation(final InterceptorContext context) throws Exception { ComponentView view = context.getPrivateData(ComponentView.class); return view.invoke(context); } });
@Override public Object processInvocation(final InterceptorContext context) throws Exception { final Object instance = context.getPrivateData(ComponentInstance.class).getInstance(); try { return method.invoke(instance, context.getPrivateData(PARAMETERS_KEY)); } catch (InvocationTargetException e) { throw Interceptors.rethrow(e.getCause()); } } }
@Override public Object processInvocation(final InterceptorContext context) throws Exception { SessionID sessionId = context.getPrivateData(SessionID.class); return new StatefulSerializedProxy(serviceName, sessionId); }
protected static <C extends EJBComponent> C getComponent(InterceptorContext context, Class<C> componentType) { Component component = context.getPrivateData(Component.class); if (component == null) { throw EjbLogger.ROOT_LOGGER.componentNotSetInInterceptor(context); } return componentType.cast(component); } }
protected SessionID getSessionIdOf(final InterceptorContext ctx) { final StatefulSessionComponentInstance instance = (StatefulSessionComponentInstance) ctx.getPrivateData(ComponentInstance.class); return instance.getId(); }
@Override public Object processInvocation(InterceptorContext context) throws Exception { final ComponentView componentView = context.getPrivateData(ComponentView.class); if (componentView == null) { throw EjbLogger.ROOT_LOGGER.componentViewNotAvailableInContext(context); } return "Proxy for view class: " + componentView.getViewClass().getName() + " of EJB: " + name; } }
@Override public Object processInvocation(final InterceptorContext context) throws Exception { WeldInjectionContext injectionContext = context.getPrivateData(WeldInjectionContext.class); ManagedReference reference = (ManagedReference) context.getPrivateData(ComponentInstance.class).getInstanceData(BasicComponentInstance.INSTANCE_KEY); if (reference != null) { injectionContext.inject(reference.getInstance()); } return context.proceed(); } }
@Override public Object processInvocation(final InterceptorContext context) throws Exception { StatefulSessionComponentInstance instance = (StatefulSessionComponentInstance) context.getPrivateData(ComponentInstance.class); return instance.getEjb2XRemoveInterceptor().processInvocation(context); } }
@Override public Object processInvocation(final InterceptorContext context) throws Exception { final InvocationType marker = context.getPrivateData(InvocationType.class); if (marker == InvocationType.TIMER) { return aroundTimeout.processInvocation(context); } else { return aroundInvoke.processInvocation(context); } } };
public MessageContext getMessageContext() throws IllegalStateException { final InterceptorContext invocation = CurrentInvocationContext.get(); final MessageContext context = invocation.getPrivateData(MessageContext.class); if (context == null) { throw EjbLogger.ROOT_LOGGER.cannotCall("getMessageContext()", "MessageContext"); } return context; }
@Override public Object getInstance() { // get the current invocation context and the EJBComponent out of it final InterceptorContext currentInvocationContext = CurrentInvocationContext.get(); final EJBComponent ejbComponent = (EJBComponent) currentInvocationContext.getPrivateData(Component.class); if (ejbComponent == null) { throw EjbLogger.EJB3_TIMER_LOGGER.failToGetEjbComponent(currentInvocationContext); } return ejbComponent.getTimerService(); } }
public boolean wasCancelCalled() throws IllegalStateException { final InterceptorContext invocation = CurrentInvocationContext.get(); final CancellationFlag flag = invocation.getPrivateData(CancellationFlag.class); if (flag == null) { throw EjbLogger.ROOT_LOGGER.noAsynchronousInvocationInProgress(); } return flag.isCancelFlagSet(); }
@Override public Object processInvocation(final InterceptorContext context) throws Exception { SessionBeanComponentInstance instance = (SessionBeanComponentInstance) context.getPrivateData(ComponentInstance.class); final InvocationType invocationType = context.getPrivateData(InvocationType.class); try { context.putPrivateData(InvocationType.class, InvocationType.DEPENDENCY_INJECTION); ((SessionBean) context.getTarget()).setSessionContext(instance.getEjbContext()); } finally { context.putPrivateData(InvocationType.class, invocationType); } return context.proceed(); } }
/** * {@inheritDoc} */ public Object processInvocation(final InterceptorContext context) throws Exception { try { return context.proceed(); } finally { final ManagedReference managedReference = (ManagedReference) context.getPrivateData(ComponentInstance.class).getInstanceData(contextKey); if (managedReference != null) { managedReference.release(); } } } }
@Override public Object processInvocation(InterceptorContext context) throws Exception { final MessageDrivenComponentInstance componentInstance = (MessageDrivenComponentInstance) context.getPrivateData(ComponentInstance.class); final MessageDrivenContext messageDrivenContext = (MessageDrivenContext) componentInstance.getEjbContext(); ((MessageDrivenBean) context.getTarget()).setMessageDrivenContext(messageDrivenContext); return context.proceed(); } }
@Override public Object processInvocation(InterceptorContext context) throws Exception { WeldInjectionContext injectionCtx = context.getPrivateData(WeldInjectionContext.class); setupAroundConstructCallback(injectionCtx.getContext(), context); /* * Here we delegate to Weld to start component construction. WF will be called back on the callback registered within #setupAroundConstructCallback. * The return value of the following call is not important as we get the component reference from ConstructionContext in WeldManagedReferenceFactory. */ injectionCtx.produce(); return context.getTarget(); }
@Override public Object processInvocation(InterceptorContext context) throws Exception { ManagedReference reference = (ManagedReference) context.getPrivateData(ComponentInstance.class).getInstanceData(BasicComponentInstance.INSTANCE_KEY); if (reference != null) { run(reference.getInstance()); } return context.proceed(); }
public static EJBContextImpl getEjbContext() { final InterceptorContext context = get(); if(context == null) { throw EjbLogger.ROOT_LOGGER.noEjbContextAvailable(); } final ComponentInstance component = context.getPrivateData(ComponentInstance.class); if(!(component instanceof EjbComponentInstance)) { throw EjbLogger.ROOT_LOGGER.currentComponentNotAEjb(component); } return ((EjbComponentInstance)component).getEjbContext(); }
@Override public ManagedReference create(final InterceptorContext context) { final ConstructionHandle<?> ctx = context.getPrivateData(ConstructionHandle.class); final WeldInjectionContext weldCtx = context.getPrivateData(WeldInjectionContext.class); if (ctx != null) { // @AroundConstructor interception enabled Object instance = ctx.proceed(context.getParameters(), context.getContextData()); // let Weld create the instance now return new WeldManagedReference(weldCtx.getContext(), instance); } else { // @AroundConstructor interception handled by Weld alone - no integration with EJB interceptors return new WeldManagedReference(weldCtx.getContext(), weldCtx.produce()); } }
public Class<?> getInvokedBusinessInterface() throws IllegalStateException { final InterceptorContext invocation = CurrentInvocationContext.get(); final ComponentView view = invocation.getPrivateData(ComponentView.class); if (view.getViewClass().equals(getComponent().getEjbObjectType()) || view.getViewClass().equals(getComponent().getEjbLocalObjectType())) { throw EjbLogger.ROOT_LOGGER.cannotCall("getInvokedBusinessInterface", "EjbObject", "EJBLocalObject"); } return view.getViewClass(); }