package org.apache.jmeter.save.handlers;
import org.apache.jmeter.assertions.Assertion;
import org.apache.jmeter.save.SaveHandler;
import org.apache.jmeter.save.Saveable;
import java.io.*;
import java.util.*;
import org.xml.sax.Attributes;
import org.apache.jmeter.save.xml.TagHandler;
/**
* Title: Jakarta-JMeter
* Description:
* Copyright: Copyright (c) 2001
* Company: Apache
* @author Michael Stover
* @version 1.0
*/
public class AssertionHandler extends TagHandler implements SaveHandler
{
Assertion model;
public AssertionHandler() {
}
public String getPrimaryTagName()
{
return "assertion";
}
public void save(Saveable objectToSave, Writer out) throws IOException {
Assertion saved = (Assertion)objectToSave;
out.write("<");
out.write(getPrimaryTagName());
out.write(" name=\"");
out.write(saved.getName());
out.write("\" class=\"");
out.write(saved.getClass().getName());
out.write("\" testType=\"");
out.write(""+saved.getTestType());
out.write("\" testField=\"");
out.write(saved.getTestField());
out.write("\">");
writeTestStrings(saved,out);
out.write("\n</");
out.write(getPrimaryTagName());
out.write(">");
}
public Object getModel()
{
return model;
}
public void setAtts(Attributes atts) throws ClassNotFoundException,IllegalAccessException,InstantiationException
{
System.out.println("Got to here");
model = (Assertion)Class.forName(atts.getValue("class")).newInstance();
model.setName(atts.getValue("name"));
model.setTestType(Integer.parseInt(atts.getValue("testType")));
model.setTestField(atts.getValue("testField"));
}
public void testString(String data)
{
model.addTestString(data);
}
private void writeTestStrings(Assertion saved,Writer out) throws IOException
{
Iterator iter = saved.getTestStringList().iterator();
while (iter.hasNext())
{
out.write("\n<testString>");
out.write(JMeterHandler.convertToXML(iter.next().toString()));
out.write("</testString>");
}
}
}