package com.yieldstar.rms.client.datasource;

import com.smartgwt.client.data.DataSource;
import com.smartgwt.client.data.fields.DataSourceBooleanField;
import com.smartgwt.client.data.fields.DataSourceIntegerField;
import com.smartgwt.client.data.fields.DataSourceTextField;

public class GwtTestXmlDS extends DataSource {

    private static GwtTestXmlDS instance = null;

    /**
     * @purpose Get the instance of AlertConfigXmlDS
     * @return instance of class
     */
    public static GwtTestXmlDS getInstance() {
        if (instance == null) {
            instance = new GwtTestXmlDS("gwttest");
        }
        return instance;
    }

    /**
     * @purpose To get the DataSource for AlertConfig
     * @param id
     */
    public GwtTestXmlDS(String id) {

        setID(id);
        setRecordXPath("/List/config");
        DataSourceIntegerField pkField = new DataSourceIntegerField("pk");
        pkField.setHidden(true);
        pkField.setPrimaryKey(true);

        DataSourceTextField alertField = new DataSourceTextField("name", "Alert", 40);
        DataSourceBooleanField enableField = new DataSourceBooleanField("activate", "Enable", 20);
        enableField.setCanEdit(true);
        DataSourceTextField levelField = new DataSourceTextField("alertlevel", "Level", 50);
        DataSourceTextField frequencyField = new DataSourceTextField("alertfrequency", "Frequency", 50);
        DataSourceIntegerField intervalField = new DataSourceIntegerField("timeinterval", "Interval", 60);
        intervalField.setHidden(true);
        DataSourceBooleanField aField = new DataSourceBooleanField("A", "A", 25);
        DataSourceBooleanField bField = new DataSourceBooleanField("B", "B", 25);
        DataSourceBooleanField cField = new DataSourceBooleanField("C", "C", 25);
        setFields(pkField, alertField, frequencyField, enableField, levelField, intervalField, aField, bField, cField);

        setDataURL("ds/test_data/gwttest.data.xml");
        setClientOnly(true);
    }
}
