Package org.exoplatform.container.xml

Examples of org.exoplatform.container.xml.Component


   public void start()
   {
      ConfigurationManager cm = super.getComponentInstanceOfType(ConfigurationManager.class, false);
      // We check if the component has been defined in the configuration of the current container
      // The goal is to enable the SpringContainer only if it is needed
      Component component = cm.getComponent(ApplicationContextProvider.class);
      if (component == null)
      {
         if (LOG.isDebugEnabled())
         {
            LOG.debug("No ApplicationContextProvider has been defined, thus the SpringContainer will be disabled."
View Full Code Here


   private XMLCollection getConfiguredCollection(String... profiles)
      throws Exception
   {
      Configuration config = getConfiguration("collection-configuration.xml", profiles);
      Component a = config.getComponent(InitParamsHolder.class.getName());
      ObjectParameter op = a.getInitParams().getObjectParam("test.configuration");
      XMLObject o = op.getXMLObject();
      XMLField xf = o.getField("role");
      return xf.getCollection();
   }
View Full Code Here

   private XMLCollection getConfiguredCollection(String... profiles)
      throws Exception
   {
      Configuration config = getConfiguration("field-configuration.xml", profiles);
      Component a = config.getComponent(InitParamsHolder.class.getName());
      ObjectParameter op = a.getInitParams().getObjectParam("test.configuration");
      XMLObject o = op.getXMLObject();
      XMLField xf = o.getField("role");
      return xf.getCollection();
   }
View Full Code Here

{

   public void testNoProfile() throws Exception
   {
      Configuration config = getConfiguration("init-param-configuration.xml");
      Component component = config.getComponent("Component");
      InitParams initParams = component.getInitParams();
      ValueParam valueParam = initParams.getValueParam("param");
      assertEquals("empty", valueParam.getValue());
   }
View Full Code Here

   }

   public void testFooProfile() throws Exception
   {
      Configuration config = getConfiguration("init-param-configuration.xml", "foo");
      Component component = config.getComponent("Component");
      InitParams initParams = component.getInitParams();
      ValueParam valueParam = initParams.getValueParam("param");
      assertEquals("foo", valueParam.getValue());
   }
View Full Code Here

   }

   public void testFooBarProfiles() throws Exception
   {
      Configuration config = getConfiguration("init-param-configuration.xml", "foo", "bar");
      Component component = config.getComponent("Component");
      InitParams initParams = component.getInitParams();
      ValueParam valueParam = initParams.getValueParam("param");
      assertEquals("bar", valueParam.getValue());
   }
View Full Code Here

{

   public void testNoProfile() throws Exception
   {
      Configuration config = getConfiguration("component-plugin-configuration.xml");
      Component component = config.getComponent("Component");
      assertEquals(1, component.getComponentPlugins().size());
   }
View Full Code Here

   }

   public void testFooProfile() throws Exception
   {
      Configuration config = getConfiguration("component-plugin-configuration.xml", "foo");
      Component component = config.getComponent("Component");
      assertEquals(2, component.getComponentPlugins().size());
   }
View Full Code Here

   public void start()
   {
      ConfigurationManager cm = super.getComponentInstanceOfType(ConfigurationManager.class, false);
      // We check if the component has been defined in the configuration of the current container
      // The goal is to enable the WeldContainer only if it is needed
      Component component = cm.getComponent(WeldContainerHelper.class);
      if (component == null)
      {
         if (LOG.isDebugEnabled())
         {
            LOG.debug("No WeldContainerHelper has been defined, thus the WeldContainer will be disabled."
View Full Code Here

      if (instance_ != null)
         return instance_;

      //
      ExoContainer exocontainer = (ExoContainer)container;
      Component component = null;
      ConfigurationManager manager;
      String componentKey;
      try
      {
         InitParams params = null;
         boolean debug = false;
         synchronized (this)
         {
            // Avoid to create duplicate instances if it is called at the same time by several threads
            if (instance_ != null)
               return instance_;
            // Get the component
            Object key = getComponentKey();
            if (key instanceof String)
               componentKey = (String)key;
            else
               componentKey = ((Class)key).getName();
            manager = (ConfigurationManager)exocontainer.getComponentInstanceOfType(ConfigurationManager.class);
            component = manager.getComponent(componentKey);
            if (component != null)
            {
               params = component.getInitParams();
               debug = component.getShowDeployInfo();
            }
            // Please note that we cannot fully initialize the Object "instance_" before releasing other
            // threads because it could cause StackOverflowError due to recursive calls
            Object instance = exocontainer.createComponent(getComponentImplementation(), params);
            if (instance_ != null)
            {
               // Avoid instantiating twice the same component in case of a cyclic reference due
               // to component plugins
               return instance_;
            }
            exocontainer.addComponentToCtx(getComponentKey(), instance);
            if (debug)
               LOG.debug("==> create  component : " + instance_);
            if (component != null && component.getComponentPlugins() != null)
            {
               addComponentPlugin(debug, instance, component.getComponentPlugins(), exocontainer);
            }
            ExternalComponentPlugins ecplugins = manager.getConfiguration().getExternalComponentPlugins(componentKey);
            if (ecplugins != null)
            {
               addComponentPlugin(debug, instance, ecplugins.getComponentPlugins(), exocontainer);
            }
            // check if component implement the ComponentLifecycle
            if (instance instanceof ComponentLifecycle)
            {
               ComponentLifecycle lc = (ComponentLifecycle)instance;
               lc.initComponent(exocontainer);
            }
            instance_ = instance;
         }

      }
      catch (Exception ex)
      {
         String msg = "Cannot instantiate component " + getComponentImplementation();
         if (component != null)
         {
            msg =
               "Cannot instantiate component key=" + component.getKey() + " type=" + component.getType() + " found at "
                  + component.getDocumentURL();
         }
         throw new RuntimeException(msg, ex);
      }
      finally
      {
View Full Code Here

TOP

Related Classes of org.exoplatform.container.xml.Component

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.