r1574 - in trunk/tutti-ichtyometer/src: main/assembly main/java/fr/ifremer/tutti/ichtyometer/feed main/java/fr/ifremer/tutti/ichtyometer/interactive test/java/fr/ifremer/tutti/ichtyometer/feed
Author: tchemit Date: 2014-02-06 18:34:03 +0100 (Thu, 06 Feb 2014) New Revision: 1574 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1574 Log: refs #4384: [ICHTYOMETRE] Finaliser la capture Modified: trunk/tutti-ichtyometer/src/main/assembly/build-checksum.bat trunk/tutti-ichtyometer/src/main/assembly/feed-reader.bat trunk/tutti-ichtyometer/src/main/assembly/send-command.bat trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReader.java trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderRecord.java trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/interactive/CommandEngine.java trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderRecordTest.java Modified: trunk/tutti-ichtyometer/src/main/assembly/build-checksum.bat =================================================================== --- trunk/tutti-ichtyometer/src/main/assembly/build-checksum.bat 2014-02-04 16:41:40 UTC (rev 1573) +++ trunk/tutti-ichtyometer/src/main/assembly/build-checksum.bat 2014-02-06 17:34:03 UTC (rev 1574) @@ -1 +1 @@ -java -cp ${project.build.finalName}-tools.${project.packaging} -Dlog4j.configuration=file://%CD%/log4j.properties fr.ifremer.tutti.ichtyometer.tool.CRCBuilderTool \ No newline at end of file +java -cp ${project.build.finalName}-tools.${project.packaging} -Dlog4j.configuration=file://./log4j.properties fr.ifremer.tutti.ichtyometer.tool.CRCBuilderTool \ No newline at end of file Modified: trunk/tutti-ichtyometer/src/main/assembly/feed-reader.bat =================================================================== --- trunk/tutti-ichtyometer/src/main/assembly/feed-reader.bat 2014-02-04 16:41:40 UTC (rev 1573) +++ trunk/tutti-ichtyometer/src/main/assembly/feed-reader.bat 2014-02-06 17:34:03 UTC (rev 1574) @@ -1 +1 @@ -java -cp ${project.build.finalName}-tools.${project.packaging} -Dlog4j.configuration=file://%CD%/log4j.properties fr.ifremer.tutti.ichtyometer.tool.FeadReaderTool \ No newline at end of file +java -cp ${project.build.finalName}-tools.${project.packaging} -Dlog4j.configuration=file://./log4j.properties fr.ifremer.tutti.ichtyometer.tool.FeadReaderTool \ No newline at end of file Modified: trunk/tutti-ichtyometer/src/main/assembly/send-command.bat =================================================================== --- trunk/tutti-ichtyometer/src/main/assembly/send-command.bat 2014-02-04 16:41:40 UTC (rev 1573) +++ trunk/tutti-ichtyometer/src/main/assembly/send-command.bat 2014-02-06 17:34:03 UTC (rev 1574) @@ -1 +1 @@ -java -cp ${project.build.finalName}-tools.${project.packaging} -Dlog4j.configuration=file://%CD%/log4j.properties fr.ifremer.tutti.ichtyometer.tool.SendCommandTool \ No newline at end of file +java -cp ${project.build.finalName}-tools.${project.packaging} -Dlog4j.configuration=file://./log4j.properties fr.ifremer.tutti.ichtyometer.tool.SendCommandTool \ No newline at end of file Modified: trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReader.java =================================================================== --- trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReader.java 2014-02-04 16:41:40 UTC (rev 1573) +++ trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReader.java 2014-02-06 17:34:03 UTC (rev 1574) @@ -174,13 +174,11 @@ protected FeedReaderRecord readRecord(DataInputStream dataInputStream) throws IOException { String result = ""; - // wait until got two \r + // wait until got a @ - int nbR = 0; + boolean complete = false; - String record = null; - String crc = null; - while (nbR != 2) { + while (!complete) { if (stop) { break; @@ -191,21 +189,9 @@ } int c = dataInputStream.read(); - if (c == '\r') { + if (c == '@') { - nbR++; - if (nbR == 1) { - record = result; - if (log.isDebugEnabled()) { - log.debug("Get record: " + record); - } - result = ""; - } else if (nbR == 2) { - crc = result; - if (log.isDebugEnabled()) { - log.debug("Get crc: " + crc); - } - } + complete = true; } else { result += (char) c; @@ -217,6 +203,12 @@ if (!stop) { + int lastComma = result.lastIndexOf(','); + result = result.substring(0, lastComma); + lastComma = result.lastIndexOf(',')+1; + String record = result.substring(0, lastComma); + String crc = result.substring(lastComma); + if (log.isDebugEnabled()) { log.debug(String.format("Record: %s / %s", record, crc)); } Modified: trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderRecord.java =================================================================== --- trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderRecord.java 2014-02-04 16:41:40 UTC (rev 1573) +++ trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderRecord.java 2014-02-06 17:34:03 UTC (rev 1574) @@ -148,7 +148,8 @@ Float length; try { String[] cells = record.split("\\s*,\\s*"); - String lengthCell = cells[0]; + // first cell is the record number, second one is the length + String lengthCell = cells[1]; // remove any spaces lengthCell = lengthCell.replaceAll("\\s*", ""); Modified: trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/interactive/CommandEngine.java =================================================================== --- trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/interactive/CommandEngine.java 2014-02-04 16:41:40 UTC (rev 1573) +++ trunk/tutti-ichtyometer/src/main/java/fr/ifremer/tutti/ichtyometer/interactive/CommandEngine.java 2014-02-06 17:34:03 UTC (rev 1574) @@ -138,13 +138,10 @@ StringBuilder responseBuilder = new StringBuilder(); - int nbSlash = 0; boolean responseComplete = question == 'g'; while (!responseComplete) { - responseComplete = nbSlash == 2; - while (dataInputStream.available() > 0) { int c = dataInputStream.read(); @@ -155,10 +152,10 @@ // end of line responseBuilder.append('\n'); break; - case '\\': + case '@': // sentinel car - nbSlash++; + responseComplete = true; break; default: // add caracter to response Modified: trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderRecordTest.java =================================================================== --- trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderRecordTest.java 2014-02-04 16:41:40 UTC (rev 1573) +++ trunk/tutti-ichtyometer/src/test/java/fr/ifremer/tutti/ichtyometer/feed/FeedReaderRecordTest.java 2014-02-06 17:34:03 UTC (rev 1574) @@ -45,15 +45,10 @@ @Test public void testComputeCRC() throws Exception { - testRecord(" 00135, 000000,5,AEG,56,,10/30/77 10:35, 00,Not set,,", "AAC6340B", 135f); - testRecord(" 00158, 000000,5,AEG,56,,10/30/77 10:35, 00,Not set,,", "AAFE340B", 158f); - testRecord("00513, 000000,5,AEG,56,,10/30/77 10:35, 00,Not set,,", "AB16340B", 513f); - testRecord("00636, 000000,5,AEG,56,,10/30/77 10:35, 00,Not set,,", "AB6E340B", 636f); - testRecord("00047, 000000,5,AEG,56,,10/30/77 10:36, 00,Not set,,", "AAC7340B", 47f); - - testRecord(" 00172, 000000,2,1,14,,02/03/14 17:17, 00,Not set,,", "E2AF3177", 172f); - testRecord("00172, 000000,2,1,14,,02/03/14 17:17, 00,Not set,,", "E2AF3177", 172f); - testRecord("22, 00172, 000000,2,1,14,,02/03/14 17:17, 00,Not set,,", "E2AF3177", 22f); + testRecord("000050, 00167, 000000,3D,TED,150,DON,02/05/14 10:01, 02,Not set,,", "A4F4F841", 167f); + testRecord(" 000050, 00167, 000000,3D,TED,150,DON,02/05/14 10:01, 02,Not set,,", "A4F4F841", 167f); + testRecord("000051, 00665, 000000,3D,TED,150,DON,02/05/14 10:01, 02,Not set,,", "C974F841", 665f); + testRecord("000052, 00548, 000000,3D,TED,150,DON,02/05/14 10:01, 02,Not set,,", "E834F841", 548f); } protected void testRecord(String record, String expectedCRC, Float expectedLength) {
participants (1)
-
tchemit@users.forge.codelutin.com