Package org.wso2.carbon.relay.mediators.builder.xml

Source Code of org.wso2.carbon.relay.mediators.builder.xml.BuilderMediatorSerializer

/*
* Copyright 2005,2006 WSO2, Inc. http://www.wso2.org
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.wso2.carbon.relay.mediators.builder.xml;

import org.apache.synapse.config.xml.AbstractMediatorSerializer;
import org.apache.synapse.Mediator;
import org.apache.axiom.om.OMElement;
import org.apache.axis2.transport.MessageFormatter;
import org.wso2.carbon.relay.mediators.builder.BuilderMediator;

public class BuilderMediatorSerializer extends AbstractMediatorSerializer {

    public OMElement serializeSpecificMediator(Mediator mediator) {
        BuilderMediator builderMediator = (BuilderMediator) mediator;

        OMElement builder = fac.createOMElement("builder", synNS);

        for (String key : builderMediator.getMessageBuilders().keySet()) {
            OMElement msgBuilderEle = fac.createOMElement("messageBuilder", synNS);

            msgBuilderEle.addAttribute(fac.createOMAttribute("contentType", nullNS, key));

            String builderClass = builderMediator.getMessageBuilders().get(key).getClass().getName();
            msgBuilderEle.addAttribute(
                    fac.createOMAttribute("class", nullNS, builderClass));


            MessageFormatter formatter = builderMediator.getMessageFormatters().get(key);
            if (formatter != null) {
                msgBuilderEle.addAttribute(fac.createOMAttribute("formatterClass", nullNS,
                        formatter.getClass().getName()));
            }

            builder.addChild(msgBuilderEle);
        }

        return builder;
    }

    public String getMediatorClassName() {
        return BuilderMediator.class.getName();
    }
}
TOP

Related Classes of org.wso2.carbon.relay.mediators.builder.xml.BuilderMediatorSerializer

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.