package com.smartgwt.sample.showcase.client.data;
import com.smartgwt.client.data.DSRequest;
import com.smartgwt.client.data.DSResponse;
import com.smartgwt.client.data.DataSource;
import com.smartgwt.client.data.fields.DataSourceImageField;
import com.smartgwt.client.data.fields.DataSourceIntegerField;
import com.smartgwt.client.data.fields.DataSourceTextField;
public class AnimalXmlDS extends DataSource {
private static AnimalXmlDS instance = null;
public static AnimalXmlDS getInstance() {
if (instance == null) {
instance = new AnimalXmlDS("animalDS");
}
return instance;
}
public AnimalXmlDS(String id) {
setID(id);
setRecordXPath("/List/Object");
DataSourceTextField commonNameField = new DataSourceTextField("commonName", "Animal");
DataSourceTextField scientificName = new DataSourceTextField("scientificName", "Scientific Name");
scientificName.setRequired(true);
scientificName.setPrimaryKey(true);
DataSourceIntegerField lifeSpanField = new DataSourceIntegerField("lifeSpan", "Life Span");
DataSourceTextField statusField = new DataSourceTextField("status", "Endangered Status");
statusField.setValueMap("Threatened", "Endangered", "Not Endangered", "Not currently listed",
"May become threatened","Protected");
DataSourceTextField dietField = new DataSourceTextField("diet", "Diet");
DataSourceTextField infoField = new DataSourceTextField("information", "Interesting Facts");
infoField.setLength(1000);
DataSourceImageField pictureField = new DataSourceImageField("picture", "Picture");
pictureField.setImageURLPrefix("animals/");
setFields(commonNameField, scientificName, lifeSpanField, statusField, dietField, infoField, pictureField);
setDataURL("ds/test_data/animals.data.xml");
setClientOnly(true);
}
/**
* Override transformRequest. Here for illustration purposes only and this override implementation simply calls
* super.transformReRequest
*
* @param dsRequest the DSRequest being processed
* @return the transformed request
*/
@Override
protected Object transformRequest(DSRequest dsRequest) {
return super.transformRequest(dsRequest);
}
}