/* * Sakuli - Testing and Monitoring-Tool for Websites and common UIs. * * Copyright 2013 - 2015 the original author or authors. * * 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 org.sakuli.datamodel.actions; import net.sf.sahi.report.ResultType; import net.sf.sahi.report.TestResult; /** * Wrapper for the {@link TestResult} class with getters. * * @author Tobias Schneck */ public class LogResult extends TestResult { private final String message; private final ResultType type; private final String debugInfo; private final String failureMsg; public LogResult(String message, ResultType type, String debugInfo, String failureMsg) { super(clean(message), type, clean(debugInfo), clean(failureMsg)); this.message = clean(message); this.type = type; this.debugInfo = clean(debugInfo); this.failureMsg = clean(failureMsg); } private static String clean(String string) { if (string != null) { return string.replace("\n", " ").trim(); } return null; } public String getMessage() { return message; } public ResultType getType() { return type; } public String getDebugInfo() { return debugInfo; } public String getFailureMsg() { return failureMsg; } @Override public String toString() { return type.getName() + " - " + toErrorMessage(); } public String toErrorMessage() { StringBuilder builder = new StringBuilder(); if (failureMsg != null && (type.equals(ResultType.ERROR) || type.equals(ResultType.FAILURE))) { builder.append(failureMsg).append(" => "); } return builder.append(message).append(" ... @CALL: ").append(debugInfo).toString(); } }