Understood. So the caused by exception needs to be improved or it's already appropriate? On Jun 11, 2013 10:13 AM, "José Luis Cetina" <[email protected]> wrote:
> I mean my apps is running ok, i was recreating a bug and then i see this > "by mistake" thats all. > > > 2013/6/11 José Luis Cetina <[email protected]> > > > I was trying to reproduce a primefaces bug, and i start creating a > > managedbean with their respective xhtml and i forgot to mark my > attributes > > as privates (again I FORGOT, i never use public attributes in my > > managedbeans) then i see this "error message" in the log. > > > > > > 2013/6/11 Howard W. Smith, Jr. <[email protected]> > > > > Jose, when was the last time you did a 'maven download' of TomEE 1.6.0 > >> snapshot and did 'not' see this issue/behavior? > >> > >> Did something else change? maybe new bean, properties, etc...? you have > >> any > >> code you can share, maybe a stub or something? > >> > >> > >> On Mon, Jun 10, 2013 at 8:58 PM, José Luis Cetina <[email protected] > >> >wrote: > >> > >> > Yes. Maven download always the lastest snapshot. > >> > El 10/06/2013 19:54, "Howard W. Smith, Jr." <[email protected]> > >> > escribió: > >> > > >> > > Latest TomEE 1.6.0-snapshot (trunk) ? > >> > > > >> > > > >> > > > >> > > On Mon, Jun 10, 2013 at 8:50 PM, José Luis Cetina < > >> [email protected] > >> > > >wrote: > >> > > > >> > > > CODI 1.5 and TomEE 1.6.0-Snapshot. > >> > > > > >> > > > :) > >> > > > El 10/06/2013 16:28, "Howard W. Smith, Jr." < > [email protected] > >> > > >> > > > escribió: > >> > > > > >> > > > > Interesting. > >> > > > > > >> > > > > Caused by: java.lang.IllegalStateException: no > >> > > > > > >> > > org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider > >> > > > > in place! > >> > > > > Please ensure that you configured the CDI implementation of your > >> > choice > >> > > > > properly. If your setup is correct, please clear all caches and > >> > > compiled > >> > > > > artifacts. If there is still a problem, try one of the > controlled > >> > > > > bootstrapping > >> > > > > add-ons for the CDI implementation you are using. > >> > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > On Mon, Jun 10, 2013 at 5:22 PM, Howard W. Smith, Jr. < > >> > > > > [email protected]> wrote: > >> > > > > > >> > > > > > Jose, > >> > > > > > > >> > > > > > Interesting. I think i have plenty of (CDI) managed beans with > >> > public > >> > > > > > attributes, which are referenced by xhtml files and .java > >> classes > >> > in > >> > > my > >> > > > > web > >> > > > > > app (WAR), but I don't have CODI dependency. > >> > > > > > > >> > > > > > What versions of CODI and TomEE are you using? > >> > > > > > > >> > > > > > Howard > >> > > > > > > >> > > > > > > >> > > > > > On Mon, Jun 10, 2013 at 2:02 PM, José Luis Cetina < > >> > > > [email protected] > >> > > > > >wrote: > >> > > > > > > >> > > > > >> Just FYI, when you declare ( i did that by mistake) public > >> > > attributes > >> > > > > with > >> > > > > >> their getter and setters in your ManagedBean you get this > >> > exception > >> > > > (by > >> > > > > >> the > >> > > > > >> way the error is not very documentated), looking at my code > >> after > >> > 10 > >> > > > > >> minutes i discover that my attributes was marked as public > (by > >> > > > mistake) > >> > > > > >> then i mark them as private and the error disappear. > >> > > > > >> > >> > > > > >> Log: > >> > > > > >> > >> > > > > >> java.lang.reflect.InvocationTargetException > >> > > > > >> at > >> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > >> > > > Method) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > >> > > > > >> at > >> java.lang.reflect.Constructor.newInstance(Constructor.java:525) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.shared.util.ClassUtils.buildApplicationObject(ClassUtils.java:561) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.config.FacesConfigurator.configureApplication(FacesConfigurator.java:532) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:419) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.webapp.AbstractFacesInitializer.buildConfiguration(AbstractFacesInitializer.java:370) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.webapp.Jsp21FacesInitializer.initContainerIntegration(Jsp21FacesInitializer.java:73) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:143) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:119) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4887) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5381) > >> > > > > >> at > >> > > > > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) > >> > > > > >> at > >> > > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > >> > > > > >> at java.util.concurrent.FutureTask.run(FutureTask.java:166) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > >> > > > > >> at java.lang.Thread.run(Thread.java:722) > >> > > > > >> Caused by: java.lang.IllegalStateException: no > >> > > > > >> > >> > > > > >> org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider > >> > > > > in > >> > > > > >> place! Please ensure that you configured the CDI > >> implementation of > >> > > > your > >> > > > > >> choice properly. If your setup is correct, please clear all > >> caches > >> > > and > >> > > > > >> compiled artifacts. If there is still a problem, try one of > the > >> > > > > controlled > >> > > > > >> bootstrapping add-ons for the CDI implementation you are > using. > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider.getInstance(BeanManagerProvider.java:83) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.getContextualReferenceByClass(CodiUtils.java:124) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.extensions.cdi.jsf2.impl.navigation.CodiNavigationHandler.isAddViewConfigsAsNavigationCaseActivated(CodiNavigationHandler.java:200) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.extensions.cdi.jsf2.impl.navigation.CodiNavigationHandler.<init>(CodiNavigationHandler.java:65) > >> > > > > >> ... 21 more > >> > > > > >> SEVERE - An error occured while initializing MyFaces: > >> > > > > >> java.lang.reflect.InvocationTargetException > >> > > > > >> javax.faces.FacesException: > >> > > > java.lang.reflect.InvocationTargetException > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.shared.util.ClassUtils.buildApplicationObject(ClassUtils.java:576) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.config.FacesConfigurator.configureApplication(FacesConfigurator.java:532) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:419) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.webapp.AbstractFacesInitializer.buildConfiguration(AbstractFacesInitializer.java:370) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.webapp.Jsp21FacesInitializer.initContainerIntegration(Jsp21FacesInitializer.java:73) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:143) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:119) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4887) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5381) > >> > > > > >> at > >> > > > > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) > >> > > > > >> at > >> > > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > >> > > > > >> at java.util.concurrent.FutureTask.run(FutureTask.java:166) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > >> > > > > >> at java.lang.Thread.run(Thread.java:722) > >> > > > > >> Caused by: java.lang.reflect.InvocationTargetException > >> > > > > >> at > >> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > >> > > > Method) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > >> > > > > >> at > >> java.lang.reflect.Constructor.newInstance(Constructor.java:525) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.shared.util.ClassUtils.buildApplicationObject(ClassUtils.java:561) > >> > > > > >> ... 16 more > >> > > > > >> Caused by: java.lang.IllegalStateException: no > >> > > > > >> > >> > > > > >> org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider > >> > > > > in > >> > > > > >> place! Please ensure that you configured the CDI > >> implementation of > >> > > > your > >> > > > > >> choice properly. If your setup is correct, please clear all > >> caches > >> > > and > >> > > > > >> compiled artifacts. If there is still a problem, try one of > the > >> > > > > controlled > >> > > > > >> bootstrapping add-ons for the CDI implementation you are > using. > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider.getInstance(BeanManagerProvider.java:83) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.getContextualReferenceByClass(CodiUtils.java:124) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.extensions.cdi.jsf2.impl.navigation.CodiNavigationHandler.isAddViewConfigsAsNavigationCaseActivated(CodiNavigationHandler.java:200) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.extensions.cdi.jsf2.impl.navigation.CodiNavigationHandler.<init>(CodiNavigationHandler.java:65) > >> > > > > >> ... 21 more > >> > > > > >> SEVERE - StandardWrapper.Throwable > >> > > > > >> java.lang.IllegalStateException: no > >> > > > > >> > >> > > > > >> org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider > >> > > > > in > >> > > > > >> place! Please ensure that you configured the CDI > >> implementation of > >> > > > your > >> > > > > >> choice properly. If your setup is correct, please clear all > >> caches > >> > > and > >> > > > > >> compiled artifacts. If there is still a problem, try one of > the > >> > > > > controlled > >> > > > > >> bootstrapping add-ons for the CDI implementation you are > using. > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider.getInstance(BeanManagerProvider.java:83) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.getContextualReferenceByClass(CodiUtils.java:124) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.extensions.cdi.jsf.impl.listener.phase.PhaseListenerExtension.consumePhaseListeners(PhaseListenerExtension.java:110) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleFactoryWrapper.getLifecycle(CodiLifecycleFactoryWrapper.java:67) > >> > > > > >> at > javax.faces.webapp.FacesServlet.init(FacesServlet.java:123) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5123) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5407) > >> > > > > >> at > >> > > > > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) > >> > > > > >> at > >> > > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > >> > > > > >> at java.util.concurrent.FutureTask.run(FutureTask.java:166) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > >> > > > > >> at java.lang.Thread.run(Thread.java:722) > >> > > > > >> SEVERE - Servlet / threw load() exception > >> > > > > >> java.lang.IllegalStateException: no > >> > > > > >> > >> > > > > >> org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider > >> > > > > in > >> > > > > >> place! Please ensure that you configured the CDI > >> implementation of > >> > > > your > >> > > > > >> choice properly. If your setup is correct, please clear all > >> caches > >> > > and > >> > > > > >> compiled artifacts. If there is still a problem, try one of > the > >> > > > > controlled > >> > > > > >> bootstrapping add-ons for the CDI implementation you are > using. > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider.getInstance(BeanManagerProvider.java:83) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.getContextualReferenceByClass(CodiUtils.java:124) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.extensions.cdi.jsf.impl.listener.phase.PhaseListenerExtension.consumePhaseListeners(PhaseListenerExtension.java:110) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleFactoryWrapper.getLifecycle(CodiLifecycleFactoryWrapper.java:67) > >> > > > > >> at > javax.faces.webapp.FacesServlet.init(FacesServlet.java:123) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5123) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5407) > >> > > > > >> at > >> > > > > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) > >> > > > > >> at > >> > > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > >> > > > > >> at java.util.concurrent.FutureTask.run(FutureTask.java:166) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > >> > > > > >> at > >> > > > > >> > >> > > > > >> > >> > > > > > >> > > > > >> > > > >> > > >> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > >> > > > > >> at java.lang.Thread.run(Thread.java:722) > >> > > > > >> > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > > > > > > > > -- > > ------------------------------------------------------------------- > > *SCJA. José Luis Cetina* > > ------------------------------------------------------------------- > > > > > > -- > ------------------------------------------------------------------- > *SCJA. José Luis Cetina* > ------------------------------------------------------------------- >
