Search in sources :

Example 71 with Element

use of org.apache.felix.ipojo.metadata.Element in project felix by apache.

the class MetadataRendererTestCase method testRenderElementWithNamespaceAttribute.

public void testRenderElementWithNamespaceAttribute() throws Exception {
    Element main = new Element("test", null);
    main.addAttribute(new Attribute("name", "ns-uri", "attribute"));
    String rendered = renderer.render(main);
    Assert.assertEquals("test { $ns-uri:name=\"attribute\" }", rendered);
}
Also used : Attribute(org.apache.felix.ipojo.metadata.Attribute) Element(org.apache.felix.ipojo.metadata.Element)

Example 72 with Element

use of org.apache.felix.ipojo.metadata.Element in project felix by apache.

the class CheckFieldConsistencyResultVisitorTestCase method newComponentElement.

private Element newComponentElement() {
    Element component = new Element("component", null);
    Element requires = new Element("requires", null);
    requires.addAttribute(new Attribute("field", "property"));
    component.addElement(requires);
    return component;
}
Also used : Attribute(org.apache.felix.ipojo.metadata.Attribute) Element(org.apache.felix.ipojo.metadata.Element)

Example 73 with Element

use of org.apache.felix.ipojo.metadata.Element in project felix by apache.

the class Dependency method getElement.

/**
 * Gets the dependency metadata.
 * @return the 'requires' element describing
 * the current dependency.
 */
public Element getElement() {
    ensureValidity();
    Element dep = new Element("requires", "");
    if (m_specification != null) {
        dep.addAttribute(new Attribute("specification", m_specification));
    }
    if (m_filter != null) {
        dep.addAttribute(new Attribute("filter", m_filter));
    }
    if (m_field != null) {
        dep.addAttribute(new Attribute("field", m_field));
    }
    if (m_parameterIndex != -1) {
        dep.addAttribute(new Attribute("constructor-parameter", Integer.toString(m_parameterIndex)));
    }
    if (m_bind != null) {
        Element cb = new Element("callback", "");
        cb.addAttribute(new Attribute("type", "bind"));
        cb.addAttribute(new Attribute("method", m_bind));
        dep.addElement(cb);
    }
    if (m_unbind != null) {
        Element cb = new Element("callback", "");
        cb.addAttribute(new Attribute("type", "unbind"));
        cb.addAttribute(new Attribute("method", m_unbind));
        dep.addElement(cb);
    }
    if (m_modified != null) {
        Element cb = new Element("callback", "");
        cb.addAttribute(new Attribute("type", "modified"));
        cb.addAttribute(new Attribute("method", m_modified));
        dep.addElement(cb);
    }
    if (m_comparator != null) {
        dep.addAttribute(new Attribute("comparator", m_comparator));
    }
    if (m_di != null) {
        dep.addAttribute(new Attribute("default-implementation", m_di));
    }
    if (m_from != null) {
        dep.addAttribute(new Attribute("from", m_from));
    }
    if (m_id != null) {
        dep.addAttribute(new Attribute("id", m_id));
    }
    if (!m_nullable) {
        dep.addAttribute(new Attribute("nullable", "false"));
    }
    if (m_optional) {
        dep.addAttribute(new Attribute("optional", "true"));
    }
    if (m_aggregate) {
        dep.addAttribute(new Attribute("aggregate", "true"));
    }
    if (!m_proxy) {
        dep.addAttribute(new Attribute("proxy", "false"));
    }
    if (m_policy != -1) {
        if (m_policy == DYNAMIC) {
            dep.addAttribute(new Attribute("policy", "dynamic"));
        } else if (m_policy == STATIC) {
            dep.addAttribute(new Attribute("policy", "static"));
        } else if (m_policy == DYNAMIC_PRIORITY) {
            dep.addAttribute(new Attribute("policy", "dynamic-priority"));
        }
    // No other possibilities.
    }
    return dep;
}
Also used : Attribute(org.apache.felix.ipojo.metadata.Attribute) Element(org.apache.felix.ipojo.metadata.Element)

Example 74 with Element

use of org.apache.felix.ipojo.metadata.Element in project felix by apache.

the class PrimitiveComponentType method generateComponentMetadata.

/**
 * Generates the component description.
 * @return the component type description of
 * the current component type
 */
private Element generateComponentMetadata() {
    Element element = new Element("component", "");
    element.addAttribute(new Attribute("classname", m_classname));
    if (m_name != null) {
        element.addAttribute(new Attribute("name", m_name));
    }
    if (m_version != null) {
        element.addAttribute(new Attribute("version", m_version));
    }
    if (m_factoryMethod != null) {
        element.addAttribute(new Attribute("factory-method", m_factoryMethod));
    }
    if (!m_public) {
        element.addAttribute(new Attribute("public", "false"));
    }
    if (m_immediate) {
        element.addAttribute(new Attribute("immediate", "true"));
    }
    for (Service svc : m_services) {
        element.addElement(svc.getElement());
    }
    for (Dependency dep : m_dependencies) {
        element.addElement(dep.getElement());
    }
    for (TemporalDependency dep : m_temporals) {
        element.addElement(dep.getElement());
    }
    if (m_validate != null) {
        Element callback = new Element("callback", "");
        callback.addAttribute(new Attribute("transition", "validate"));
        callback.addAttribute(new Attribute("method", m_validate));
        element.addElement(callback);
    }
    if (m_invalidate != null) {
        Element callback = new Element("callback", "");
        callback.addAttribute(new Attribute("transition", "invalidate"));
        callback.addAttribute(new Attribute("method", m_invalidate));
        element.addElement(callback);
    }
    // First determine if we need the properties element
    if (m_propagation || m_msPID != null || !m_properties.isEmpty()) {
        Element properties = new Element("properties", "");
        if (m_propagation) {
            properties.addAttribute(new Attribute("propagation", "true"));
        }
        if (m_msPID != null) {
            properties.addAttribute(new Attribute("pid", m_msPID));
        }
        if (m_updated != null) {
            properties.addAttribute(new Attribute("updated", m_updated));
        }
        for (Property prop : m_properties) {
            properties.addElement(prop.getElement());
        }
        element.addElement(properties);
    }
    // External handlers
    for (HandlerConfiguration hc : m_handlers) {
        element.addElement(hc.getElement());
    }
    return element;
}
Also used : Attribute(org.apache.felix.ipojo.metadata.Attribute) Element(org.apache.felix.ipojo.metadata.Element)

Example 75 with Element

use of org.apache.felix.ipojo.metadata.Element in project felix by apache.

the class Property method getElement.

/**
 * Gets the property element.
 * @return the property element.
 */
public Element getElement() {
    ensureValidity();
    Element element = new Element("property", "");
    if (m_name != null) {
        element.addAttribute(new Attribute("name", m_name));
    }
    if (m_method != null) {
        element.addAttribute(new Attribute("method", m_method));
    }
    if (m_parameterIndex != -1) {
        element.addAttribute(new Attribute("constructor-parameter", Integer.toString(m_parameterIndex)));
    }
    if (m_value != null) {
        element.addAttribute(new Attribute("value", m_value));
    }
    if (m_field != null) {
        element.addAttribute(new Attribute("field", m_field));
    }
    if (m_mandatory) {
        element.addAttribute(new Attribute("mandatory", new Boolean(m_mandatory).toString()));
    }
    if (m_immutable) {
        element.addAttribute(new Attribute("immutable", new Boolean(m_immutable).toString()));
    }
    return element;
}
Also used : Attribute(org.apache.felix.ipojo.metadata.Attribute) Element(org.apache.felix.ipojo.metadata.Element)

Aggregations

Element (org.apache.felix.ipojo.metadata.Element)400 Test (org.junit.Test)126 Attribute (org.apache.felix.ipojo.metadata.Attribute)109 ConfigurationException (org.apache.felix.ipojo.ConfigurationException)22 ParseException (org.apache.felix.ipojo.parser.ParseException)14 PojoMetadata (org.apache.felix.ipojo.parser.PojoMetadata)14 ArrayList (java.util.ArrayList)13 Reporter (org.apache.felix.ipojo.manipulator.Reporter)12 FieldMetadata (org.apache.felix.ipojo.parser.FieldMetadata)12 Dictionary (java.util.Dictionary)10 Properties (java.util.Properties)10 MethodMetadata (org.apache.felix.ipojo.parser.MethodMetadata)10 BaseTest (org.ow2.chameleon.testing.helpers.BaseTest)10 PropertyDescription (org.apache.felix.ipojo.architecture.PropertyDescription)9 IOException (java.io.IOException)8 List (java.util.List)8 Before (org.junit.Before)7 Enumeration (java.util.Enumeration)6 ComponentWorkbench (org.apache.felix.ipojo.manipulator.metadata.annotation.ComponentWorkbench)6 FooService (org.apache.felix.ipojo.runtime.core.services.FooService)6