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; }