Search in sources :

Example 1 with TemplateSerializer

use of org.apache.synapse.config.xml.endpoints.TemplateSerializer in project wso2-synapse by wso2.

the class TemplateDeployer method restoreSynapseArtifact.

@Override
public void restoreSynapseArtifact(String artifactName) {
    if (log.isDebugEnabled()) {
        log.debug("Restoring the Template with name : " + artifactName + " : Started");
    }
    try {
        Template st = getSynapseConfiguration().getEndpointTemplate(artifactName);
        if (st != null) {
            TemplateSerializer ts = new TemplateSerializer();
            OMElement stElem = ts.serializeEndpointTemplate(st, null);
            if (st.getFileName() != null) {
                String fileName = getServerConfigurationInformation().getSynapseXMLLocation() + File.separator + MultiXMLConfigurationBuilder.TEMPLATES_DIR + File.separator + st.getFileName();
                writeToFile(stElem, fileName);
                if (log.isDebugEnabled()) {
                    log.debug("Restoring the Endpoint Template with name : " + artifactName + " : Completed");
                }
                log.info("Template named '" + artifactName + "' has been restored");
            }
        } else {
            TemplateMediator mt = getSynapseConfiguration().getSequenceTemplate(artifactName);
            if (mt != null) {
                TemplateMediatorSerializer ts = new TemplateMediatorSerializer();
                OMElement stElem = ts.serializeMediator(null, mt);
                if (mt.getFileName() != null) {
                    String fileName = getServerConfigurationInformation().getSynapseXMLLocation() + File.separator + MultiXMLConfigurationBuilder.TEMPLATES_DIR + File.separator + st.getFileName();
                    writeToFile(stElem, fileName);
                    if (log.isDebugEnabled()) {
                        log.debug("Restoring the Sequence Template with name : " + artifactName + " : Completed");
                    }
                    log.info("Template named '" + artifactName + "' has been restored");
                }
            } else {
                handleSynapseArtifactDeploymentError("Couldn't restore the Template named '" + artifactName + "', filename cannot be found");
            }
        }
    } catch (Exception e) {
        handleSynapseArtifactDeploymentError("Restoring of the Template named '" + artifactName + "' has failed", e);
    }
}
Also used : TemplateMediator(org.apache.synapse.mediators.template.TemplateMediator) TemplateMediatorSerializer(org.apache.synapse.config.xml.TemplateMediatorSerializer) TemplateSerializer(org.apache.synapse.config.xml.endpoints.TemplateSerializer) OMElement(org.apache.axiom.om.OMElement) SynapseException(org.apache.synapse.SynapseException) DeploymentException(org.apache.axis2.deployment.DeploymentException) Template(org.apache.synapse.endpoints.Template)

Example 2 with TemplateSerializer

use of org.apache.synapse.config.xml.endpoints.TemplateSerializer in project wso2-synapse by wso2.

the class MultiXMLConfigurationSerializer method serializeSynapseXML.

/**
 * Serialize only the elements defined in the top level synapse.xml file back to the
 * synapse.xml file. This method ignores the elements defined in files other than the
 * synapse.xml. Can be used in situations where only the synapse.xml file should be
 * updated at runtime.
 *
 * @param synapseConfig Current Synapse configuration
 * @throws Exception on file I/O error
 */
