/*
* Tanaguru - Automated webpage assessment
* Copyright (C) 2008-2015 Tanaguru.org
*
* This file is part of Tanaguru.
*
* Tanaguru is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Contact us by mail: tanaguru AT tanaguru DOT org
*/
package org.tanaguru.webapp.presentation.data;
import java.util.ArrayList;
import java.util.List;
import org.tanaguru.entity.audit.DefiniteResult;
import org.tanaguru.entity.audit.ProcessResult;
import org.tanaguru.entity.reference.Test;
/**
* This class processes raw results and handles displayable remarks data
* @author jkowalczyk
*/
public class TestResultImpl implements TestResult{
private final List<RemarkInfos> remarkInfosList = new ArrayList<>();
/**
*
* @return
* the list of remark info for the given test
*/
@Override
public List<RemarkInfos> getRemarkInfosList() {
return remarkInfosList;
}
private String[] testEvidenceRepresentationOrder;
@Override
public void setTestEvidenceRepresentationOrder(String testEvidenceRepresentationOrder) {
this.testEvidenceRepresentationOrder = testEvidenceRepresentationOrder.split(";");
}
private final ManualResult manualResult = new ManualResult();
@Override
public String getManualResult() {
return manualResult.getResult();
}
@Override
public void setManualResult(String manualResult) {
this.manualResult.setResult(manualResult);
}
@Override
public String getComment() {
return manualResult.getComment();
}
@Override
public void setComment(String comment) {
this.manualResult.setComment(comment);
}
@Override
public String[] getTestEvidenceRepresentationOrder() {
return testEvidenceRepresentationOrder;
}
private int testRepresentationType;
@Override
public int getTestRepresentationType() {
return testRepresentationType;
}
private String testRepresentation;
/**
*
* @return
* the test representation needed to display test results
*/
@Override
public String getTestRepresentation() {
return testRepresentation;
}
/**
*
* @param testRepresentationType
*/
@Override
public void setTestRepresentation(int testRepresentationType) {
this.testRepresentation = REPRESENTATION_FILE_PREFIX +
testRepresentationType +
REPRESENTATION_FILE_SUFFIX;
this.testRepresentationType = testRepresentationType;
}
private Test test;
/**
*
* @return
* The test
*/
@Override
public Test getTest() {
return test;
}
/**
*
* @param test
*/
@Override
public void setTest(Test test) {
this.test = test;
}
private String testShortLabel;
/**
*
* @return
* The test short label
*/
@Override
public String getTestShortLabel() {
return testShortLabel;
}
/**
*
* @param testShortLabel
*/
@Override
public void setTestShortLabel(String testShortLabel) {
this.testShortLabel = testShortLabel;
}
private String testCode;
/**
*
* @return
* the test key
*/
@Override
public String getTestCode() {
return testCode;
}
/**
*
* @param testCode
*/
@Override
public void setTestCode(String testCode) {
this.testCode = testCode;
}
private String testUrl;
/**
*
* @return
* the tested url
*/
@Override
public String getTestUrl() {
return testUrl;
}
/**
*
* @param testUrl
*/
@Override
public void setTestUrl(String testUrl) {
this.testUrl = testUrl;
}
private int elementCounter = 0;
/**
*
* @return
* the number of encountered elements
*/
@Override
public int getElementCounter() {
return elementCounter;
}
/**
*
* @param elementCounter
*/
@Override
public void setElementCounter(int elementCounter) {
this.elementCounter = elementCounter;
}
private ResultCounter resultCounter;
@Override
public ResultCounter getResultCounter() {
return resultCounter;
}
@Override
public void setResultCounter(ResultCounter resultCounter) {
this.resultCounter = resultCounter;
}
private String resultCode;
/**
*
* @return
* The lower-case-formatted result value. This data is usefull to apply the
* correct css on the displayed result String.
*/
@Override
public String getResultCode() {
return resultCode;
}
@Override
public void setResultCode(String resultCode) {
this.resultCode = resultCode;
}
private String result;
/**
*
* @return
* the displayable result data
*/
@Override
public String getResult() {
return result;
}
/**
*
* @param result
*/
@Override
public void setResult(String result) {
this.result = result;
}
/**
* The test level
*/
private String levelCode;
/**
*
* @return
* the code of the level for the current test
*/
@Override
public String getLevelCode() {
return levelCode;
}
/**
*
* @param levelCode
*/
@Override
public void setLevelCode(String levelCode) {
this.levelCode = levelCode;
}
private String ruleDesignUrl;
/**
*
* @return
* the rule design url that explains the algorithm for the current
* test
*/
@Override
public String getRuleDesignUrl() {
return ruleDesignUrl;
}
/**
*
* @param ruleDesignUrl
*/
@Override
public void setRuleDesignUrl(String ruleDesignUrl) {
this.ruleDesignUrl = ruleDesignUrl;
}
boolean isTruncated = false;
@Override
public boolean getIsTruncated() {
return isTruncated;
}
@Override
public void setTruncated(boolean isTruncated) {
this.isTruncated = isTruncated;
}
private String colorTestContrastRatio;
@Override
public void setColorTestContrastRatio(String colorTestContrastRatio) {
this.colorTestContrastRatio = colorTestContrastRatio;
}
@Override
public String getColorTestContrastRatio() {
return colorTestContrastRatio;
}
/**
* Default constructor
*/
public TestResultImpl() {
}
private List<DefiniteResult> history;
@Override
public List<DefiniteResult> getHistory() {
return history;
}
@Override
public void setHistory(List<DefiniteResult> history) {
this.history = history;
}
@Override
public List<ProcessResult> getHistory(ProcessResult processResult) {
//TODO :YNE: afficher l'historique pour chaque processResult
//TODO :YNE: essayer de déporter ce code sur un service et/ou module dédier à hibernate-envers
// AuditReader auditReader = AuditReaderFactory.get(ProcessResultImpl);
return null;
}
}