Advertisement
Guest User

Untitled

a guest
Apr 26th, 2018
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.61 KB | None | 0 0
  1. package components;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import java.util.regex.Matcher;
  8. import java.util.regex.Pattern;
  9.  
  10.  
  11. import sonde.Sonde;
  12.  
  13. public class CommunicationManager {
  14. private Sonde sonde;
  15.  
  16. public CommunicationManager(Sonde sonde) {
  17. this.sonde = sonde;
  18. }
  19. //ATTENTION remettre methode en non statique, réorganiser tout dans leur classe
  20. public static void main(String[] args) {
  21. //client - concentrateur
  22. msgReqAjoutService("\"SERVICE_ADD\" ddj873 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 87\r\n");
  23. msgReponseAjoutService("(\"-ERR\")[dj/heie429$+]\r\n");
  24. msgReqListeService("\"SERVICE_LIST\"\r\n");
  25. msgReponseListeService("\"SERVICE_INFO\" firjeij75 ddpt01\r\n");
  26. msgReqInfoService("\"SERVICE_RETR\" doer56\r\n");
  27. msgReponseInfoService("\"SERVICE_DATA\" jif461 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 DOWN\r\n");
  28.  
  29. System.out.println(getId("\"SERVICE_ADD\" ddj873 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 87\r\n"));
  30. System.out.println(getUrl("\"SERVICE_ADD\" ddj873 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 87\r\n"));
  31. System.out.println(getFrequency("\"SERVICE_ADD\" ddj873 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 87\r\n"));
  32. System.out.println(getProtocol2("\"SERVICE_ADD\" ddj873 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 87\r\n"));
  33. System.out.println(getUser("\"SERVICE_ADD\" ddj873 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 87\r\n"));
  34. System.out.println(getPassword("\"SERVICE_ADD\" ddj873 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 87\r\n"));
  35. System.out.println(getSite("\"SERVICE_ADD\" ddj873 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 87\r\n"));
  36. System.out.println(getPort2("\"SERVICE_ADD\" ddj873 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 87\r\n"));
  37. System.out.println(getPath("\"SERVICE_ADD\" ddj873 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 87\r\n"));
  38.  
  39. System.out.println(getState("(\"-ERR\")[dj/heie429$+]\r\n"));
  40. System.out.println(getMessage("(\"-ERR\")[dj/heie429$+]\r\n"));
  41.  
  42. //pas pour le 3ieme car juste requête à récup
  43.  
  44. System.out.println(getAllId("\"SERVICE_INFO\" firjeij75 ddpt01\r\n"));
  45.  
  46. System.out.println(getId2("\"SERVICE_RETR\" doer56\r\n"));
  47.  
  48. System.out.println(getId("\"SERVICE_DATA\" jif461 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 DOWN\r\n"));
  49. System.out.println(getUrl("\"SERVICE_DATA\" jif461 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 DOWN\r\n"));
  50. System.out.println(getState2("\"SERVICE_DATA\" jif461 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 DOWN\r\n"));
  51. System.out.println(getProtocol2("\"SERVICE_DATA\" jif461 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 DOWN\r\n"));
  52. System.out.println(getUser("\"SERVICE_DATA\" jif461 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 DOWN\r\n"));
  53. System.out.println(getPassword("\"SERVICE_DATA\" jif461 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 DOWN\r\n"));
  54. System.out.println(getSite("\"SERVICE_DATA\" jif461 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 DOWN\r\n"));
  55. System.out.println(getPort2("\"SERVICE_DATA\" jif461 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 DOWN\r\n"));
  56. System.out.println(getPath("\"SERVICE_DATA\" jif461 565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6 DOWN\r\n"));
  57.  
  58.  
  59. //concentrateur - sonde
  60. msgEnvoiConfig("\"PROBE_CONFIG\" 47808ipj8p!565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6!87 \r\n");
  61. msgReqInfoSonde("\"PROBE_LIST \"\r\n");
  62. msgReponseInfoSonde("\"PROBE_INFO\" flute45 gegtrt34 \r\n");
  63. msgReqDonneeSonde("\"PROBE_RETR\" ddj873\r\n");
  64. msgReponseDonneeSonde("\"PROBE_DATA\" dforro44 OK\r\n");
  65.  
  66. System.out.println(getAllIdConfig("\"PROBE_CONFIG\" 47808ipj8p!565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6!87 \r\n"));
  67. System.out.println(getAllUrlConfig("\"PROBE_CONFIG\" 47808ipj8p!565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6!87 \r\n"));
  68. System.out.println(getAllFrequencyConfig("\"PROBE_CONFIG\" 47808ipj8p!565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6!87 \r\n"));
  69. System.out.println(getServices("\"PROBE_CONFIG\" 47808ipj8p!565YYT://sasuke1010:naruto98@df_or-kkf.56:65535/fjgfR56.p_66/D6!87 \r\n"));
  70.  
  71.  
  72. //rien pour le 2ieme car juste requête à récup
  73.  
  74. System.out.println(getAllId2("\"PROBE_INFO\" flute45 gegtrt34 \r\n"));
  75.  
  76. System.out.println(getId3("\"PROBE_RETR\" ddj873\r\n"));
  77.  
  78. System.out.println(getId4("\"PROBE_DATA\" dforro44 OK\r\n"));
  79. System.out.println(getState3("\"PROBE_DATA\" dforro44 OK\r\n"));
  80.  
  81. //sonde - concentrateur
  82. msgAnnonceSonde("\"PROBE_ANNOUNCE\" 565YYT 65535\r\n");
  83. msgAnnonceDonnee("\"PROBE_NEWDATA\" 565YYT 65535\r\n");
  84.  
  85. System.out.println(getProtocol("\"PROBE_ANNOUNCE\" 565YYT 65535\r\n"));
  86.  
  87. System.out.println(getPort("\"PROBE_NEWDATA\" 565YYT 65535\r\n"));
  88. }
  89.  
  90.  
  91. //client - concentrateur
  92. public void messageProcessing2(String receivedMessage) {
  93. if (receivedMessage.contains("\"SERVICE_ADD\"")) {
  94. msgReqAjoutService(receivedMessage);
  95. }else if (receivedMessage.contains("(\"+OK\")") || receivedMessage.contains("(\"-ERR\")")) {
  96. msgReponseAjoutService(receivedMessage);
  97. }else if (receivedMessage.contains("\"SERVICE_LIST\"")) {
  98. msgReqListeService(receivedMessage);
  99. }else if (receivedMessage.contains("\"SERVICE_INFO\"")) {
  100. msgReponseListeService(receivedMessage);
  101. }else if(receivedMessage.contains("\"SERVICE_RETR\"")){
  102. msgReqInfoService(receivedMessage);
  103. }else if (receivedMessage.contains("\"SERVICE_DATA\"")) {
  104. msgReponseInfoService(receivedMessage);
  105. }
  106. }
  107.  
  108. private static String getId(String receivedMessage){
  109. String id = "";
  110. Pattern p = Pattern.compile("\\s(\\d|[a-zA-Z]){5,10}\\s");
  111. Matcher m = p.matcher(receivedMessage);
  112.  
  113. while(m.find()) {
  114. id = m.group().trim();
  115. }
  116. return id;
  117. }
  118.  
  119. private static String getProtocol2(String receivedMessage){
  120. Pattern p = Pattern.compile("(\\d|[a-zA-Z]){3,15}://");
  121. Matcher m = p.matcher(receivedMessage);
  122. String aString = "";
  123.  
  124. while(m.find()) {
  125. aString = m.group().trim().replace("://", "");
  126. }
  127. return aString;
  128. }
  129.  
  130. private static String getUser(String receivedMessage){
  131. Pattern p = Pattern.compile("://(\\d|[a-zA-Z]){3,50}:");
  132. Matcher m = p.matcher(receivedMessage);
  133. String aString = "";
  134.  
  135. while(m.find()) {
  136. aString = m.group().trim().replace("://", "").replace(":", "");
  137. }
  138. return aString;
  139. }
  140.  
  141. private static String getPassword(String receivedMessage){
  142. Pattern p = Pattern.compile(":\\w{3,50}@");
  143. Matcher m = p.matcher(receivedMessage);
  144. String aString = "";
  145.  
  146. while(m.find()) {
  147. aString = m.group().trim().replace(":", "").replace("@", "");
  148. }
  149. return aString;
  150. }
  151.  
  152. private static String getSite(String receivedMessage){
  153. Pattern p = Pattern.compile("@(\\w|\\.|-){3,50}:");
  154. Matcher m = p.matcher(receivedMessage);
  155. String aString = "";
  156.  
  157. while(m.find()) {
  158. aString = m.group().trim().replace(":", "").replace("@", "");;
  159. }
  160. return aString;
  161. }
  162.  
  163. private static Integer getPort2(String receivedMessage){
  164. Pattern p = Pattern.compile(":(\\d{1,4}|[1-6][0-5]{2}[0-3][0-5])/");
  165. Matcher m = p.matcher(receivedMessage);
  166. Integer aInt = 0;
  167.  
  168. while(m.find()) {
  169. aInt = Integer.parseInt(m.group().trim().replace("/", "").replace(":", ""));
  170. }
  171. return aInt;
  172. }
  173.  
  174. private static String getPath(String receivedMessage){
  175. Pattern p = Pattern.compile("/(\\w|\\.|-|/){0,100}");
  176. Matcher m = p.matcher(receivedMessage);
  177. String aString = "";
  178.  
  179. while(m.find()) {
  180. aString = m.group().trim(); //le slash du début est compris dedans!!
  181. }
  182. return aString;
  183. }
  184.  
  185. private static String getUrl(String receivedMessage){
  186. String url = "";
  187. Pattern p = Pattern.compile("\\s(\\d|[a-zA-Z]){3,15}://(\\d|[a-zA-Z]){3,50}:\\w{3,50}@(\\w|\\.|-){3,50}:(\\d{1,4}|[1-6][0-5]{2}[0-3][0-5])/(\\w|\\.|-|/){0,100}\\s");
  188. Matcher m = p.matcher(receivedMessage);
  189.  
  190. while(m.find()) {
  191. url = m.group().trim();
  192. }
  193. return url;
  194. }
  195.  
  196. private static int getFrequency(String receivedMessage){
  197. int frequency = 0;
  198. Pattern p = Pattern.compile("\\s\\d{1,8}\r\n");
  199. Matcher m = p.matcher(receivedMessage);
  200.  
  201. while(m.find()) {
  202. frequency = Integer.parseInt(m.group().trim());
  203. }
  204. return frequency;
  205. }
  206.  
  207. //"SERVICE_ADD" sp id sp url sp frequence crlf
  208. private static void msgReqAjoutService(String receivedMessage) {
  209. if(Pattern.matches("\"[a-zA-Z_]+\"\\s(\\d|[a-zA-Z]){5,10}\\s(\\d|[a-zA-Z]){3,15}://((\\d|[a-zA-Z]){3,50}:\\w{3,50}@)?(\\w|\\.|-){3,50}(:(\\d{1,4}|[1-6][0-5]{2}[0-3][0-5]))?/(\\w|\\.|-|/){0,100}\\s\\d{1,8}\r\n", receivedMessage)) {
  210. String id = getId(receivedMessage);
  211. String protocol = getProtocol2(receivedMessage);
  212. String user = getUser(receivedMessage);
  213. String password = getPassword(receivedMessage);
  214. String site = getSite(receivedMessage);
  215. int port = getPort2(receivedMessage);
  216. String path = getPath(receivedMessage);
  217. String url = getUrl(receivedMessage); //toujours besoin ??
  218. int frequency = getFrequency(receivedMessage);
  219. System.out.println("ok");
  220. }else{
  221. System.out.println("pas ok");
  222. }
  223. }
  224.  
  225. private static String getState(String receivedMessage){
  226. String state = "";
  227. Pattern p = Pattern.compile("\\(\"(\\+OK|-ERR)\"\\)");
  228. Matcher m = p.matcher(receivedMessage);
  229.  
  230. while(m.find()) {
  231. state = m.group().trim();
  232. }
  233. return state;
  234. }
  235.  
  236. private static String getMessage(String receivedMessage){
  237. String message = "";
  238. Pattern p = Pattern.compile("\\[.{1,200}\\]\r\n");
  239. Matcher m = p.matcher(receivedMessage);
  240.  
  241. while(m.find()) {
  242. message = m.group().trim().replace("[", "").replace("]","");
  243. }
  244. return message;
  245. }
  246.  
  247. //("+OK" | "-ERR") [message] crlf
  248. private static void msgReponseAjoutService(String receivedMessage) {
  249. if(Pattern.matches("\\(\"(\\+OK|-ERR)\"\\)\\[.{1,200}\\]\r\n", receivedMessage)) {
  250. String state = getState(receivedMessage);
  251. String message = getMessage(receivedMessage);
  252. }
  253. }
  254.  
  255. //"SERVICE_LIST" crlf
  256. private static void msgReqListeService(String receivedMessage) {
  257. if(Pattern.matches("\"[a-zA-Z_]+\"\r\n", receivedMessage)) {
  258. }
  259. }
  260.  
  261. private static List<String> getAllId(String receivedMessage){
  262. List<String> idList = new ArrayList<>();
  263. Pattern p = Pattern.compile("\\s(\\d|[a-zA-Z]){5,10}");
  264. Matcher m = p.matcher(receivedMessage);
  265.  
  266. while(m.find()) {
  267. idList.add(m.group().trim());
  268. }
  269. return idList;
  270. }
  271.  
  272. //"SERVICE_INFO" 0*100(sp id) crlf
  273. private static void msgReponseListeService(String receivedMessage) {
  274. if(Pattern.matches("\"[a-zA-Z_]+\"(\\s(\\d|[a-zA-Z]){5,10}){0,100}\r\n", receivedMessage)) {
  275. List<String> idList = getAllId(receivedMessage);
  276. }
  277. }
  278.  
  279. private static String getId2(String receivedMessage){
  280. String id = "";
  281. Pattern p = Pattern.compile("\\s(\\d|[a-zA-Z]){5,10}");
  282. Matcher m = p.matcher(receivedMessage);
  283.  
  284. while(m.find()) {
  285. id = m.group().trim();
  286. }
  287. return id;
  288. }
  289.  
  290. //"SERVICE_RETR" sp id crlf
  291. private static void msgReqInfoService(String receivedMessage) {
  292. if(Pattern.matches("\"[a-zA-Z_]+\"\\s(\\d|[a-zA-Z]){5,10}\r\n", receivedMessage)) {
  293. String id = getId2(receivedMessage);
  294. }
  295. }
  296.  
  297. private static String getState2(String receivedMessage){
  298. String state = "";
  299. Pattern p = Pattern.compile("\\s(OK|ALARM|DOWN)\r\n");
  300. Matcher m = p.matcher(receivedMessage);
  301.  
  302. while(m.find()) {
  303. state = m.group().trim();
  304. }
  305. return state;
  306. }
  307.  
  308. //"SERVICE_DATA" sp id sp url sp etat crlf
  309. private static void msgReponseInfoService(String receivedMessage) {
  310. if(Pattern.matches("\"[a-zA-Z_]+\"\\s(\\d|[a-zA-Z]){5,10}\\s(\\d|[a-zA-Z]){3,15}://((\\d|[a-zA-Z]){3,50}:.{3,50}@)?(\\w|\\.|-){3,50}(:(\\d{1,4}|[1-6][0-5]{2}[0-3][0-5]))?/(\\w|\\.|-|/){0,100}\\s(OK|ALARM|DOWN)\r\n", receivedMessage)) {
  311. String id = getId(receivedMessage); //pris d'en haut
  312. String protocol = getProtocol2(receivedMessage);
  313. String user = getUser(receivedMessage);
  314. String password = getPassword(receivedMessage);
  315. String site = getSite(receivedMessage);
  316. int port = getPort2(receivedMessage);
  317. String path = getPath(receivedMessage);
  318. String url = getUrl(receivedMessage); //pris d'en haut
  319. String state = getState2(receivedMessage);
  320. }
  321. }
  322.  
  323.  
  324.  
  325. //concentrateur - sonde
  326. public void messageProcessing(String receivedMessage) {
  327. if (receivedMessage.contains("\"PROBE_CONFIG\"")) {
  328. msgEnvoiConfig(receivedMessage);
  329. }else if (receivedMessage.contains("\"PROBE_LIST\"")) {
  330. msgReqInfoSonde(receivedMessage);
  331. }else if (receivedMessage.contains("\"PROBE_INFO\"")) {
  332. msgReponseInfoSonde(receivedMessage);
  333. }else if (receivedMessage.contains("\"PROBE_RETR\"")) {
  334. msgReqDonneeSonde(receivedMessage);
  335. }else if(receivedMessage.contains("\"PROBE_DATA\"")){
  336. msgReponseDonneeSonde(receivedMessage);
  337. }
  338. }
  339.  
  340. private static List<String> getAllIdConfig(String receivedMessage){
  341. List<String> idList = new ArrayList<>();
  342. Pattern p = Pattern.compile("\\s(\\d|[a-zA-Z]){5,10}!");
  343. Matcher m = p.matcher(receivedMessage);
  344.  
  345. while(m.find()) {
  346. idList.add(m.group().trim().replace("!", ""));
  347. }
  348. return idList;
  349. }
  350.  
  351. private static List<String> getAllUrlConfig(String receivedMessage){
  352. List<String> urlList = new ArrayList<>();
  353. Pattern p = Pattern.compile("!(\\d|[a-zA-Z]){3,15}://(\\d|[a-zA-Z]){3,50}:.{3,50}@(\\w|\\.|-){3,50}:(\\d{1,4}|[1-6][0-5]{2}[0-3][0-5])/(\\w|\\.|-|/){0,100}!");
  354. Matcher m = p.matcher(receivedMessage);
  355.  
  356. while(m.find()) {
  357. urlList.add(m.group().trim().replace("!", ""));
  358. }
  359. return urlList;
  360. }
  361.  
  362. private static List<Integer> getAllFrequencyConfig(String receivedMessage){
  363. List<Integer> frequencyList = new ArrayList<>();
  364. Pattern p = Pattern.compile("!\\d{1,8}\\s");
  365. Matcher m = p.matcher(receivedMessage);
  366.  
  367. while(m.find()) {
  368. frequencyList.add(Integer.parseInt(m.group().trim().replace("!", "")));
  369. }
  370. return frequencyList;
  371. }
  372.  
  373. private static Map<String, Service> getServices(String receivedMessage){
  374. Map<String, Service> mapServices = new HashMap<>();
  375. int elements = getAllIdConfig(receivedMessage).size();
  376. List<String> idList = getAllIdConfig(receivedMessage);
  377. List<String> urlList = getAllUrlConfig(receivedMessage);
  378. List<Integer> frequencyList = getAllFrequencyConfig(receivedMessage);
  379.  
  380. for (int i = 0; i < elements; i++) {
  381. mapServices.put(idList.get(i), new Service(urlList.get(i), frequencyList.get(i)));
  382. }
  383.  
  384. return mapServices;
  385. }
  386.  
  387. //"PROBE_CONFIG" sp 0*100(id "!" url "!" frequence sp) crlf
  388. private static void msgEnvoiConfig(String receivedMessage) {
  389. if(Pattern.matches("\"[a-zA-Z_]+\"\\s((\\d|[a-zA-Z]){5,10}!(\\d|[a-zA-Z]){3,15}://((\\d|[a-zA-Z]){3,50}:.{3,50}@)?(\\w|\\.|-){3,50}(:(\\d{1,4}|[1-6][0-5]{2}[0-3][0-5]))?/(\\w|\\.|-|/){0,100}!\\d{1,8}\\s){0,100}\r\n", receivedMessage)) {
  390. Map<String, Service> services = getServices(receivedMessage);
  391. }
  392. }
  393.  
  394. //"PROBE_LIST " crlf
  395. private static void msgReqInfoSonde(String receivedMessage) {
  396. if(Pattern.matches("\"[a-zA-Z_]+\"\r\n", receivedMessage)) {
  397. }
  398. }
  399.  
  400. private static List<String> getAllId2(String receivedMessage){
  401. List<String> idList = new ArrayList<>();
  402. Pattern p = Pattern.compile("(\\d|[a-zA-Z]){5,10}\\s");
  403. Matcher m = p.matcher(receivedMessage);
  404.  
  405. while(m.find()) {
  406. idList.add(m.group().trim());
  407. }
  408. return idList;
  409. }
  410.  
  411. //"PROBE_INFO" sp 0*100(id sp) crlf
  412. private static void msgReponseInfoSonde(String receivedMessage) {
  413. if(Pattern.matches("\"[a-zA-Z_]+\"\\s((\\d|[a-zA-Z]){5,10}\\s){0,100}\r\n", receivedMessage)) {
  414. List<String> idList = getAllId2(receivedMessage);
  415. }
  416. }
  417.  
  418. private static String getId3(String receivedMessage){
  419. String id = "";
  420. Pattern p = Pattern.compile("\\s(\\d|[a-zA-Z]){5,10}");
  421. Matcher m = p.matcher(receivedMessage);
  422.  
  423. while(m.find()) {
  424. id = m.group().trim();
  425. }
  426. return id;
  427. }
  428.  
  429. //"PROBE_RETR" sp id crlf
  430. private static void msgReqDonneeSonde(String receivedMessage) {
  431. if(Pattern.matches("\"[a-zA-Z_]+\"\\s(\\d|[a-zA-Z]){5,10}\r\n", receivedMessage)) {
  432. String id = getId3(receivedMessage);
  433. }
  434. }
  435.  
  436. private static String getId4(String receivedMessage){
  437. String id = "";
  438. Pattern p = Pattern.compile("\\s(\\d|[a-zA-Z]){5,10}");
  439. Matcher m = p.matcher(receivedMessage);
  440.  
  441. while(m.find()) {
  442. id = m.group().trim();
  443. }
  444. return id;
  445. }
  446.  
  447. private static String getState3(String receivedMessage){
  448. String state = "";
  449. Pattern p = Pattern.compile("\\s(OK|ALARM|DOWN)\r\n");
  450. Matcher m = p.matcher(receivedMessage);
  451.  
  452. while(m.find()) {
  453. state = m.group().trim();
  454. }
  455. return state;
  456. }
  457.  
  458. //"PROBE_DATA" sp id sp etat crlf
  459. private static void msgReponseDonneeSonde(String receivedMessage) {
  460. if(Pattern.matches("\"[a-zA-Z_]+\"\\s(\\d|[a-zA-Z]){5,10}\\s(OK|ALARM|DOWN)\r\n", receivedMessage)) {
  461. String id = getId4(receivedMessage);
  462. String state = getState3(receivedMessage);
  463. }
  464. }
  465.  
  466.  
  467.  
  468. //sonde - concentrateur
  469. public void messageProcessing3(String receivedMessage) {
  470. if (receivedMessage.contains("\"PROBE_ANNOUNCE\"")) {
  471. msgAnnonceSonde(receivedMessage);
  472. }else if (receivedMessage.contains("\"PROBE_NEWDATA\"")) {
  473. msgAnnonceDonnee(receivedMessage);
  474. }
  475. }
  476.  
  477. private static String getProtocol(String receivedMessage){
  478. Pattern p = Pattern.compile("\\s(\\d|[a-zA-Z]){3,15}\\s");
  479. Matcher m = p.matcher(receivedMessage);
  480. String aString = "";
  481.  
  482. while(m.find()) {
  483. aString = m.group().trim();
  484. }
  485. return aString;
  486. }
  487.  
  488. private static Integer getPort(String receivedMessage){
  489. Pattern p = Pattern.compile("\\s(\\d{1,4}|[1-6][0-5]{2}[0-3][0-5])\r\n");
  490. Matcher m = p.matcher(receivedMessage);
  491. Integer aInt = 0;
  492.  
  493. while(m.find()) {
  494. aInt = Integer.parseInt(m.group().trim());
  495. }
  496. return aInt;
  497. }
  498.  
  499. //"PROBE_ANNOUNCE" sp protocole sp port crlf
  500. private static void msgAnnonceSonde(String receivedMessage) {
  501. if(Pattern.matches("\"[a-zA-Z_]+\"\\s(\\d|[a-zA-Z]){3,15}\\s(\\d{1,4}|[1-6][0-5]{2}[0-3][0-5])\r\n", receivedMessage)) {
  502. String protocol = getProtocol(receivedMessage);
  503. Integer port = getPort(receivedMessage);
  504. }
  505. }
  506.  
  507. //"PROBE_NEWDATA" sp protocole sp port crlf
  508. private static void msgAnnonceDonnee(String receivedMessage) {
  509. if(Pattern.matches("\"[a-zA-Z_]+\"\\s(\\d|[a-zA-Z]){3,15}\\s(\\d{1,4}|[1-6][0-5]{2}[0-3][0-5])\r\n", receivedMessage)) {
  510. String protocol = getProtocol(receivedMessage); //pris au dessus
  511. Integer port = getPort(receivedMessage); //pris au dessus
  512. }
  513. }
  514. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement