Search in sources :

Example 1 with ConfiguredSettableAttribute

use of org.apache.qpid.server.model.ConfiguredSettableAttribute in project qpid-broker-j by apache.

the class ApiDocsServlet method writeAttributesTable.

private void writeAttributesTable(final PrintWriter writer, final Collection<ConfiguredObjectAttribute<?, ?>> attributeTypes) {
    writer.println("<table class=\"attributes\">");
    writer.println("<thead>");
    writer.println("<tr><th class=\"name\">Attribute Name</th><th class=\"type\">Type</th><th class=\"properties\">Properties</th><th class=\"description\">Description</th></tr>");
    writer.println("</thead>");
    writer.println("<tbody>");
    for (ConfiguredObjectAttribute attribute : attributeTypes) {
        String properties;
        if (attribute instanceof ConfiguredSettableAttribute) {
            ConfiguredSettableAttribute settableAttribute = (ConfiguredSettableAttribute) attribute;
            if (settableAttribute.isImmutable()) {
                properties = "read/settable on create only";
            } else {
                properties = "read/write";
            }
        } else {
            properties = "read only";
        }
        writer.println("<tr><td class=\"name\">" + attribute.getName() + "</td><td class=\"type\">" + renderType(attribute) + "</td><td class=\"properties\">" + properties + "</td><td class=\"description\">" + attribute.getDescription() + "</td></tr>");
    }
    writer.println("</tbody>");
    writer.println("</table>");
}
Also used : ConfiguredObjectAttribute(org.apache.qpid.server.model.ConfiguredObjectAttribute) ConfiguredSettableAttribute(org.apache.qpid.server.model.ConfiguredSettableAttribute)

Example 2 with ConfiguredSettableAttribute

use of org.apache.qpid.server.model.ConfiguredSettableAttribute in project qpid-broker-j by apache.

the class MetaDataServlet method processAttributes.

private Map<String, Map> processAttributes(final Class<? extends ConfiguredObject> type, final Model model) {
    Collection<ConfiguredObjectAttribute<?, ?>> attributes = model.getTypeRegistry().getAttributeTypes(type).values();
    Map<String, Map> attributeDetails = new LinkedHashMap<>();
    for (ConfiguredObjectAttribute<?, ?> attribute : attributes) {
        Map<String, Object> attrDetails = new LinkedHashMap<>();
        attrDetails.put("type", attribute.getType().getSimpleName());
        if (!"".equals(attribute.getDescription())) {
            attrDetails.put("description", attribute.getDescription());
        }
        if (attribute.isDerived()) {
            attrDetails.put("derived", attribute.isDerived());
        }
        if (!attribute.isDerived()) {
            ConfiguredSettableAttribute automatedAttribute = (ConfiguredSettableAttribute) attribute;
            if (!"".equals(automatedAttribute.defaultValue())) {
                attrDetails.put("defaultValue", automatedAttribute.defaultValue());
            }
            if (automatedAttribute.isMandatory()) {
                attrDetails.put("mandatory", automatedAttribute.isMandatory());
            }
            if (automatedAttribute.isImmutable()) {
                attrDetails.put("immutable", automatedAttribute.isImmutable());
            }
            if (!(automatedAttribute.validValues()).isEmpty()) {
                Collection<String> validValues = ((ConfiguredSettableAttribute<?, ?>) attribute).validValues();
                Collection<Object> convertedValues = new ArrayList<>(validValues.size());
                for (String value : validValues) {
                    convertedValues.add(((ConfiguredSettableAttribute<?, ?>) attribute).convert(value, null));
                }
                attrDetails.put("validValues", convertedValues);
            } else if (!"".equals(automatedAttribute.validValuePattern())) {
                attrDetails.put("validValuesPattern", automatedAttribute.validValuePattern());
            }
        }
        if (attribute.isSecure()) {
            attrDetails.put("secure", attribute.isSecure());
        }
        if (attribute.isOversized()) {
            attrDetails.put("oversize", attribute.isOversized());
        }
        attributeDetails.put(attribute.getName(), attrDetails);
    }
    return attributeDetails;
}
Also used : ConfiguredObjectAttribute(org.apache.qpid.server.model.ConfiguredObjectAttribute) ArrayList(java.util.ArrayList) LinkedHashMap(java.util.LinkedHashMap) ConfiguredSettableAttribute(org.apache.qpid.server.model.ConfiguredSettableAttribute) ConfiguredObject(org.apache.qpid.server.model.ConfiguredObject) ManagedObject(org.apache.qpid.server.model.ManagedObject) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map) TreeMap(java.util.TreeMap)

