001 /******************************************************************************
002 * Copyright (C) MActor Developers. All rights reserved. *
003 * ---------------------------------------------------------------------------*
004 * This file is part of MActor. *
005 * *
006 * MActor is free software; you can redistribute it and/or modify *
007 * it under the terms of the GNU General Public License as published by *
008 * the Free Software Foundation; either version 2 of the License, or *
009 * (at your option) any later version. *
010 * *
011 * MActor is distributed in the hope that it will be useful, *
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
014 * GNU General Public License for more details. *
015 * *
016 * You should have received a copy of the GNU General Public License *
017 * along with MActor; if not, write to the Free Software *
018 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *
019 ******************************************************************************/
020 package org.mactor.ui.cmd;
021
022 import org.apache.log4j.Logger;
023 import org.mactor.framework.TestContext;
024 import org.mactor.framework.TestEvent;
025 import org.mactor.framework.TestFeedbackListener;
026 import org.mactor.framework.TestEvent.EventType;
027
028 public class SimpleLogFeedbackHandler implements TestFeedbackListener {
029 protected static Logger log = Logger.getLogger(SimpleLogFeedbackHandler.class);
030 private String getLogPrefix(TestEvent event) {
031 return event.getTestRunInstanceId() + ";" + event.getTestInstanceId() + ";" + event.getTestSpec().getName() + ";";
032 }
033 public void onNodeEvent(TestEvent event, TestContext context) {
034 if (event.getEventType().equals(EventType.Start)) {
035 log.info(getLogPrefix(event) + "Node execution started");
036 } else {
037 if (event.isTestCompleteEvent()) {
038 if (event.isSuccessful()) {
039 log.info(getLogPrefix(event) + "Test completed with SUCCESS");
040 } else {
041 if (event.getCause() != null)
042 log.info(getLogPrefix(event) + "Test completed with FAILURE. Details:" + event.getCause().getMessage());
043 else
044 log.info(getLogPrefix(event) + "Test completed with FAILURE");
045 }
046 } else if (!event.isSuccessful()) {
047 if (event.getCause() != null)
048 log.info(getLogPrefix(event) + event.getNode().getName() + ";Execution of node failed with:" + event.getCause().getMessage());
049 else
050 log.info(getLogPrefix(event) + event.getNode().getName() + ";Execution of node failed");
051 }
052 }
053 }
054 public void onTestRunCompleted(String testRunInstanceId, int succededCount, int failedCount) {
055 log.info(testRunInstanceId + ";Test Run comleted with " + succededCount + " SUCCESSFUL tests and " + failedCount + " FAILED tests");
056 }
057 }