Search in sources :

Example 1 with ComponentLifecyclePlugin

use of org.exoplatform.container.xml.ComponentLifecyclePlugin in project kernel by exoplatform.

the class TestConfigurationXML method testTrimValue.

@SuppressWarnings("unchecked")
public void testTrimValue() throws Exception {
    InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("test-trim-value.xml");
    assertNotNull(is);
    try {
        IBindingFactory bfact = BindingDirectory.getFactory(XMLObject.class);
        IUnmarshallingContext uctx = bfact.createUnmarshallingContext();
        Configuration conf = (Configuration) uctx.unmarshalDocument(is, null);
        assertNotNull(conf);
        Iterator it = conf.getContainerLifecyclePluginIterator();
        assertNotNull(it);
        assertTrue(it.hasNext());
        ContainerLifecyclePlugin conlp = (ContainerLifecyclePlugin) it.next();
        assertEquals("container-lifecycle-plugin-type", conlp.getType());
        assertNotNull(conlp.getInitParams());
        assertEquals("container-lifecycle-plugin-value-param-value", (conlp.getInitParams().getValueParam("container-lifecycle-plugin-value-param-name")).getValue());
        it = conf.getComponentLifecyclePluginIterator();
        assertNotNull(it);
        assertTrue(it.hasNext());
        ComponentLifecyclePlugin comlp = (ComponentLifecyclePlugin) it.next();
        assertEquals("component-lifecycle-plugin", comlp.getType());
        ManageableComponents mc = comlp.getManageableComponents();
        assertNotNull(mc);
        assertEquals("manageable-components-component-type", mc.getComponentsType().get(0));
        ValuesParam valuesParam = comlp.getInitParams().getValuesParam("component-lifecycle-plugin-values-param-name");
        assertNotNull(valuesParam);
        assertNotNull(valuesParam.getValues());
        assertTrue(valuesParam.getValues().contains("component-lifecycle-plugin-values-param-value1"));
        assertTrue(valuesParam.getValues().contains("component-lifecycle-plugin-values-param-value2"));
        Component c = conf.getComponent("component-key1");
        assertNotNull(c);
        assertEquals("component-type1", c.getType());
        PropertiesParam propertiesParam = c.getInitParams().getPropertiesParam("component-key1-properties-param-name");
        assertNotNull(propertiesParam);
        assertEquals("component-key1-properties-param-prop-value", propertiesParam.getProperty("component-key1-properties-param-prop-name"));
        c = conf.getComponent("component-type2");
        assertNotNull(c);
        ObjectParameter objectParameter = c.getInitParams().getObjectParam("component-key2-object-param-name");
        assertNotNull(objectParameter);
        MyObject o = (MyObject) objectParameter.getObject();
        assertNotNull(o);
        assertEquals("string-value", o.field1);
        assertEquals(1, o.field2);
        assertEquals(1l, o.field3);
        assertEquals(1d, o.field4);
        assertEquals(true, o.field5);
        assertNotNull(o.field6);
        assertEquals("entry-value", o.field6.get("entry-name"));
        assertNotNull(o.field7);
        assertTrue(o.field7.contains("string-value"));
        assertNotNull(o.field8);
        assertEquals(1, o.field8[0]);
        List list = c.getComponentPlugins();
        assertNotNull(list);
        assertFalse(list.isEmpty());
        ComponentPlugin cp = (ComponentPlugin) list.get(0);
        assertEquals("component-plugins-name", cp.getName());
        assertEquals("set-method-name", cp.getSetMethod());
        assertEquals("component-plugins-type", cp.getType());
        assertEquals(1, cp.getPriority());
        it = conf.getExternalComponentPluginsIterator();
        assertNotNull(it);
        assertTrue(it.hasNext());
        ExternalComponentPlugins ecps = (ExternalComponentPlugins) it.next();
        assertEquals("target-component-name", ecps.getTargetComponent());
        list = ecps.getComponentPlugins();
        assertNotNull(list);
        assertFalse(list.isEmpty());
        cp = (ComponentPlugin) list.get(0);
        assertEquals("component-plugins-name", cp.getName());
        assertEquals("set-method-name", cp.getSetMethod());
        assertEquals("component-plugins-type", cp.getType());
        assertEquals(1, cp.getPriority());
        list = conf.getImports();
        assertNotNull(list);
        assertFalse(list.isEmpty());
        assertEquals("import-value", list.get(0));
        list = conf.getRemoveConfiguration();
        assertNotNull(list);
        assertFalse(list.isEmpty());
        assertEquals("remove-configuration-value", list.get(0));
    } finally {
        try {
            is.close();
        } catch (Exception e) {
        // ignore me
        }
    }
}
Also used : ComponentPlugin(org.exoplatform.container.xml.ComponentPlugin) Configuration(org.exoplatform.container.xml.Configuration) IBindingFactory(org.jibx.runtime.IBindingFactory) InputStream(java.io.InputStream) PropertiesParam(org.exoplatform.container.xml.PropertiesParam) ContainerLifecyclePlugin(org.exoplatform.container.xml.ContainerLifecyclePlugin) IUnmarshallingContext(org.jibx.runtime.IUnmarshallingContext) ComponentLifecyclePlugin(org.exoplatform.container.xml.ComponentLifecyclePlugin) ValuesParam(org.exoplatform.container.xml.ValuesParam) ExternalComponentPlugins(org.exoplatform.container.xml.ExternalComponentPlugins) ObjectParameter(org.exoplatform.container.xml.ObjectParameter) Iterator(java.util.Iterator) List(java.util.List) ManageableComponents(org.exoplatform.container.xml.ManageableComponents) Component(org.exoplatform.container.xml.Component)

Example 2 with ComponentLifecyclePlugin

use of org.exoplatform.container.xml.ComponentLifecyclePlugin in project kernel by exoplatform.

the class ContainerUtil method addComponentLifecyclePlugin.

public static void addComponentLifecyclePlugin(ExoContainer container, ConfigurationManager conf) {
    Collection plugins = conf.getConfiguration().getComponentLifecyclePlugins();
    Iterator i = plugins.iterator();
    while (i.hasNext()) {
        ComponentLifecyclePlugin plugin = (ComponentLifecyclePlugin) i.next();
        try {
            Class<?> classType = ClassLoading.loadClass(plugin.getType(), ContainerUtil.class);
            org.exoplatform.container.component.ComponentLifecyclePlugin instance = (org.exoplatform.container.component.ComponentLifecyclePlugin) classType.newInstance();
            container.addComponentLifecylePlugin(instance);
        } catch (Exception ex) {
            LOG.error("Failed to instanciate plugin " + plugin.getType() + ": " + ex.getMessage(), ex);
        }
    }
}
Also used : ComponentLifecyclePlugin(org.exoplatform.container.xml.ComponentLifecyclePlugin) Iterator(java.util.Iterator) Collection(java.util.Collection) PrivilegedActionException(java.security.PrivilegedActionException) DefinitionException(org.exoplatform.container.context.DefinitionException) UnproxyableResolutionException(javax.enterprise.inject.UnproxyableResolutionException) IOException(java.io.IOException)

Aggregations

Iterator (java.util.Iterator)2 ComponentLifecyclePlugin (org.exoplatform.container.xml.ComponentLifecyclePlugin)2 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 PrivilegedActionException (java.security.PrivilegedActionException)1 Collection (java.util.Collection)1 List (java.util.List)1 UnproxyableResolutionException (javax.enterprise.inject.UnproxyableResolutionException)1 DefinitionException (org.exoplatform.container.context.DefinitionException)1 Component (org.exoplatform.container.xml.Component)1 ComponentPlugin (org.exoplatform.container.xml.ComponentPlugin)1 Configuration (org.exoplatform.container.xml.Configuration)1 ContainerLifecyclePlugin (org.exoplatform.container.xml.ContainerLifecyclePlugin)1 ExternalComponentPlugins (org.exoplatform.container.xml.ExternalComponentPlugins)1 ManageableComponents (org.exoplatform.container.xml.ManageableComponents)1 ObjectParameter (org.exoplatform.container.xml.ObjectParameter)1 PropertiesParam (org.exoplatform.container.xml.PropertiesParam)1 ValuesParam (org.exoplatform.container.xml.ValuesParam)1 IBindingFactory (org.jibx.runtime.IBindingFactory)1 IUnmarshallingContext (org.jibx.runtime.IUnmarshallingContext)1