Example 3 with ConfiguredSettableAttribute

use of org.apache.qpid.server.model.ConfiguredSettableAttribute in project qpid-broker-j by apache.

the class ManagementModeStoreHandler method getPortProtocolsAttribute.

private Set<Protocol> getPortProtocolsAttribute(Map<String, Object> attributes) {
    Object object = attributes.get(Port.PROTOCOLS);
    if (object == null) {
        return null;
    }
    Model model = _parent.getModel();
    ConfiguredObjectTypeRegistry typeRegistry = model.getTypeRegistry();
    Map<String, ConfiguredObjectAttribute<?, ?>> attributeTypes = typeRegistry.getAttributeTypes(Port.class);
    ConfiguredSettableAttribute protocolsAttribute = (ConfiguredSettableAttribute) attributeTypes.get(Port.PROTOCOLS);
    return (Set<Protocol>) protocolsAttribute.convert(object, _parent);
}
Also used : ConfiguredObjectAttribute(org.apache.qpid.server.model.ConfiguredObjectAttribute) Set(java.util.Set) ConfiguredSettableAttribute(org.apache.qpid.server.model.ConfiguredSettableAttribute) Model(org.apache.qpid.server.model.Model) ConfiguredObject(org.apache.qpid.server.model.ConfiguredObject) ConfiguredObjectTypeRegistry(org.apache.qpid.server.model.ConfiguredObjectTypeRegistry)

Example 4 with ConfiguredSettableAttribute

use of org.apache.qpid.server.model.ConfiguredSettableAttribute in project qpid-broker-j by apache.

the class PortFactory method getProtocolType.

private ProtocolType getProtocolType(Map<String, Object> portAttributes, Broker<?> broker) {
    Model model = broker.getModel();
    ConfiguredObjectTypeRegistry typeRegistry = model.getTypeRegistry();
    Map<String, ConfiguredObjectAttribute<?, ?>> attributeTypes = typeRegistry.getAttributeTypes(Port.class);
    ConfiguredSettableAttribute protocolsAttribute = (ConfiguredSettableAttribute) attributeTypes.get(Port.PROTOCOLS);
    Set<Protocol> protocols = (Set<Protocol>) protocolsAttribute.convert(portAttributes.get(Port.PROTOCOLS), broker);
    ProtocolType protocolType = null;
    if (protocols == null || protocols.isEmpty()) {
        // defaulting to AMQP if protocol is not specified
        protocolType = ProtocolType.AMQP;
    } else {
        for (Protocol protocol : protocols) {
            if (protocolType == null) {
                protocolType = protocol.getProtocolType();
            } else if (protocolType != protocol.getProtocolType()) {
                throw new IllegalConfigurationException("Found different protocol types '" + protocolType + "' and '" + protocol.getProtocolType() + "' for port configuration: " + portAttributes);
            }
        }
    }
    return protocolType;
}
Also used : ConfiguredObjectAttribute(org.apache.qpid.server.model.ConfiguredObjectAttribute) Set(java.util.Set) ConfiguredSettableAttribute(org.apache.qpid.server.model.ConfiguredSettableAttribute) ProtocolType(org.apache.qpid.server.model.Protocol.ProtocolType) Model(org.apache.qpid.server.model.Model) IllegalConfigurationException(org.apache.qpid.server.configuration.IllegalConfigurationException) ConfiguredObjectTypeRegistry(org.apache.qpid.server.model.ConfiguredObjectTypeRegistry) Protocol(org.apache.qpid.server.model.Protocol)

Aggregations

ConfiguredObjectAttribute (org.apache.qpid.server.model.ConfiguredObjectAttribute)4 ConfiguredSettableAttribute (org.apache.qpid.server.model.ConfiguredSettableAttribute)4 Set (java.util.Set)2 ConfiguredObject (org.apache.qpid.server.model.ConfiguredObject)2 ConfiguredObjectTypeRegistry (org.apache.qpid.server.model.ConfiguredObjectTypeRegistry)2 Model (org.apache.qpid.server.model.Model)2 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 LinkedHashMap (java.util.LinkedHashMap)1 Map (java.util.Map)1 TreeMap (java.util.TreeMap)1 IllegalConfigurationException (org.apache.qpid.server.configuration.IllegalConfigurationException)1 ManagedObject (org.apache.qpid.server.model.ManagedObject)1 Protocol (org.apache.qpid.server.model.Protocol)1 ProtocolType (org.apache.qpid.server.model.Protocol.ProtocolType)1