Example usage for org.apache.commons.configuration ConfigurationRuntimeException ConfigurationRuntimeException

List of usage examples for org.apache.commons.configuration ConfigurationRuntimeException ConfigurationRuntimeException

Introduction

In this page you can find the example usage for org.apache.commons.configuration ConfigurationRuntimeException ConfigurationRuntimeException.

Prototype

public ConfigurationRuntimeException(String message, Throwable cause) 

Source Link

Document

Constructs a new ConfigurationRuntimeException with specified detail message and nested Throwable.

Usage

From source file:net.sf.jclal.classifier.MOAClassifier.java

/**
 * Method to read the object's configuration
 * @param configuration/*from  w w w  . j a va2  s .c  om*/
 *            The configuration of MOA classifier.
 *
 *            The XML labels supported are:
 *
 *            <ul>
 *            <li>
 *            <b>classifier type= class</b>
 *            <p>
 *            Package:
 *            </p>
 *            moa.classifiers
 *            <p>
 *            Class: All
 *            </p>
 *            </li>
 *            </ul>
 */
@Override
public void configure(Configuration configuration) {

    String classifierError = "classifier type= ";
    try {

        // classifier classname
        String classifierClassname = configuration.getString("classifier[@type]");

        classifierError += classifierClassname;

        // classifier class
        Class<? extends Classifier> classifierClass = (Class<? extends Classifier>) Class
                .forName(classifierClassname);

        // Add this classifier
        setClassifier(new MOAWrapper(classifierClass.newInstance()));

    } catch (ClassNotFoundException e) {
        throw new ConfigurationRuntimeException("\nIllegal classifier classname: " + classifierError, e);
    } catch (InstantiationException e) {
        throw new ConfigurationRuntimeException("\nIllegal classifier classname: " + classifierError, e);
    } catch (IllegalAccessException e) {
        throw new ConfigurationRuntimeException("\nIllegal classifier classname: " + classifierError, e);
    }
}

From source file:net.sf.jclal.classifier.MOAWrapper.java

/**
 * {@inheritDoc}//w ww.  jav  a  2  s  .co m
 */
@Override
public void configure(Configuration configuration) {

    String classifierError = "classifier type= ";
    try {

        // classifier classname
        String classifierClassname = configuration.getString("classifier[@type]");

        classifierError += classifierClassname;

        // classifier class
        Class<? extends Classifier> classifierClass = (Class<? extends Classifier>) Class
                .forName(classifierClassname);

        // Add this classifier
        setClassifier(classifierClass.newInstance());

    } catch (ClassNotFoundException e) {
        throw new ConfigurationRuntimeException("\nIllegal classifier classname: " + classifierError, e);
    } catch (InstantiationException e) {
        throw new ConfigurationRuntimeException("\nIllegal classifier classname: " + classifierError, e);
    } catch (IllegalAccessException e) {
        throw new ConfigurationRuntimeException("\nIllegal classifier classname: " + classifierError, e);
    }

}

From source file:net.sf.jclal.activelearning.scenario.AbstractScenario.java

/**
 * Configuration of Batch Mode// w  w  w.j  a  v a2 s.  c  o m
 *
 * @param configuration The configuration object to use
 */
public void setBatchModeConfiguration(Configuration configuration) {

    String batchError = "batch-mode type= ";
    try {
        // Set batch
        String batchModeClassName = configuration.getString("batch-mode[@type]", "");
        batchError += batchModeClassName;

        // batch-mode class
        Class<? extends IBatchMode> batchModeClass = (Class<? extends IBatchMode>) Class
                .forName(batchModeClassName);

        IBatchMode batchModeT = batchModeClass.newInstance();

        // Configure query strategy (if necessary)
        if (batchModeT instanceof IConfigure) {
            ((IConfigure) batchModeT).configure(configuration.subset("batch-mode"));
        }

        setBatchMode(batchModeT);

    } catch (ClassNotFoundException e) {
        throw new ConfigurationRuntimeException("\nIllegal batch-mode classname: " + batchError, e);
    } catch (InstantiationException e) {
        throw new ConfigurationRuntimeException("\nIllegal batch-mode classname: " + batchError, e);
    } catch (IllegalAccessException e) {
        throw new ConfigurationRuntimeException("\nIllegal batch-mode classname: " + batchError, e);
    }

}

From source file:net.sf.jclal.classifier.WekaClassifier.java

