Advertisement
Limo

formsubmission

Jun 26th, 2013
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.23 KB | None | 0 0
  1. package com.exampleas.forms;
  2.  
  3. import org.apache.commons.logging.Log;
  4. import org.apache.commons.logging.LogFactory;
  5. import org.apache.http.auth.AuthenticationException;
  6. import org.json.JSONArray;
  7. import org.json.JSONObject;
  8. import android.os.AsyncTask;
  9. import android.os.Bundle;
  10. import android.app.Activity;
  11. import android.util.Base64;
  12. import android.view.Menu;
  13. import android.view.View;
  14. import android.view.View.OnClickListener;
  15. import android.widget.Button;
  16. import android.widget.EditText;
  17. import android.widget.ProgressBar;
  18. import android.widget.Toast;
  19. import javax.servlet.http.HttpServletResponse;
  20. import java.io.InputStreamReader;
  21. import java.io.OutputStreamWriter;
  22. import java.net.HttpURLConnection;
  23. import java.net.URL;
  24.  
  25.  
  26.  
  27. public class FormActivity extends Activity implements OnClickListener{
  28.  
  29. private final Log log = LogFactory.getLog(FormActivity.class);
  30.  
  31. private static final String METHOD_POST = "POST";
  32.  
  33. private static String formsubmissionJson;
  34.  
  35. private static String encounterJson;
  36.  
  37. private static String consultationJson;
  38. private EditText value;
  39. private Button btn;
  40. private ProgressBar pb;
  41. @Override
  42. protected void onCreate(Bundle savedInstanceState) {
  43. super.onCreate(savedInstanceState);
  44. setContentView(R.layout.activity_form);
  45. value=(EditText)findViewById(R.id.editText1);
  46. btn=(Button)findViewById(R.id.button1);
  47. pb=(ProgressBar)findViewById(R.id.progressBar1);
  48. pb.setVisibility(View.GONE);
  49. btn.setOnClickListener(this);
  50. }
  51.  
  52.  
  53.  
  54. public static void prepare() throws Exception {
  55.  
  56. JSONObject formObject = new JSONObject();
  57. formObject.put("dataSource", "954b9e59-eba0-4679-afbb-2878580c054d");
  58. formObject.put("discriminator", "encounter");
  59. JSONObject payload = new JSONObject();
  60. JSONObject encounter= new JSONObject();
  61. JSONObject person= new JSONObject();
  62. JSONArray obs=new JSONArray();
  63. JSONObject o = new JSONObject();
  64. payload.put("person","person"); // Device type
  65. payload.put("encounter","encounter");
  66. payload.put("obs",obs);
  67. obs.put(o);
  68. person.put("person.uuid","269857b6-f0b9-4c93-af4a-f18293679e89");//replace value with this.getString(R.Id)
  69. encounter.put("form.uuid","fe9fc58f-d196-46cb-956d-f46445f558d9");
  70. encounter.put("encounterType.uuid","bdb58960-4d91-4ca7-a27a-8dabde40ec12");
  71. encounter.put("provider.uuid","3c023ab8-82ff-11e2-96ef-f0def12f7061");
  72. encounter.put("location.uuid","e1b1d9eb-69a2-4843-bccc-e73e33c70e4c");
  73. encounter.put("datetime","2013-06-12 00:00:00");
  74. o.put("uuid", "307AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");//obs uuid for SPUTUM FOR ACID FAST BACILLI
  75. o.put("type","coded");//coded
  76. o.put("value","1364AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
  77.  
  78. formObject.put("payload", payload);
  79. formsubmissionJson = formObject.toString();
  80.  
  81.  
  82. }
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89. @Override
  90. public boolean onCreateOptionsMenu(Menu menu) {
  91. // Inflate the menu; this adds items to the action bar if it is present.
  92. getMenuInflater().inflate(R.menu.form, menu);
  93. return true;
  94. }
  95.  
  96.  
  97.  
  98. @Override
  99. public void onClick(View v) {
  100.  
  101.  
  102. // TODO Auto-generated method stub
  103. if(value.getText().toString().length()<1){
  104. // out of range
  105. Toast.makeText(this, "please enter something", Toast.LENGTH_LONG).show();
  106. }else{
  107. pb.setVisibility(View.VISIBLE);
  108. new MyAsyncTask().execute(value.getText().toString());
  109. }
  110.  
  111. }
  112.  
  113. private class MyAsyncTask extends AsyncTask<String, Integer, Double>{
  114.  
  115. @Override
  116. protected Double doInBackground(String... params) {
  117. // TODO Auto-generated method stub
  118. try {
  119. postingQueueData();
  120. } catch (Exception e) {
  121. // TODO Auto-generated catch block
  122. e.printStackTrace();
  123. }
  124. return null;
  125. }
  126.  
  127. protected void onPostExecute(Double result){
  128. pb.setVisibility(View.GONE);
  129. Toast.makeText(getApplicationContext(), "command sent", Toast.LENGTH_LONG).show();
  130. }
  131. protected void onProgressUpdate(Integer... progress){
  132. pb.setProgress(progress[0]);
  133. }
  134.  
  135.  
  136. }
  137. public void postingQueueData() throws Exception {
  138. URL url = new URL("http://192.168.1.5:8081/openmrs-standalone/ws/rest/v1/muzima/queueData");
  139. HttpURLConnection connection = (HttpURLConnection) url.openConnection();
  140. String encodedAuthorization = "Basic " + Base64.encodeToString("admin:test".getBytes(), Base64.NO_WRAP);
  141. // Base64.encode("admin:test".getBytes());
  142. // String encoding = Base64.encodeToString(AuthenticationException.getBytes(), Base64.NO_WRAP);
  143. connection.setRequestProperty("Authorization", encodedAuthorization);
  144. connection.setRequestMethod(METHOD_POST);
  145. connection.setRequestProperty("Content-Type", "application/json");
  146. connection.setDoOutput(true);
  147.  
  148. OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
  149. writer.write(formsubmissionJson);
  150. writer.flush();
  151.  
  152. InputStreamReader reader = new InputStreamReader(connection.getInputStream());
  153. int responseCode = reader.read();
  154. if (responseCode == HttpServletResponse.SC_OK
  155. || responseCode == HttpServletResponse.SC_CREATED) {
  156. log.info("Queue data created!");
  157. }
  158.  
  159. reader.close();
  160. writer.close();
  161. }
  162.  
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement