package mil.nga.giat.asam.net; import java.io.IOException; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import mil.nga.giat.asam.db.AsamDbHelper; import mil.nga.giat.asam.util.AsamConstants; import mil.nga.giat.asam.util.AsamLog; import mil.nga.giat.asam.util.AsamUtils; import mil.nga.giat.asam.util.ManifestMetaData; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import android.content.Context; import android.database.sqlite.SQLiteDatabase; public class AsamWebService { private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyyMMdd", Locale.US); private Context mContext; public AsamWebService(Context context) { mContext = context; } public String query() throws IOException { String results = null; Date maxDate = null; AsamDbHelper dbHelper = new AsamDbHelper(mContext); SQLiteDatabase db = dbHelper.getReadableDatabase(); maxDate = dbHelper.getMaxOccurrenceDate(db); db.close(); String url = String.format(ManifestMetaData.getString(mContext, "web_service_url"), DATE_FORMAT.format(maxDate), DATE_FORMAT.format(new Date())); AsamLog.i(AsamWebService.class.getName() + ":" + url); HttpParams httpParameters = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParameters, AsamConstants.QUERY_TIMEOUT_THRESHOLD_IN_MILLISECONDS); HttpConnectionParams.setSoTimeout(httpParameters, AsamConstants.QUERY_TIMEOUT_THRESHOLD_IN_MILLISECONDS); HttpClient httpClient = new DefaultHttpClient(httpParameters); HttpResponse response = httpClient.execute(new HttpGet(url)); HttpEntity entity = response.getEntity(); if (entity != null) { InputStream in = entity.getContent(); results = AsamUtils.readStream(in); in.close(); } return results; } }