SiLeBAT/FSK-Lab

View on GitHub
de.bund.bfr.knime.pmm.nodes/src/de/bund/bfr/knime/pmm/js/modelplotter/ModelPlotterViewConfig.java

Summary

Maintainability
A
1 hr
Test Coverage
/*******************************************************************************
 * Copyright (c) 2015 Federal Institute for Risk Assessment (BfR), Germany
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Contributors:
 *     Department Biological Safety - BfR
 *******************************************************************************/
package de.bund.bfr.knime.pmm.js.modelplotter;

import org.knime.core.node.InvalidSettingsException;
import org.knime.core.node.NodeSettingsRO;
import org.knime.core.node.NodeSettingsWO;

/**
 * Node configuration data, such as chart title and Y0.
 * 
 * @author Kilian Thiel, KNIME.com AG, Berlin, Germany
 *
 */
final class ModelPlotterViewConfig {

    static final String CHART_TITLE = "chartTitle";

    static final String FUNCTION = "function";
    static final String FUNCTION_FULL = "function.full";
    
    static final String CONSTANTS_KEYS = "constants.keys";
    static final String CONSTANTS_VALUES = "constants.values";
    static final String VARIABLES = "variables";

    static final String X_UNIT = "x unit";
    static final String Y_UNIT = "y unit";
    
    static final String Y0 = "Y0";
    
    static final String MIN_X_AXIS = "Min X Axis";
    static final String MAX_X_AXIS = "Max X Axis";
    
    static final String MIN_Y_AXIS = "Min Y Axis";
    static final String MAX_Y_AXIS = "Max Y Axis";
    
    static final String HIDE_IN_WIZARD = "hideInWizard";

    static final double DEF_Y0 = 4.169;
    static final double MIN_Y0 = 0;
    static final double MAX_Y0 = 10;
    
    static final int DEF_MIN_X_AXIS = -10;
    static final int MAX_MIN_X_AXIS = 0;
    static final int MIN_MIN_X_AXIS = -1000;

    static final int DEF_MAX_X_AXIS = 100;
    static final int MAX_MAX_X_AXIS = 1000;
    static final int MIN_MAX_X_AXIS = 0;
    
    static final int DEF_MIN_Y_AXIS = -10;
    static final int MAX_MIN_Y_AXIS = -10;
    static final int MIN_MIN_Y_AXIS = -1000;

    static final int DEF_MAX_Y_AXIS = 20;
    static final int MAX_MAX_Y_AXIS = 1000;
    static final int MIN_MAX_Y_AXIS = 0;
    
    private static final String DEF_CHART_TITLE = "PMM Model Plot";

    private String m_chartTitle = DEF_CHART_TITLE;

    private boolean m_isHideInWizard = false;

    private double m_y0 = DEF_Y0;
    
    private int m_minXAxis = DEF_MIN_X_AXIS;
    
    private int m_maxXAxis = DEF_MAX_X_AXIS;
    
    private int m_minYAxis = DEF_MIN_Y_AXIS;
    
    private int m_maxYAxis = DEF_MAX_Y_AXIS;

    /**
     * @return
     */
    public int getMinYAxis() {
        return m_minYAxis;
    }
    
    /**
     * @param minXAxis
     */
    public void setMinYAxis(final int minYAxis) {
        m_minYAxis = minYAxis;
    }
    
    /**
     * @return
     */
    public int getMaxYAxis() {
        return m_maxYAxis;
    }    
    
    /**
     * @param minXAxis
     */
    public void setMaxYAxis(final int maxYAxis) {
        m_maxYAxis = maxYAxis;
    }
    
    /**
     * @return
     */
    public int getMinXAxis() {
        return m_minXAxis;
    }
    
    /**
     * @param minXAxis
     */
    public void setMinXAxis(final int minXAxis) {
        m_minXAxis = minXAxis;
    }
    
    /**
     * @return
     */
    public int getMaxXAxis() {
        return m_maxXAxis;
    }    
    
    /**
     * @param minXAxis
     */
    public void setMaxXAxis(final int maxXAxis) {
        m_maxXAxis = maxXAxis;
    }    
    
    /**
     * @return
     */
    public double getY0() {
        return m_y0;
    }

    /**
     * @param y0
     */
    public void setY0(final double y0) {
        this.m_y0 = y0;
    }

    /**
     * @return
     */
    public boolean getHideInwizard() {
        return m_isHideInWizard;
    }

    /**
     * @param hideInWizard
     */
    public void setHideInWizard(final boolean hideInWizard) {
        this.m_isHideInWizard = hideInWizard;
    }

    /**
     * @return the chartTitle
     */
    public String getChartTitle() {
        return m_chartTitle;
    }

    /**
     * @param chartTitle
     *            the chartTitle to set
     */
    public void setChartTitle(final String chartTitle) {
        m_chartTitle = chartTitle;
    }

    /**
     * Loads parameters in NodeModel.
     * 
     * @param settings
     *            To load from.
     * @throws InvalidSettingsException
     *             If incomplete or wrong.
     */
    public void loadSettings(final NodeSettingsRO settings)
            throws InvalidSettingsException {
        m_chartTitle = settings.getString(CHART_TITLE);
        m_isHideInWizard = settings.getBoolean(HIDE_IN_WIZARD);
        m_y0 = settings.getDouble(Y0);
        m_minXAxis = settings.getInt(MIN_X_AXIS);
        m_maxXAxis = settings.getInt(MAX_X_AXIS);
        m_minYAxis = settings.getInt(MIN_Y_AXIS);
        m_maxYAxis = settings.getInt(MAX_Y_AXIS);        
    }

    /**
     * Loads parameters in Dialog.
     * 
     * @param settings
     *            To load from.
     */
    public void loadSettingsForDialog(final NodeSettingsRO settings) {
        m_chartTitle = settings.getString(CHART_TITLE, DEF_CHART_TITLE);
        m_isHideInWizard = settings.getBoolean(HIDE_IN_WIZARD, false);
        m_y0 = settings.getDouble(Y0, DEF_Y0);
        m_minXAxis = settings.getInt(MIN_X_AXIS, DEF_MIN_X_AXIS);
        m_maxXAxis = settings.getInt(MAX_X_AXIS, DEF_MAX_X_AXIS);
        m_minYAxis = settings.getInt(MIN_Y_AXIS, DEF_MIN_Y_AXIS);
        m_maxYAxis = settings.getInt(MAX_Y_AXIS, DEF_MAX_Y_AXIS);
    }

    /**
     * Saves current parameters to settings object.
     * 
     * @param settings
     *            To save to.
     */
    public void saveSettings(final NodeSettingsWO settings) {
        settings.addString(CHART_TITLE, m_chartTitle);
        settings.addBoolean(HIDE_IN_WIZARD, m_isHideInWizard);
        settings.addDouble(Y0, m_y0);
        settings.addInt(MIN_X_AXIS, m_minXAxis);
        settings.addInt(MAX_X_AXIS, m_maxXAxis);
        settings.addInt(MIN_Y_AXIS, m_minYAxis);
        settings.addInt(MAX_Y_AXIS, m_maxYAxis);
    }
}