at.alladin.rmbt.db.QoSTestObjective.java Source code

Java tutorial

Introduction

Here is the source code for at.alladin.rmbt.db.QoSTestObjective.java

Source

/*******************************************************************************
 * Copyright 2013-2015 alladin-IT GmbH
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/
package at.alladin.rmbt.db;

import java.io.Serializable;
import java.util.Iterator;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import at.alladin.rmbt.shared.Helperfunctions;

/**
 * 
 * POJO for the nn_test_objective table
 * 
 * @author lb
 *
 */
public class QoSTestObjective implements Serializable {

    /**
    * 
    */
    private static final long serialVersionUID = 1L;

    private int uid;
    private String testType;
    private int testClass;
    private String objective;
    private String results;
    private String testDescription;
    private String testSummary;
    private String testServerIpv4;
    private String testServerIpv6;
    private int port;
    private int concurrencyGroup;

    public QoSTestObjective() {

    }

    public int getUid() {
        return uid;
    }

    public void setUid(int uid) {
        this.uid = uid;
    }

    public String getTestType() {
        return testType;
    }

    public void setTestType(String testType) {
        this.testType = testType;
    }

    public int getTestClass() {
        return testClass;
    }

    public void setTestClass(int testClass) {
        this.testClass = testClass;
    }

    public String getObjective() {
        return objective;
    }

    public void setObjective(String objective) {
        this.objective = objective;
    }

    public String getResults() {
        return results;
    }

    public void setResults(String results) {
        this.results = results;
    }

    public String getTestDescription() {
        return testDescription;
    }

    public void setTestDescription(String testDescription) {
        this.testDescription = testDescription;
    }

    public String getTestServerIpv4() {
        return testServerIpv4;
    }

    public void setTestServerIpv4(String testServerIpv4) {
        this.testServerIpv4 = testServerIpv4;
    }

    public String getTestServerIpv6() {
        return testServerIpv6;
    }

    public void setTestServerIpv6(String testServerIpv6) {
        this.testServerIpv6 = testServerIpv6;
    }

    public int getPort() {
        return port;
    }

    public void setPort(int port) {
        this.port = port;
    }

    public int getConcurrencyGroup() {
        return concurrencyGroup;
    }

    public void setConcurrencyGroup(int concurrencyGroup) {
        this.concurrencyGroup = concurrencyGroup;
    }

    public String getTestSummary() {
        return testSummary;
    }

    public void setTestSummary(String testSummary) {
        this.testSummary = testSummary;
    }

    @Override
    public String toString() {
        return "QoSTestObjective [uid=" + uid + ", testType=" + testType + ", testClass=" + testClass
                + ", objective=" + objective + ", results=" + results + ", testDescription=" + testDescription
                + ", testServerIpv4=" + testServerIpv4 + ", testServerIpv6=" + testServerIpv6 + ", port=" + port
                + ", concurrencyGroup=" + concurrencyGroup + ", testSummary=" + testSummary + "]";
    }

    @SuppressWarnings("unchecked")
    public String toHtml() {
        StringBuilder sb = new StringBuilder();
        sb.append("<h3>QoS-Test (uid: " + getUid() + ", test_class: " + getTestClass() + ")</h3>");
        if (getObjective() != null) {
            try {
                JSONObject objectives = new JSONObject(getObjective());
                Iterator<String> keys = objectives.keys();
                sb.append("<b>Test objectives (as plain text):</b> <ul>");
                while (keys.hasNext()) {
                    String key = keys.next();
                    sb.append("<li><i>" + key + "</i>: " + objectives.optString(key) + "</li>");
                }
                sb.append("</ul>");
                sb.append("<b>Test objectives (as hstore representation):</b> "
                        + Helperfunctions.json2hstore(objectives, null) + "<br><br>");
                if (testSummary != null) {
                    sb.append("<b>Test summary (test_summary):</b> <a href=\"#"
                            + testSummary.replaceAll("[\\-\\+\\.\\^:,]", "_") + "\">" + testSummary
                            + "</a><br><br>");
                } else {
                    sb.append("<b>Test summary (test_summary):</b> <i>NULL</i><br><br>");
                }
                if (testDescription != null) {
                    sb.append("<b>Test description (test_desc):</b> <a href=\"#"
                            + testDescription.replaceAll("[\\-\\+\\.\\^:,]", "_") + "\">" + testDescription
                            + "</a><br><br>");
                } else {
                    sb.append("<b>Test description (test_desc):</b> <i>NULL</i><br><br>");
                }
            } catch (JSONException e) {
                sb.append(
                        "<b><i>incorrect test objectives format:</i></b><ul><li>" + getObjective() + "</li></ul>");
                e.printStackTrace();
            }
        } else {
            sb.append("<b><i>no objectives set for this test</i></b>");
        }

        sb.append("<b>Expected test results (as hstore representation):</b><ul>");
        if (getResults() != null) {
            JSONArray resultsJson;
            try {
                resultsJson = new JSONArray(getResults());
                for (int i = 0; i < resultsJson.length(); i++) {
                    try {
                        final JSONObject expected = resultsJson.getJSONObject(i);
                        sb.append("<li>" + Helperfunctions.json2htmlWithLinks(expected) + "</li>");
                    } catch (Exception e) {
                        e.printStackTrace();
                        sb.append("<li>incorrect expected test result format</li>");
                    }
                }
            } catch (JSONException e1) {
                sb.append("<li>incorrect expected test result format</li>");
            }
        } else {
            sb.append("<li><i>No expected results set for this test</i></li>");
        }
        sb.append("</ul>");
        return sb.toString();
    }
}