private static boolean parseHeader(String line, Tl1AutonomousMessage message) throws IllegalArgumentException { StringTokenizer headerParser = new StringTokenizer(line); if (headerParser.countTokens() != 3) { throw new IllegalArgumentException("The line: "+line+" is not an Autonomous message header"); } message.getHeader().setRawMessage(line); message.getHeader().setSid(headerParser.nextToken()); message.setHost(message.getHeader().getSid()); message.getHeader().setDate(headerParser.nextToken()); message.getHeader().setTime(headerParser.nextToken()); try { if (message.getHeader().getDate().matches("^[0-9]{4}")) { message.getHeader().setTimestamp(SDF_4DY.get().parse(message.getHeader().getDate()+" "+message.getHeader().getTime())); } else { message.getHeader().setTimestamp(SDF_2DY.get().parse(message.getHeader().getDate()+" "+message.getHeader().getTime())); } message.setTimestamp(message.getHeader().getTimestamp()); } catch (ParseException e) { throw new IllegalArgumentException("The line: "+line+", doesn't contain date and time in the format: "+SDF_2DY.get().toLocalizedPattern() + " or " + SDF_4DY.get().toLocalizedPattern()); } return true; }
assertNotNull(alarm.getHeader()); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); assertEquals("2009-04-20", formatter.format(alarm.getHeader().getTimestamp())); formatter = new SimpleDateFormat("HH:mm:ss"); assertEquals("07:38:35", formatter.format(alarm.getHeader().getTimestamp())); assertEquals("DSALC003", alarm.getHost()); assertEquals("DSALC003", alarm.getHeader().getSid()); assertEquals(alarm.getTimestamp(), alarm.getHeader().getTimestamp());
public void testProcess() { String sampleMessage = " GPON15000 2008-07-31 18:29:49\n" + "*C 0 REPT ALM BITS\n" + " \"1-4:NTFCNCDE=CR,CONDTYPE=FAIL,SRVEFF=SA,OCRDAT=09-23,OCRTM=02-03-04,LOCN=NEND,DIRN=RCV\"\n" + ";\n" + ""; Tl1AutonomousMessage alarm = m_processor.process(sampleMessage, Tl1Message.AUTONOMOUS); assertNotNull(alarm.getRawMessage()); assertNotNull(alarm.getHeader()); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); assertEquals("2008-07-31", formatter.format(alarm.getHeader().getTimestamp())); formatter = new SimpleDateFormat("HH:mm:ss"); assertEquals("18:29:49", formatter.format(alarm.getHeader().getTimestamp())); assertEquals("GPON15000", alarm.getHost()); assertEquals("GPON15000", alarm.getHeader().getSid()); assertEquals(alarm.getTimestamp(), alarm.getHeader().getTimestamp()); assertEquals("*C 0 REPT ALM BITS", alarm.getId().getRawMessage()); assertEquals("*C", alarm.getId().getAlarmCode()); assertEquals("0", alarm.getId().getAlarmTag()); assertEquals("REPT ALM BITS", alarm.getId().getVerb()); assertEquals("\"1-4:NTFCNCDE=CR,CONDTYPE=FAIL,SRVEFF=SA,OCRDAT=09-23,OCRTM=02-03-04,LOCN=NEND,DIRN=RCV\"", alarm.getAutoBlock().getBlock()); assertEquals("CR", alarm.getAutoBlock().getNtfcncde()); }
/** * <p>Constructor for Tl1AutonomousMessage.</p> * * @param rawMessage a {@link java.lang.String} object. */ public Tl1AutonomousMessage(String rawMessage) { super.setRawMessage(rawMessage); m_autoHeader = new AutoHeader(); m_autoId = new AutoId(); m_autoBlock = new AutoBlock(); m_terminator = ";\n"; }