1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 1. package edu.ucar.cisl.gwtRESTTutorialView.client.callback; 2. import com.google.gwt.json.client.JSONObject; 3. import com.google.gwt.json.client.JSONParser; 4. import com.google.gwt.json.client.JSONValue; 5. import edu.ucar.cisl.gwtRESTTutorialView.client.EmployeePopup; 6. import edu.ucar.cisl.gwtRESTTutorialView.client.bean.EmployeeItemData; 7. import edu.ucar.cisl.gwtRESTTutorialView.client.bean.ItemData; 8. public class EmployeeRpcCallback extends RestServiceRpcCallback { 9. protected void processResponse(String response) { 10. JSONValue jsonValue = JSONParser.parse(response); 11. ItemData iData = (ItemData) treeItem.getUserObject(); 12. JSONObject jobj = jsonValue.isObject(); 13. EmployeeItemData eItemData = (EmployeeItemData) iData; 14. eItemData.setId((int) jobj.get("id").isNumber().doubleValue()); 15. eItemData.setFirstName(jobj.get("firstName").isString().stringValue()); 16. eItemData.setNickName(jobj.get("nickName").isString().stringValue()); 17. eItemData.setLastName(jobj.get("lastName").isString().stringValue()); 18. eItemData.setPhone(jobj.get("phone").isString().stringValue()); 19. eItemData.setEmail(jobj.get("email").isString().stringValue()); 20. eItemData.setTitle(jobj.get("title").isString().stringValue()); 21. iData.setDataReady(true); 22. int left = treeItem.getAbsoluteLeft() + 50; 23. int top = treeItem.getAbsoluteTop() + 30; 24. EmployeePopup.show(left, top, (EmployeeItemData) eItemData); 25. } 26. } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | 1. package edu.ucar.cisl.gwtRESTTutorialView.client.callback; 2. import com.google.gwt.json.client.JSONArray; 3. import com.google.gwt.json.client.JSONObject; 4. import com.google.gwt.json.client.JSONParser; 5. import com.google.gwt.json.client.JSONValue; 6. import com.google.gwt.user.client.ui.TreeItem; 7. import edu.ucar.cisl.gwtRESTTutorialView.client.bean.EmployeeItemData; 8. import edu.ucar.cisl.gwtRESTTutorialView.client.bean.OrganizationItemData; 9. import edu.ucar.cisl.gwtRESTTutorialView.client.OrganizationPopup; 10. public class OrganizationRpcCallback extends RestServiceRpcCallback { 11. protected void processResponse(String response) { 12. JSONValue jsonValue = JSONParser.parse(response); 13. OrganizationItemData oItemData = (OrganizationItemData) treeItem.getUserObject(); 14. JSONObject jobj = jsonValue.isObject(); 15. oItemData.setId((int) jobj.get("id").isNumber().doubleValue()); 16. oItemData.setDisplayName(jobj.get("acronym").isString().stringValue()); 17. oItemData.setName(jobj.get("name").isString().stringValue()); 18. oItemData.setLeadName(jobj.get("leadName").isString().stringValue()); 19. oItemData.setLeadTitle(jobj.get("leadTitle").isString().stringValue()); 20. oItemData.setTotalEmployees((int) 21. obj.get("totalEmployees").isNumber().doubleValue()); 22. oItemData.setDataReady(true); 23. treeItem.setText(oItemData.getDisplayName()); 24. processEmployees(jobj.get("employees").isArray()); 25. processSubOrgs(jobj.get("subOrgs").isArray()); 26. if (getEventType() == EventType.SELECT_EVENT) { 27. int left = treeItem.getAbsoluteLeft() + 50; 28. int top = treeItem.getAbsoluteTop() + 30; 29. OrganizationPopup.show(left, top, (OrganizationItemData) oItemData); 30. } 31. } 32. protected void processSubOrgs(JSONArray jsonArray) { 33. for (int i = 0; i < jsonArray.size(); ++i) { 34. JSONObject jo = jsonArray.get(i).isObject(); 35. OrganizationItemData iData = new OrganizationItemData(); 36. iData.setId((int) jo.get("id").isNumber().doubleValue()); 37. iData.setDisplayName(jo.get("acronym").isString().stringValue()); 38. TreeItem child = treeItem.addItem(iData.getDisplayName()); 39. TreeItem dummy = child.addItem(""); 40. dummy.setVisible(false); 41. child.setUserObject(iData); 42. } 43. } 44. protected void processEmployees(JSONArray jsonArray) { 45. for (int i = 0; i < jsonArray.size(); ++i) { 46. JSONObject jo = jsonArray.get(i).isObject(); 47. EmployeeItemData eData = new EmployeeItemData(); 48. eData.setId((int) jo.get("id").isNumber().doubleValue()); 49. eData.setDisplayName(jo.get("name").isString().stringValue()); 50. eData.setDataReady(false); 51. TreeItem child = treeItem.addItem(eData.getDisplayName()); 52. child.setUserObject(eData); 53. } 54. } 55. } |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |