package org.perfsonar.service.measurementArchive.sqlType.fetch;

import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Date;

import org.ggf.ns.nmwg.base.v2_0.Data;
import org.ggf.ns.nmwg.tools.traceroute.v2_0.Datum;

import org.perfsonar.commons.auxiliary.AuxiliaryComponentManager;
import org.perfsonar.commons.auxiliary.ComponentNames;
import org.perfsonar.commons.auxiliary.components.logger.LoggerComponent;

import org.perfsonar.service.commons.exceptions.SystemException;
/**
 *
 * @author Mohammad Asif
 * Created on January 2, 2007, 1:49 PM
 */
public class TracerouteResponseGenerator extends ResponseGenerator {

    /** Creates a new instance of TracerouteResponseGenerator */
    public TracerouteResponseGenerator() throws SystemException{
        super() ;
    }

    public Data getResponse(List resultList) throws Exception {

    	Data data = new Data();

        for (int i = 0; i < resultList.size(); i++) {

            Datum datum = new Datum();

            Map resultMap = (Map) resultList.get(i);
            Collection<String> kCollection = ((Map)resultList.get(i)).keySet();

            for (String column : kCollection) {

                Object value = resultMap.get(column);
                String className = value.getClass().getName();
                String strValue = null;

                if (className.equals("java.lang.Float"))
                    strValue = Float.toString((Float) value);
                if (className.equals("java.lang.Double"))
                	strValue = Double.toString((Double) value);
                else if (className.equals("java.lang.Integer"))
                    strValue = Integer.toString((Integer) value);
                else if (className.equals("java.lang.Long"))
                	strValue = Long.toString((Long) value);
                else if (className.equals("java.lang.Date"))
                    strValue = ((Date) value).toString();
                else if (className.equals("java.lang.String"))
                    strValue = (String) value;

                if (strValue != null) {

	    	    if (column.equals("results")) datum.setHopMax(strValue);

                }

            }

            data.addChild(datum);

        }

        return data;

    }

    public static void main (String [] arg )
    {

    }

}
  • No labels