/**
 *
 * @param configuration The configuration object for WekaClassifier.
 *The XML labels supported are://w w w . ja va 2  s .c om
 * <ul>
 * <li>
 * <b>classifier type= class</b>
 * <p>
 * Package: weka.classifiers</p>
 * <p>
 * Class: All</p>
 * </li>
 * </ul>
 */
@Override
public void configure(Configuration configuration) {

    String classifierError = "classifier type= ";
    try {

        // classifier classname
        String classifierClassname = configuration.getString("classifier[@type]");
        classifierError += classifierClassname;
        // classifier class
        Class<? extends Classifier> classifierClass = (Class<? extends Classifier>) Class
                .forName(classifierClassname);
        // classifier instance
        Classifier classifierTemp = classifierClass.newInstance();
        // Configure classifier (if necessary)
        if (classifierTemp instanceof IConfigure) {
            ((IConfigure) classifierTemp).configure(configuration.subset("classifier"));
        }
        // Add this classifier
        setClassifier(classifierTemp);
    } catch (ClassNotFoundException e) {
        throw new ConfigurationRuntimeException("\nIllegal classifier classname: " + classifierError, e);
    } catch (InstantiationException e) {
        throw new ConfigurationRuntimeException("\nIllegal classifier classname: " + classifierError, e);
    } catch (IllegalAccessException e) {
        throw new ConfigurationRuntimeException("\nIllegal classifier classname: " + classifierError, e);
    }
}

From source file:net.sf.jclal.activelearning.scenario.AbstractScenario.java

/**
 * Configuration of Query Strategy.//from   www . j  av  a2 s .c o  m
 *
 * @param configuration The configuration object to use
 */
public void setQueryStrategyConfiguration(Configuration configuration) {

    String queryError = "query-strategy type= ";
    try {
        // query strategy
        // query strategy classname
        String queryStrategyClassname = configuration.getString("query-strategy[@type]");
        queryError += queryStrategyClassname;
        // query strategy class
        Class<? extends IQueryStrategy> queryStrategyClass = (Class<? extends IQueryStrategy>) Class
                .forName(queryStrategyClassname);
        // query strategy instance
        IQueryStrategy queryStrategyTemp = queryStrategyClass.newInstance();
        // Configure query strategy (if necessary)
        if (queryStrategyTemp instanceof IConfigure) {
            ((IConfigure) queryStrategyTemp).configure(configuration.subset("query-strategy"));
        }
        // Add this query strategy to the scenario
        setQueryStrategy(queryStrategyTemp);
    } catch (ClassNotFoundException e) {
        throw new ConfigurationRuntimeException("\nIllegal query strategy classname: " + queryError, e);
    } catch (InstantiationException e) {
        throw new ConfigurationRuntimeException("\nIllegal query strategy classname: " + queryError, e);
    } catch (IllegalAccessException e) {
        throw new ConfigurationRuntimeException("\nIllegal query strategy classname: " + queryError, e);
    }

}

From source file:net.sf.jclal.classifier.MulanClassifier.java

/**
 *
 * @param configuration The configuration of Mulan classifier.
 *
 *The XML labels supported are:/*w w w  .j av  a  2s.  co m*/
 *
 * <ul>
 * <li>
 * <b>classifier type= class</b>
 * <p>
 * Package:
 * </p>
 * mulan.classifier
 * <p>
 * Class: All
 * </p>
 * If the defined classifier is instance of
 * mulan.classifier.transformation, then a base-classifier must be
 * configured
 * <ul>
 * <li>
 * <b>base-classifier type= class</b>
 * All weka classifier are supported
 * </li>
 * </ul>
 * </li>
 * </ul>
 */
