private static int show2HeCheck(String stmt, int offset) { if (stmt.length() > ++offset) { switch (stmt.charAt(offset)) { case 'L': case 'l': return show2HelCheck(stmt, offset); case 'A': case 'a': return ManagerParseHeartbeat.show2HeaCheck(stmt, offset); default: return OTHER; } } return OTHER; }
static int show2HeaCheck(String stmt, int offset) { if (stmt.length() > offset + "RTBEAT".length()) { char c1 = stmt.charAt(++offset); char c2 = stmt.charAt(++offset); char c3 = stmt.charAt(++offset); char c4 = stmt.charAt(++offset); char c5 = stmt.charAt(++offset); char c6 = stmt.charAt(++offset); if ((c1 == 'R' || c1 == 'r') && (c2 == 'T' || c2 == 't') & (c3 == 'B' || c3 == 'b') && (c4 == 'E' || c4 == 'e') & (c5 == 'A' || c5 == 'a') && (c6 == 'T' || c6 == 't')) { if (stmt.length() > offset + ".DETAIL".length()) { char c7 = stmt.charAt(++offset); if (c7 == '.') { return show2HeaDetailCheck(stmt, offset); } } if (ParseUtil.isErrorTail(++offset, stmt)) { return OTHER; } return ManagerParseShow.HEARTBEAT; } } return OTHER; }
for (int i = 0; i < testlist.length; i++) { System.out.println(i); Assert.assertTrue(mapEquals(ManagerParseHeartbeat.getPair(testlist[i]), resultlist[i]));
public static void response(ManagerConnection c, String stmt) { Pair<String, String> pair = ManagerParseHeartbeat.getPair(stmt); String name = pair.getValue(); if (name.length() == 0) { c.writeErrMessage(ErrorCode.ER_YES, "Unsupported statement"); return; } ByteBuffer buffer = c.allocate(); // write header buffer = HEADER.write(buffer, c, true); // write fields for (FieldPacket field : FIELDS) { buffer = field.write(buffer, c, true); } // write eof buffer = EOF.write(buffer, c, true); // write rows byte packetId = EOF.getPacketId(); for (RowDataPacket row : getRows(name, c.getCharset().getResults())) { row.setPacketId(++packetId); buffer = row.write(buffer, c, true); } // write last eof EOFPacket lastEof = new EOFPacket(); lastEof.setPacketId(++packetId); buffer = lastEof.write(buffer, c, true); // post write c.write(buffer); }