public void serializeSynapseXML(SynapseConfiguration synapseConfig) throws Exception {
    OMFactory fac = OMAbstractFactory.getOMFactory();
    OMElement definitions = fac.createOMElement("definitions", XMLConfigConstants.SYNAPSE_OMNAMESPACE);
    if (synapseConfig.getRegistry() != null && !Boolean.valueOf(synapseConfig.getProperty(MultiXMLConfigurationBuilder.SEPARATE_REGISTRY_DEFINITION))) {
        RegistrySerializer.serializeRegistry(definitions, synapseConfig.getRegistry());
    }
    if (synapseConfig.getTaskManager() != null && !Boolean.valueOf(synapseConfig.getProperty(MultiXMLConfigurationBuilder.SEPARATE_TASK_MANAGER_DEFINITION))) {
        TaskManagerSerializer.serializetaskManager(definitions, synapseConfig.getTaskManager());
    }
    Collection<ProxyService> proxyServices = synapseConfig.getProxyServices();
    Collection<SynapseEventSource> eventSources = synapseConfig.getEventSources();
    Collection<Startup> tasks = synapseConfig.getStartups();
    Collection localEntries = synapseConfig.getLocalRegistry().values();
    Collection<PriorityExecutor> executors = synapseConfig.getPriorityExecutors().values();
    Collection<MessageStore> messageStores = synapseConfig.getMessageStores().values();
    Collection<MessageProcessor> messageProcessors = synapseConfig.getMessageProcessors().values();
    Collection<API> apiCollection = synapseConfig.getAPIs();
    Collection<SynapseImport> synapseImportsCollection = synapseConfig.getSynapseImports().values();
    Collection<InboundEndpoint> inboundEndpoints = synapseConfig.getInboundEndpoints();
    Collection<String> comments = synapseConfig.getCommentedTextList();
    for (ProxyService service : proxyServices) {
        if (service.getFileName() == null) {
            ProxyServiceSerializer.serializeProxy(definitions, service);
        }
    }
    for (SynapseEventSource source : eventSources) {
        if (source.getFileName() == null) {
            EventSourceSerializer.serializeEventSource(definitions, source);
        }
    }
    for (Startup task : tasks) {
        if (task instanceof AbstractStartup && task.getFileName() == null) {
            StartupFinder.getInstance().serializeStartup(definitions, task);
        }
    }
    for (Object o : localEntries) {
        if (o instanceof TemplateMediator) {
            TemplateMediator template = (TemplateMediator) o;
            if (template.getFileName() == null) {
                MediatorSerializerFinder.getInstance().getSerializer(template).serializeMediator(definitions, template);
            }
        } else if (o instanceof SequenceMediator) {
            SequenceMediator seq = (SequenceMediator) o;
            if (seq.getFileName() == null) {
                MediatorSerializerFinder.getInstance().getSerializer(seq).serializeMediator(definitions, seq);
            }
        } else if (o instanceof Template) {
            Template templEndpoint = (Template) o;
            if (templEndpoint.getFileName() == null) {
                new TemplateSerializer().serializeEndpointTemplate(templEndpoint, definitions);
            }
        } else if (o instanceof AbstractEndpoint) {
            AbstractEndpoint endpoint = (AbstractEndpoint) o;
            if (endpoint.getFileName() == null) {
                OMElement endpointElem = EndpointSerializer.getElementFromEndpoint(endpoint);
                definitions.addChild(endpointElem);
            }
        } else if (o instanceof Entry) {
            Entry entry = (Entry) o;
            if (entry.getFileName() == null) {
                if ((SynapseConstants.SERVER_HOST.equals(entry.getKey()) || SynapseConstants.SERVER_IP.equals(entry.getKey())) || entry.getType() == Entry.REMOTE_ENTRY) {
                    continue;
                }
                EntrySerializer.serializeEntry(entry, definitions);
            }
        }
    }
    for (PriorityExecutor executor : executors) {
        PriorityExecutorSerializer.serialize(definitions, executor, SynapseConstants.SYNAPSE_NAMESPACE);
    }
    for (MessageStore messageStore : messageStores) {
        if (messageStore.getFileName() == null) {
            MessageStoreSerializer.serializeMessageStore(definitions, messageStore);
        }
    }
    for (MessageProcessor messageProcessor : messageProcessors) {
        if (messageProcessor.getFileName() == null) {
            MessageProcessorSerializer.serializeMessageProcessor(definitions, messageProcessor);
        }
    }
    for (API api : apiCollection) {
        if (api.getFileName() == null) {
            APISerializer.serializeAPI(definitions, api);
        }
    }
    for (SynapseImport synapseImport : synapseImportsCollection) {
        if (synapseImport.getFileName() == null) {
            SynapseImportSerializer.serializeImport(definitions, synapseImport);
        }
    }
    for (InboundEndpoint inboundEndpoint : inboundEndpoints) {
        if (inboundEndpoint.getFileName() == null) {
            InboundEndpointSerializer.serializeInboundEndpoint(definitions, inboundEndpoint);
        }
    }
    serializeComments(comments, definitions);
    serializeSynapseXML(definitions);
}
Also used : MessageStore(org.apache.synapse.message.store.MessageStore) SynapseEventSource(org.apache.synapse.eventing.SynapseEventSource) MessageProcessor(org.apache.synapse.message.processor.MessageProcessor) OMElement(org.apache.axiom.om.OMElement) PriorityExecutor(org.apache.synapse.commons.executors.PriorityExecutor) Template(org.apache.synapse.endpoints.Template) SynapseImport(org.apache.synapse.libraries.imports.SynapseImport) Entry(org.apache.synapse.config.Entry) TemplateMediator(org.apache.synapse.mediators.template.TemplateMediator) TemplateSerializer(org.apache.synapse.config.xml.endpoints.TemplateSerializer) AbstractStartup(org.apache.synapse.startup.AbstractStartup) AbstractEndpoint(org.apache.synapse.endpoints.AbstractEndpoint) OMFactory(org.apache.axiom.om.OMFactory) InboundEndpoint(org.apache.synapse.inbound.InboundEndpoint) ProxyService(org.apache.synapse.core.axis2.ProxyService) Collection(java.util.Collection) API(org.apache.synapse.rest.API) SequenceMediator(org.apache.synapse.mediators.base.SequenceMediator) Startup(org.apache.synapse.Startup) AbstractStartup(org.apache.synapse.startup.AbstractStartup)

Example 3 with TemplateSerializer

use of org.apache.synapse.config.xml.endpoints.TemplateSerializer in project wso2-synapse by wso2.

the class MultiXMLConfigurationSerializer method serializeTemplate.

public OMElement serializeTemplate(Template template, SynapseConfiguration synapseConfig, OMElement parent) throws Exception {
    File seqDir = createDirectory(currentDirectory, MultiXMLConfigurationBuilder.TEMPLATES_DIR);
    OMElement seqElem = new TemplateSerializer().serializeEndpointTemplate(template, null);
    String fileName = template.getFileName();
    if (fileName != null) {
        if (currentDirectory == rootDirectory) {
            handleDeployment(seqDir, fileName, template.getName(), synapseConfig.getArtifactDeploymentStore());
        }
        File seqFile = new File(seqDir, fileName);
        writeToFile(seqElem, seqFile);
    } else if (parent != null) {
        parent.addChild(seqElem);
    }
    return seqElem;
}
Also used : TemplateSerializer(org.apache.synapse.config.xml.endpoints.TemplateSerializer) OMElement(org.apache.axiom.om.OMElement)

Example 4 with TemplateSerializer

use of org.apache.synapse.config.xml.endpoints.TemplateSerializer in project wso2-synapse by wso2.

the class SynapseXMLConfigurationSerializer method serializeEndpointTemplates.

private static void serializeEndpointTemplates(OMElement definitions, Map<String, Template> templateMap) {
    for (Template template : templateMap.values()) {
        TemplateSerializer serializer = new TemplateSerializer();
        serializer.serializeEndpointTemplate(template, definitions);
    }
}
Also used : TemplateSerializer(org.apache.synapse.config.xml.endpoints.TemplateSerializer) Template(org.apache.synapse.endpoints.Template)

Aggregations

TemplateSerializer (org.apache.synapse.config.xml.endpoints.TemplateSerializer)4 OMElement (org.apache.axiom.om.OMElement)3 Template (org.apache.synapse.endpoints.Template)3 TemplateMediator (org.apache.synapse.mediators.template.TemplateMediator)2 Collection (java.util.Collection)1 OMFactory (org.apache.axiom.om.OMFactory)1 DeploymentException (org.apache.axis2.deployment.DeploymentException)1 Startup (org.apache.synapse.Startup)1 SynapseException (org.apache.synapse.SynapseException)1 PriorityExecutor (org.apache.synapse.commons.executors.PriorityExecutor)1 Entry (org.apache.synapse.config.Entry)1 TemplateMediatorSerializer (org.apache.synapse.config.xml.TemplateMediatorSerializer)1 ProxyService (org.apache.synapse.core.axis2.ProxyService)1 AbstractEndpoint (org.apache.synapse.endpoints.AbstractEndpoint)1 SynapseEventSource (org.apache.synapse.eventing.SynapseEventSource)1 InboundEndpoint (org.apache.synapse.inbound.InboundEndpoint)1 SynapseImport (org.apache.synapse.libraries.imports.SynapseImport)1 SequenceMediator (org.apache.synapse.mediators.base.SequenceMediator)1 MessageProcessor (org.apache.synapse.message.processor.MessageProcessor)1 MessageStore (org.apache.synapse.message.store.MessageStore)1