Example usage for org.w3c.dom Element getAttributeNS

List of usage examples for org.w3c.dom Element getAttributeNS

Introduction

In this page you can find the example usage for org.w3c.dom Element getAttributeNS.

Prototype

public String getAttributeNS(String namespaceURI, String localName) throws DOMException;

Source Link

Document

Retrieves an attribute value by local name and namespace URI.

Usage

From source file:edu.internet2.middleware.shibboleth.common.config.attribute.encoding.SAML1ScopedStringAttributeEncoderBeanDefinitionParser.java

/** {@inheritDoc} */
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    super.doParse(element, parserContext, builder);

    if (element.hasAttributeNS(null, "scopeType")) {
        builder.addPropertyValue("scopeType", element.getAttribute("scopeType"));
    } else {//  w w w .ja va  2 s .c o m
        builder.addPropertyValue("scopeType", "attribute");
    }

    String namespace = "urn:mace:shibboleth:1.0:attributeNamespace:uri";
    if (element.hasAttributeNS(null, "namespace")) {
        namespace = DatatypeHelper.safeTrimOrNullString(element.getAttributeNS(null, "namespace"));
    }
    builder.addPropertyValue("namespace", namespace);

    String attributeName = DatatypeHelper.safeTrimOrNullString(element.getAttributeNS(null, "name"));
    if (attributeName == null) {
        throw new BeanCreationException("SAML 1 attribute encoders must contain a name");
    }
}

From source file:edu.internet2.middleware.shibboleth.common.config.attribute.encoding.SAML2ScopedStringAttributeEncoderBeanDefinitionParser.java

/** {@inheritDoc} */
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    super.doParse(element, parserContext, builder);

    if (element.hasAttributeNS(null, "scopeType")) {
        builder.addPropertyValue("scopeType", element.getAttribute("scopeType"));
    } else {//from w  w  w.  j  ava  2s.co  m
        builder.addPropertyValue("scopeType", "inline");
    }

    String namespace = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri";
    if (element.hasAttributeNS(null, "nameFormat")) {
        namespace = DatatypeHelper.safeTrimOrNullString(element.getAttributeNS(null, "nameFormat"));
    }
    builder.addPropertyValue("nameFormat", namespace);

    builder.addPropertyValue("friendlyName", element.getAttribute(FRIENDLY_NAME_ATTRIBUTE_NAME));

    String attributeName = DatatypeHelper.safeTrimOrNullString(element.getAttributeNS(null, "name"));
    if (attributeName == null) {
        throw new BeanCreationException("SAML 2 attribute encoders must contain a name");
    }
}

From source file:edu.internet2.middleware.shibboleth.common.config.attribute.resolver.dataConnector.RDBMSDataConnectorBeanDefinitionParser.java

/**
 * Processes query handling related configuration options.
 * // www.j  a v  a 2 s  . c  o m
 * @param pluginId ID of the data connector
 * @param pluginConfig configuration element for the data connector
 * @param pluginConfigChildren child config elements for the data connect
 * @param pluginBuilder builder of the data connector
 * @param parserContext current configuration parsing context
 */
protected void processQueryHandlingConfig(String pluginId, Element pluginConfig,
        Map<QName, List<Element>> pluginConfigChildren, BeanDefinitionBuilder pluginBuilder,
        ParserContext parserContext) {
    String templateEngineRef = pluginConfig.getAttributeNS(null, "templateEngine");
    pluginBuilder.addPropertyReference("templateEngine", templateEngineRef);

    List<Element> queryTemplateElems = pluginConfigChildren
            .get(new QName(DataConnectorNamespaceHandler.NAMESPACE, "QueryTemplate"));
    String queryTemplate = queryTemplateElems.get(0).getTextContent();
    log.debug("Data connector {} query template: {}", pluginId, queryTemplate);
    pluginBuilder.addPropertyValue("queryTemplate", queryTemplate);

    long queryTimeout = 5 * 1000;
    if (pluginConfig.hasAttributeNS(null, "queryTimeout")) {
        queryTimeout = SpringConfigurationUtils.parseDurationToMillis(
                "queryTimeout on relational database connector " + pluginId,
                pluginConfig.getAttributeNS(null, "queryTimeout"), 0);
    }
    log.debug("Data connector {} SQL query timeout: {}ms", pluginId, queryTimeout);
    pluginBuilder.addPropertyValue("queryTimeout", queryTimeout);

    boolean useSP = false;
    if (pluginConfig.hasAttributeNS(null, "queryUsesStoredProcedure")) {
        useSP = XMLHelper
                .getAttributeValueAsBoolean(pluginConfig.getAttributeNodeNS(null, "queryUsesStoredProcedure"));
    }
    log.debug("Data connector {} query uses stored procedures: {}", pluginId, useSP);
    pluginBuilder.addPropertyValue("queryUsesStoredProcedures", useSP);

    boolean readOnlyCtx = true;
    if (pluginConfig.hasAttributeNS(null, "readOnlyConnection")) {
        readOnlyCtx = XMLHelper
                .getAttributeValueAsBoolean(pluginConfig.getAttributeNodeNS(null, "readOnlyConnection"));
    }
    log.debug("Data connector {} connections are read only: {}", pluginId, readOnlyCtx);
    pluginBuilder.addPropertyValue("readOnlyConnections", readOnlyCtx);

}

