Advertisement
Guest User

Untitled

a guest
Jan 24th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.00 KB | None | 0 0
  1. package com.provagroup.wamp.client;
  2.  
  3. import java.io.File;
  4. import java.util.ArrayList;
  5. import java.util.Collections;
  6. import java.util.HashMap;
  7. import java.util.List;
  8. import java.util.Map;
  9.  
  10. import com.provagroup.provaserver.wamp.ServerResponseMessage;
  11. import com.provagroup.provaserver.wamp.UploadFile;
  12. import com.provagroup.provaserver.wamp.WampApiFieldKeys;
  13.  
  14. public class LegitWampClient {
  15. private static final List<Map<String, Object>> EMPTY_LIST = new ArrayList<>();
  16.  
  17. private final String user;
  18. private final String pw;
  19. private final String uri;
  20. private final String realm;
  21. private PgWampClient client;
  22.  
  23. private static final List<String> USER_ARGS;
  24. static {
  25. List<String> list = new ArrayList<>();
  26. list.add(WampApiFieldKeys.U_ID);
  27. list.add(WampApiFieldKeys.U_LAST);
  28. list.add(WampApiFieldKeys.U_FIRST);
  29. list.add(WampApiFieldKeys.U_MIDDLE);
  30. list.add(WampApiFieldKeys.U_TITLE);
  31. list.add(WampApiFieldKeys.U_SUFFIX);
  32. list.add(WampApiFieldKeys.U_COVER_IMG);
  33. list.add(WampApiFieldKeys.U_PROFILE_IMG);
  34. list.add(WampApiFieldKeys.U_ADDRESS_LIST);
  35. USER_ARGS = Collections.unmodifiableList(list );
  36. }
  37.  
  38. public LegitWampClient(String uri, String realm, String user, String pw) {
  39. this.uri = uri;
  40. this.realm = realm;
  41. this.user = user;
  42. this.pw = pw;
  43. }
  44.  
  45. private PgWampClient getClient() {
  46. if (client == null) {
  47. client = PgWampClient.getClient(uri, realm, user, pw);
  48. }
  49. return client;
  50. }
  51.  
  52. public String getRealm() {
  53. return realm;
  54. }
  55.  
  56. public static LegitWampClient getClient(String uri, String realm, String user, String pw) {
  57. return new LegitWampClient(uri, realm, user, pw);
  58. }
  59.  
  60. @SuppressWarnings("unchecked")
  61. public String forgotPassword(String email) {
  62. final PgWampClient client = getGuestClient("<SERVER_ADDRESS_METHOD>");
  63. String response = "Failed forgot password request";
  64. try {
  65. List<Map<String, Object>> args = new ArrayList<>();
  66. Map<String, Object> m = new HashMap<>();
  67. m.put(WampApiFieldKeys.U_EMAIL, email);
  68. args.add(m);
  69.  
  70. List<Object> ret = client.sendRequest("forgotPassword", args );
  71.  
  72. if (ret != null && ret.size() == 1) {
  73. response = (String) ((Map<String, Object>)ret.get(0)).get(WampApiFieldKeys.FP_RES);
  74. }
  75. return response;
  76. } finally {
  77. if (client != null) {
  78. client.close();
  79. }
  80. }
  81.  
  82. }
  83.  
  84. private PgWampClient getGuestClient(String realm) {
  85. return PgWampClient.getClient(uri, realm, "<EMAIL>","<KEY>");
  86. }
  87.  
  88. public Map<String, Object> getLoginUser() {
  89. List<Map<String, Object>> args = new ArrayList<>();
  90. List<Object> ret = getClient().sendRequest("getLoginUser", args);
  91. @SuppressWarnings("unchecked")
  92. Map<String, Object> user = (Map<String, Object>) ret.get(0);
  93. return user;
  94. }
  95.  
  96. public void login() {
  97. getClient();
  98. }
  99.  
  100. public List<Object> getMyCollection() {
  101. PgWampClient c = getClient();
  102. List<Object> list = c.sendRequest("myAssets", EMPTY_LIST);
  103. return list;
  104. }
  105.  
  106. public void updatePassword(String uid, String pw2, String newpw, String newpw2) {
  107. if (newpw != null && newpw2 != null && newpw.compareTo(newpw2) == 0) {
  108. PgWampClient c = getClient();
  109. List<Map<String, Object>> args = new ArrayList<>();
  110. Map<String, Object> u = new HashMap<String, Object>();
  111. u.put(WampApiFieldKeys.U_ID, uid);
  112. u.put(WampApiFieldKeys.U_PWOLD, pw2);
  113. u.put(WampApiFieldKeys.U_PWNEW, newpw);
  114. args.add(u);
  115. c.sendRequest("setLoginPassword", args);
  116. } else {
  117. throw new IllegalArgumentException("Passwords must match");
  118. }
  119.  
  120. }
  121.  
  122. public Map<String, Object> getAsset(String serno) {
  123. Map<String, Object> a = new HashMap<String, Object>();
  124. a.put(WampApiFieldKeys.ASSET_SERIAL_NO, serno);
  125. return getAsset(a);
  126. }
  127.  
  128. public Map<String, Object> getAssetByTagid(String tagid) {
  129. Map<String, Object> a = new HashMap<String, Object>();
  130. a.put(WampApiFieldKeys.ASSET_TAG_ID, tagid);
  131. return getAsset(a);
  132. }
  133.  
  134. private Map<String, Object> getAsset(Map<String, Object> args) {
  135. PgWampClient c = getClient();
  136. List<Map<String, Object>> list = new ArrayList<>();
  137. list.add(args);
  138. List<Object> ret = c.sendRequest("getAsset", list);
  139.  
  140. @SuppressWarnings("unchecked")
  141. Map<String, Object> asset = (Map<String, Object>) ret.get(0);
  142. return asset;
  143. }
  144.  
  145.  
  146. public Map<String, Object> getError(Map<String, Object> args) {
  147. PgWampClient c = getClient();
  148. List<Map<String, Object>> list = new ArrayList<>();
  149. list.add(args);
  150. List<Object> ret = c.sendRequest("getSilly", list);
  151.  
  152. @SuppressWarnings("unchecked")
  153. Map<String, Object> asset = (Map<String, Object>) ret.get(0);
  154. return asset;
  155. }
  156.  
  157.  
  158. public Map<String, Object> registerAsset(String serno, String certserno) {
  159. PgWampClient c = getClient();
  160. List<Map<String, Object>> args = new ArrayList<>();
  161. Map<String, Object> a = new HashMap<String, Object>();
  162. a.put(WampApiFieldKeys.ASSET_SERIAL_NO, serno);
  163. a.put(WampApiFieldKeys.CERT_SERIAL_NO, certserno);
  164. args.add(a);
  165. List<Object> ret = c.sendRequest("regAsset", args);
  166.  
  167. @SuppressWarnings("unchecked")
  168. Map<String, Object> asset = (Map<String, Object>) ret.get(0);
  169. return asset;
  170. }
  171.  
  172. public Map<String,Object> updateUser(Map<String, Object> user) {
  173. PgWampClient c = getClient();
  174. List<Map<String, Object>> args = new ArrayList<>();
  175. Map<String, Object> m = new HashMap<>();
  176. for (String key : USER_ARGS) {
  177. add(m, key, user);
  178. }
  179. args.add(m);
  180. List<Object> ret = c.sendRequest("updateLoginUser", args);
  181.  
  182. @SuppressWarnings("unchecked")
  183. Map<String, Object> retUser = (Map<String, Object>) ret.get(0);
  184. return retUser;
  185. }
  186.  
  187. private void add(Map<String, Object> m, String key, Map<String, Object> user) {
  188. Object val = user.get(key);
  189. if (val != null) {
  190. m.put(key, val);
  191. }
  192. }
  193.  
  194. @SuppressWarnings("unchecked")
  195. public Map<String, Object> registerUser(Map<String, Object> args) {
  196. PgWampClient c = getGuestClient("<SERVER_ADDRESS>");
  197. try {
  198. List<Map<String, Object>> o = new ArrayList<>();
  199. o.add(args);
  200. return (Map<String, Object>) ((List<Object>) c.sendRequest("registerUser", o)).get(0);
  201. } finally {
  202. c.close();
  203. }
  204. }
  205.  
  206. public String getClientUser() {
  207. return user;
  208. }
  209.  
  210. public Map<String, Object> uploadMedia(Map<String, Object> args, File sourceFile) {
  211. PgWampClient c = getClient();
  212. List<Map<String, Object>> list = new ArrayList<>();
  213. list.add(args);
  214. List<Object> ret = c.sendRequest("mediaUpload", list);
  215.  
  216. @SuppressWarnings("unchecked")
  217. Map<String, Object> upload = (Map<String, Object>) ret.get(0);
  218.  
  219. String url = (String) upload.get(WampApiFieldKeys.MEDIA_UPLOAD_URL);
  220. String name = (String) upload.get(WampApiFieldKeys.MEDIA_FILE_NAME);
  221. // TODO: decide on error response handling for the client.
  222. ServerResponseMessage resp = UploadFile.uploadFile(sourceFile, url, name);
  223. return upload;
  224. }
  225.  
  226. public Map<String, Object> updateAsset(Map<String, Object> a) {
  227. PgWampClient c = getClient();
  228. List<Map<String, Object>> args = new ArrayList<>();
  229. args.add(a);
  230. List<Object> ret = c.sendRequest("updateAssetImages", args);
  231.  
  232. @SuppressWarnings("unchecked")
  233. Map<String, Object> retUser = (Map<String, Object>) ret.get(0);
  234. return retUser;
  235. }
  236.  
  237.  
  238. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement