Package org.wso2.carbon.endpoint.ui.util

Source Code of org.wso2.carbon.endpoint.ui.util.TemplateConfigurationBuilder

/*
*  Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
*
*  WSO2 Inc. licenses this file to you 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.endpoint.ui.util;

import org.apache.axiom.om.OMElement;
import org.apache.synapse.config.xml.endpoints.DefinitionFactory;
import org.apache.synapse.config.xml.endpoints.EndpointFactory;
import org.apache.synapse.config.xml.endpoints.WSDLEndpointFactory;
import org.apache.synapse.endpoints.*;
import org.wso2.carbon.endpoint.common.to.AddressEndpointData;
import org.wso2.carbon.endpoint.common.to.DefaultEndpointData;
import org.wso2.carbon.endpoint.common.to.WSDLEndpointData;
import org.wso2.carbon.endpoint.ui.factory.TemplateDefinitionFactory;

import java.util.List;
import java.util.Properties;

public class TemplateConfigurationBuilder {

    public static final int ADDRESS_EP = 0;
    public static final int WSDL_EP = 1;
    public static final int FAILOVER_EP = 2;
    public static final int LOADBALANCE_EP = 3;
    public static final int DEFAULT_EP=4;
    public static final int TEMPLATE_EP=5;

    public static DefaultEndpointData getDefaultEndpointDetailsFrom(Template template, DefinitionFactory factory){
        OMElement endpointEl = template.getElement();
        if (endpointEl != null) {
            Endpoint endpoint = EndpointFactory.getEndpointFromElement(endpointEl, factory, false, new Properties());
            if(endpoint!=null && endpoint instanceof DefaultEndpoint){
                DefaultEndpoint add = (DefaultEndpoint) endpoint;
                DefaultEndpointData data = new DefaultEndpointData();
                data.setEpName(add.getName());
                data.setEpType(DEFAULT_EP);
                //data.setFormat(add.getDefinition().getFormat());
                data.setSoap11(add.getDefinition().isForceSOAP11());
                data.setSoap12(add.getDefinition().isForceSOAP12());
                data.setRest(add.getDefinition().isForceGET());
                data.setPox(add.getDefinition().isForcePOX());
                data.setSwa(add.getDefinition().isUseSwa());
                data.setMtom(add.getDefinition().isUseMTOM());
                data.setSuspendDurationOnFailure(add.getDefinition().getInitialSuspendDuration());
                data.setTimeoutAct(add.getDefinition().getTimeoutAction());
                data.setTimeoutActionDur(add.getDefinition().getTimeoutDuration());
                data.setWsadd(add.getDefinition().isAddressingOn());
                data.setSepList(add.getDefinition().isUseSeparateListener());
                data.setWssec(add.getDefinition().isSecurityOn());
                data.setWsrm(add.getDefinition().isReliableMessagingOn());
                data.setRmPolKey(add.getDefinition().getWsRMPolicyKey());
                data.setSecPolKey(add.getDefinition().getWsSecPolicyKey());
                data.setMaxSusDuration(add.getDefinition().getSuspendMaximumDuration());
                data.setSusProgFactor(add.getDefinition().getSuspendProgressionFactor());
                data.setErrorCodes(errorCodeListBuilder(add.getDefinition().getSuspendErrorCodes()).trim());
                data.setRetryDisabledErrorCodes(errorCodeListBuilder(add.getDefinition().
                        getRetryDisabledErrorCodes()).trim());
                data.setTimdedOutErrorCodes(errorCodeListBuilder(add.getDefinition().getTimeoutErrorCodes()));
                data.setRetryTimeout(add.getDefinition().getRetryDurationOnTimeout());
                data.setRetryDelay(add.getDefinition().getRetriesOnTimeoutBeforeSuspend());

                return data;

            }
        }

        return null;
    }

    public static WSDLEndpointData getWSDLEndpointDetailsFrom(Template template, DefinitionFactory factory){
        OMElement endpointEl = template.getElement();
        if (endpointEl != null) {
            Properties properties = new Properties();
            //we will skip parsing of wsdl since we are trying to build a template
            //wsdl parsing will anyway be done when an endpoint is materialized from a template
            properties.setProperty(WSDLEndpointFactory.SKIP_WSDL_PARSING,"true");
            Endpoint endpoint = EndpointFactory.getEndpointFromElement(endpointEl, factory, false, properties);
            if(endpoint!=null && endpoint instanceof WSDLEndpoint){
                WSDLEndpoint wsdlEp = (WSDLEndpoint) endpoint;

                WSDLEndpointData data = new WSDLEndpointData();
                data.setEpName(wsdlEp.getName());
                data.setEpUri(wsdlEp.getWsdlURI());
                data.setEpServ(wsdlEp.getServiceName());
                data.setEpPort(wsdlEp.getPortName());
                data.setEpType(WSDL_EP);
                data.setEpDur(wsdlEp.getDefinition().getInitialSuspendDuration());

                data.setEpwsdlTimeoutAction(wsdlEp.getDefinition().getTimeoutAction());

                data.setEpactionDuration(wsdlEp.getDefinition().getTimeoutDuration());
                data.setEpaddressingOn(wsdlEp.getDefinition().isAddressingOn());

                data.setEpsecutiryOn(wsdlEp.getDefinition().isSecurityOn());
                data.setEpwsaddSepListener(wsdlEp.getDefinition().isUseSeparateListener());

                data.setEprelMesg(wsdlEp.getDefinition().isReliableMessagingOn());
                data.setEpwsdlSecutiryKey(wsdlEp.getDefinition().getWsSecPolicyKey());
                data.setEprmKey(wsdlEp.getDefinition().getWsRMPolicyKey());

                data.setEperrorCodes(errorCodeListBuilder(wsdlEp.getDefinition().getSuspendErrorCodes()));
                data.setRetryDisabledErrorCodes(errorCodeListBuilder(wsdlEp.getDefinition().
                        getRetryDisabledErrorCodes()).trim());
                data.setEpmaxSusDuration(wsdlEp.getDefinition().getSuspendMaximumDuration());
                data.setEpsusProgFactor(wsdlEp.getDefinition().getSuspendProgressionFactor());


                data.setEptimdedOutErrorCodes(errorCodeListBuilder(wsdlEp.getDefinition().getTimeoutErrorCodes()));
                data.setEpretryTimeout(wsdlEp.getDefinition().getRetryDurationOnTimeout());
                data.setEpretryDelay(wsdlEp.getDefinition().getRetriesOnTimeoutBeforeSuspend());

                if (wsdlEp.getWsdlDoc() != null) {
                    data.setInLineWSDL(wsdlEp.getWsdlDoc().toString());
                }

                return data;
                //return EndpointSerializer.getElementFromEndpoint(
                //   synapseConfiguration.getEndpoint(endpointName.trim()));


            }
        }

        return null;
    }

    public static AddressEndpointData getAddressEndpointDetailsFrom(Template template, DefinitionFactory factory){
        OMElement endpointEl = template.getElement();
        if (endpointEl != null) {
            Endpoint endpoint = EndpointFactory.getEndpointFromElement(endpointEl, factory, false, new Properties());
            if(endpoint!=null && endpoint instanceof AddressEndpoint){
                AddressEndpoint add = (AddressEndpoint) endpoint;

                AddressEndpointData data = new AddressEndpointData();
                data.setEpName(add.getName());
                data.setAddress(add.getDefinition().getAddress());
                data.setEpType(ADDRESS_EP);
                //data.setFormat(add.getDefinition().getFormat());
                data.setSoap11(add.getDefinition().isForceSOAP11());
                data.setSoap12(add.getDefinition().isForceSOAP12());
                data.setRest(add.getDefinition().isForceREST());
                data.setGet(add.getDefinition().isForceGET());
                data.setPox(add.getDefinition().isForcePOX());
                data.setSwa(add.getDefinition().isUseSwa());
                data.setMtom(add.getDefinition().isUseMTOM());
                data.setSuspendDurationOnFailure(add.getDefinition().getInitialSuspendDuration());
                data.setTimeoutAct(add.getDefinition().getTimeoutAction());
                data.setTimeoutActionDur(add.getDefinition().getTimeoutDuration());
                data.setWsadd(add.getDefinition().isAddressingOn());
                data.setSepList(add.getDefinition().isUseSeparateListener());
                data.setWssec(add.getDefinition().isSecurityOn());
                data.setWsrm(add.getDefinition().isReliableMessagingOn());
                data.setRmPolKey(add.getDefinition().getWsRMPolicyKey());
                data.setSecPolKey(add.getDefinition().getWsSecPolicyKey());
                data.setMaxSusDuration(add.getDefinition().getSuspendMaximumDuration());
                data.setSusProgFactor(add.getDefinition().getSuspendProgressionFactor());
                data.setErrorCodes(errorCodeListBuilder(add.getDefinition().getSuspendErrorCodes()).trim());
                data.setRetryDisabledErrorCodes(errorCodeListBuilder(add.getDefinition().
                        getRetryDisabledErrorCodes()).trim());
                data.setTimdedOutErrorCodes(errorCodeListBuilder(add.getDefinition().getTimeoutErrorCodes()));
                data.setRetryTimeout(add.getDefinition().getRetryDurationOnTimeout());
                data.setRetryDelay(add.getDefinition().getRetriesOnTimeoutBeforeSuspend());

                return data;
                //return EndpointSerializer.getElementFromEndpoint(
                //   synapseConfiguration.getEndpoint(endpointName.trim()));


            }
        }

        return null;
    }

    private static String errorCodeListBuilder(List<Integer> errCodes) {
        String errorCodes = " ";
        for (Integer errCode : errCodes) {
            errorCodes += errCode;
            errorCodes += ",";
        }
        return errorCodes.substring(0, errorCodes.length() - 1);
    }

    public static String getMappingFrom(TemplateParameterContainer container, TemplateParameterContainer.EndpointDefKey key){
        String mapping = container.getTemplateMapping(key);
        if (mapping != null) {
            return mapping;
        }
        if (key == TemplateParameterContainer.EndpointDefKey.suspendProgressionFactor) {
            return "1.0";
        } else if (key == TemplateParameterContainer.EndpointDefKey.retryDurationOnTimeout) {
            return "0";
        } else if (key == TemplateParameterContainer.EndpointDefKey.retriesOnTimeoutBeforeSuspend) {
            return "0";
        } else {
            return "";
        }
    }
}
TOP

Related Classes of org.wso2.carbon.endpoint.ui.util.TemplateConfigurationBuilder

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.