/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ package de.cismet.commons.gui.protocol.test; import org.apache.log4j.Logger; import java.util.List; import de.cismet.commons.gui.protocol.AbstractProtocolStep; import de.cismet.commons.gui.protocol.ProtocolHandler; import de.cismet.commons.gui.protocol.ProtocolStep; import de.cismet.commons.gui.protocol.impl.CommentProtocolStep; import de.cismet.commons.gui.protocol.impl.CommentProtocolStepImpl; import de.cismet.tools.gui.log4jquickconfig.Log4JQuickConfig; /** * DOCUMENT ME! * * @author jruiz * @version $Revision$, $Date$ */ public class ProtocolTester { //~ Static fields/initializers --------------------------------------------- private static final Logger LOG = Logger.getLogger(ProtocolTester.class); //~ Constructors ----------------------------------------------------------- /** * Creates a new ProtocolTester object. */ private ProtocolTester() { } //~ Methods ---------------------------------------------------------------- /** * DOCUMENT ME! * * @param args DOCUMENT ME! */ public static void main(final String[] args) { Log4JQuickConfig.configure4LumbermillOnLocalhost(); final ProtocolTester tester = new ProtocolTester(); try { tester.test(); } catch (final Exception ex) { LOG.fatal(ex, ex); } } /** * DOCUMENT ME! * * @throws Exception DOCUMENT ME! */ private void test() throws Exception { log("========================"); log("= single protocol test = "); log("========================"); log("creating protocol..."); final CommentProtocolStep proto = new CommentProtocolStepImpl("dies ist ein Test-Kommentar"); log("protocol: " + proto); log("* date: " + proto.getDate()); log("* message: " + proto.getMessage()); log("storing protocol to json..."); final String jsonString = proto.toJsonString(); log("json:" + jsonString); log("restoring protocol from json..."); final CommentProtocolStep newProto = (CommentProtocolStep)AbstractProtocolStep.fromJsonString( jsonString, CommentProtocolStepImpl.class); log("protocol: " + newProto); log("* date: " + newProto.getDate()); log("* message: " + newProto.getMessage()); log("========================="); log("= protocol handler test ="); log("========================="); log(new CommentProtocolStepImpl("Protollierungs-Test nummer eins...").toJsonString()); log("recording some protocols..."); ProtocolHandler.getInstance().setRecordEnabled(true); ProtocolHandler.getInstance().recordStep(new CommentProtocolStepImpl("Protollierungs-Test nummer eins...")); ProtocolHandler.getInstance().recordStep(new CommentProtocolStepImpl("...noch ein Test...")); ProtocolHandler.getInstance().recordStep(new CommentProtocolStepImpl("...es wird wie wild getestet...")); ProtocolHandler.getInstance().recordStep(new CommentProtocolStepImpl("...irgendwann reicht es aber auch !")); log("number of recorded protocols: " + ProtocolHandler.getInstance().getAllSteps().size()); log("storing all protocols to json..."); final String allProtosJson = ProtocolHandler.getInstance().toJsonString(); log("json: " + allProtosJson); log("restoring all protocols from json..."); ProtocolHandler.getInstance().fromJsonString(allProtosJson); final List<ProtocolStep> newList = ProtocolHandler.getInstance().getAllSteps(); log("size after jsonify: " + newList.size()); log("protocolls after jsonify: "); for (final ProtocolStep newProtoFromList : newList) { log("protocol: " + newProtoFromList.getClass().getCanonicalName()); final CommentProtocolStep newProtoFromListCasted = (CommentProtocolStep)newProtoFromList; log("* date: " + newProtoFromListCasted.getDate()); log("* message: " + newProtoFromListCasted.getMessage()); log(" ----- "); } } /** * DOCUMENT ME! * * @param message DOCUMENT ME! */ private static void log(final String message) { if (LOG.isDebugEnabled()) { LOG.debug(message); } System.out.println(message); } }