From source file:net.shibboleth.idp.profile.spring.relyingparty.metadata.impl.AbstractDynamicHTTPMetadataProviderParser.java

/** {@inheritDoc} */
// Checkstyle: CyclomaticComplexity OFF -- more readable not split up
@Override/*w  ww.  j av  a2 s. c om*/
protected void doNativeParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    super.doNativeParse(element, parserContext, builder);

    boolean haveTLSTrustEngine = false;
    if (element.hasAttributeNS(null, "tlsTrustEngineRef")) {
        builder.addPropertyReference("tLSTrustEngine",
                StringSupport.trimOrNull(element.getAttributeNS(null, "tlsTrustEngineRef")));
        haveTLSTrustEngine = true;
    } else {
        BeanDefinition tlsTrustEngine = parseTLSTrustEngine(element, parserContext);
        if (tlsTrustEngine != null) {
            builder.addPropertyValue("tLSTrustEngine", tlsTrustEngine);
            haveTLSTrustEngine = true;
        }
    }

    if (element.hasAttributeNS(null, "httpClientRef")) {
        builder.addConstructorArgReference(
                StringSupport.trimOrNull(element.getAttributeNS(null, "httpClientRef")));
        if (element.hasAttributeNS(null, "requestTimeout")
                || element.hasAttributeNS(null, "disregardSslCertificate")
                || element.hasAttributeNS(null, "disregardTLSCertificate")
                || element.hasAttributeNS(null, "proxyHost") || element.hasAttributeNS(null, "proxyPort")
                || element.hasAttributeNS(null, "proxyUser") || element.hasAttributeNS(null, "proxyPassword")) {
            log.warn("httpClientRef overrides settings for requestTimeout, disregardSslCertificate, "
                    + "disregardTLSCertificate, proxyHost, proxyPort, proxyUser and proxyPassword");
        }
    } else {
        builder.addConstructorArgValue(buildHttpClient(element, parserContext, haveTLSTrustEngine));
    }

    if (element.hasAttributeNS(null, "credentialsProviderRef")) {
        builder.addPropertyReference("credentialsProviderRef",
                StringSupport.trimOrNull(element.getAttributeNS(null, "credentialsProviderRef")));
        if (element.hasAttributeNS(null, BASIC_AUTH_USER)
                || element.hasAttributeNS(null, BASIC_AUTH_PASSWORD)) {
            log.warn("credentialsProviderRef overrides settings for basicAuthUser and basicAuthPassword");
        }
    } else {
        if (element.hasAttributeNS(null, BASIC_AUTH_USER)
                || element.hasAttributeNS(null, BASIC_AUTH_PASSWORD)) {
            builder.addPropertyValue("basicCredentials", buildBasicCredentials(element));
        }
    }

    if (element.hasAttributeNS(null, "supportedContentTypes")) {
        List<String> supportedContentTypes = StringSupport.stringToList(
                StringSupport.trimOrNull(element.getAttributeNS(null, "supportedContentTypes")),
                XMLConstants.LIST_DELIMITERS);
        builder.addPropertyValue("supportedContentTypes", supportedContentTypes);
    }

}

From source file:edu.internet2.middleware.shibboleth.common.config.attribute.resolver.dataConnector.RDBMSDataConnectorBeanDefinitionParser.java

/**
 * Processes the cache configuration options.
 * //from  w w w.ja  v a 2 s  .c  o  m
 * @param pluginId ID of the data connector
 * @param pluginConfig configuration element for the data connector
 * @param pluginConfigChildren child config elements for the data connect
 * @param pluginBuilder builder of the data connector
 * @param parserContext current configuration parsing context
 */
protected void processCacheConfig(String pluginId, Element pluginConfig,
        Map<QName, List<Element>> pluginConfigChildren, BeanDefinitionBuilder pluginBuilder,
        ParserContext parserContext) {
    boolean cacheResults = false;
    String cacheManagerId = "shibboleth.CacheManager";
    long cacheElementTtl = 4 * 60 * 60 * 1000;
    int maximumCachedElements = 500;

    List<Element> cacheConfigs = XMLHelper.getChildElementsByTagNameNS(pluginConfig,
            DataConnectorNamespaceHandler.NAMESPACE, "ResultCache");
    if (cacheConfigs != null && !cacheConfigs.isEmpty()) {
        Element cacheConfig = cacheConfigs.get(0);

        cacheResults = true;

        if (cacheConfig.hasAttributeNS(null, "cacheManagerRef")) {
            cacheManagerId = DatatypeHelper.safeTrim(cacheConfig.getAttributeNS(null, "cacheManagerRef"));
        }

        if (cacheConfig.hasAttributeNS(null, "elementTimeToLive")) {
            cacheElementTtl = SpringConfigurationUtils.parseDurationToMillis(
                    "elementTimeToLive on data connector " + pluginId,
                    cacheConfig.getAttributeNS(null, "elementTimeToLive"), 0);
        }

        if (cacheConfig.hasAttributeNS(null, "maximumCachedElements")) {
            maximumCachedElements = Integer.parseInt(
                    DatatypeHelper.safeTrim(cacheConfig.getAttributeNS(null, "maximumCachedElements")));
        }
    }

    if (pluginConfig.hasAttributeNS(null, "cacheResults")) {
        log.warn(
                "Data connection {}: use of 'cacheResults' attribute is deprecated.  Use <ResultCache> instead.",
                pluginId);
        cacheResults = XMLHelper
                .getAttributeValueAsBoolean(pluginConfig.getAttributeNodeNS(null, "cacheResults"));
    }

    if (cacheResults) {
        log.debug("Data connector {} is caching results: {}", pluginId, cacheResults);

        pluginBuilder.addPropertyReference("cacheManager", cacheManagerId);

        log.debug("Data connector {} cache element time to live: {}ms", pluginId, cacheElementTtl);
        pluginBuilder.addPropertyValue("cacheElementTimeToLive", cacheElementTtl);

        log.debug("Data connector {} maximum number of caches elements: {}", pluginId, maximumCachedElements);
        pluginBuilder.addPropertyValue("maximumCachedElements", maximumCachedElements);
    }

}

From source file:org.unitedid.shibboleth.config.attribute.resolver.dataConnector.MongoDbDataConnectorBeanDefinitionParser.java

/** {@inheritDoc} */
protected void doParse(String pluginId, Element pluginConfig, Map<QName, List<Element>> pluginConfigChildren,
        BeanDefinitionBuilder pluginBuilder, ParserContext parserContext) {
    super.doParse(pluginId, pluginConfig, pluginConfigChildren, pluginBuilder, parserContext);

    /**//from  w  ww  .j  a v a 2s .  co m
     * Data connector attributes (<resolver:DataConnector attr1="" attr2=""></resolver:DataConnector>)
     */
    String mongoDbName = pluginConfig.getAttributeNS(null, "mongoDbName");
    log.info("Data connector {} MONGODB DATABASE: {}", pluginId, mongoDbName);
    pluginBuilder.addPropertyValue("mongoDbName", mongoDbName);

    String mongoCollection = pluginConfig.getAttributeNS(null, "mongoCollection");
    log.info("Data connector {} MONGODB COLLECTION: {}", pluginId, mongoCollection);
    pluginBuilder.addPropertyValue("mongoCollection", mongoCollection);

    if (pluginConfig.hasAttributeNS(null, "mongoUser")) {
        String mongoUser = pluginConfig.getAttributeNS(null, "mongoUser");
        log.info("Data connector {} MONGODB USERNAME: {}", pluginId, mongoUser);
        pluginBuilder.addPropertyValue("mongoUser", mongoUser);
    }

    if (pluginConfig.hasAttributeNS(null, "mongoPassword")) {
        String mongoPassword = pluginConfig.getAttributeNS(null, "mongoPassword");
        pluginBuilder.addPropertyValue("mongoPassword", mongoPassword);
    }

    String preferredRead = "primaryPreferred";
    if (pluginConfig.hasAttributeNS(null, "preferredRead")) {
        preferredRead = pluginConfig.getAttributeNS(null, "preferredRead");
    }
    log.info("Data connector {} preferredRead type: {}", pluginId, preferredRead);
    pluginBuilder.addPropertyValue("preferredRead", preferredRead);

    boolean cacheResults = false;
    if (pluginConfig.hasAttributeNS(null, "cacheResults")) {
        cacheResults = XMLHelper
                .getAttributeValueAsBoolean(pluginConfig.getAttributeNodeNS(null, "cacheResults"));
    }
    log.info("Data connector {} cache results: {}", pluginId, cacheResults);
    pluginBuilder.addPropertyValue("cacheResults", cacheResults);

    /**
     * Mongodb host entries (<uid:MongoHost host="" port="" />)
     */
    List<ServerAddress> hosts = parseMongoHostNames(pluginId, pluginConfigChildren);
    log.debug("Data connector {} hosts {}", pluginId, hosts.toString());
    pluginBuilder.addPropertyValue("mongoHost", hosts);

    boolean usePersistentId = false;
    if (pluginConfigChildren.containsKey(PID_ELEMENT_NAME)) {
        Element e = pluginConfigChildren.get(PID_ELEMENT_NAME).get(0);
        pluginBuilder.addPropertyValue("pidGeneratedAttributeId",
                e.getAttributeNS(null, "generatedAttributeId"));
        pluginBuilder.addPropertyValue("pidSourceAttributeId", e.getAttributeNS(null, "sourceAttributeId"));
        usePersistentId = true;
    }
    log.info("Data connector {} running in persistentId mode: {}", pluginId, usePersistentId);
    pluginBuilder.addPropertyValue("usePersistentId", usePersistentId);

    List<MongoDbKeyAttributeMapper> keyAttributeMaps = parseAttributeMappings(pluginId, pluginConfigChildren);
    pluginBuilder.addPropertyValue("keyAttributeMap", keyAttributeMaps);

    if (!usePersistentId) {
        String queryTemplate = pluginConfigChildren.get(QUERY_TEMPLATE_ELEMENT_NAME).get(0).getTextContent();
        queryTemplate = DatatypeHelper.safeTrimOrNullString(queryTemplate);
        log.debug("Data connector {} query template: {}", pluginId, queryTemplate);
        pluginBuilder.addPropertyValue("queryTemplate", queryTemplate);
    }

    String templateEngineRef = pluginConfig.getAttributeNS(null, "templateEngine");
    pluginBuilder.addPropertyReference("templateEngine", templateEngineRef);
}

From source file:edu.internet2.middleware.shibboleth.common.config.attribute.resolver.dataConnector.LdapDataConnectorBeanDefinitionParser.java

/**
 * Process the basic LDAP connection configuration for the LDAP data connector.
 * //from ww  w  .  j  a v  a2  s  .c o  m
 * @param pluginId ID of the LDAP plugin
 * @param pluginConfig LDAP plugin configuration element
 * @param pluginConfigChildren child elements of the plugin
 * @param pluginBuilder plugin builder
 * @param parserContext current parsing context
 */
protected void processBasicConnectionConfig(String pluginId, Element pluginConfig,
        Map<QName, List<Element>> pluginConfigChildren, BeanDefinitionBuilder pluginBuilder,
        ParserContext parserContext) {

    String ldapURL = pluginConfig.getAttributeNS(null, "ldapURL");
    log.debug("Data connector {} LDAP URL: {}", pluginId, ldapURL);
    pluginBuilder.addPropertyValue("ldapUrl", ldapURL);

    ConnectionStrategy connStrategy = ConnectionStrategy.ACTIVE_PASSIVE;
    if (pluginConfig.hasAttributeNS(null, "connectionStrategy")) {
        connStrategy = ConnectionStrategy.valueOf(pluginConfig.getAttributeNS(null, "connectionStrategy"));
    }
    log.debug("Data connector {} connection strategy: {}", pluginId, connStrategy);
    pluginBuilder.addPropertyValue("connectionStrategy", connStrategy);

    if (pluginConfig.hasAttributeNS(null, "baseDN")) {
        String baseDN = pluginConfig.getAttributeNS(null, "baseDN");
        log.debug("Data connector {} base DN: {}", pluginId, baseDN);
        pluginBuilder.addPropertyValue("baseDN", baseDN);
    }

    AUTHENTICATION_TYPE authnType = AUTHENTICATION_TYPE.SIMPLE;
    if (pluginConfig.hasAttributeNS(null, "authenticationType")) {
        authnType = AUTHENTICATION_TYPE.valueOf(pluginConfig.getAttributeNS(null, "authenticationType"));
    }
    log.debug("Data connector {} authentication type: {}", pluginId, authnType);
    pluginBuilder.addPropertyValue("authenticationType", authnType);

    String principal = pluginConfig.getAttributeNS(null, "principal");
    log.debug("Data connector {} principal: {}", pluginId, principal);
    pluginBuilder.addPropertyValue("principal", principal);

    String credential = pluginConfig.getAttributeNS(null, "principalCredential");
    pluginBuilder.addPropertyValue("principalCredential", credential);

    String templateEngineRef = pluginConfig.getAttributeNS(null, "templateEngine");
    pluginBuilder.addPropertyReference("templateEngine", templateEngineRef);

    String filterTemplate = pluginConfigChildren
            .get(new QName(DataConnectorNamespaceHandler.NAMESPACE, "FilterTemplate")).get(0).getTextContent();
    filterTemplate = DatatypeHelper.safeTrimOrNullString(filterTemplate);
    log.debug("Data connector {} LDAP filter template: {}", pluginId, filterTemplate);
    pluginBuilder.addPropertyValue("filterTemplate", filterTemplate);

    SearchScope searchScope = SearchScope.SUBTREE;
    if (pluginConfig.hasAttributeNS(null, "searchScope")) {
        searchScope = SearchScope.valueOf(pluginConfig.getAttributeNS(null, "searchScope"));
    }
    log.debug("Data connector {} search scope: {}", pluginId, searchScope);
    pluginBuilder.addPropertyValue("searchScope", searchScope);

    QName returnAttributesName = new QName(DataConnectorNamespaceHandler.NAMESPACE, "ReturnAttributes");
    if (pluginConfigChildren.containsKey(returnAttributesName)) {
        List<String> returnAttributes = XMLHelper
                .getElementContentAsList(pluginConfigChildren.get(returnAttributesName).get(0));
        log.debug("Data connector {} return attributes: {}", pluginId, returnAttributes);
        pluginBuilder.addPropertyValue("returnAttributes", returnAttributes);
    }
}

From source file:edu.internet2.middleware.shibboleth.common.config.attribute.resolver.dataConnector.LdapDataConnectorBeanDefinitionParser.java

/**
 * Processes the cache configuration directives.
 * //from  www.  j a  v a 2  s  .  c o  m
 * @param pluginId ID of the plugin
 * @param pluginConfig configuration element for the plugin
 * @param pluginBuilder builder for the plugin
 */
protected void processCacheConfig(String pluginId, Element pluginConfig, BeanDefinitionBuilder pluginBuilder) {
    boolean cacheResults = false;
    String cacheManagerId = "shibboleth.CacheManager";
    long cacheElementTtl = 4 * 60 * 60 * 1000;
    int maximumCachedElements = 500;

    List<Element> cacheConfigs = XMLHelper.getChildElementsByTagNameNS(pluginConfig,
            DataConnectorNamespaceHandler.NAMESPACE, "ResultCache");
    if (cacheConfigs != null && !cacheConfigs.isEmpty()) {
        Element cacheConfig = cacheConfigs.get(0);

        cacheResults = true;

        if (cacheConfig.hasAttributeNS(null, "cacheManagerRef")) {
            cacheManagerId = DatatypeHelper.safeTrim(cacheConfig.getAttributeNS(null, "cacheManagerRef"));
        }

        if (cacheConfig.hasAttributeNS(null, "elementTimeToLive")) {
            cacheElementTtl = SpringConfigurationUtils.parseDurationToMillis(
                    "elementTimeToLive on data connector " + pluginId,
                    cacheConfig.getAttributeNS(null, "elementTimeToLive"), 0);
        }

        if (cacheConfig.hasAttributeNS(null, "maximumCachedElements")) {
            maximumCachedElements = Integer.parseInt(
                    DatatypeHelper.safeTrim(cacheConfig.getAttributeNS(null, "maximumCachedElements")));
        }
    }

    if (pluginConfig.hasAttributeNS(null, "cacheResults")) {
        log.warn(
                "Data connection {}: use of 'cacheResults' attribute is deprecated.  Use <ResultCache> instead.",
                pluginId);
        cacheResults = XMLHelper
                .getAttributeValueAsBoolean(pluginConfig.getAttributeNodeNS(null, "cacheResults"));
    }

    if (cacheResults) {
        log.debug("Data connector {} is caching results: {}", pluginId, cacheResults);

        pluginBuilder.addPropertyReference("cacheManager", cacheManagerId);

        log.debug("Data connector {} cache element time to live: {}ms", pluginId, cacheElementTtl);
        pluginBuilder.addPropertyValue("cacheElementTimeToLive", cacheElementTtl);

        log.debug("Data connector {} maximum number of caches elements: {}", pluginId, maximumCachedElements);
        pluginBuilder.addPropertyValue("maximumCachedElements", maximumCachedElements);
    }

}

From source file:edu.internet2.middleware.shibboleth.common.config.resource.SVNResourceBeanDefinitionParser.java

/** {@inheritDoc} */
protected String resolveId(Element configElement, AbstractBeanDefinition beanDefinition,
        ParserContext parserContext) {/*  www.  j a  va2  s.com*/
    return SVNResource.class.getName() + ":" + DatatypeHelper
            .safeTrimOrNullString(configElement.getAttributeNS(null, REPOSITORY_URL_ATTRIB_NAME));
}

From source file:net.gfipm.shibboleth.config.GfipmBAEDataConnectorBeanDefinitionParser.java

/** {@inheritDoc} */
protected void doParse(String pluginId, Element pluginConfig, Map<QName, List<Element>> pluginConfigChildren,
        BeanDefinitionBuilder pluginBuilder, ParserContext parserContext) {
    super.doParse(pluginId, pluginConfig, pluginConfigChildren, pluginBuilder, parserContext);

    List<BAEAttributeNameMap> attributes = parseAttributes(pluginConfigChildren.get(ATTRIBUTE_ELEMENT_NAME));
    log.debug("Setting the following attributes for plugin {}: {}", pluginId, attributes);
    pluginBuilder.addPropertyValue("baeAttributes", attributes);

    String baeURL = pluginConfig.getAttributeNS(null, "baeURL");
    String baeEntityId = pluginConfig.getAttributeNS(null, "baeEntityId");
    String myEntityId = pluginConfig.getAttributeNS(null, "myEntityId");
    String subjectId = pluginConfig.getAttributeNS(null, "subjectId");

    pluginBuilder.addPropertyValue("baeURL", baeURL);
    pluginBuilder.addPropertyValue("baeEntityId", baeEntityId);
    pluginBuilder.addPropertyValue("myEntityId", myEntityId);
    pluginBuilder.addPropertyValue("subjectId", subjectId);

    int searchTimeLimit = 5000;
    if (pluginConfig.hasAttributeNS(null, "searchTimeLimit")) {
        searchTimeLimit = Integer.parseInt(pluginConfig.getAttributeNS(null, "searchTimeLimit"));
    }/*from  www .j  a v  a 2  s  .c  om*/
    log.debug("Data connector {} search timeout: {}ms", pluginId, searchTimeLimit);
    pluginBuilder.addPropertyValue("searchTimeLimit", searchTimeLimit);

    RuntimeBeanReference trustCredential = processCredential(
            pluginConfigChildren.get(new QName(GFIPMNamespaceHandler.NAMESPACE, "TrustCredential")),
            parserContext);
    log.debug("Data connector {} using provided trust material", pluginId);
    pluginBuilder.addPropertyValue("trustCredential", trustCredential);

    RuntimeBeanReference myCredential = processCredential(
            pluginConfigChildren.get(new QName(GFIPMNamespaceHandler.NAMESPACE, "AuthenticationCredential")),
            parserContext);
    log.debug("Data connector {} using provided client authentication material", pluginId);
    pluginBuilder.addPropertyValue("myCredential", myCredential);
}