package com.usai.apex.mainframe;


import com.usai.apex.ApexTrackingApplication;
import com.usai.util.commonUtil;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class TrackingListSearchResult implements Serializable
{
    private static final long serialVersionUID = 335021506170621905L;
    List<Map<String, Object>> datalist	= new ArrayList<Map<String, Object>>();

    public int get_count()
    {
        return datalist.size();
    }

    public void add_records(String source, int count)
    {
        JSONArray arrrecords=null;
        try
        {
            arrrecords = new JSONArray(source);

            for (int i=0;i<arrrecords.length();i++)
            {
                JSONObject objrec =arrrecords.getJSONObject(i);


//                    String title = objrec.getString("title");
//                    String icon = objrec.getString("icon");
//                    String description = objrec.getString("description");
//                    String detail = objrec.getString("detail");
//                    String date = objrec.getString("date");
//                    String port = objrec.getString("port");
//
//                    int iconid = commonUtil.iconName2Rid(getContext(),icon);
//
//
////                    lastid = id;
//                    Map<String, Object> map = new HashMap<String, Object>();
//                    map.put("title", title);
//                    map.put("icon", iconid);
//                    map.put("description", description);
//                    map.put("detail", detail);
//                    map.put("date", date);
//                    map.put("port", port);


                Map<String, Object> map = new HashMap<String, Object>();

                Iterator<String> keys = objrec.keys();
                while (keys.hasNext()) {
                    String key = keys.next();
                    Object value = objrec.get(key);

                    if (key.equals("icon")) {
                        int iconid = commonUtil.iconName2Rid( ApexTrackingApplication.get_instance(),(String)value);
                        value = iconid;
                    }
                    map.put(key, value);

                }

                datalist.add(map);

            }

//                for (int i = 0; i < count; i++)
//                {
//                    // offset++;
//                    JSONObject objrec = objrecords.getJSONObject("record" + i);
//                    String title = objrec.getString("title");
//                    String content = objrec.getString("content");
//                    String image = objrec.getString("image");
//                    String id = objrec.getString("id");
//                    String url = objrec.getString("url");
////                    lastid = id;
//                    Map<String, Object> map = new HashMap<String, Object>();
//                    map.put("title", title);
//                    map.put("content", content);
//                    map.put("image", image);
//                    map.put("id", id);
//                    map.put("url", url);
//                    datalist.add(map);
//
//                    // Iterator<?> it = rec.keys();
//                    // HashMap<String, String> record = new HashMap<String,
//                    // String>();
//                    // while (it.hasNext()) // loop for each function
//                    // {
//                    // String field_name = (String) it.next();
//                    // String val = rec.getString(field_name)
//                    // .replace("\n", "");
//                    // record.put(field_name, val);
//                    // }
//                    // records.add(record);
//
//                }
        }
        catch (JSONException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    public List<Map<String, Object>> getData()
    {

        return datalist;
    }

    public void clear() {
        datalist.clear();
    }
}