@Override
public void configure(Configuration configuration) {

    String classifierError = "classifier type= ";
    try {
        // classifier classname
        String classifierClassname = configuration.getString("classifier[@type]");
        classifierError += classifierClassname;
        // classifier class
        Class<? extends MultiLabelLearnerBase> classifierClass = (Class<? extends MultiLabelLearnerBase>) Class
                .forName(classifierClassname);

        MultiLabelLearnerBase multiLabelClassifier = null;

        // If the multi label learner is a problem transformation method
        // then a base classifier must be configured
        if (TransformationBasedMultiLabelLearner.class.isAssignableFrom(classifierClass)) {

            String baseError = "base-classifier type= ";
            try {

                Configuration conf = configuration.subset("classifier");

                // classifier classname
                String baseClassifier = conf.getString("base-classifier[@type]");
                baseError += baseClassifier;
                // classifier class
                Class<? extends Classifier> baseClassifierClass = (Class<? extends Classifier>) Class
                        .forName(baseClassifier);

                // classifier instance
                Classifier baseClassifierInstance = baseClassifierClass.newInstance();

                multiLabelClassifier = classifierClass.getConstructor(new Class<?>[] { Classifier.class })
                        .newInstance(baseClassifierInstance);

            } catch (IllegalArgumentException e) {
                throw new ConfigurationRuntimeException("\nIllegal base classifier: " + baseError, e);
            } catch (InvocationTargetException e) {
                throw new ConfigurationRuntimeException("\nIllegal base classifier: " + baseError, e);
            } catch (SecurityException e) {
                throw new ConfigurationRuntimeException("\nIllegal base classifier: " + baseError, e);
            } catch (NoSuchMethodException ex) {
                Logger.getLogger(MulanClassifier.class.getName()).log(Level.SEVERE, null, ex);
            }

        } else {
            multiLabelClassifier = classifierClass.newInstance();
        }
        // Add this classifier
        setClassifier(multiLabelClassifier);

    } catch (ClassNotFoundException e) {
        throw new ConfigurationRuntimeException("\nIllegal classifier classname: " + classifierError, e);
    } catch (InstantiationException e) {
        throw new ConfigurationRuntimeException("\nIllegal classifier classname: " + classifierError, e);
    } catch (IllegalAccessException e) {
        throw new ConfigurationRuntimeException("\nIllegal classifier classname: " + classifierError, e);
    }
}

From source file:net.sf.jclal.listener.ClassicalReporterListener.java

/**
 *
 * @param configuration The configuration of Classical Reporter Listener.
 *
 * The XML labels supported are://  w ww.j  av a2s .co m
 *
 * <ul>
 * <li><b>report-title= String</b>, default= untitled</li>
 * <li><b>report-directory= String</b>, default= reports</li>
 * <li><b>report-frequency= int</b></li>
 * <li><b>report-on-console= boolean</b></li>
 * <li><b>report-on-file= boolean</b></li>
 * <li><b>send-email= class</b>
 * <p>
 * Package: net.sf.jclal.util.mail</p>
 * Class: All
 * </li>
 * </ul>
 */
@Override
public void configure(Configuration configuration) {

    // Set report title (default "untitled")
    String reportTitleT = configuration.getString("report-title", reportTitle);
    setReportTitle(reportTitleT);

    // Set report title (default "reports/")
    String reportDirectoryT = configuration.getString("report-directory", reportDirectory);
    setReportDirectory(reportDirectoryT);

    // Set report frequency (default 1 iteration)
    int reportFrequencyT = configuration.getInt("report-frequency", reportFrequency);
    setReportFrequency(reportFrequencyT);

    // Set console report (default on)
    boolean reportOnConsoleT = configuration.getBoolean("report-on-console", reportOnConsole);
    setReportOnConsole(reportOnConsoleT);

    // Set file report (default off)
    boolean reportOnFileT = configuration.getBoolean("report-on-file", reportOnFile);
    setReportOnFile(reportOnFileT);

    String sendError = "send-email type= ";
    try {

        String senderEmailClassname = configuration.getString("send-email[@type]");
        sendError += senderEmailClassname;
        //If a email sender was especified
        if (senderEmailClassname != null) {
            // sender email class
            Class<?> senderEmailClass = Class.forName(senderEmailClassname);

            SenderEmail senderEmailT = (SenderEmail) senderEmailClass.newInstance();

            // Configure listener (if necessary)
            if (senderEmailT instanceof IConfigure) {
                ((IConfigure) senderEmailT).configure(configuration.subset("send-email"));
            }

            setSenderEmail(senderEmailT);
        }

    } catch (ClassNotFoundException e) {
        throw new ConfigurationRuntimeException("\nIllegal sender email classname: " + sendError, e);
    } catch (InstantiationException e) {
        throw new ConfigurationRuntimeException("\nIllegal sender email classname: " + sendError, e);
    } catch (IllegalAccessException e) {
        throw new ConfigurationRuntimeException("\nIllegal sender email classname: " + sendError, e);
    }
}

From source file:net.sf.jclal.activelearning.scenario.AbstractScenario.java

/**
 * Configuration of Oracle.//from   www .  jav a2  s . c o m
 *
 * @param configuration The configuration object to use
 */
public void setOracleConfiguration(Configuration configuration) {

    String oracleError = "oracle type= ";
    try {
        // oracle classname
        String oracleClassname = configuration.getString("oracle[@type]");

        oracleError += oracleClassname;

        // oracle class
        Class<? extends IOracle> oracleClass = (Class<? extends IOracle>) Class.forName(oracleClassname);

        // oracle instance
        IOracle oracle = oracleClass.newInstance();

        // Configure query strategy (if necessary)
        if (oracle instanceof IConfigure) {
            ((IConfigure) oracle).configure(configuration.subset("oracle"));
        }

        // Add this oracle to the scenario
        setOracle(oracle);

    } catch (ClassNotFoundException e) {
        throw new ConfigurationRuntimeException("\nIllegal oracle classname: " + oracleError, e);
    } catch (InstantiationException e) {
        throw new ConfigurationRuntimeException("\nIllegal oracle classname: " + oracleError, e);
    } catch (IllegalAccessException e) {
        throw new ConfigurationRuntimeException("\nIllegal oracle classname: " + oracleError, e);
    }

}

From source file:net.sf.jclal.activelearning.algorithm.AbstractALAlgorithm.java

/**
 *
 * @param configuration The configuration object
 * //from ww  w. j  a  va  2s .  c o m
 * The XML labels supported are:
 * 
 * <ul>
 * <li><b>listener type = class:</b>
 * <p>
 * Adds the specified listener to receive algorithm events from this
 * algorithm.
 * </p>
 * <p>
 * Package: net.sf.jclal.listener</p>
 * <p>
 * Class: All</p>
 * </li>
 * </ul>
 */
@Override
public void configure(Configuration configuration) {
    // Number of defined listeners
    int numberOfListeners = configuration.getList("listener[@type]").size();
    // For each listener in list
    String listenerError;
    for (int i = 0; i < numberOfListeners; i++) {
        String header = "listener(" + i + ")";
        listenerError = "listener type= ";
        try {
            // Listener classname
            String listenerClassname = configuration.getString(header + "[@type]");
            listenerError += listenerClassname;
            // Listener class
            Class<? extends IAlgorithmListener> listenerClass = (Class<? extends IAlgorithmListener>) Class
                    .forName(listenerClassname);
            // Listener instance
            IAlgorithmListener listener = listenerClass.newInstance();
            // Configure listener (if necessary)
            if (listener instanceof IConfigure) {
                ((IConfigure) listener).configure(configuration.subset(header));
            }
            // Add this listener to the algorithm
            addListener(listener);
        } catch (ClassNotFoundException e) {
            throw new ConfigurationRuntimeException("\nIllegal listener classname: " + listenerError, e);
        } catch (InstantiationException e) {
            throw new ConfigurationRuntimeException("\nIllegal listener classname: " + listenerError, e);
        } catch (IllegalAccessException e) {
            throw new ConfigurationRuntimeException("\nIllegal listener classname: " + listenerError, e);
        }
    }
}

From source file:net.sf.jclal.activelearning.querystrategy.AbstractQueryStrategy.java

/**
 *
 * @param configuration The configuration object for the Abstract query
 * strategy.//from   www  .j a  v  a 2 s.c  om
 *The XML labels supported are:
 * <ul>
 * <li>
 * <b>maximal= boolean</b>
 * </li>
 * <li>
 * <b>wrapper-classifier type= class</b>
 * <p>
 * Package: net.sf.jclal.classifier</p>
 * <p>
 * Class: All
 * </p>
 * </li>
 * </ul>
 */
@Override
public void configure(Configuration configuration) {

    // Set max iteration
    boolean maximalT = configuration.getBoolean("maximal", isMaximal());
    setMaximal(maximalT);

    String wrapperError = "wrapper-classifier type= ";
    try {
        // classifier classname
        String classifierClassname = configuration.getString("wrapper-classifier[@type]");

        wrapperError += classifierClassname;
        // classifier class
        Class<? extends IClassifier> classifierClass = (Class<? extends IClassifier>) Class
                .forName(classifierClassname);
        // classifier instance
        IClassifier classifierTemp = classifierClass.newInstance();
        // Configure classifier (if necessary)
        if (classifierTemp instanceof IConfigure) {
            ((IConfigure) classifierTemp).configure(configuration.subset("wrapper-classifier"));
        }
        // Add this classifier to the query strategy
        setClassifier(classifierTemp);
    } catch (ClassNotFoundException e) {
        throw new ConfigurationRuntimeException("Illegal classifier classname: " + wrapperError, e);
    } catch (InstantiationException e) {
        throw new ConfigurationRuntimeException("Illegal classifier classname: " + wrapperError, e);
    } catch (IllegalAccessException e) {
        throw new ConfigurationRuntimeException("Illegal classifier classname: " + wrapperError, e);
    }
}