Package com.atlantbh.jmeter.plugins.jsontoxmlconverter

Source Code of com.atlantbh.jmeter.plugins.jsontoxmlconverter.JSONToXMLConverter

/*!
* AtlantBH Custom Jmeter Components v1.0.0
* http://www.atlantbh.com/jmeter-components/
*
* Copyright 2011, AtlantBH
*
* Licensed under the under the Apache License, Version 2.0.
*/

package com.atlantbh.jmeter.plugins.jsontoxmlconverter;

import net.sf.json.JSON;
import net.sf.json.JSONSerializer;
import net.sf.json.xml.XMLSerializer;
import org.apache.jmeter.samplers.AbstractSampler;
import org.apache.jmeter.samplers.Entry;
import org.apache.jmeter.samplers.SampleResult;

/**
* This is main class for JSON to XML converter which contains method ConvertToXML
* that takes json input as String type and convert it to xml output as String type
*
* @author bjusufbe
*/

public class JSONToXMLConverter extends AbstractSampler {

  /**
   *
   */
  private static final long serialVersionUID = 1L;
  private static final String JSONINPUT = "JSONINPUT";
  private static final String XMLOUTPUT = "XMLOUTPUT";
 
  public JSONToXMLConverter()
  {
    super();
  }
 
  @Deprecated
  public String ConvertToXML(String jsonData)
  {
    XMLSerializer serializer = new XMLSerializer();
        JSON json = JSONSerializer.toJSON(jsonData);
        serializer.setRootName("xmlOutput");
        serializer.setTypeHintsEnabled(false);
        String xml = serializer.write(json);   
    return xml;
  }
 
  public void convertToXML()
  {
    XMLSerializer serializer = new XMLSerializer();
        JSON json = JSONSerializer.toJSON(this.getJsonInput());
        serializer.setRootName("xmlOutput");
        serializer.setTypeHintsEnabled(false);
        setXmlOutput(serializer.write(json));
  }
 
  public void setJsonInput(String jsonInput)
  {
      setProperty(JSONINPUT, jsonInput);
  }
    
  public String getJsonInput()
  {
      return getPropertyAsString(JSONINPUT);
  }
 
  public void setXmlOutput(String xmlOutput)
  {
      setProperty(XMLOUTPUT, xmlOutput);
  }
    
  public String getXmlOutput()
  {
      return getPropertyAsString(XMLOUTPUT);
  }
   
  @Override
  public SampleResult sample(Entry e) {
    SampleResult result = new SampleResult();

    result.setSampleLabel(getName());
    result.setSamplerData(this.getJsonInput());
    result.setDataType(SampleResult.TEXT);
   
    result.sampleStart();
   
    if (!getJsonInput().equalsIgnoreCase(""))
    {
      try
      {
        this.convertToXML();
        result.setResponseData(this.getXmlOutput().getBytes());
        result.setSuccessful(true);
      }
      catch (Exception e1)
      {
        result.setResponseData(e1.getMessage().getBytes());
        result.setSuccessful(false);
      }
    }
   
    result.sampleEnd();   
    return result;
  }
}
TOP

Related Classes of com.atlantbh.jmeter.plugins.jsontoxmlconverter.JSONToXMLConverter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.