Search in sources :

Example 6 with SynapseImport

use of org.apache.synapse.libraries.imports.SynapseImport in project wso2-synapse by wso2.

the class SynapseImportSerializerTest method testSerializeImportEnabled.

/**
 * Test SerializeImport with valid synapseImport, status enabled.
 */
@Test
public void testSerializeImportEnabled() {
    SynapseImport synapseImport = new SynapseImport();
    synapseImport.setStatus(true);
    synapseImport.setLibName("testLibName");
    synapseImport.setLibPackage("testVersion");
    OMElement element = SynapseImportSerializer.serializeImport(synapseImport);
    OMAttribute temp = element.getAttribute(new QName("status"));
    Assert.assertEquals("asserting stats attribute", "enabled", temp.getAttributeValue());
}
Also used : SynapseImport(org.apache.synapse.libraries.imports.SynapseImport) QName(javax.xml.namespace.QName) OMElement(org.apache.axiom.om.OMElement) OMAttribute(org.apache.axiom.om.OMAttribute) Test(org.junit.Test)

Example 7 with SynapseImport

use of org.apache.synapse.libraries.imports.SynapseImport 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 8 with SynapseImport

use of org.apache.synapse.libraries.imports.SynapseImport in project wso2-synapse by wso2.

the class SynapseXMLConfigurationFactory method defineImport.

public static SynapseImport defineImport(SynapseConfiguration config, OMElement elt, Properties properties) {
    SynapseImport synImport = SynapseImportFactory.createImport(elt, properties);
    String libIndexString = LibDeployerUtils.getQualifiedName(synImport);
    config.addSynapseImport(libIndexString, synImport);
    // get corresponding library for loading imports if available
    Library synLib = config.getSynapseLibraries().get(libIndexString);
    if (synLib != null) {
        LibDeployerUtils.loadLibArtifacts(synImport, synLib);
    }
    return synImport;
}
Also used : SynapseImport(org.apache.synapse.libraries.imports.SynapseImport) Library(org.apache.synapse.libraries.model.Library)

Example 9 with SynapseImport

use of org.apache.synapse.libraries.imports.SynapseImport in project wso2-synapse by wso2.

the class SynapseXMLConfigurationSerializer method serializeImports.

private static void serializeImports(OMElement definitions, Collection<SynapseImport> synImportSet) {
    for (SynapseImport synapseImport : synImportSet) {
        OMElement importElt = SynapseImportSerializer.serializeImport(synapseImport);
        definitions.addChild(importElt);
    }
}
Also used : SynapseImport(org.apache.synapse.libraries.imports.SynapseImport)

Example 10 with SynapseImport

use of org.apache.synapse.libraries.imports.SynapseImport in project wso2-synapse by wso2.

the class MultiXMLConfigurationBuilder method createSynapseImports.

private static void createSynapseImports(SynapseConfiguration synapseConfig, String root, Properties properties) {
    File synImportsDir = new File(root, SYNAPSE_IMPORTS_DIR);
    if (synImportsDir.exists()) {
        if (log.isDebugEnabled()) {
            log.debug("Loading Synapse Imports from :" + synImportsDir.getPath());
        }
        Iterator synImports = FileUtils.iterateFiles(synImportsDir, extensions, false);
        while (synImports.hasNext()) {
            File file = (File) synImports.next();
            try {
                OMElement document = getOMElement(file);
                SynapseImport synImp = SynapseXMLConfigurationFactory.defineImport(synapseConfig, document, properties);
                if (synImp != null) {
                    synImp.setFileName(file.getName());
                    synapseConfig.getArtifactDeploymentStore().addArtifact(file.getAbsolutePath(), synImp.getName());
                }
            } catch (Exception e) {
                String msg = "Import configuration cannot be built from : " + file.getName();
                handleConfigurationError(SynapseConstants.FAIL_SAFE_MODE_IMPORTS, msg, e);
            }
        }
    }
}
Also used : SynapseImport(org.apache.synapse.libraries.imports.SynapseImport) Iterator(java.util.Iterator) OMElement(org.apache.axiom.om.OMElement) XMLStreamException(javax.xml.stream.XMLStreamException) SynapseException(org.apache.synapse.SynapseException)

Aggregations

SynapseImport (org.apache.synapse.libraries.imports.SynapseImport)16 OMElement (org.apache.axiom.om.OMElement)6 Library (org.apache.synapse.libraries.model.Library)5 Test (org.junit.Test)5 IOException (java.io.IOException)3 QName (javax.xml.namespace.QName)3 OMAttribute (org.apache.axiom.om.OMAttribute)3 DeploymentException (org.apache.axis2.deployment.DeploymentException)3 SynapseException (org.apache.synapse.SynapseException)3 File (java.io.File)2 XMLStreamException (javax.xml.stream.XMLStreamException)2 Collection (java.util.Collection)1 HashMap (java.util.HashMap)1 Iterator (java.util.Iterator)1 Map (java.util.Map)1 Properties (java.util.Properties)1 OMFactory (org.apache.axiom.om.OMFactory)1 Startup (org.apache.synapse.Startup)1 PriorityExecutor (org.apache.synapse.commons.executors.PriorityExecutor)1 Entry (org.apache.synapse.config.Entry)1