package org.jboss.errai.ioc.client;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.RunAsyncCallback;
import com.sample.client.local.App;
import com.sample.client.shared.HelloMessage;
import com.sample.client.shared.Response;
import java.lang.annotation.Annotation;
import java.util.Set;
import javax.enterprise.event.Event;
import javax.inject.Provider;
import org.jboss.errai.bus.client.api.Message;
import org.jboss.errai.bus.client.framework.Subscription;
import org.jboss.errai.enterprise.client.cdi.AbstractCDIEventCallback;
import org.jboss.errai.enterprise.client.cdi.CDIEventTypeLookup;
import org.jboss.errai.enterprise.client.cdi.CDIProtocol;
import org.jboss.errai.enterprise.client.cdi.EventProvider;
import org.jboss.errai.enterprise.client.cdi.InstanceProvider;
import org.jboss.errai.enterprise.client.cdi.api.CDI;
import org.jboss.errai.ioc.client.api.ContextualTypeProvider;
import org.jboss.errai.ioc.client.api.builtin.CallerProvider;
import org.jboss.errai.ioc.client.api.builtin.DisposerProvider;
import org.jboss.errai.ioc.client.api.builtin.IOCBeanManagerProvider;
import org.jboss.errai.ioc.client.api.builtin.InitBallotProvider;
import org.jboss.errai.ioc.client.api.builtin.MessageBusProvider;
import org.jboss.errai.ioc.client.api.builtin.RequestDispatcherProvider;
import org.jboss.errai.ioc.client.api.builtin.RootPanelProvider;
import org.jboss.errai.ioc.client.api.builtin.SenderProvider;
import org.jboss.errai.ioc.client.api.qualifiers.Any;
import org.jboss.errai.ioc.client.api.qualifiers.BuiltInQualifiers;
import org.jboss.errai.ioc.client.container.BeanRef;
import org.jboss.errai.ioc.client.container.CreationalCallback;
import org.jboss.errai.ioc.client.container.CreationalContext;
import org.jboss.errai.ioc.client.container.DestructionCallback;
import org.jboss.errai.ioc.client.container.IOCBeanManager;
import org.jboss.errai.ioc.client.container.InitializationCallback;
public class BootstrapperImpl implements Bootstrapper {
private native static void org_jboss_errai_ioc_client_api_builtin_DisposerProvider_beanManager(DisposerProvider instance, IOCBeanManager value) /*-{
instance.@org.jboss.errai.ioc.client.api.builtin.DisposerProvider::beanManager = value;
}-*/;
private native static void com_sample_client_local_App_messageEvent(App instance, Event value) /*-{
instance.@com.sample.client.local.App::messageEvent = value;
}-*/;
// The main IOC bootstrap method.
public BootstrapperInjectionContext bootstrapContainer() {
CDIEventTypeLookup.get().addLookup("com.sample.client.shared.Response", "java.lang.Object");
new CDI().__resetSubsystem();
new CDI().initLookupTable(CDIEventTypeLookup.get());
final BootstrapperInjectionContext injContext = new BootstrapperInjectionContext();
CreationalContext context = injContext.getRootContext();
final CreationalCallback<EventProvider> inj1714_EventProvider_creationalCallback = new CreationalCallback<EventProvider>() {
public EventProvider getInstance(final CreationalContext context) {
Class beanType = EventProvider.class;
Annotation[] qualifiers = new Annotation[] { new Any() {
public Class annotationType() {
return Any.class;
}
} };
final EventProvider inj1700_EventProvider = new EventProvider();
BeanRef beanRef = context.getBeanReference(beanType, qualifiers);
context.addBean(beanRef, inj1700_EventProvider);
return inj1700_EventProvider;
}
};
final EventProvider inj1700_EventProvider = inj1714_EventProvider_creationalCallback.getInstance(context);
final CreationalCallback<MessageBusProvider> inj1715_MessageBusProvider_creationalCallback = new CreationalCallback<MessageBusProvider>() {
public MessageBusProvider getInstance(final CreationalContext context) {
Class beanType = MessageBusProvider.class;
Annotation[] qualifiers = new Annotation[] { new Any() {
public Class annotationType() {
return Any.class;
}
} };
final MessageBusProvider inj1696_MessageBusProvider = new MessageBusProvider();
BeanRef beanRef = context.getBeanReference(beanType, qualifiers);
context.addBean(beanRef, inj1696_MessageBusProvider);
return inj1696_MessageBusProvider;
}
};
final InitializationCallback<App> init_inj1620_App = new InitializationCallback<App>() {
public void init(final App obj) {
obj.buildUI();
}
};
final MessageBusProvider inj1696_MessageBusProvider = inj1715_MessageBusProvider_creationalCallback.getInstance(context);
final CreationalCallback<App> inj1713_App_creationalCallback = new CreationalCallback<App>() {
public App getInstance(final CreationalContext context) {
Class beanType = App.class;
Annotation[] qualifiers = new Annotation[] { new Any() {
public Class annotationType() {
return Any.class;
}
} };
final App inj1620_App = new App();
BeanRef beanRef = context.getBeanReference(beanType, qualifiers);
context.addBean(beanRef, inj1620_App);
com_sample_client_local_App_messageEvent(inj1620_App, inj1700_EventProvider.provide(new Class[] { HelloMessage.class }, null));
final Subscription var1 = CDI.subscribe("com.sample.client.shared.Response", new AbstractCDIEventCallback() {
{
}
public void callback(final Message message) {
Set<String> msgQualifiers = message.get(Set.class, CDIProtocol.Qualifiers);
if (qualifierSet.equals(msgQualifiers) || ((msgQualifiers == null) && qualifierSet.isEmpty())) {
GWT.runAsync(new RunAsyncCallback() {
public void onFailure(Throwable throwable) {
throw new RuntimeException("failed to run asynchronously", throwable);
}
public void onSuccess() {
inj1620_App.response(message.get(Response.class, CDIProtocol.BeanReference));
}
});
}
}
public String toString() {
return "Observer: com.sample.client.shared.Response []";
}
});
final Subscription var2 = inj1696_MessageBusProvider.get().subscribe("cdi.event:com.sample.client.shared.Response", CDI.ROUTING_CALLBACK);
context.addDestructionCallback(inj1620_App, new DestructionCallback<App>() {
public void destroy(final App obj) {
var1.remove();
var2.remove();
}
});
context.addInitializationCallback(inj1620_App, init_inj1620_App);
return inj1620_App;
}
};
final App inj1620_App = inj1713_App_creationalCallback.getInstance(context);
final CreationalCallback<CallerProvider> inj1716_CallerProvider_creationalCallback = new CreationalCallback<CallerProvider>() {
public CallerProvider getInstance(final CreationalContext context) {
Class beanType = CallerProvider.class;
Annotation[] qualifiers = new Annotation[] { new Any() {
public Class annotationType() {
return Any.class;
}
} };
final CallerProvider inj1710_CallerProvider = new CallerProvider();
BeanRef beanRef = context.getBeanReference(beanType, qualifiers);
context.addBean(beanRef, inj1710_CallerProvider);
return inj1710_CallerProvider;
}
};
final CallerProvider inj1710_CallerProvider = inj1716_CallerProvider_creationalCallback.getInstance(context);
final CreationalCallback<RequestDispatcherProvider> inj1717_RequestDispatcherProvider_creationalCallback = new CreationalCallback<RequestDispatcherProvider>() {
public RequestDispatcherProvider getInstance(final CreationalContext context) {
Class beanType = RequestDispatcherProvider.class;
Annotation[] qualifiers = new Annotation[] { new Any() {
public Class annotationType() {
return Any.class;
}
} };
final RequestDispatcherProvider inj1706_RequestDispatcherProvider = new RequestDispatcherProvider();
BeanRef beanRef = context.getBeanReference(beanType, qualifiers);
context.addBean(beanRef, inj1706_RequestDispatcherProvider);
return inj1706_RequestDispatcherProvider;
}
};
final RequestDispatcherProvider inj1706_RequestDispatcherProvider = inj1717_RequestDispatcherProvider_creationalCallback.getInstance(context);
final CreationalCallback<SenderProvider> inj1718_SenderProvider_creationalCallback = new CreationalCallback<SenderProvider>() {
public SenderProvider getInstance(final CreationalContext context) {
Class beanType = SenderProvider.class;
Annotation[] qualifiers = new Annotation[] { new Any() {
public Class annotationType() {
return Any.class;
}
} };
final SenderProvider inj1702_SenderProvider = new SenderProvider();
BeanRef beanRef = context.getBeanReference(beanType, qualifiers);
context.addBean(beanRef, inj1702_SenderProvider);
return inj1702_SenderProvider;
}
};
final SenderProvider inj1702_SenderProvider = inj1718_SenderProvider_creationalCallback.getInstance(context);
final CreationalCallback<RootPanelProvider> inj1719_RootPanelProvider_creationalCallback = new CreationalCallback<RootPanelProvider>() {
public RootPanelProvider getInstance(final CreationalContext context) {
Class beanType = RootPanelProvider.class;
Annotation[] qualifiers = new Annotation[] { new Any() {
public Class annotationType() {
return Any.class;
}
} };
final RootPanelProvider inj1708_RootPanelProvider = new RootPanelProvider();
BeanRef beanRef = context.getBeanReference(beanType, qualifiers);
context.addBean(beanRef, inj1708_RootPanelProvider);
return inj1708_RootPanelProvider;
}
};
final RootPanelProvider inj1708_RootPanelProvider = inj1719_RootPanelProvider_creationalCallback.getInstance(context);
final CreationalCallback<IOCBeanManagerProvider> inj1720_IOCBeanManagerProvider_creationalCallback = new CreationalCallback<IOCBeanManagerProvider>() {
public IOCBeanManagerProvider getInstance(final CreationalContext context) {
Class beanType = IOCBeanManagerProvider.class;
Annotation[] qualifiers = new Annotation[] { new Any() {
public Class annotationType() {
return Any.class;
}
} };
final IOCBeanManagerProvider inj1698_IOCBeanManagerProvider = new IOCBeanManagerProvider();
BeanRef beanRef = context.getBeanReference(beanType, qualifiers);
context.addBean(beanRef, inj1698_IOCBeanManagerProvider);
return inj1698_IOCBeanManagerProvider;
}
};
final IOCBeanManagerProvider inj1698_IOCBeanManagerProvider = inj1720_IOCBeanManagerProvider_creationalCallback.getInstance(context);
final CreationalCallback<InstanceProvider> inj1721_InstanceProvider_creationalCallback = new CreationalCallback<InstanceProvider>() {
public InstanceProvider getInstance(final CreationalContext context) {
Class beanType = InstanceProvider.class;
Annotation[] qualifiers = new Annotation[] { new Any() {
public Class annotationType() {
return Any.class;
}
} };
final InstanceProvider inj1704_InstanceProvider = new InstanceProvider();
BeanRef beanRef = context.getBeanReference(beanType, qualifiers);
context.addBean(beanRef, inj1704_InstanceProvider);
return inj1704_InstanceProvider;
}
};
final InstanceProvider inj1704_InstanceProvider = inj1721_InstanceProvider_creationalCallback.getInstance(context);
final CreationalCallback<DisposerProvider> inj1722_DisposerProvider_creationalCallback = new CreationalCallback<DisposerProvider>() {
public DisposerProvider getInstance(final CreationalContext context) {
Class beanType = DisposerProvider.class;
Annotation[] qualifiers = new Annotation[] { new Any() {
public Class annotationType() {
return Any.class;
}
} };
final DisposerProvider inj1712_DisposerProvider = new DisposerProvider();
BeanRef beanRef = context.getBeanReference(beanType, qualifiers);
context.addBean(beanRef, inj1712_DisposerProvider);
org_jboss_errai_ioc_client_api_builtin_DisposerProvider_beanManager(inj1712_DisposerProvider, inj1698_IOCBeanManagerProvider.get());
return inj1712_DisposerProvider;
}
};
final DisposerProvider inj1712_DisposerProvider = inj1722_DisposerProvider_creationalCallback.getInstance(context);
final CreationalCallback<InitBallotProvider> inj1723_InitBallotProvider_creationalCallback = new CreationalCallback<InitBallotProvider>() {
public InitBallotProvider getInstance(final CreationalContext context) {
Class beanType = InitBallotProvider.class;
Annotation[] qualifiers = new Annotation[] { new Any() {
public Class annotationType() {
return Any.class;
}
} };
final InitBallotProvider inj1694_InitBallotProvider = new InitBallotProvider();
BeanRef beanRef = context.getBeanReference(beanType, qualifiers);
context.addBean(beanRef, inj1694_InitBallotProvider);
return inj1694_InitBallotProvider;
}
};
final InitBallotProvider inj1694_InitBallotProvider = inj1723_InitBallotProvider_creationalCallback.getInstance(context);
injContext.addBean(EventProvider.class, inj1714_EventProvider_creationalCallback, inj1700_EventProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(ContextualTypeProvider.class, inj1714_EventProvider_creationalCallback, inj1700_EventProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(MessageBusProvider.class, inj1715_MessageBusProvider_creationalCallback, inj1696_MessageBusProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(Provider.class, inj1715_MessageBusProvider_creationalCallback, inj1696_MessageBusProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(App.class, inj1713_App_creationalCallback, inj1620_App, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(CallerProvider.class, inj1716_CallerProvider_creationalCallback, inj1710_CallerProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(ContextualTypeProvider.class, inj1716_CallerProvider_creationalCallback, inj1710_CallerProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(RequestDispatcherProvider.class, inj1717_RequestDispatcherProvider_creationalCallback, inj1706_RequestDispatcherProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(Provider.class, inj1717_RequestDispatcherProvider_creationalCallback, inj1706_RequestDispatcherProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(SenderProvider.class, inj1718_SenderProvider_creationalCallback, inj1702_SenderProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(ContextualTypeProvider.class, inj1718_SenderProvider_creationalCallback, inj1702_SenderProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(RootPanelProvider.class, inj1719_RootPanelProvider_creationalCallback, inj1708_RootPanelProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(Provider.class, inj1719_RootPanelProvider_creationalCallback, inj1708_RootPanelProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(IOCBeanManagerProvider.class, inj1720_IOCBeanManagerProvider_creationalCallback, inj1698_IOCBeanManagerProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(Provider.class, inj1720_IOCBeanManagerProvider_creationalCallback, inj1698_IOCBeanManagerProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(InstanceProvider.class, inj1721_InstanceProvider_creationalCallback, inj1704_InstanceProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(ContextualTypeProvider.class, inj1721_InstanceProvider_creationalCallback, inj1704_InstanceProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(DisposerProvider.class, inj1722_DisposerProvider_creationalCallback, inj1712_DisposerProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(ContextualTypeProvider.class, inj1722_DisposerProvider_creationalCallback, inj1712_DisposerProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(InitBallotProvider.class, inj1723_InitBallotProvider_creationalCallback, inj1694_InitBallotProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
injContext.addBean(ContextualTypeProvider.class, inj1723_InitBallotProvider_creationalCallback, inj1694_InitBallotProvider, BuiltInQualifiers.DEFAULT_QUALIFIERS);
return injContext;
}
}