/* */ package org.jboss.as.ejb3.component.stateful; /* */ /* */ import java.io.ObjectStreamException; /* */ import java.io.Serializable; /* */ import java.util.Map; /* */ import java.util.Map.Entry; /* */ import java.util.concurrent.atomic.AtomicReference; /* */ import org.jboss.as.naming.ManagedReference; /* */ import org.jboss.as.naming.ValueManagedReference; /* */ import org.jboss.as.server.CurrentServiceContainer; /* */ import org.jboss.ejb.client.SessionID; /* */ import org.jboss.invocation.InterceptorFactoryContext; /* */ import org.jboss.invocation.SimpleInterceptorFactoryContext; /* */ import org.jboss.msc.service.ServiceContainer; /* */ import org.jboss.msc.service.ServiceController; /* */ import org.jboss.msc.service.ServiceName; /* */ import org.jboss.msc.value.ImmediateValue; /* */ /* */ public class SerializedStatefulSessionComponent /* */ implements Serializable /* */ { /* */ private static final long serialVersionUID = 1L; /* */ private final String serviceName; /* */ private final SessionID sessionID; /* */ private final Map serializableInterceptors; /* */ private final ManagedReference instance; /* */ /* */ public SerializedStatefulSessionComponent(ManagedReference instance, SessionID sessionID, String serviceName, Map serializableInterceptors) /* */ { /* 34 */ this.instance = instance; /* 35 */ this.sessionID = sessionID; /* 36 */ this.serviceName = serviceName; /* 37 */ this.serializableInterceptors = serializableInterceptors; /* */ } /* */ /* */ private Object readResolve() throws ObjectStreamException /* */ { /* 42 */ ServiceName name = ServiceName.parse(this.serviceName); /* 43 */ ServiceController service = CurrentServiceContainer.getServiceContainer().getRequiredService(name); /* 44 */ StatefulSessionComponent component = (StatefulSessionComponent)service.getValue(); /* 45 */ InterceptorFactoryContext context = new SimpleInterceptorFactoryContext(); /* */ /* 47 */ for (Map.Entry entry : this.serializableInterceptors.entrySet()) { /* 48 */ AtomicReference referenceReference = new AtomicReference(new ValueManagedReference(new ImmediateValue(entry.getValue()))); /* 49 */ context.getContextData().put(entry.getKey(), referenceReference); /* */ } /* 51 */ context.getContextData().put(SessionID.class, this.sessionID); /* 52 */ return component.constructComponentInstance(this.instance, false, context); /* */ } /* */ } /* Location: D:\Venkata Damarnath\Damar\jBoss\surendra\jboss-as-7.1.1.Final\modules\org\jboss\as\ejb3\main\jboss-as-ejb3-7.1.1.Final.jar * Qualified Name: org.jboss.as.ejb3.component.stateful.SerializedStatefulSessionComponent * JD-Core Version: 0.6.2 */