ingo@782: package de.intevation.flys.client.client.ui.range; ingo@782: ingo@782: import com.google.gwt.core.client.GWT; ingo@782: ingo@782: import com.smartgwt.client.data.DataSource; ingo@782: import com.smartgwt.client.data.DataSourceField; ingo@782: import com.smartgwt.client.types.DSDataFormat; ingo@782: import com.smartgwt.client.types.FieldType; ingo@782: ingo@782: ingo@782: public class DistanceInfoDataSource extends DataSource { ingo@782: ingo@782: public static final String XPATH_DISTANCE_DEFAULT = "/distances/distance"; ingo@782: ingo@782: ingo@782: public DistanceInfoDataSource(String url, String river, String filter) { ingo@782: setDataFormat(DSDataFormat.XML); ingo@782: setRecordXPath(XPATH_DISTANCE_DEFAULT); ingo@782: ingo@782: DataSourceField desc = new DataSourceField( ingo@782: "description", FieldType.TEXT, "description"); ingo@782: ingo@782: DataSourceField from = new DataSourceField( ingo@782: "from", FieldType.TEXT, "from"); ingo@782: ingo@782: DataSourceField to = new DataSourceField( ingo@782: "to", FieldType.TEXT, "to"); ingo@782: ingo@782: DataSourceField side = new DataSourceField( ingo@782: "riverside", FieldType.TEXT, "riverside"); ingo@782: ingo@782: DataSourceField top = new DataSourceField( ingo@782: "top", FieldType.TEXT, "top"); ingo@782: ingo@782: DataSourceField bottom = new DataSourceField( ingo@782: "bottom", FieldType.TEXT, "bottom"); ingo@782: ingo@782: setFields(desc, from, to, side, top, bottom); ingo@782: setDataURL(getServiceURL(url, river, filter)); ingo@782: } ingo@782: ingo@782: ingo@782: protected String getServiceURL(String server, String river, String filter) { ingo@782: String url = GWT.getModuleBaseURL(); ingo@782: url += "distanceinfoxml"; ingo@782: url += "?server=" + server; ingo@782: url += "&river=" + river; ingo@782: url += "&filter=" + filter; ingo@782: ingo@782: return url; ingo@782: } ingo@782: } ingo@782: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :