Search in sources :

Example 1 with DirectoryClassLoader

use of nl.nn.adapterframework.configuration.classloaders.DirectoryClassLoader in project iaf by ibissource.

the class WsdlGeneratorPipe method doPipe.

@Override
public PipeRunResult doPipe(Object input, IPipeLineSession session) throws PipeRunException {
    InputStream inputStream = (InputStream) session.get("file");
    if (inputStream == null) {
        throw new PipeRunException(this, getLogPrefix(session) + "got null value from session under key [" + getSessionKey() + "]");
    }
    File tempDir;
    String fileName;
    try {
        tempDir = FileUtils.createTempDir(null, "WEB-INF" + File.separator + "classes");
        fileName = (String) session.get("fileName");
        if (FileUtils.extensionEqualsIgnoreCase(fileName, "zip")) {
            FileUtils.unzipStream(inputStream, tempDir);
        } else {
            File file = new File(tempDir, fileName);
            Misc.streamToFile(inputStream, file);
            file.deleteOnExit();
        }
    } catch (IOException e) {
        throw new PipeRunException(this, getLogPrefix(session) + " Exception on uploading and unzipping/writing file", e);
    }
    File propertiesFile = new File(tempDir, getPropertiesFileName());
    PipeLine pipeLine;
    ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
    try {
        DirectoryClassLoader directoryClassLoader = new DirectoryClassLoader(tempDir.getPath());
        Thread.currentThread().setContextClassLoader(directoryClassLoader);
        if (propertiesFile.exists()) {
            pipeLine = createPipeLineFromPropertiesFile(propertiesFile);
        } else {
            File xsdFile = FileUtils.getFirstFile(tempDir);
            pipeLine = createPipeLineFromXsdFile(xsdFile);
        }
    } catch (Exception e) {
        throw new PipeRunException(this, getLogPrefix(session) + " Exception on generating wsdl", e);
    } finally {
        if (originalClassLoader != null) {
            Thread.currentThread().setContextClassLoader(originalClassLoader);
        }
    }
    Object result = null;
    OutputStream zipOut = null;
    OutputStream fullWsdlOut = null;
    try {
        Adapter adapter = new Adapter();
        adapter.setConfiguration(new Configuration(null));
        String fileBaseName = FileUtils.getBaseName(fileName).replaceAll(" ", "_");
        adapter.setName(fileBaseName);
        GenericReceiver genericReceiver = new GenericReceiver();
        EsbJmsListener esbJmsListener = new EsbJmsListener();
        esbJmsListener.setQueueConnectionFactoryName("jms/qcf_" + fileBaseName);
        esbJmsListener.setDestinationName("jms/dest_" + fileBaseName);
        genericReceiver.setListener(esbJmsListener);
        adapter.registerReceiver(genericReceiver);
        pipeLine.setAdapter(adapter);
        Wsdl wsdl = null;
        wsdl = new Wsdl(pipeLine);
        wsdl.setIndent(true);
        wsdl.setDocumentation(getWsdlDocumentation(wsdl.getFilename()));
        wsdl.init();
        File wsdlDir = FileUtils.createTempDir(tempDir);
        // zip (with includes)
        File zipOutFile = new File(wsdlDir, wsdl.getFilename() + ".zip");
        zipOutFile.deleteOnExit();
        zipOut = new FileOutputStream(zipOutFile);
        wsdl.setUseIncludes(true);
        wsdl.zip(zipOut, null);
        // full wsdl (without includes)
        File fullWsdlOutFile = new File(wsdlDir, wsdl.getFilename() + ".wsdl");
        fullWsdlOutFile.deleteOnExit();
        fullWsdlOut = new FileOutputStream(fullWsdlOutFile);
        wsdl.setUseIncludes(false);
        wsdl.wsdl(fullWsdlOut, null);
        Dir2Xml dx = new Dir2Xml();
        dx.setPath(wsdlDir.getPath());
        result = dx.getDirList();
    } catch (Exception e) {
        throw new PipeRunException(this, getLogPrefix(session) + " Exception on generating wsdl", e);
    } finally {
        try {
            if (zipOut != null) {
                zipOut.close();
            }
            if (fullWsdlOut != null) {
                fullWsdlOut.close();
            }
        } catch (IOException e1) {
            log.warn("exception closing outputstream", e1);
        }
    }
    return new PipeRunResult(getForward(), result);
}
Also used : Dir2Xml(nl.nn.adapterframework.util.Dir2Xml) DirectoryClassLoader(nl.nn.adapterframework.configuration.classloaders.DirectoryClassLoader) Configuration(nl.nn.adapterframework.configuration.Configuration) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) OutputStream(java.io.OutputStream) FileOutputStream(java.io.FileOutputStream) Adapter(nl.nn.adapterframework.core.Adapter) IOException(java.io.IOException) Wsdl(nl.nn.adapterframework.soap.Wsdl) PipeRunException(nl.nn.adapterframework.core.PipeRunException) IOException(java.io.IOException) ConfigurationException(nl.nn.adapterframework.configuration.ConfigurationException) PipeRunResult(nl.nn.adapterframework.core.PipeRunResult) GenericReceiver(nl.nn.adapterframework.receivers.GenericReceiver) FileOutputStream(java.io.FileOutputStream) PipeRunException(nl.nn.adapterframework.core.PipeRunException) DirectoryClassLoader(nl.nn.adapterframework.configuration.classloaders.DirectoryClassLoader) PipeLine(nl.nn.adapterframework.core.PipeLine) File(java.io.File)

Example 2 with DirectoryClassLoader

use of nl.nn.adapterframework.configuration.classloaders.DirectoryClassLoader in project iaf by ibissource.

the class ClassLoaderManager method createClassloader.

private ClassLoader createClassloader(String configurationName, String configurationFile, ClassLoader parentClassLoader) throws ConfigurationException {
    String classLoaderType = APP_CONSTANTS.getResolvedProperty("configurations." + configurationName + ".classLoaderType");
    ClassLoader classLoader = null;
    if ("DirectoryClassLoader".equals(classLoaderType)) {
        String directory = APP_CONSTANTS.getResolvedProperty("configurations." + configurationName + ".directory");
        classLoader = new DirectoryClassLoader(directory, parentClassLoader);
    } else if ("JarFileClassLoader".equals(classLoaderType)) {
        String jar = APP_CONSTANTS.getResolvedProperty("configurations." + configurationName + ".jar");
        classLoader = new JarFileClassLoader(jar, configurationName, parentClassLoader);
    } else if ("ServiceClassLoader".equals(classLoaderType)) {
        String adapterName = APP_CONSTANTS.getResolvedProperty("configurations." + configurationName + ".adapterName");
        classLoader = new ServiceClassLoader(ibisManager, adapterName, configurationName, parentClassLoader);
    } else if ("DatabaseClassLoader".equals(classLoaderType)) {
        try {
            classLoader = new DatabaseClassLoader(ibisContext, configurationName, parentClassLoader);
        } catch (ConfigurationException ce) {
            String configNotFoundReportLevel = APP_CONSTANTS.getString("configurations." + configurationName + ".configNotFoundReportLevel", "ERROR").toUpperCase();
            String msg = "Could not get config '" + configurationName + "' from database, skipping";
            if (configNotFoundReportLevel.equals("DEBUG")) {
                LOG.debug(msg);
            } else if (configNotFoundReportLevel.equals("INFO")) {
                ibisContext.log(msg);
            } else if (configNotFoundReportLevel.equals("WARN")) {
                ConfigurationWarnings.getInstance().add(LOG, msg);
            } else {
                if (!configNotFoundReportLevel.equals("ERROR"))
                    ConfigurationWarnings.getInstance().add(LOG, "Invalid configNotFoundReportLevel [" + configNotFoundReportLevel + "], using default [ERROR]");
                throw ce;
            }
            // Break here, we cannot continue when there are ConfigurationExceptions!
            return null;
        }
    } else if ("DummyClassLoader".equals(classLoaderType)) {
        classLoader = new DummyClassLoader(configurationName, configurationFile);
    } else if (classLoaderType != null) {
        throw new ConfigurationException("Invalid classLoaderType: " + classLoaderType);
    }
    // It is possible that no classloader has been defined, use default contextClassloader.
    if (classLoader == null) {
        classLoader = parentClassLoader;
    }
    LOG.debug(configurationName + " created classloader [" + classLoader.getClass().getSimpleName() + "]");
    return classLoader;
}
Also used : DirectoryClassLoader(nl.nn.adapterframework.configuration.classloaders.DirectoryClassLoader) ServiceClassLoader(nl.nn.adapterframework.configuration.classloaders.ServiceClassLoader) DatabaseClassLoader(nl.nn.adapterframework.configuration.classloaders.DatabaseClassLoader) JarFileClassLoader(nl.nn.adapterframework.configuration.classloaders.JarFileClassLoader) DirectoryClassLoader(nl.nn.adapterframework.configuration.classloaders.DirectoryClassLoader) ServiceClassLoader(nl.nn.adapterframework.configuration.classloaders.ServiceClassLoader) DummyClassLoader(nl.nn.adapterframework.configuration.classloaders.DummyClassLoader) JarFileClassLoader(nl.nn.adapterframework.configuration.classloaders.JarFileClassLoader) BasePathClassLoader(nl.nn.adapterframework.configuration.classloaders.BasePathClassLoader) DatabaseClassLoader(nl.nn.adapterframework.configuration.classloaders.DatabaseClassLoader) DummyClassLoader(nl.nn.adapterframework.configuration.classloaders.DummyClassLoader)

Example 3 with DirectoryClassLoader

use of nl.nn.adapterframework.configuration.classloaders.DirectoryClassLoader in project iaf by ibissource.

the class TestTool method openQueues.

public static Map openQueues(String scenarioDirectory, List steps, Properties properties, IbisContext ibisContext, Map writers) {
    Map queues = new HashMap();
    debugMessage("Get all queue names", writers);
    List jmsSenders = new ArrayList();
    List jmsListeners = new ArrayList();
    List jdbcFixedQuerySenders = new ArrayList();
    List ibisWebServiceSenders = new ArrayList();
    List webServiceSenders = new ArrayList();
    List webServiceListeners = new ArrayList();
    List httpSenders = new ArrayList();
    List ibisJavaSenders = new ArrayList();
    List delaySenders = new ArrayList();
    List javaListeners = new ArrayList();
    List fileSenders = new ArrayList();
    List fileListeners = new ArrayList();
    List xsltProviderListeners = new ArrayList();
    Iterator iterator = properties.keySet().iterator();
    while (iterator.hasNext()) {
        String key = (String) iterator.next();
        int i = key.indexOf('.');
        if (i != -1) {
            int j = key.indexOf('.', i + 1);
            if (j != -1) {
                String queueName = key.substring(0, j);
                debugMessage("queuename openqueue: " + queueName, writers);
                if ("nl.nn.adapterframework.jms.JmsSender".equals(properties.get(queueName + ".className")) && !jmsSenders.contains(queueName)) {
                    debugMessage("Adding jmsSender queue: " + queueName, writers);
                    jmsSenders.add(queueName);
                } else if ("nl.nn.adapterframework.jms.JmsListener".equals(properties.get(queueName + ".className")) && !jmsListeners.contains(queueName)) {
                    debugMessage("Adding jmsListener queue: " + queueName, writers);
                    jmsListeners.add(queueName);
                } else if ("nl.nn.adapterframework.jdbc.FixedQuerySender".equals(properties.get(queueName + ".className")) && !jdbcFixedQuerySenders.contains(queueName)) {
                    debugMessage("Adding jdbcFixedQuerySender queue: " + queueName, writers);
                    jdbcFixedQuerySenders.add(queueName);
                } else if ("nl.nn.adapterframework.http.IbisWebServiceSender".equals(properties.get(queueName + ".className")) && !ibisWebServiceSenders.contains(queueName)) {
                    debugMessage("Adding ibisWebServiceSender queue: " + queueName, writers);
                    ibisWebServiceSenders.add(queueName);
                } else if ("nl.nn.adapterframework.http.WebServiceSender".equals(properties.get(queueName + ".className")) && !webServiceSenders.contains(queueName)) {
                    debugMessage("Adding webServiceSender queue: " + queueName, writers);
                    webServiceSenders.add(queueName);
                } else if ("nl.nn.adapterframework.http.WebServiceListener".equals(properties.get(queueName + ".className")) && !webServiceListeners.contains(queueName)) {
                    debugMessage("Adding webServiceListener queue: " + queueName, writers);
                    webServiceListeners.add(queueName);
                } else if ("nl.nn.adapterframework.http.HttpSender".equals(properties.get(queueName + ".className")) && !httpSenders.contains(queueName)) {
                    debugMessage("Adding httpSender queue: " + queueName, writers);
                    httpSenders.add(queueName);
                } else if ("nl.nn.adapterframework.senders.IbisJavaSender".equals(properties.get(queueName + ".className")) && !ibisJavaSenders.contains(queueName)) {
                    debugMessage("Adding ibisJavaSender queue: " + queueName, writers);
                    ibisJavaSenders.add(queueName);
                } else if ("nl.nn.adapterframework.senders.DelaySender".equals(properties.get(queueName + ".className")) && !delaySenders.contains(queueName)) {
                    debugMessage("Adding delaySender queue: " + queueName, writers);
                    delaySenders.add(queueName);
                } else if ("nl.nn.adapterframework.receivers.JavaListener".equals(properties.get(queueName + ".className")) && !javaListeners.contains(queueName)) {
                    debugMessage("Adding javaListener queue: " + queueName, writers);
                    javaListeners.add(queueName);
                } else if ("nl.nn.adapterframework.testtool.FileSender".equals(properties.get(queueName + ".className")) && !fileSenders.contains(queueName)) {
                    debugMessage("Adding fileSender queue: " + queueName, writers);
                    fileSenders.add(queueName);
                } else if ("nl.nn.adapterframework.testtool.FileListener".equals(properties.get(queueName + ".className")) && !fileListeners.contains(queueName)) {
                    debugMessage("Adding fileListener queue: " + queueName, writers);
                    fileListeners.add(queueName);
                } else if ("nl.nn.adapterframework.testtool.XsltProviderListener".equals(properties.get(queueName + ".className")) && !xsltProviderListeners.contains(queueName)) {
                    debugMessage("Adding xsltProviderListeners queue: " + queueName, writers);
                    xsltProviderListeners.add(queueName);
                }
            }
        }
    }
    debugMessage("Initialize jms senders", writers);
    iterator = jmsSenders.iterator();
    while (queues != null && iterator.hasNext()) {
        String queueName = (String) iterator.next();
        String queue = (String) properties.get(queueName + ".queue");
        if (queue == null) {
            closeQueues(queues, properties, writers);
            queues = null;
            errorMessage("Could not find property '" + queueName + ".queue'", writers);
        } else {
            JmsSender jmsSender = (JmsSender) ibisContext.createBeanAutowireByName(JmsSender.class);
            jmsSender.setName("Test Tool JmsSender");
            jmsSender.setDestinationName(queue);
            jmsSender.setDestinationType("QUEUE");
            jmsSender.setAcknowledgeMode("auto");
            String jmsRealm = (String) properties.get(queueName + ".jmsRealm");
            if (jmsRealm != null) {
                jmsSender.setJmsRealm(jmsRealm);
            } else {
                jmsSender.setJmsRealm("default");
            }
            String deliveryMode = properties.getProperty(queueName + ".deliveryMode");
            debugMessage("Property '" + queueName + ".deliveryMode': " + deliveryMode, writers);
            String persistent = properties.getProperty(queueName + ".persistent");
            debugMessage("Property '" + queueName + ".persistent': " + persistent, writers);
            String useCorrelationIdFrom = properties.getProperty(queueName + ".useCorrelationIdFrom");
            debugMessage("Property '" + queueName + ".useCorrelationIdFrom': " + useCorrelationIdFrom, writers);
            String replyToName = properties.getProperty(queueName + ".replyToName");
            debugMessage("Property '" + queueName + ".replyToName': " + replyToName, writers);
            if (deliveryMode != null) {
                debugMessage("Set deliveryMode to " + deliveryMode, writers);
                jmsSender.setDeliveryMode(deliveryMode);
            }
            if ("true".equals(persistent)) {
                debugMessage("Set persistent to true", writers);
                jmsSender.setPersistent(true);
            } else {
                debugMessage("Set persistent to false", writers);
                jmsSender.setPersistent(false);
            }
            if (replyToName != null) {
                debugMessage("Set replyToName to " + replyToName, writers);
                jmsSender.setReplyToName(replyToName);
            }
            Map jmsSenderInfo = new HashMap();
            jmsSenderInfo.put("jmsSender", jmsSender);
            jmsSenderInfo.put("useCorrelationIdFrom", useCorrelationIdFrom);
            String correlationId = properties.getProperty(queueName + ".jmsCorrelationId");
            if (correlationId != null) {
                jmsSenderInfo.put("jmsCorrelationId", correlationId);
                debugMessage("Property '" + queueName + ".jmsCorrelationId': " + correlationId, writers);
            }
            queues.put(queueName, jmsSenderInfo);
            debugMessage("Opened jms sender '" + queueName + "'", writers);
        }
    }
    debugMessage("Initialize jms listeners", writers);
    iterator = jmsListeners.iterator();
    while (queues != null && iterator.hasNext()) {
        String queueName = (String) iterator.next();
        String queue = (String) properties.get(queueName + ".queue");
        String timeout = (String) properties.get(queueName + ".timeout");
        int nTimeout = DEFAULT_TIMEOUT;
        if (timeout != null && timeout.length() > 0) {
            nTimeout = Integer.parseInt(timeout);
            debugMessage("Overriding default timeout setting of " + DEFAULT_TIMEOUT + " with " + nTimeout, writers);
        }
        if (queue == null) {
            closeQueues(queues, properties, writers);
            queues = null;
            errorMessage("Could not find property '" + queueName + ".queue'", writers);
        } else {
            PullingJmsListener pullingJmsListener = (PullingJmsListener) ibisContext.createBeanAutowireByName(PullingJmsListener.class);
            pullingJmsListener.setName("Test Tool JmsListener");
            pullingJmsListener.setDestinationName(queue);
            pullingJmsListener.setDestinationType("QUEUE");
            pullingJmsListener.setAcknowledgeMode("auto");
            String jmsRealm = (String) properties.get(queueName + ".jmsRealm");
            if (jmsRealm != null) {
                pullingJmsListener.setJmsRealm(jmsRealm);
            } else {
                pullingJmsListener.setJmsRealm("default");
            }
            // Call setJmsRealm twice as a workaround for a strange bug
            // where we get a java.lang.NullPointerException in a class of
            // the commons-beanutils.jar on the first call to setJmsRealm
            // after starting the Test Tool ear:
            // at org.apache.commons.beanutils.MappedPropertyDescriptor.internalFindMethod(MappedPropertyDescriptor.java(Compiled Code))
            // at org.apache.commons.beanutils.MappedPropertyDescriptor.internalFindMethod(MappedPropertyDescriptor.java:413)
            // ...
            // Looks like some sort of classloader problem where
            // internalFindMethod on another class is called (last line in
            // stacktrace has "Compiled Code" while other lines have
            // linenumbers).
            // Can be reproduced with for example:
            // - WebSphere Studio Application Developer (Windows) Version: 5.1.2
            // - Ibis4Juice build 20051104-1351
            // - y01\rr\getAgent1003\scenario01.properties
            pullingJmsListener.setTimeOut(nTimeout);
            String setForceMessageIdAsCorrelationId = (String) properties.get(queueName + ".setForceMessageIdAsCorrelationId");
            if ("true".equals(setForceMessageIdAsCorrelationId)) {
                pullingJmsListener.setForceMessageIdAsCorrelationId(true);
            }
            Map jmsListenerInfo = new HashMap();
            jmsListenerInfo.put("jmsListener", pullingJmsListener);
            queues.put(queueName, jmsListenerInfo);
            debugMessage("Opened jms listener '" + queueName + "'", writers);
            if (jmsCleanUp(queueName, pullingJmsListener, writers)) {
                errorMessage("Found one or more old messages on queue '" + queueName + "', you might want to run your tests with a higher 'wait before clean up' value", writers);
            }
        }
    }
    debugMessage("Initialize jdbc fixed query senders", writers);
    iterator = jdbcFixedQuerySenders.iterator();
    while (queues != null && iterator.hasNext()) {
        String name = (String) iterator.next();
        String datasourceName = (String) properties.get(name + ".datasourceName");
        String username = (String) properties.get(name + ".username");
        String password = (String) properties.get(name + ".password");
        boolean allFound = false;
        String preDelete = "";
        int preDeleteIndex = 1;
        String queryType = (String) properties.get(name + ".queryType");
        String getBlobSmartString = (String) properties.get(name + ".getBlobSmart");
        boolean getBlobSmart = false;
        if (getBlobSmartString != null) {
            getBlobSmart = Boolean.valueOf(getBlobSmartString).booleanValue();
        }
        if (datasourceName == null) {
            closeQueues(queues, properties, writers);
            queues = null;
            errorMessage("Could not find datasourceName property for " + name, writers);
        } else {
            Map querySendersInfo = new HashMap();
            while (!allFound && queues != null) {
                preDelete = (String) properties.get(name + ".preDel" + preDeleteIndex);
                if (preDelete != null) {
                    FixedQuerySender deleteQuerySender = (FixedQuerySender) ibisContext.createBeanAutowireByName(FixedQuerySender.class);
                    deleteQuerySender.setName("Test Tool pre delete query sender");
                    deleteQuerySender.setDatasourceName(AppConstants.getInstance().getResolvedProperty("jndiContextPrefix") + datasourceName);
                    deleteQuerySender.setQueryType("delete");
                    deleteQuerySender.setQuery("delete from " + preDelete);
                    try {
                        deleteQuerySender.configure();
                        deleteQuerySender.open();
                        deleteQuerySender.sendMessage(TESTTOOL_CORRELATIONID, TESTTOOL_DUMMY_MESSAGE);
                        deleteQuerySender.close();
                    } catch (ConfigurationException e) {
                        closeQueues(queues, properties, writers);
                        queues = null;
                        errorMessage("Could not configure '" + name + "': " + e.getMessage(), e, writers);
                    } catch (TimeOutException e) {
                        closeQueues(queues, properties, writers);
                        queues = null;
                        errorMessage("Time out on execute pre delete query for '" + name + "': " + e.getMessage(), e, writers);
                    } catch (SenderException e) {
                        closeQueues(queues, properties, writers);
                        queues = null;
                        errorMessage("Could not execute pre delete query for '" + name + "': " + e.getMessage(), e, writers);
                    }
                    preDeleteIndex++;
                } else {
                    allFound = true;
                }
            }
            if (queues != null) {
                String prePostQuery = (String) properties.get(name + ".prePostQuery");
                if (prePostQuery != null) {
                    FixedQuerySender prePostFixedQuerySender = (FixedQuerySender) ibisContext.createBeanAutowireByName(FixedQuerySender.class);
                    prePostFixedQuerySender.setName("Test Tool query sender");
                    prePostFixedQuerySender.setDatasourceName(AppConstants.getInstance().getResolvedProperty("jndiContextPrefix") + datasourceName);
                    // prePostFixedQuerySender.setUsername(username);
                    // prePostFixedQuerySender.setPassword(password);
                    prePostFixedQuerySender.setQueryType("select");
                    prePostFixedQuerySender.setQuery(prePostQuery);
                    try {
                        prePostFixedQuerySender.configure();
                    } catch (ConfigurationException e) {
                        closeQueues(queues, properties, writers);
                        queues = null;
                        errorMessage("Could not configure '" + name + "': " + e.getMessage(), e, writers);
                    }
                    if (queues != null) {
                        try {
                            prePostFixedQuerySender.open();
                        } catch (SenderException e) {
                            closeQueues(queues, properties, writers);
                            queues = null;
                            errorMessage("Could not open (pre/post) '" + name + "': " + e.getMessage(), e, writers);
                        }
                    }
                    if (queues != null) {
                        try {
                            String result = prePostFixedQuerySender.sendMessage(TESTTOOL_CORRELATIONID, TESTTOOL_DUMMY_MESSAGE);
                            querySendersInfo.put("prePostQueryFixedQuerySender", prePostFixedQuerySender);
                            querySendersInfo.put("prePostQueryResult", result);
                        } catch (TimeOutException e) {
                            closeQueues(queues, properties, writers);
                            queues = null;
                            errorMessage("Time out on execute query for '" + name + "': " + e.getMessage(), e, writers);
                        } catch (SenderException e) {
                            closeQueues(queues, properties, writers);
                            queues = null;
                            errorMessage("Could not execute query for '" + name + "': " + e.getMessage(), e, writers);
                        }
                    }
                }
            }
            if (queues != null) {
                String readQuery = (String) properties.get(name + ".readQuery");
                if (readQuery != null) {
                    FixedQuerySender readQueryFixedQuerySender = (FixedQuerySender) ibisContext.createBeanAutowireByName(FixedQuerySender.class);
                    readQueryFixedQuerySender.setName("Test Tool query sender");
                    readQueryFixedQuerySender.setDatasourceName(AppConstants.getInstance().getResolvedProperty("jndiContextPrefix") + datasourceName);
                    if ((queryType != null) && (!queryType.equals(""))) {
                        readQueryFixedQuerySender.setQueryType(queryType);
                    } else {
                        readQueryFixedQuerySender.setQueryType("select");
                    }
                    readQueryFixedQuerySender.setQuery(readQuery);
                    readQueryFixedQuerySender.setBlobSmartGet(getBlobSmart);
                    try {
                        readQueryFixedQuerySender.configure();
                    } catch (ConfigurationException e) {
                        closeQueues(queues, properties, writers);
                        queues = null;
                        errorMessage("Could not configure '" + name + "': " + e.getMessage(), e, writers);
                    }
                    if (queues != null) {
                        try {
                            readQueryFixedQuerySender.open();
                            querySendersInfo.put("readQueryQueryFixedQuerySender", readQueryFixedQuerySender);
                        } catch (SenderException e) {
                            closeQueues(queues, properties, writers);
                            queues = null;
                            errorMessage("Could not open '" + name + "': " + e.getMessage(), e, writers);
                        }
                    }
                }
            }
            if (queues != null) {
                String waitBeforeRead = (String) properties.get(name + ".waitBeforeRead");
                if (waitBeforeRead != null) {
                    try {
                        querySendersInfo.put("readQueryWaitBeforeRead", new Integer(waitBeforeRead));
                    } catch (NumberFormatException e) {
                        errorMessage("Value of '" + name + ".waitBeforeRead' not a number: " + e.getMessage(), e, writers);
                    }
                }
                queues.put(name, querySendersInfo);
                debugMessage("Opened jdbc connection '" + name + "'", writers);
            }
        }
    }
    debugMessage("Initialize ibis web service senders", writers);
    iterator = ibisWebServiceSenders.iterator();
    while (queues != null && iterator.hasNext()) {
        String name = (String) iterator.next();
        String ibisHost = (String) properties.get(name + ".ibisHost");
        String ibisInstance = (String) properties.get(name + ".ibisInstance");
        String serviceName = (String) properties.get(name + ".serviceName");
        Boolean convertExceptionToMessage = new Boolean((String) properties.get(name + ".convertExceptionToMessage"));
        if (ibisHost == null) {
            closeQueues(queues, properties, writers);
            queues = null;
            errorMessage("Could not find ibisHost property for " + name, writers);
        } else if (ibisInstance == null) {
            closeQueues(queues, properties, writers);
            queues = null;
            errorMessage("Could not find ibisInstance property for " + name, writers);
        } else if (serviceName == null) {
            closeQueues(queues, properties, writers);
            queues = null;
            errorMessage("Could not find serviceName property for " + name, writers);
        } else {
            IbisWebServiceSender ibisWebServiceSender = new IbisWebServiceSender();
            ibisWebServiceSender.setName("Test Tool IbisWebServiceSender");
            ibisWebServiceSender.setIbisHost(ibisHost);
            ibisWebServiceSender.setIbisInstance(ibisInstance);
            ibisWebServiceSender.setServiceName(serviceName);
            try {
                ibisWebServiceSender.configure();
            } catch (ConfigurationException e) {
                errorMessage("Could not configure '" + name + "': " + e.getMessage(), e, writers);
                closeQueues(queues, properties, writers);
                queues = null;
            }
            try {
                ibisWebServiceSender.open();
            } catch (SenderException e) {
                closeQueues(queues, properties, writers);
                queues = null;
                errorMessage("Could not open '" + name + "': " + e.getMessage(), e, writers);
            }
            if (queues != null) {
                Map ibisWebServiceSenderInfo = new HashMap();
                ibisWebServiceSenderInfo.put("ibisWebServiceSender", ibisWebServiceSender);
                ibisWebServiceSenderInfo.put("convertExceptionToMessage", convertExceptionToMessage);
                queues.put(name, ibisWebServiceSenderInfo);
                debugMessage("Opened ibis web service sender '" + name + "'", writers);
            }
        }
    }
    debugMessage("Initialize web service senders", writers);
    iterator = webServiceSenders.iterator();
    while (queues != null && iterator.hasNext()) {
        String name = (String) iterator.next();
        Boolean convertExceptionToMessage = new Boolean((String) properties.get(name + ".convertExceptionToMessage"));
        String url = (String) properties.get(name + ".url");
        String userName = (String) properties.get(name + ".userName");
        String password = (String) properties.get(name + ".password");
        String soap = (String) properties.get(name + ".soap");
        String allowSelfSignedCertificates = (String) properties.get(name + ".allowSelfSignedCertificates");
        if (url == null) {
            closeQueues(queues, properties, writers);
            queues = null;
            errorMessage("Could not find url property for " + name, writers);
        } else {
            WebServiceSender webServiceSender = new WebServiceSender();
            webServiceSender.setName("Test Tool WebServiceSender");
            webServiceSender.setUrl(url);
            webServiceSender.setUserName(userName);
            webServiceSender.setPassword(password);
            if (soap != null) {
                webServiceSender.setSoap(new Boolean(soap));
            }
            if (allowSelfSignedCertificates != null) {
                webServiceSender.setAllowSelfSignedCertificates(new Boolean(allowSelfSignedCertificates));
            }
            String serviceNamespaceURI = (String) properties.get(name + ".serviceNamespaceURI");
            if (serviceNamespaceURI != null) {
                webServiceSender.setServiceNamespaceURI(serviceNamespaceURI);
            }
            String serviceNamespace = (String) properties.get(name + ".serviceNamespace");
            if (serviceNamespace != null) {
                webServiceSender.setServiceNamespace(serviceNamespace);
            }
            try {
                webServiceSender.configure();
            } catch (ConfigurationException e) {
                errorMessage("Could not configure '" + name + "': " + e.getMessage(), e, writers);
                closeQueues(queues, properties, writers);
                queues = null;
            }
            if (queues != null) {
                try {
                    webServiceSender.open();
                } catch (SenderException e) {
                    closeQueues(queues, properties, writers);
                    queues = null;
                    errorMessage("Could not open '" + name + "': " + e.getMessage(), e, writers);
                }
                if (queues != null) {
                    Map webServiceSenderInfo = new HashMap();
                    webServiceSenderInfo.put("webServiceSender", webServiceSender);
                    webServiceSenderInfo.put("convertExceptionToMessage", convertExceptionToMessage);
                    queues.put(name, webServiceSenderInfo);
                    debugMessage("Opened web service sender '" + name + "'", writers);
                }
            }
        }
    }
    debugMessage("Initialize web service listeners", writers);
    iterator = webServiceListeners.iterator();
    while (queues != null && iterator.hasNext()) {
        String name = (String) iterator.next();
        String serviceNamespaceURI = (String) properties.get(name + ".serviceNamespaceURI");
        if (serviceNamespaceURI == null) {
            closeQueues(queues, properties, writers);
            queues = null;
            errorMessage("Could not find property '" + name + ".serviceNamespaceURI'", writers);
        } else {
            ListenerMessageHandler listenerMessageHandler = new ListenerMessageHandler();
            try {
                long requestTimeOut = Long.parseLong((String) properties.get(name + ".requestTimeOut"));
                listenerMessageHandler.setRequestTimeOut(requestTimeOut);
                debugMessage("Request time out set to '" + requestTimeOut + "'", writers);
            } catch (Exception e) {
            }
            try {
                long responseTimeOut = Long.parseLong((String) properties.get(name + ".responseTimeOut"));
                listenerMessageHandler.setResponseTimeOut(responseTimeOut);
                debugMessage("Response time out set to '" + responseTimeOut + "'", writers);
            } catch (Exception e) {
            }
            WebServiceListener webServiceListener = new WebServiceListener();
            webServiceListener.setName("Test Tool WebServiceListener");
            webServiceListener.setServiceNamespaceURI(serviceNamespaceURI);
            webServiceListener.setHandler(listenerMessageHandler);
            try {
                webServiceListener.open();
            } catch (ListenerException e) {
                closeQueues(queues, properties, writers);
                queues = null;
                errorMessage("Could not open web service listener '" + name + "': " + e.getMessage(), e, writers);
            }
            Map webServiceListenerInfo = new HashMap();
            webServiceListenerInfo.put("webServiceListener", webServiceListener);
            webServiceListenerInfo.put("listenerMessageHandler", listenerMessageHandler);
            queues.put(name, webServiceListenerInfo);
            ServiceDispatcher serviceDispatcher = ServiceDispatcher.getInstance();
            try {
                serviceDispatcher.registerServiceClient(serviceNamespaceURI, webServiceListener);
                debugMessage("Opened web service listener '" + name + "'", writers);
            } catch (ListenerException e) {
                closeQueues(queues, properties, writers);
                queues = null;
                errorMessage("Could not open web service listener '" + name + "': " + e.getMessage(), e, writers);
            }
        }
    }
    debugMessage("Initialize http senders", writers);
    iterator = httpSenders.iterator();
    while (queues != null && iterator.hasNext()) {
        String name = (String) iterator.next();
        Boolean convertExceptionToMessage = new Boolean((String) properties.get(name + ".convertExceptionToMessage"));
        String url = (String) properties.get(name + ".url");
        String userName = (String) properties.get(name + ".userName");
        String password = (String) properties.get(name + ".password");
        String headerParams = (String) properties.get(name + ".headersParams");
        String xhtmlString = (String) properties.get(name + ".xhtml");
        String methodtype = (String) properties.get(name + ".methodType");
        String paramsInUrlString = (String) properties.get(name + ".paramsInUrl");
        String inputMessageParam = (String) properties.get(name + ".inputMessageParam");
        String multipartString = (String) properties.get(name + ".multipart");
        String styleSheetName = (String) properties.get(name + ".styleSheetName");
        if (url == null) {
            closeQueues(queues, properties, writers);
            queues = null;
            errorMessage("Could not find url property for " + name, writers);
        } else {
            HttpSender httpSender = null;
            ParameterResolutionContext parameterResolutionContext = null;
            ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
            try {
                // Use directoryClassLoader to make it possible to specify
                // styleSheetName relative to the scenarioDirectory.
                DirectoryClassLoader directoryClassLoader = new DirectoryClassLoader(scenarioDirectory);
                Thread.currentThread().setContextClassLoader(directoryClassLoader);
                httpSender = new HttpSender();
                httpSender.setName("Test Tool HttpSender");
                httpSender.setUrl(url);
                httpSender.setUserName(userName);
                httpSender.setPassword(password);
                httpSender.setHeadersParams(headerParams);
                if (StringUtils.isNotEmpty(xhtmlString)) {
                    httpSender.setXhtml(Boolean.valueOf(xhtmlString).booleanValue());
                }
                if (StringUtils.isNotEmpty(methodtype)) {
                    httpSender.setMethodType(methodtype);
                }
                if (StringUtils.isNotEmpty(paramsInUrlString)) {
                    httpSender.setParamsInUrl(Boolean.valueOf(paramsInUrlString).booleanValue());
                }
                if (StringUtils.isNotEmpty(inputMessageParam)) {
                    httpSender.setInputMessageParam(inputMessageParam);
                }
                if (StringUtils.isNotEmpty(multipartString)) {
                    httpSender.setMultipart(Boolean.valueOf(multipartString).booleanValue());
                }
                if (StringUtils.isNotEmpty(styleSheetName)) {
                    httpSender.setStyleSheetName(styleSheetName);
                }
                parameterResolutionContext = new ParameterResolutionContext();
                parameterResolutionContext.setSession(new PipeLineSessionBase());
                Map paramPropertiesMap = createParametersMapFromParamProperties(properties, name, writers, true, parameterResolutionContext);
                Iterator parameterNameIterator = paramPropertiesMap.keySet().iterator();
                while (parameterNameIterator.hasNext()) {
                    String parameterName = (String) parameterNameIterator.next();
                    Parameter parameter = (Parameter) paramPropertiesMap.get(parameterName);
                    httpSender.addParameter(parameter);
                }
                httpSender.configure();
            } catch (ConfigurationException e) {
                errorMessage("Could not configure '" + name + "': " + e.getMessage(), e, writers);
                closeQueues(queues, properties, writers);
                queues = null;
            } finally {
                if (originalClassLoader != null) {
                    Thread.currentThread().setContextClassLoader(originalClassLoader);
                }
            }
            if (queues != null) {
                try {
                    httpSender.open();
                } catch (SenderException e) {
                    closeQueues(queues, properties, writers);
                    queues = null;
                    errorMessage("Could not open '" + name + "': " + e.getMessage(), e, writers);
                }
                if (queues != null) {
                    Map httpSenderInfo = new HashMap();
                    httpSenderInfo.put("httpSender", httpSender);
                    httpSenderInfo.put("parameterResolutionContext", parameterResolutionContext);
                    httpSenderInfo.put("convertExceptionToMessage", convertExceptionToMessage);
                    queues.put(name, httpSenderInfo);
                    debugMessage("Opened http sender '" + name + "'", writers);
                }
            }
        }
    }
    debugMessage("Initialize ibis java senders", writers);
    iterator = ibisJavaSenders.iterator();
    while (queues != null && iterator.hasNext()) {
        String name = (String) iterator.next();
        String serviceName = (String) properties.get(name + ".serviceName");
        Boolean convertExceptionToMessage = new Boolean((String) properties.get(name + ".convertExceptionToMessage"));
        if (serviceName == null) {
            closeQueues(queues, properties, writers);
            queues = null;
            errorMessage("Could not find serviceName property for " + name, writers);
        } else {
            IbisJavaSender ibisJavaSender = new IbisJavaSender();
            ibisJavaSender.setName("Test Tool IbisJavaSender");
            ibisJavaSender.setServiceName(serviceName);
            ParameterResolutionContext parameterResolutionContext = new ParameterResolutionContext();
            parameterResolutionContext.setSession(new PipeLineSessionBase());
            Map paramPropertiesMap = createParametersMapFromParamProperties(properties, name, writers, true, parameterResolutionContext);
            Iterator parameterNameIterator = paramPropertiesMap.keySet().iterator();
            while (parameterNameIterator.hasNext()) {
                String parameterName = (String) parameterNameIterator.next();
                Parameter parameter = (Parameter) paramPropertiesMap.get(parameterName);
                ibisJavaSender.addParameter(parameter);
            }
            try {
                ibisJavaSender.configure();
            } catch (ConfigurationException e) {
                errorMessage("Could not configure '" + name + "': " + e.getMessage(), e, writers);
                closeQueues(queues, properties, writers);
                queues = null;
            }
            if (queues != null) {
                try {
                    ibisJavaSender.open();
                } catch (SenderException e) {
                    closeQueues(queues, properties, writers);
                    queues = null;
                    errorMessage("Could not open '" + name + "': " + e.getMessage(), e, writers);
                }
                if (queues != null) {
                    Map ibisJavaSenderInfo = new HashMap();
                    ibisJavaSenderInfo.put("ibisJavaSender", ibisJavaSender);
                    ibisJavaSenderInfo.put("parameterResolutionContext", parameterResolutionContext);
                    ibisJavaSenderInfo.put("convertExceptionToMessage", convertExceptionToMessage);
                    queues.put(name, ibisJavaSenderInfo);
                    debugMessage("Opened ibis java sender '" + name + "'", writers);
                }
            }
        }
    }
    debugMessage("Initialize delay senders", writers);
    iterator = delaySenders.iterator();
    while (queues != null && iterator.hasNext()) {
        String name = (String) iterator.next();
        Boolean convertExceptionToMessage = new Boolean((String) properties.get(name + ".convertExceptionToMessage"));
        String delayTime = (String) properties.get(name + ".delayTime");
        DelaySender delaySender = new DelaySender();
        if (delayTime != null) {
            delaySender.setDelayTime(Long.parseLong(delayTime));
        }
        delaySender.setName("Test Tool DelaySender");
        Map delaySenderInfo = new HashMap();
        delaySenderInfo.put("delaySender", delaySender);
        delaySenderInfo.put("convertExceptionToMessage", convertExceptionToMessage);
        queues.put(name, delaySenderInfo);
        debugMessage("Opened delay sender '" + name + "'", writers);
    }
    debugMessage("Initialize java listeners", writers);
    iterator = javaListeners.iterator();
    while (queues != null && iterator.hasNext()) {
        String name = (String) iterator.next();
        String serviceName = (String) properties.get(name + ".serviceName");
        if (serviceName == null) {
            closeQueues(queues, properties, writers);
            queues = null;
            errorMessage("Could not find property '" + name + ".serviceName'", writers);
        } else {
            ListenerMessageHandler listenerMessageHandler = new ListenerMessageHandler();
            try {
                long requestTimeOut = Long.parseLong((String) properties.get(name + ".requestTimeOut"));
                listenerMessageHandler.setRequestTimeOut(requestTimeOut);
                debugMessage("Request time out set to '" + requestTimeOut + "'", writers);
            } catch (Exception e) {
            }
            try {
                long responseTimeOut = Long.parseLong((String) properties.get(name + ".responseTimeOut"));
                listenerMessageHandler.setResponseTimeOut(responseTimeOut);
                debugMessage("Response time out set to '" + responseTimeOut + "'", writers);
            } catch (Exception e) {
            }
            JavaListener javaListener = new JavaListener();
            javaListener.setName("Test Tool JavaListener");
            javaListener.setServiceName(serviceName);
            javaListener.setHandler(listenerMessageHandler);
            try {
                javaListener.open();
                Map javaListenerInfo = new HashMap();
                javaListenerInfo.put("javaListener", javaListener);
                javaListenerInfo.put("listenerMessageHandler", listenerMessageHandler);
                queues.put(name, javaListenerInfo);
                debugMessage("Opened java listener '" + name + "'", writers);
            } catch (ListenerException e) {
                closeQueues(queues, properties, writers);
                queues = null;
                errorMessage("Could not open java listener '" + name + "': " + e.getMessage(), e, writers);
            }
        }
    }
    debugMessage("Initialize file senders", writers);
    iterator = fileSenders.iterator();
    while (queues != null && iterator.hasNext()) {
        String queueName = (String) iterator.next();
        String filename = (String) properties.get(queueName + ".filename");
        if (filename == null) {
            closeQueues(queues, properties, writers);
            queues = null;
            errorMessage("Could not find filename property for " + queueName, writers);
        } else {
            FileSender fileSender = new FileSender();
            String filenameAbsolutePath = (String) properties.get(queueName + ".filename.absolutepath");
            fileSender.setFilename(filenameAbsolutePath);
            String encoding = (String) properties.get(queueName + ".encoding");
            if (encoding != null) {
                fileSender.setEncoding(encoding);
                debugMessage("Encoding set to '" + encoding + "'", writers);
            }
            String deletePathString = (String) properties.get(queueName + ".deletePath");
            if (deletePathString != null) {
                boolean deletePath = Boolean.valueOf(deletePathString).booleanValue();
                fileSender.setDeletePath(deletePath);
                debugMessage("Delete path set to '" + deletePath + "'", writers);
            }
            String createPathString = (String) properties.get(queueName + ".createPath");
            if (createPathString != null) {
                boolean createPath = Boolean.valueOf(createPathString).booleanValue();
                fileSender.setCreatePath(createPath);
                debugMessage("Create path set to '" + createPath + "'", writers);
            }
            try {
                String checkDeleteString = (String) properties.get(queueName + ".checkDelete");
                if (checkDeleteString != null) {
                    boolean checkDelete = Boolean.valueOf(checkDeleteString).booleanValue();
                    fileSender.setCheckDelete(checkDelete);
                    debugMessage("Check delete set to '" + checkDelete + "'", writers);
                }
            } catch (Exception e) {
            }
            try {
                String runAntString = (String) properties.get(queueName + ".runAnt");
                if (runAntString != null) {
                    boolean runAnt = Boolean.valueOf(runAntString).booleanValue();
                    fileSender.setRunAnt(runAnt);
                    debugMessage("Run ant set to '" + runAnt + "'", writers);
                }
            } catch (Exception e) {
            }
            try {
                long timeOut = Long.parseLong((String) properties.get(queueName + ".timeOut"));
                fileSender.setTimeOut(timeOut);
                debugMessage("Time out set to '" + timeOut + "'", writers);
            } catch (Exception e) {
            }
            try {
                long interval = Long.parseLong((String) properties.get(queueName + ".interval"));
                fileSender.setInterval(interval);
                debugMessage("Interval set to '" + interval + "'", writers);
            } catch (Exception e) {
            }
            try {
                String overwriteString = (String) properties.get(queueName + ".overwrite");
                if (overwriteString != null) {
                    debugMessage("OverwriteString = " + overwriteString, writers);
                    boolean overwrite = Boolean.valueOf(overwriteString).booleanValue();
                    fileSender.setOverwrite(overwrite);
                    debugMessage("Overwrite set to '" + overwrite + "'", writers);
                }
            } catch (Exception e) {
            }
            Map fileSenderInfo = new HashMap();
            fileSenderInfo.put("fileSender", fileSender);
            queues.put(queueName, fileSenderInfo);
            debugMessage("Opened file sender '" + queueName + "'", writers);
        }
    }
    debugMessage("Initialize file listeners", writers);
    iterator = fileListeners.iterator();
    while (queues != null && iterator.hasNext()) {
        String queueName = (String) iterator.next();
        String filename = (String) properties.get(queueName + ".filename");
        String filename2 = (String) properties.get(queueName + ".filename2");
        String directory = null;
        String wildcard = null;
        if (filename == null) {
            directory = (String) properties.get(queueName + ".directory");
            wildcard = (String) properties.get(queueName + ".wildcard");
        }
        if (filename == null && directory == null) {
            closeQueues(queues, properties, writers);
            queues = null;
            errorMessage("Could not find filename or directory property for " + queueName, writers);
        } else if (directory != null && wildcard == null) {
            closeQueues(queues, properties, writers);
            queues = null;
            errorMessage("Could not find wildcard property for " + queueName, writers);
        } else {
            FileListener fileListener = new FileListener();
            if (filename == null) {
                String directoryAbsolutePath = (String) properties.get(queueName + ".directory.absolutepath");
                ;
                fileListener.setDirectory(directoryAbsolutePath);
                fileListener.setWildcard(wildcard);
            } else {
                String filenameAbsolutePath = (String) properties.get(queueName + ".filename.absolutepath");
                ;
                fileListener.setFilename(filenameAbsolutePath);
            }
            try {
                long waitBeforeRead = Long.parseLong((String) properties.get(queueName + ".waitBeforeRead"));
                fileListener.setWaitBeforeRead(waitBeforeRead);
                debugMessage("Wait before read set to '" + waitBeforeRead + "'", writers);
            } catch (Exception e) {
            }
            try {
                long timeOut = Long.parseLong((String) properties.get(queueName + ".timeOut"));
                fileListener.setTimeOut(timeOut);
                debugMessage("Time out set to '" + timeOut + "'", writers);
            } catch (Exception e) {
            }
            try {
                long interval = Long.parseLong((String) properties.get(queueName + ".interval"));
                fileListener.setInterval(interval);
                debugMessage("Interval set to '" + interval + "'", writers);
            } catch (Exception e) {
            }
            if (filename2 != null) {
                fileListener.setFilename2(filename2);
            }
            Map fileListenerInfo = new HashMap();
            fileListenerInfo.put("fileListener", fileListener);
            queues.put(queueName, fileListenerInfo);
            debugMessage("Opened file listener '" + queueName + "'", writers);
            if (fileListenerCleanUp(queueName, fileListener, writers)) {
                errorMessage("Found old messages on '" + queueName + "'", writers);
            }
        }
    }
    debugMessage("Initialize xslt provider listeners", writers);
    iterator = xsltProviderListeners.iterator();
    while (queues != null && iterator.hasNext()) {
        String queueName = (String) iterator.next();
        String filename = (String) properties.get(queueName + ".filename");
        if (filename == null) {
            closeQueues(queues, properties, writers);
            queues = null;
            errorMessage("Could not find filename property for " + queueName, writers);
        } else {
            Boolean fromClasspath = new Boolean((String) properties.get(queueName + ".fromClasspath"));
            if (!fromClasspath) {
                filename = (String) properties.get(queueName + ".filename.absolutepath");
            }
            XsltProviderListener xsltProviderListener = new XsltProviderListener();
            xsltProviderListener.setFromClasspath(fromClasspath);
            xsltProviderListener.setFilename(filename);
            String xslt2String = (String) properties.get(queueName + ".xslt2");
            if (xslt2String != null) {
                try {
                    boolean xslt2 = Boolean.valueOf(xslt2String).booleanValue();
                    xsltProviderListener.setXslt2(xslt2);
                    debugMessage("Xslt2 set to '" + xslt2 + "'", writers);
                } catch (Exception e) {
                }
            }
            String namespaceAwareString = (String) properties.get(queueName + ".namespaceAware");
            if (namespaceAwareString != null) {
                try {
                    boolean namespaceAware = Boolean.valueOf(namespaceAwareString).booleanValue();
                    xsltProviderListener.setNamespaceAware(namespaceAware);
                    debugMessage("Namespace aware set to '" + namespaceAware + "'", writers);
                } catch (Exception e) {
                }
            }
            try {
                xsltProviderListener.init();
                Map xsltProviderListenerInfo = new HashMap();
                xsltProviderListenerInfo.put("xsltProviderListener", xsltProviderListener);
                queues.put(queueName, xsltProviderListenerInfo);
                debugMessage("Opened xslt provider listener '" + queueName + "'", writers);
            } catch (ListenerException e) {
                closeQueues(queues, properties, writers);
                queues = null;
                errorMessage("Could not create xslt provider listener for '" + queueName + "': " + e.getMessage(), e, writers);
            }
        }
    }
    return queues;
}
Also used : PullingJmsListener(nl.nn.adapterframework.jms.PullingJmsListener) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) ArrayList(java.util.ArrayList) ListenerException(nl.nn.adapterframework.core.ListenerException) ConfigurationException(nl.nn.adapterframework.configuration.ConfigurationException) Iterator(java.util.Iterator) DelaySender(nl.nn.adapterframework.senders.DelaySender) DirectoryClassLoader(nl.nn.adapterframework.configuration.classloaders.DirectoryClassLoader) List(java.util.List) ArrayList(java.util.ArrayList) LinkedList(java.util.LinkedList) ServiceDispatcher(nl.nn.adapterframework.receivers.ServiceDispatcher) IbisWebServiceSender(nl.nn.adapterframework.http.IbisWebServiceSender) WebServiceSender(nl.nn.adapterframework.http.WebServiceSender) ParameterResolutionContext(nl.nn.adapterframework.parameters.ParameterResolutionContext) DirectoryClassLoader(nl.nn.adapterframework.configuration.classloaders.DirectoryClassLoader) IbisWebServiceSender(nl.nn.adapterframework.http.IbisWebServiceSender) WebServiceListener(nl.nn.adapterframework.http.WebServiceListener) HttpSender(nl.nn.adapterframework.http.HttpSender) ParseException(java.text.ParseException) DomBuilderException(nl.nn.adapterframework.util.DomBuilderException) FileNotFoundException(java.io.FileNotFoundException) SenderException(nl.nn.adapterframework.core.SenderException) DocumentException(org.dom4j.DocumentException) ListenerException(nl.nn.adapterframework.core.ListenerException) IOException(java.io.IOException) ConfigurationException(nl.nn.adapterframework.configuration.ConfigurationException) TimeOutException(nl.nn.adapterframework.core.TimeOutException) IbisJavaSender(nl.nn.adapterframework.senders.IbisJavaSender) TimeOutException(nl.nn.adapterframework.core.TimeOutException) JavaListener(nl.nn.adapterframework.receivers.JavaListener) Parameter(nl.nn.adapterframework.parameters.Parameter) JmsSender(nl.nn.adapterframework.jms.JmsSender) SenderException(nl.nn.adapterframework.core.SenderException) Map(java.util.Map) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) FixedQuerySender(nl.nn.adapterframework.jdbc.FixedQuerySender) PipeLineSessionBase(nl.nn.adapterframework.core.PipeLineSessionBase)

Aggregations

DirectoryClassLoader (nl.nn.adapterframework.configuration.classloaders.DirectoryClassLoader)3 IOException (java.io.IOException)2 ConfigurationException (nl.nn.adapterframework.configuration.ConfigurationException)2 File (java.io.File)1 FileInputStream (java.io.FileInputStream)1 FileNotFoundException (java.io.FileNotFoundException)1 FileOutputStream (java.io.FileOutputStream)1 InputStream (java.io.InputStream)1 OutputStream (java.io.OutputStream)1 ParseException (java.text.ParseException)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 Iterator (java.util.Iterator)1 LinkedHashMap (java.util.LinkedHashMap)1 LinkedList (java.util.LinkedList)1 List (java.util.List)1 Map (java.util.Map)1 Configuration (nl.nn.adapterframework.configuration.Configuration)1 BasePathClassLoader (nl.nn.adapterframework.configuration.classloaders.BasePathClassLoader)1 DatabaseClassLoader (nl.nn.adapterframework.configuration.classloaders.DatabaseClassLoader)1