Search in sources :

Example 26 with ConfigurationWarnings

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

the class AbstractRecordHandler method setInputSeperator.

/**
 * @deprecated typo has been fixed: please use 'inputSeparator' instead of 'inputSeperator'
 */
@Deprecated
public void setInputSeperator(String string) {
    ConfigurationWarnings configWarnings = ConfigurationWarnings.getInstance();
    String msg = ClassUtils.nameOf(this) + "[" + getName() + "]: typo has been fixed: please use 'inputSeparator' instead of 'inputSeperator'";
    configWarnings.add(log, msg);
    setInputSeparator(string);
}
Also used : ConfigurationWarnings(nl.nn.adapterframework.configuration.ConfigurationWarnings)

Example 27 with ConfigurationWarnings

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

the class ReceiverBase method configure.

public void configure() throws ConfigurationException {
    configurationSucceeded = false;
    try {
        if (StringUtils.isEmpty(getName())) {
            if (getListener() != null) {
                setName(ClassUtils.nameOf(getListener()));
            } else {
                setName(ClassUtils.nameOf(this));
            }
        }
        eventHandler = MonitorManager.getEventHandler();
        registerEvent(RCV_CONFIGURED_MONITOR_EVENT);
        registerEvent(RCV_CONFIGURATIONEXCEPTION_MONITOR_EVENT);
        registerEvent(RCV_STARTED_RUNNING_MONITOR_EVENT);
        registerEvent(RCV_SHUTDOWN_MONITOR_EVENT);
        registerEvent(RCV_SUSPENDED_MONITOR_EVENT);
        registerEvent(RCV_RESUMED_MONITOR_EVENT);
        registerEvent(RCV_THREAD_EXIT_MONITOR_EVENT);
        TXNEW_PROC = SpringTxManagerProxy.getTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRES_NEW, getTransactionTimeout());
        // to use direct member variables).
        if (this.tmpInProcessStorage != null) {
            if (this.errorSender == null && this.errorStorage == null) {
                this.errorStorage = this.tmpInProcessStorage;
                info(getLogPrefix() + "has errorStorage in inProcessStorage, setting inProcessStorage's type to 'errorStorage'. Please update the configuration to change the inProcessStorage element to an errorStorage element, since the inProcessStorage is no longer used.");
                errorStorage.setType(JdbcTransactionalStorage.TYPE_ERRORSTORAGE);
            } else {
                info(getLogPrefix() + "has inProcessStorage defined but also has an errorStorage or errorSender. InProcessStorage is not used and can be removed from the configuration.");
            }
            // Set temporary in-process storage pointer to null
            this.tmpInProcessStorage = null;
        }
        // Do propagate-name AFTER changing the errorStorage!
        propagateName();
        if (getListener() == null) {
            throw new ConfigurationException(getLogPrefix() + "has no listener");
        }
        if (!StringUtils.isEmpty(getElementToMove()) && !StringUtils.isEmpty(getElementToMoveChain())) {
            throw new ConfigurationException("cannot have both an elementToMove and an elementToMoveChain specified");
        }
        if (!(getHideMethod().equalsIgnoreCase("all")) && (!(getHideMethod().equalsIgnoreCase("firstHalf")))) {
            throw new ConfigurationException(getLogPrefix() + "invalid value for hideMethod [" + getHideMethod() + "], must be 'all' or 'firstHalf'");
        }
        if (getListener() instanceof ReceiverAware) {
            ((ReceiverAware) getListener()).setReceiver(this);
        }
        if (getListener() instanceof IPushingListener) {
            IPushingListener pl = (IPushingListener) getListener();
            pl.setHandler(this);
            pl.setExceptionListener(this);
        }
        if (getListener() instanceof IPortConnectedListener) {
            IPortConnectedListener pcl = (IPortConnectedListener) getListener();
            pcl.setReceiver(this);
        }
        if (getListener() instanceof IPullingListener) {
            setListenerContainer(createListenerContainer());
        }
        if (getListener() instanceof JdbcFacade) {
            ((JdbcFacade) getListener()).setTransacted(isTransacted());
        }
        if (getListener() instanceof JMSFacade) {
            ((JMSFacade) getListener()).setTransacted(isTransacted());
        }
        getListener().configure();
        if (getListener() instanceof HasPhysicalDestination) {
            info(getLogPrefix() + "has listener on " + ((HasPhysicalDestination) getListener()).getPhysicalDestinationName());
        }
        if (getListener() instanceof HasSender) {
            // only informational
            ISender sender = ((HasSender) getListener()).getSender();
            if (sender instanceof HasPhysicalDestination) {
                info("Listener of receiver [" + getName() + "] has answer-sender on " + ((HasPhysicalDestination) sender).getPhysicalDestinationName());
            }
        }
        if (getListener() instanceof ITransactionRequirements) {
            ITransactionRequirements tr = (ITransactionRequirements) getListener();
            if (tr.transactionalRequired() && !isTransacted()) {
                String msg = getLogPrefix() + "listener type [" + ClassUtils.nameOf(getListener()) + "] requires transactional processing";
                ConfigurationWarnings.getInstance().add(msg);
            // throw new ConfigurationException(msg);
            }
        }
        ISender sender = getSender();
        if (sender != null) {
            sender.configure();
            if (sender instanceof HasPhysicalDestination) {
                info(getLogPrefix() + "has answer-sender on " + ((HasPhysicalDestination) sender).getPhysicalDestinationName());
            }
        }
        ISender errorSender = getErrorSender();
        if (errorSender != null) {
            errorSender.configure();
            if (errorSender instanceof HasPhysicalDestination) {
                info(getLogPrefix() + "has errorSender to " + ((HasPhysicalDestination) errorSender).getPhysicalDestinationName());
            }
        }
        ITransactionalStorage errorStorage = getErrorStorage();
        if (errorStorage != null) {
            errorStorage.configure();
            if (errorStorage instanceof HasPhysicalDestination) {
                info(getLogPrefix() + "has errorStorage to " + ((HasPhysicalDestination) errorStorage).getPhysicalDestinationName());
            }
            registerEvent(RCV_MESSAGE_TO_ERRORSTORE_EVENT);
        }
        ITransactionalStorage messageLog = getMessageLog();
        if (messageLog != null) {
            messageLog.configure();
            if (messageLog instanceof HasPhysicalDestination) {
                info(getLogPrefix() + "has messageLog in " + ((HasPhysicalDestination) messageLog).getPhysicalDestinationName());
            }
            if (StringUtils.isNotEmpty(getLabelXPath()) || StringUtils.isNotEmpty(getLabelStyleSheet())) {
                labelTp = TransformerPool.configureTransformer0(getLogPrefix(), classLoader, getLabelNamespaceDefs(), getLabelXPath(), getLabelStyleSheet(), "text", false, null, isXslt2());
            }
        }
        if (isTransacted()) {
            if (errorSender == null && errorStorage == null) {
                ConfigurationWarnings configWarnings = ConfigurationWarnings.getInstance();
                String msg = getLogPrefix() + "sets transactionAttribute=" + getTransactionAttribute() + ", but has no errorSender or errorStorage. Messages processed with errors will be lost";
                configWarnings.add(log, msg);
            } else {
            // if (errorSender!=null && !(errorSender instanceof IXAEnabled && ((IXAEnabled)errorSender).isTransacted())) {
            // warn(getLogPrefix()+"sets transacted=true, but errorSender is not. Transactional integrity is not guaranteed");
            // }
            // if (errorStorage!=null && !(errorStorage instanceof IXAEnabled && ((IXAEnabled)errorStorage).isTransacted())) {
            // warn(getLogPrefix()+"sets transacted=true, but errorStorage is not. Transactional integrity is not guaranteed");
            // }
            }
            if (getTransactionTimeout() > 0) {
                String systemTransactionTimeout = Misc.getSystemTransactionTimeout();
                if (systemTransactionTimeout != null && StringUtils.isNumeric(systemTransactionTimeout)) {
                    int stt = Integer.parseInt(systemTransactionTimeout);
                    if (getTransactionTimeout() > stt) {
                        ConfigurationWarnings configWarnings = ConfigurationWarnings.getInstance();
                        String msg = getLogPrefix() + "has a transaction timeout [" + getTransactionTimeout() + "] which exceeds the system transaction timeout [" + stt + "]";
                        configWarnings.add(log, msg);
                    }
                }
            }
        }
        if (StringUtils.isNotEmpty(getCorrelationIDXPath()) || StringUtils.isNotEmpty(getCorrelationIDStyleSheet())) {
            correlationIDTp = TransformerPool.configureTransformer0(getLogPrefix(), classLoader, getCorrelationIDNamespaceDefs(), getCorrelationIDXPath(), getCorrelationIDStyleSheet(), "text", false, null, isXslt2());
        }
        if (adapter != null) {
            adapter.getMessageKeeper().add(getLogPrefix() + "initialization complete");
        }
        throwEvent(RCV_CONFIGURED_MONITOR_EVENT);
        configurationSucceeded = true;
    } catch (Throwable t) {
        ConfigurationException e = null;
        if (t instanceof ConfigurationException) {
            e = (ConfigurationException) t;
        } else {
            e = new ConfigurationException("Exception configuring receiver [" + getName() + "]", t);
        }
        throwEvent(RCV_CONFIGURATIONEXCEPTION_MONITOR_EVENT);
        log.debug(getLogPrefix() + "Errors occured during configuration, setting runstate to ERROR");
        runState.setRunState(RunStateEnum.ERROR);
        throw e;
    }
}
Also used : ConfigurationWarnings(nl.nn.adapterframework.configuration.ConfigurationWarnings) JMSFacade(nl.nn.adapterframework.jms.JMSFacade) HasSender(nl.nn.adapterframework.core.HasSender) ITransactionalStorage(nl.nn.adapterframework.core.ITransactionalStorage) IPullingListener(nl.nn.adapterframework.core.IPullingListener) ConfigurationException(nl.nn.adapterframework.configuration.ConfigurationException) ISender(nl.nn.adapterframework.core.ISender) ITransactionRequirements(nl.nn.adapterframework.core.ITransactionRequirements) IPushingListener(nl.nn.adapterframework.core.IPushingListener) IPortConnectedListener(nl.nn.adapterframework.core.IPortConnectedListener) JdbcFacade(nl.nn.adapterframework.jdbc.JdbcFacade) HasPhysicalDestination(nl.nn.adapterframework.core.HasPhysicalDestination)

Example 28 with ConfigurationWarnings

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

the class SoapValidator method configure.

@Override
public void configure() throws ConfigurationException {
    setSoapNamespace("");
    super.setRoot(getRoot());
    if ("any".equals(soapVersion) || StringUtils.isBlank(soapVersion)) {
        versions = SoapVersion.values();
    } else {
        versions = new SoapVersion[] { SoapVersion.fromAttribute(soapVersion) };
    }
    if (addSoapEnvelopeToSchemaLocation) {
        super.setSchemaLocation(schemaLocation + (schemaLocation.length() > 0 ? " " : "") + StringUtils.join(versions, " "));
    }
    if (StringUtils.isEmpty(soapBody)) {
        ConfigurationWarnings configWarnings = ConfigurationWarnings.getInstance();
        configWarnings.add(log, "soapBody not specified");
    }
    addRequestRootValidation(Arrays.asList("Envelope", "Body", soapBody));
    if (StringUtils.isNotEmpty(outputSoapBody)) {
        addResponseRootValidation(Arrays.asList("Envelope", "Body", outputSoapBody));
    }
    addRequestRootValidation(Arrays.asList("Envelope", "Header", soapHeader));
    List<String> invalidRootNamespaces = new ArrayList<String>();
    for (SoapVersion version : versions) {
        invalidRootNamespaces.add(version.getNamespace());
    }
    addInvalidRootNamespaces(Arrays.asList("Envelope", "Body", soapBody), invalidRootNamespaces);
    addInvalidRootNamespaces(Arrays.asList("Envelope", "Header", soapHeader), invalidRootNamespaces);
    super.configure();
}
Also used : ConfigurationWarnings(nl.nn.adapterframework.configuration.ConfigurationWarnings) ArrayList(java.util.ArrayList)

Example 29 with ConfigurationWarnings

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

the class LdapSender method configure.

@Override
public void configure() throws ConfigurationException {
    if (paramList == null || (paramList.findParameter(ENTRYNAME) == null && !getOperation().equals(OPERATION_CHALLENGE))) {
        throw new ConfigurationException("[" + getName() + "] Required parameter with the name [entryName] not found!");
    }
    paramList.configure();
    if (getOperation() == null || !(getOperation().equals(OPERATION_READ) || getOperation().equals(OPERATION_SEARCH) || getOperation().equals(OPERATION_DEEP_SEARCH) || getOperation().equals(OPERATION_CREATE) || getOperation().equals(OPERATION_UPDATE) || getOperation().equals(OPERATION_DELETE) || getOperation().equals(OPERATION_SUB_CONTEXTS) || getOperation().equals(OPERATION_GET_TREE) || getOperation().equals(OPERATION_CHALLENGE) || getOperation().equals(OPERATION_CHANGE_UNICODE_PWD))) {
        throw new ConfigurationException("attribute opereration [" + getOperation() + "] must be one of (" + OPERATION_READ + "," + OPERATION_CREATE + "," + OPERATION_UPDATE + "," + OPERATION_DELETE + "," + OPERATION_SEARCH + "," + OPERATION_DEEP_SEARCH + "," + OPERATION_SUB_CONTEXTS + "," + OPERATION_GET_TREE + "," + OPERATION_CHALLENGE + "," + OPERATION_CHANGE_UNICODE_PWD + ")");
    }
    if (getOperation().equals(OPERATION_CREATE) || getOperation().equals(OPERATION_DELETE)) {
        if (!(getManipulationSubject().equals(MANIPULATION_ENTRY) || getManipulationSubject().equals(MANIPULATION_ATTRIBUTE)))
            throw new ConfigurationException("[" + getClass().getName() + "] manipulationSubject invalid (must be one of [" + MANIPULATION_ATTRIBUTE + ", " + MANIPULATION_ENTRY + "])");
    }
    if (getOperation().equals(OPERATION_UPDATE)) {
        if (!(getManipulationSubject().equals(MANIPULATION_ATTRIBUTE)))
            throw new ConfigurationException("[" + getClass().getName() + "] manipulationSubject invalid for update operation (must be ['" + MANIPULATION_ATTRIBUTE + "'], which is default - remove from <pipe>)");
    }
    if (getOperation().equals(OPERATION_CHALLENGE)) {
        if (paramList.findParameter("principal") == null)
            throw new ConfigurationException("principal should be specified using a parameter when using operation challenge");
    }
    Parameter credentials = paramList.findParameter("credentials");
    if (credentials != null && !credentials.isHidden()) {
        ConfigurationWarnings configWarnings = ConfigurationWarnings.getInstance();
        configWarnings.add(log, "It's advised to set attribute hidden to true for parameter credentials.");
    }
    Parameter oldPassword = paramList.findParameter("oldPassword");
    if (oldPassword != null && !oldPassword.isHidden()) {
        ConfigurationWarnings configWarnings = ConfigurationWarnings.getInstance();
        configWarnings.add(log, "It's advised to set attribute hidden to true for parameter oldPassword.");
    }
    Parameter newPassword = paramList.findParameter("newPassword");
    if (newPassword != null && !newPassword.isHidden()) {
        ConfigurationWarnings configWarnings = ConfigurationWarnings.getInstance();
        configWarnings.add(log, "It's advised to set attribute hidden to true for parameter newPassword.");
    }
    if (paramList.findParameter("principal") != null) {
        if (paramList.findParameter("credentials") == null) {
            throw new ConfigurationException("principal set as parameter, but no credentials parameter found");
        }
        principalParameterFound = true;
        setUsePooling(false);
    } else {
        DirContext dirContext = null;
        try {
            dirContext = getDirContext(null);
        } catch (Exception e) {
            throw new ConfigurationException("[" + getClass().getName() + "] Context could not be found ", e);
        } finally {
            closeDirContext(dirContext);
        }
    }
}
Also used : ConfigurationWarnings(nl.nn.adapterframework.configuration.ConfigurationWarnings) ConfigurationException(nl.nn.adapterframework.configuration.ConfigurationException) Parameter(nl.nn.adapterframework.parameters.Parameter) InitialDirContext(javax.naming.directory.InitialDirContext) DirContext(javax.naming.directory.DirContext) NamingException(javax.naming.NamingException) ConfigurationException(nl.nn.adapterframework.configuration.ConfigurationException) SenderException(nl.nn.adapterframework.core.SenderException) ParameterException(nl.nn.adapterframework.core.ParameterException) UnsupportedEncodingException(java.io.UnsupportedEncodingException)

Example 30 with ConfigurationWarnings

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

the class CompareStringPipe method setSessionKey2.

public void setSessionKey2(String string) {
    ConfigurationWarnings configWarnings = ConfigurationWarnings.getInstance();
    String msg = getLogPrefix(null) + "The attribute sessionKey2 has been deprecated. Please use the parameter operand2";
    configWarnings.add(log, msg);
    sessionKey2 = string;
}
Also used : ConfigurationWarnings(nl.nn.adapterframework.configuration.ConfigurationWarnings)

Aggregations

ConfigurationWarnings (nl.nn.adapterframework.configuration.ConfigurationWarnings)58 ConfigurationException (nl.nn.adapterframework.configuration.ConfigurationException)16 TransformerConfigurationException (javax.xml.transform.TransformerConfigurationException)5 ArrayList (java.util.ArrayList)4 ITransactionalStorage (nl.nn.adapterframework.core.ITransactionalStorage)3 PipeForward (nl.nn.adapterframework.core.PipeForward)3 ReceiverBase (nl.nn.adapterframework.receivers.ReceiverBase)3 URL (java.net.URL)2 BaseConfigurationWarnings (nl.nn.adapterframework.configuration.BaseConfigurationWarnings)2 Configuration (nl.nn.adapterframework.configuration.Configuration)2 HasPhysicalDestination (nl.nn.adapterframework.core.HasPhysicalDestination)2 ISender (nl.nn.adapterframework.core.ISender)2 EsbSoapWrapperPipe (nl.nn.adapterframework.extensions.esb.EsbSoapWrapperPipe)2 IOException (java.io.IOException)1 UnsupportedEncodingException (java.io.UnsupportedEncodingException)1 Connection (java.sql.Connection)1 DatabaseMetaData (java.sql.DatabaseMetaData)1 SQLException (java.sql.SQLException)1 HashMap (java.util.HashMap)1 LinkedHashMap (java.util.LinkedHashMap)1