Package org.apache.rampart.policy.builders

Source Code of org.apache.rampart.policy.builders.KerberosConfigBuilder

package org.apache.rampart.policy.builders;

import java.util.Iterator;
import java.util.Properties;

import javax.xml.namespace.QName;

import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMElement;
import org.apache.neethi.Assertion;
import org.apache.neethi.AssertionBuilderFactory;
import org.apache.neethi.builders.AssertionBuilder;
import org.apache.rampart.policy.model.KerberosConfig;
import org.apache.rampart.policy.model.RampartConfig;

public class KerberosConfigBuilder implements AssertionBuilder {

    /**
     *
     */
    public Assertion build(OMElement element, AssertionBuilderFactory factory)
            throws IllegalArgumentException {

        KerberosConfig krbConfig = new KerberosConfig();
        Properties properties = new Properties();
        OMElement childElement;
        OMAttribute name;
        String value;
        String attrName;

        for (Iterator iterator = element.getChildElements(); iterator.hasNext();) {
            childElement = (OMElement) iterator.next();
            QName prop = new QName(RampartConfig.NS, KerberosConfig.PROPERTY_LN);
            if (prop.equals(childElement.getQName())) {
                name = childElement.getAttribute(new QName(KerberosConfig.PROPERTY_NAME_ATTR));
                value = childElement.getText();
                attrName = name.getAttributeValue();
                // TODO: Need to get rid of these system properties.
                if (attrName != null
                        && (attrName.startsWith("java.") || attrName.startsWith("javax."))) {
                    // setting the jsse properties to the vm
                    System.setProperty(attrName.trim(), value.trim());
                }
                properties.put(attrName.trim(), value.trim());
            }
        }
        krbConfig.setProp(properties);
        return krbConfig;
    }

    /**
     *
     */
    public QName[] getKnownElements() {
        return new QName[] { new QName(RampartConfig.NS, KerberosConfig.KERBEROS_LN) };
    }
}
TOP

Related Classes of org.apache.rampart.policy.builders.KerberosConfigBuilder

TOP
Copyright © 2018 www.massapi.com. 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.