Advertisement
Guest User

Untitled

a guest
Feb 24th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.74 KB | None | 0 0
  1. package view;
  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.FileOutputStream;
  5. import java.io.FileReader;
  6. import java.io.IOException;
  7. import java.io.OutputStreamWriter;
  8. import java.io.Writer;
  9. import java.util.Iterator;
  10. import java.util.List;
  11. import java.util.Scanner;
  12.  
  13. import javax.servlet.http.HttpServletRequest;
  14.  
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.RequestMethod;
  17. import org.springframework.web.bind.annotation.RequestParam;
  18. import org.springframework.web.bind.annotation.RestController;
  19.  
  20. import com.google.gson.JsonElement;
  21. import com.google.gson.JsonObject;
  22. import com.google.gson.JsonParser;
  23.  
  24. import model.Material;
  25. import model.MaterialDao;
  26.  
  27. @RestController
  28. public class MaterialRest {
  29. /*
  30. * The root will show the REST apis available
  31. */
  32. @RequestMapping("/")
  33. public String api(@RequestParam(value="name", defaultValue="World") String name) {
  34. return "<a href=\"/test\">/test</a><br><a href=\"/material?id=1\">/material?id=1</a><br><a href=\"/materials\">/materials</a><br><a href=\"index.html\">index.html</a>";
  35. }
  36.  
  37. /*
  38. * Just echo some simple JSON
  39. */
  40. @RequestMapping("/test")
  41. public String hello(@RequestParam(value="name", defaultValue="World") String name) {
  42. return "{\"id\":\"hello\"}";
  43. }
  44.  
  45. /*
  46. * to avoid cross scripting error we load html-file here
  47. */
  48. @RequestMapping("/index.html")
  49. public String index(@RequestParam(value="name", defaultValue="World") String name) {
  50. StringBuffer sb = new StringBuffer();
  51. try{
  52. Scanner in = new Scanner(new FileReader("index.html"));
  53. while(in.hasNext()){
  54. String rivi =in.nextLine();
  55. sb.append(rivi);
  56. }
  57. return sb.toString();
  58. }
  59. catch(Exception e){
  60. return e.toString();
  61. }
  62. }
  63.  
  64. @RequestMapping("/getbyname.html")
  65. public String getbyname(@RequestParam(value="name", defaultValue="World") String name) {
  66. StringBuffer sb = new StringBuffer();
  67. try{
  68. Scanner in = new Scanner(new FileReader("getbyname.html"));
  69. while(in.hasNext()){
  70. String rivi =in.nextLine();
  71. sb.append(rivi);
  72. }
  73. return sb.toString();
  74. }
  75. catch(Exception e){
  76. return e.toString();
  77. }
  78. }
  79.  
  80. //retrieve material based on id
  81. @RequestMapping("/material")
  82. public Material material(@RequestParam(value="id", defaultValue="1") int id) {
  83. MaterialDao dao = new MaterialDao();
  84. dao.init();
  85. dao.initialize(id);
  86. return dao.getDao();
  87. }
  88.  
  89. //retrieve all materials
  90. @RequestMapping("/materials")
  91. public List<Material> materials(@RequestParam(value="id", defaultValue="1") int id) {
  92. MaterialDao dao = new MaterialDao();
  93. dao.init();
  94. return dao.getDaos();
  95. }
  96.  
  97. // Retrieve material by name
  98. @RequestMapping("/materialsbyname")
  99. public List<Material> materialsByName(@RequestParam(value="name", defaultValue="World") String name) {
  100. MaterialDao dao = new MaterialDao();
  101. dao.init();
  102. List<Material> materials = dao.getDaos();
  103.  
  104. for (Iterator<Material> iter = materials.listIterator(); iter.hasNext();) {
  105. Material mat = iter.next();
  106. if (!mat.getName().substring(0,name.length()).equals(name)) {
  107. iter.remove();
  108. }
  109. }
  110. return materials;
  111. }
  112.  
  113. /*Method reads json as parameter and stores material to database*/
  114. @RequestMapping(value="/insertMaterial", method=RequestMethod.POST)
  115. public Material insertMaterial(HttpServletRequest request, @RequestParam(value="json", defaultValue="") String json) {
  116. StringBuilder sb = new StringBuilder();
  117. BufferedReader br;
  118. try {
  119. br = request.getReader();
  120. String str;
  121. while( (str = br.readLine()) != null ){
  122. sb.append(str);
  123. }
  124. } catch (IOException e) {
  125. e.printStackTrace();
  126. }
  127. JsonElement jelement = new JsonParser().parse(sb.toString());
  128. //Just testing the content of json
  129. Writer out=null;
  130. try{
  131. out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("c:/temp/test.txt"), "UTF-8"));
  132. out.write(sb.toString());
  133. out.flush();
  134. out.close();
  135. }
  136. //Just testing the content of json
  137. catch(Exception e){
  138. System.out.println(e.toString());
  139. }
  140. MaterialDao dao = new MaterialDao();
  141. dao.init();
  142. Material material = new Material();
  143. JsonObject myObject = jelement.getAsJsonObject();
  144. material.setCode(myObject.get("code").getAsString());
  145. material.setName(myObject.get("name").getAsString());
  146. dao.persist(material);
  147. return material;
  148. }
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement