http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/ise/TokenMgrError.java
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/ise/TokenMgrError.java
 
b/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/ise/TokenMgrError.java
deleted file mode 100644
index 2ccc23a..0000000
--- 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/ise/TokenMgrError.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 5.0 
*/
-/* JavaCCOptions: */
-package org.apache.metron.parsers.ise;
-
-/** Token Manager Error. */
-class TokenMgrError extends Error
-{
-
-  /**
-   * The version identifier for this Serializable class.
-   * Increment only if the <i>serialized</i> form of the
-   * class changes.
-   */
-  private static final long serialVersionUID = 1L;
-
-  /*
-   * Ordinals for various reasons why an Error of this type can be thrown.
-   */
-
-  /**
-   * Lexical error occurred.
-   */
-  static final int LEXICAL_ERROR = 0;
-
-  /**
-   * An attempt was made to create a second instance of a static token manager.
-   */
-  static final int STATIC_LEXER_ERROR = 1;
-
-  /**
-   * Tried to change to an invalid lexical state.
-   */
-  static final int INVALID_LEXICAL_STATE = 2;
-
-  /**
-   * Detected (and bailed out of) an infinite loop in the token manager.
-   */
-  static final int LOOP_DETECTED = 3;
-
-  /**
-   * Indicates the reason why the exception is thrown. It will have
-   * one of the above 4 values.
-   */
-  int errorCode;
-
-  /**
-   * Replaces unprintable characters by their escaped (or unicode escaped)
-   * equivalents in the given string
-   */
-  protected static final String addEscapes(String str) {
-    StringBuffer retval = new StringBuffer();
-    char ch;
-    for (int i = 0; i < str.length(); i++) {
-      switch (str.charAt(i))
-      {
-        case 0 :
-          continue;
-        case '\b':
-          retval.append("\\b");
-          continue;
-        case '\t':
-          retval.append("\\t");
-          continue;
-        case '\n':
-          retval.append("\\n");
-          continue;
-        case '\f':
-          retval.append("\\f");
-          continue;
-        case '\r':
-          retval.append("\\r");
-          continue;
-        case '\"':
-          retval.append("\\\"");
-          continue;
-        case '\'':
-          retval.append("\\\'");
-          continue;
-        case '\\':
-          retval.append("\\\\");
-          continue;
-        default:
-          if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
-            String s = "0000" + Integer.toString(ch, 16);
-            retval.append("\\u" + s.substring(s.length() - 4, s.length()));
-          } else {
-            retval.append(ch);
-          }
-          continue;
-      }
-    }
-    return retval.toString();
-  }
-
-  /**
-   * Returns a detailed message for the Error when it is thrown by the
-   * token manager to indicate a lexical error.
-   * Parameters :
-   *    EOFSeen     : indicates if EOF caused the lexical error
-   *    curLexState : lexical state in which this error occurred
-   *    errorLine   : line number when the error occurred
-   *    errorColumn : column number when the error occurred
-   *    errorAfter  : prefix that was seen before this error occurred
-   *    curchar     : the offending character
-   * Note: You can customize the lexical error message by modifying this 
method.
-   */
-  protected static String LexicalError(boolean EOFSeen, int lexState, int 
errorLine, int errorColumn, String errorAfter, char curChar) {
-    return("Lexical error at line " +
-          errorLine + ", column " +
-          errorColumn + ".  Encountered: " +
-          (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + 
"\"") + " (" + (int)curChar + "), ") +
-          "after : \"" + addEscapes(errorAfter) + "\"");
-  }
-
-  /**
-   * You can also modify the body of this method to customize your error 
messages.
-   * For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not
-   * of end-users concern, so you can return something like :
-   *
-   *     "Internal Error : Please file a bug report .... "
-   *
-   * from this method for such cases in the release version of your parser.
-   */
-  public String getMessage() {
-    return super.getMessage();
-  }
-
-  /*
-   * Constructors of various flavors follow.
-   */
-
-  /** No arg constructor. */
-  public TokenMgrError() {
-  }
-
-  /** Constructor with message and reason. */
-  public TokenMgrError(String message, int reason) {
-    super(message);
-    errorCode = reason;
-  }
-
-  /** Full Constructor. */
-  public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int 
errorColumn, String errorAfter, char curChar, int reason) {
-    this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, 
curChar), reason);
-  }
-}
-/* JavaCC - OriginalChecksum=5fbf6813c9d6a1d713f1d4a002af1322 (do not edit 
this line) */

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/lancope/BasicLancopeParser.java
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/lancope/BasicLancopeParser.java
 
b/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/lancope/BasicLancopeParser.java
deleted file mode 100644
index b12e98f..0000000
--- 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/lancope/BasicLancopeParser.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.metron.parsers.lancope;
-
-import java.lang.invoke.MethodHandles;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import org.apache.metron.parsers.BasicParser;
-import org.json.simple.JSONObject;
-import org.json.simple.JSONValue;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("serial")
-public class BasicLancopeParser extends BasicParser {
-       // Sample Lancope Message
-       // {"message":"<131>Jul 17 15:59:01 smc-01 StealthWatch[12365]: 
2014-07-17T15:58:30Z 10.40.10.254 0.0.0.0 Minor High Concern Index The host's 
concern index has either exceeded the CI threshold or rapidly increased. 
Observed 36.55M points. Policy maximum allows up to 20M 
points.","@version":"1","@timestamp":"2014-07-17T15:56:05.992Z","type":"syslog","host":"10.122.196.201"}
-
-       private static final Logger _LOG = 
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
-
-       @Override
-       public void configure(Map<String, Object> parserConfig) {
-
-       }
-
-       @Override
-       public void init() {
-
-       }
-
-       //@SuppressWarnings("unchecked")
-       @Override
-       public List<JSONObject> parse(byte[] msg) {
-
-               JSONObject payload = null;
-               List<JSONObject> messages = new ArrayList<>();
-               try {
-                       
-                       String raw_message = new String(msg, "UTF-8");
-                       
-                       payload = (JSONObject) JSONValue.parse(raw_message);
-                       
-                       
-
-                       String message = payload.get("message").toString();
-                       String[] parts = message.split(" ");
-                       payload.put("ip_src_addr", parts[6]);
-                       payload.put("ip_dst_addr", parts[7]);
-
-                       String fixed_date = parts[5].replace('T', ' ');
-                       fixed_date = fixed_date.replace('Z', ' ').trim();
-
-                       SimpleDateFormat formatter = new SimpleDateFormat(
-                                       "yyyy-MM-dd HH:mm:ss");
-
-                       Date date;
-
-                       date = formatter.parse(fixed_date);
-                       long timestamp = date.getTime();
-                       payload.put("timestamp", timestamp);
-
-                       payload.remove("@timestamp");
-                       payload.remove("message");
-                       payload.put("original_string", message);
-
-                       messages.add(payload);
-                       return messages;
-               } catch (Exception e) {
-
-                       _LOG.error("Unable to parse message: {}", 
payload.toJSONString());
-                       return null;
-               }
-       }
-
-       
-}

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/logstash/BasicLogstashParser.java
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/logstash/BasicLogstashParser.java
 
b/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/logstash/BasicLogstashParser.java
deleted file mode 100644
index 2f5310c..0000000
--- 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/logstash/BasicLogstashParser.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.metron.parsers.logstash;
-
-import org.apache.metron.parsers.BasicParser;
-import org.json.simple.JSONObject;
-import org.json.simple.parser.JSONParser;
-
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-public class BasicLogstashParser extends BasicParser {
-
-       @Override
-       public void configure(Map<String, Object> parserConfig) {
-
-       }
-
-       @Override
-       public void init() {
-
-       }
-
-       @Override
-       public List<JSONObject> parse(byte[] raw_message) {
-               List<JSONObject> messages = new ArrayList<>();
-               try {
-                       
-                       /*
-                        * We need to create a new JSONParser each time because 
its 
-                        * not serializable and the parser is created on the 
storm nimbus
-                        * node, then transfered to the workers.
-                        */
-                       JSONParser jsonParser = new JSONParser();
-                       String rawString = new String(raw_message, "UTF-8");
-                       JSONObject rawJson = (JSONObject) 
jsonParser.parse(rawString);
-                       
-                       // remove logstash meta fields
-                       rawJson.remove("@version");
-                       rawJson.remove("type");
-                       rawJson.remove("host");
-                       rawJson.remove("tags");
-                       
-                       // rename other keys
-                       rawJson = mutate(rawJson, "message", "original_string");
-                       rawJson = mutate(rawJson, "src_ip", "ip_src_addr");
-                       rawJson = mutate(rawJson, "dst_ip", "ip_dst_addr");
-                       rawJson = mutate(rawJson, "src_port", "ip_src_port");
-                       rawJson = mutate(rawJson, "dst_port", "ip_dst_port");
-                       rawJson = mutate(rawJson, "src_ip", "ip_src_addr");
-                       
-                       // convert timestamp to milli since epoch
-                       long timestamp = LogstashToEpoch((String) 
rawJson.remove("@timestamp"));
-                       rawJson.put("timestamp", timestamp);
-                       messages.add(rawJson);
-                       return messages;
-               } catch (Exception e) {
-                       e.printStackTrace();
-                       return null;
-               }       
-       }
-       
-       private JSONObject mutate(JSONObject json, String oldKey, String 
newKey) {
-               if (json.containsKey(oldKey)) {
-                       json.put(newKey, json.remove(oldKey));
-               }       
-               return json;
-       }
-       
-       private long LogstashToEpoch(String timestamp) throws 
java.text.ParseException {
-               SimpleDateFormat logstashDateFormat = new 
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
-               return logstashDateFormat.parse(timestamp).getTime();
-               
-       }
-
-       
-
-}

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/paloalto/BasicPaloAltoFirewallParser.java
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/paloalto/BasicPaloAltoFirewallParser.java
 
b/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/paloalto/BasicPaloAltoFirewallParser.java
deleted file mode 100644
index 46155b3..0000000
--- 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/paloalto/BasicPaloAltoFirewallParser.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.metron.parsers.paloalto;
-
-
-import org.apache.metron.parsers.BasicParser;
-import org.json.simple.JSONObject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-public class BasicPaloAltoFirewallParser extends BasicParser {
-
-  private static final Logger _LOG = LoggerFactory.getLogger
-          (BasicPaloAltoFirewallParser.class);
-
-  private static final long serialVersionUID = 3147090149725343999L;
-  public static final String PaloAltoDomain = "palo_alto_domain";
-  public static final String ReceiveTime = "receive_time";
-  public static final String SerialNum = "serial_num";
-  public static final String Type = "type";
-  public static final String ThreatContentType = "threat_content_type";
-  public static final String ConfigVersion = "config_version";
-  public static final String GenerateTime = "generate_time";
-  public static final String SourceAddress = "source_address";
-  public static final String DestinationAddress = "destination_address";
-  public static final String NATSourceIP = "nat_source_ip";
-  public static final String NATDestinationIP = "nat_destination_ip";
-  public static final String Rule = "rule";
-  public static final String SourceUser = "source_user";
-  public static final String DestinationUser = "destination_user";
-  public static final String Application = "application";
-  public static final String VirtualSystem = "virtual_system";
-  public static final String SourceZone = "source_zone";
-  public static final String DestinationZone = "destination_zone";
-  public static final String InboundInterface = "inbound_interface";
-  public static final String OutboundInterface = "outbound_interface";
-  public static final String LogAction = "log_action";
-  public static final String TimeLogged = "time_logged";
-  public static final String SessionID = "session_id";
-  public static final String RepeatCount = "repeat_count";
-  public static final String SourcePort = "source_port";
-  public static final String DestinationPort = "destination_port";
-  public static final String NATSourcePort = "nats_source_port";
-  public static final String NATDestinationPort = "nats_destination_port";
-  public static final String Flags = "flags";
-  public static final String IPProtocol = "ip_protocol";
-  public static final String Action = "action";
-
-  //Threat
-  public static final String URL = "url";
-  public static final String HOST = "host";
-  public static final String ThreatContentName = "threat_content_name";
-  public static final String Category = "category";
-  public static final String Direction = "direction";
-  public static final String Seqno = "seqno";
-  public static final String ActionFlags = "action_flags";
-  public static final String SourceCountry = "source_country";
-  public static final String DestinationCountry = "destination_country";
-  public static final String Cpadding = "cpadding";
-  public static final String ContentType = "content_type";
-
-  //Traffic
-  public static final String Bytes = "content_type";
-  public static final String BytesSent = "content_type";
-  public static final String BytesReceived = "content_type";
-  public static final String Packets = "content_type";
-  public static final String StartTime = "content_type";
-  public static final String ElapsedTimeInSec = "content_type";
-  public static final String Padding = "content_type";
-  public static final String PktsSent = "pkts_sent";
-  public static final String PktsReceived = "pkts_received";
-
-  @Override
-  public void configure(Map<String, Object> parserConfig) {
-
-  }
-
-  @Override
-  public void init() {
-
-  }
-
-  @Override
-  @SuppressWarnings({"unchecked", "unused"})
-  public List<JSONObject> parse(byte[] msg) {
-
-    JSONObject outputMessage = new JSONObject();
-    String toParse = "";
-    List<JSONObject> messages = new ArrayList<>();
-    try {
-
-      toParse = new String(msg, "UTF-8");
-      _LOG.debug("Received message: {}", toParse);
-
-
-      parseMessage(toParse, outputMessage);
-      long timestamp = System.currentTimeMillis();
-      outputMessage.put("timestamp", System.currentTimeMillis());
-      outputMessage.put("ip_src_addr", outputMessage.remove("source_address"));
-      outputMessage.put("ip_src_port", outputMessage.remove("source_port"));
-      outputMessage.put("ip_dst_addr", 
outputMessage.remove("destination_address"));
-      outputMessage.put("ip_dst_port", 
outputMessage.remove("destination_port"));
-      outputMessage.put("protocol", outputMessage.remove("ip_protocol"));
-
-      outputMessage.put("original_string", toParse);
-      messages.add(outputMessage);
-      return messages;
-    } catch (Exception e) {
-      e.printStackTrace();
-      _LOG.error("Failed to parse: {}", toParse);
-      return null;
-    }
-  }
-
-  @SuppressWarnings("unchecked")
-  private void parseMessage(String message, JSONObject outputMessage) {
-
-    String[] tokens = message.split(",");
-
-    String type = tokens[3].trim();
-
-    //populate common objects
-    outputMessage.put(PaloAltoDomain, tokens[0].trim());
-    outputMessage.put(ReceiveTime, tokens[1].trim());
-    outputMessage.put(SerialNum, tokens[2].trim());
-    outputMessage.put(Type, type);
-    outputMessage.put(ThreatContentType, tokens[4].trim());
-    outputMessage.put(ConfigVersion, tokens[5].trim());
-    outputMessage.put(GenerateTime, tokens[6].trim());
-    outputMessage.put(SourceAddress, tokens[7].trim());
-    outputMessage.put(DestinationAddress, tokens[8].trim());
-    outputMessage.put(NATSourceIP, tokens[9].trim());
-    outputMessage.put(NATDestinationIP, tokens[10].trim());
-    outputMessage.put(Rule, tokens[11].trim());
-    outputMessage.put(SourceUser, tokens[12].trim());
-    outputMessage.put(DestinationUser, tokens[13].trim());
-    outputMessage.put(Application, tokens[14].trim());
-    outputMessage.put(VirtualSystem, tokens[15].trim());
-    outputMessage.put(SourceZone, tokens[16].trim());
-    outputMessage.put(DestinationZone, tokens[17].trim());
-    outputMessage.put(InboundInterface, tokens[18].trim());
-    outputMessage.put(OutboundInterface, tokens[19].trim());
-    outputMessage.put(LogAction, tokens[20].trim());
-    outputMessage.put(TimeLogged, tokens[21].trim());
-    outputMessage.put(SessionID, tokens[22].trim());
-    outputMessage.put(RepeatCount, tokens[23].trim());
-    outputMessage.put(SourcePort, tokens[24].trim());
-    outputMessage.put(DestinationPort, tokens[25].trim());
-    outputMessage.put(NATSourcePort, tokens[26].trim());
-    outputMessage.put(NATDestinationPort, tokens[27].trim());
-    outputMessage.put(Flags, tokens[28].trim());
-    outputMessage.put(IPProtocol, tokens[29].trim());
-    outputMessage.put(Action, tokens[30].trim());
-
-
-    if ("THREAT".equals(type.toUpperCase())) {
-      outputMessage.put(URL, tokens[31].trim());
-      try {
-        URL url = new URL(tokens[31].trim());
-        outputMessage.put(HOST, url.getHost());
-      } catch (MalformedURLException e) {
-      }
-      outputMessage.put(ThreatContentName, tokens[32].trim());
-      outputMessage.put(Category, tokens[33].trim());
-      outputMessage.put(Direction, tokens[34].trim());
-      outputMessage.put(Seqno, tokens[35].trim());
-      outputMessage.put(ActionFlags, tokens[36].trim());
-      outputMessage.put(SourceCountry, tokens[37].trim());
-      outputMessage.put(DestinationCountry, tokens[38].trim());
-      outputMessage.put(Cpadding, tokens[39].trim());
-      outputMessage.put(ContentType, tokens[40].trim());
-
-    } else {
-      outputMessage.put(Bytes, tokens[31].trim());
-      outputMessage.put(BytesSent, tokens[32].trim());
-      outputMessage.put(BytesReceived, tokens[33].trim());
-      outputMessage.put(Packets, tokens[34].trim());
-      outputMessage.put(StartTime, tokens[35].trim());
-      outputMessage.put(ElapsedTimeInSec, tokens[36].trim());
-      outputMessage.put(Category, tokens[37].trim());
-      outputMessage.put(Padding, tokens[38].trim());
-      outputMessage.put(Seqno, tokens[39].trim());
-      outputMessage.put(ActionFlags, tokens[40].trim());
-      outputMessage.put(SourceCountry, tokens[41].trim());
-      outputMessage.put(DestinationCountry, tokens[42].trim());
-      outputMessage.put(Cpadding, tokens[43].trim());
-      outputMessage.put(PktsSent, tokens[44].trim());
-      outputMessage.put(PktsReceived, tokens[45].trim());
-    }
-
-  }
-
-
-}

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/snort/BasicSnortParser.java
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/snort/BasicSnortParser.java
 
b/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/snort/BasicSnortParser.java
deleted file mode 100644
index 4dfe19a..0000000
--- 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/snort/BasicSnortParser.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.metron.parsers.snort;
-
-import com.google.common.collect.Lists;
-import java.lang.invoke.MethodHandles;
-import java.text.ParseException;
-import java.time.ZoneId;
-import java.time.ZonedDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.metron.common.Constants;
-import org.apache.metron.common.csv.CSVConverter;
-import org.apache.metron.parsers.BasicParser;
-import org.json.simple.JSONObject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings("serial")
-public class BasicSnortParser extends BasicParser {
-
-  private static final Logger _LOG = 
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
-
-  /**
-   * The default field names for Snort Alerts.
-   */
-  private String[] fieldNames = new String[] {
-          Constants.Fields.TIMESTAMP.getName(),
-          "sig_generator",
-          "sig_id",
-          "sig_rev",
-          "msg",
-          Constants.Fields.PROTOCOL.getName(),
-          Constants.Fields.SRC_ADDR.getName(),
-          Constants.Fields.SRC_PORT.getName(),
-          Constants.Fields.DST_ADDR.getName(),
-          Constants.Fields.DST_PORT.getName(),
-          "ethsrc",
-          "ethdst",
-          "ethlen",
-          "tcpflags",
-          "tcpseq",
-          "tcpack",
-          "tcplen",
-          "tcpwindow",
-          "ttl",
-          "tos",
-          "id",
-          "dgmlen",
-          "iplen",
-          "icmptype",
-          "icmpcode",
-          "icmpid",
-          "icmpseq"
-  };
-
-
-  /**
-   * Snort alerts are received as CSV records
-   */
-  private String recordDelimiter = ",";
-
-  private transient CSVConverter converter;
-
-  private static String defaultDateFormat = "MM/dd/yy-HH:mm:ss.SSSSSS";
-  private transient DateTimeFormatter dateTimeFormatter;
-
-  public BasicSnortParser() {
-
-  }
-
-  @Override
-  public void configure(Map<String, Object> parserConfig) {
-    dateTimeFormatter = getDateFormatter(parserConfig);
-    dateTimeFormatter = getDateFormatterWithZone(dateTimeFormatter, 
parserConfig);
-    init();
-  }
-
-  private DateTimeFormatter getDateFormatter(Map<String, Object> parserConfig) 
{
-    String format = (String) parserConfig.get("dateFormat");
-    if (StringUtils.isNotEmpty(format)) {
-      _LOG.info("Using date format '{}'", format);
-      return DateTimeFormatter.ofPattern(format);
-    } else {
-      _LOG.info("Using default date format '{}'", defaultDateFormat);
-      return DateTimeFormatter.ofPattern(defaultDateFormat);
-    }
-  }
-
-  private DateTimeFormatter getDateFormatterWithZone(DateTimeFormatter 
formatter, Map<String, Object> parserConfig) {
-    String timezone = (String) parserConfig.get("timeZone");
-    if (StringUtils.isNotEmpty(timezone)) {
-      if(ZoneId.getAvailableZoneIds().contains(timezone)) {
-        _LOG.info("Using timezone '{}'", timezone);
-        return formatter.withZone(ZoneId.of(timezone));
-      } else {
-        throw new IllegalArgumentException("Unable to find ZoneId '" + 
timezone + "'");
-      }
-    } else {
-      _LOG.info("Using default timezone '{}'", ZoneId.systemDefault());
-      return formatter.withZone(ZoneId.systemDefault());
-    }
-  }
-
-  @Override
-  public void init() {
-    if(converter == null) {
-      converter = new CSVConverter();
-      Map<String, Object> config = new HashMap<>();
-      config.put(CSVConverter.SEPARATOR_KEY, recordDelimiter);
-      config.put(CSVConverter.COLUMNS_KEY, Lists.newArrayList(fieldNames));
-      converter.initialize(config);
-    }
-  }
-
-  @Override
-  public List<JSONObject> parse(byte[] rawMessage) {
-
-    JSONObject jsonMessage = new JSONObject();
-    List<JSONObject> messages = new ArrayList<>();
-    try {
-      // snort alerts expected as csv records
-      String csvMessage = new String(rawMessage, "UTF-8");
-      Map<String, String> records = null;
-      try {
-         records = converter.toMap(csvMessage);
-      }
-      catch(ArrayIndexOutOfBoundsException aioob) {
-        throw new IllegalArgumentException("Unexpected number of fields, 
expected: " + fieldNames.length + " in " + csvMessage);
-      }
-
-      // validate the number of fields
-      if (records.size() != fieldNames.length) {
-        throw new IllegalArgumentException("Unexpected number of fields, 
expected: " + fieldNames.length + " got: " + records.size());
-      }
-      long timestamp = 0L;
-      // build the json record from each field
-      for (Map.Entry<String, String> kv : records.entrySet()) {
-
-        String field = kv.getKey();
-        String record = kv.getValue();
-
-        if("timestamp".equals(field)) {
-
-          // convert the timestamp to epoch
-          timestamp = toEpoch(record);
-          jsonMessage.put("timestamp", timestamp);
-
-        } else {
-          jsonMessage.put(field, record);
-        }
-      }
-
-      // add original msg; required by 'checkForSchemaCorrectness'
-      jsonMessage.put("original_string", csvMessage);
-      jsonMessage.put("is_alert", "true");
-      messages.add(jsonMessage);
-    } catch (Exception e) {
-      String message = "Unable to parse message: " + (rawMessage == 
null?"null" : new String(rawMessage));
-      _LOG.error(message, e);
-      throw new IllegalStateException(message, e);
-    }
-
-    return messages;
-  }
-
-  /**
-   * Parses Snort's default date-time representation and
-   * converts to epoch.
-   * @param snortDatetime Snort's default date-time as String 
'01/27-16:01:04.877970'
-   * @return epoch time
-   * @throws java.text.ParseException
-   */
-  private long toEpoch(String snortDatetime) throws ParseException {
-    ZonedDateTime zonedDateTime = ZonedDateTime.parse(snortDatetime.trim(), 
dateTimeFormatter);
-    return zonedDateTime.toInstant().toEpochMilli();
-  }
-
-  public String getRecordDelimiter() {
-    return this.recordDelimiter;
-  }
-
-  public void setRecordDelimiter(String recordDelimiter) {
-    this.recordDelimiter = recordDelimiter;
-  }
-
-  public String[] getFieldNames() {
-    return this.fieldNames;
-  }
-
-  public void setFieldNames(String[] fieldNames) {
-    this.fieldNames = fieldNames;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/sourcefire/BasicSourcefireParser.java
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/sourcefire/BasicSourcefireParser.java
 
b/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/sourcefire/BasicSourcefireParser.java
deleted file mode 100644
index 91faca2..0000000
--- 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/sourcefire/BasicSourcefireParser.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.metron.parsers.sourcefire;
-
-import org.apache.metron.parsers.BasicParser;
-import org.json.simple.JSONObject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-@SuppressWarnings("serial")
-public class BasicSourcefireParser extends BasicParser {
-
-       private static final Logger _LOG = LoggerFactory
-                                       .getLogger(BasicSourcefireParser.class);
-
-       public static final String hostkey = "host";
-       String domain_name_regex = 
"([^\\.]+)\\.([a-z]{2}|[a-z]{3}|([a-z]{2}\\.[a-z]{2}))$";
-       String sidRegex = "(.*)(\\[[0-9]+:[0-9]+:[0-9]\\])(.*)$";
-       //String sidRegex = "(\\[[0-9]+:[0-9]+:[0-9]\\])(.*)$";
-       Pattern sidPattern = Pattern.compile(sidRegex); 
-       Pattern pattern = Pattern.compile(domain_name_regex);
-
-       @Override
-       public void configure(Map<String, Object> parserConfig) {
-
-       }
-
-       @Override
-       public void init() {
-
-       }
-
-       @Override
-       @SuppressWarnings({ "unchecked", "unused" })
-       public List<JSONObject> parse(byte[] msg) {
-
-               JSONObject payload = new JSONObject();
-               String toParse = "";
-               List<JSONObject> messages = new ArrayList<>();
-               try {
-
-                       toParse = new String(msg, "UTF-8");
-                       _LOG.debug("Received message: {}", toParse);
-
-                       String tmp = 
toParse.substring(toParse.lastIndexOf("{"));
-                       payload.put("key", tmp);
-
-                       String protocol = tmp.substring(tmp.indexOf("{") + 1,
-                                       tmp.indexOf("}")).toLowerCase();
-                       String source = tmp.substring(tmp.indexOf("}") + 1,
-                                       tmp.indexOf("->")).trim();
-                       String dest = tmp.substring(tmp.indexOf("->") + 2, 
tmp.length())
-                                       .trim();
-
-                       payload.put("protocol", protocol);
-
-                       String source_ip = "";
-                       String dest_ip = "";
-
-                       if (source.contains(":")) {
-                               String parts[] = source.split(":");
-                               payload.put("ip_src_addr", parts[0]);
-                               payload.put("ip_src_port", parts[1]);
-                               source_ip = parts[0];
-                       } else {
-                               payload.put("ip_src_addr", source);
-                               source_ip = source;
-
-                       }
-
-                       if (dest.contains(":")) {
-                               String parts[] = dest.split(":");
-                               payload.put("ip_dst_addr", parts[0]);
-                               payload.put("ip_dst_port", parts[1]);
-                               dest_ip = parts[0];
-                       } else {
-                               payload.put("ip_dst_addr", dest);
-                               dest_ip = dest;
-                       }
-                       long timestamp = System.currentTimeMillis();
-                       payload.put("timestamp", timestamp);
-                       
-                       Matcher sidMatcher = sidPattern.matcher(toParse);
-                       String originalString = null;
-                       String signatureId = "";
-                       if (sidMatcher.find()) {
-                               signatureId = sidMatcher.group(2);
-                               originalString = sidMatcher.group(1) +" "+ 
sidMatcher.group(2) + " " + sidMatcher.group(3);
-                       } else {
-                               _LOG.warn("Unable to find SID in message: {}", 
toParse);
-                               originalString = toParse;
-                       }
-                       payload.put("original_string", originalString);
-                       payload.put("signature_id", signatureId);
-                       messages.add(payload);
-                       return messages;
-               } catch (Exception e) {
-                       e.printStackTrace();
-                       _LOG.error("Failed to parse: {}", toParse);
-                       return null;
-               }
-       }
-
-       
-
-
-}

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/topology/ParserTopologyBuilder.java
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/topology/ParserTopologyBuilder.java
 
b/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/topology/ParserTopologyBuilder.java
index feac80b..53d3d99 100644
--- 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/topology/ParserTopologyBuilder.java
+++ 
b/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/topology/ParserTopologyBuilder.java
@@ -36,7 +36,6 @@ import org.apache.metron.common.utils.ReflectionUtils;
 import org.apache.metron.parsers.bolt.ParserBolt;
 import org.apache.metron.parsers.bolt.WriterBolt;
 import org.apache.metron.parsers.bolt.WriterHandler;
-import org.apache.metron.parsers.interfaces.MessageParser;
 import org.apache.metron.writer.AbstractWriter;
 import org.apache.metron.writer.kafka.KafkaWriter;
 import org.json.simple.JSONObject;
@@ -78,6 +77,8 @@ public class ParserTopologyBuilder {
                                       Optional<String> outputTopic
   ) throws Exception {
 
+
+
     // fetch configuration from zookeeper
     ParserConfigurations configs = new ParserConfigurations();
     SensorParserConfig parserConfig = getSensorParserConfig(zookeeperUrl, 
sensorType, configs);
@@ -181,11 +182,6 @@ public class ParserTopologyBuilder {
                                             , Optional<String> outputTopic
                                             )
   {
-
-    // create message parser
-    MessageParser<JSONObject> parser = 
ReflectionUtils.createInstance(parserConfig.getParserClassName());
-    parser.configure(parserConfig.getParserConfig());
-
     // create writer - if not configured uses a sensible default
     AbstractWriter writer = parserConfig.getWriterClassName() == null ?
             createKafkaWriter( brokerUrl
@@ -198,7 +194,7 @@ public class ParserTopologyBuilder {
     // create a writer handler
     WriterHandler writerHandler = createWriterHandler(writer);
 
-    return new ParserBolt(zookeeperUrl, sensorType, parser, writerHandler);
+    return new ParserBolt(zookeeperUrl, sensorType, writerHandler);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/websphere/GrokWebSphereParser.java
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/websphere/GrokWebSphereParser.java
 
b/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/websphere/GrokWebSphereParser.java
deleted file mode 100644
index 178719b..0000000
--- 
a/metron-platform/metron-parsers/src/main/java/org/apache/metron/parsers/websphere/GrokWebSphereParser.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.metron.parsers.websphere;
-
-import org.apache.metron.parsers.GrokParser;
-import org.json.simple.JSONObject;
-
-import java.text.ParseException;
-import java.util.Calendar;
-import java.util.Iterator;
-
-public class GrokWebSphereParser extends GrokParser {
-
-       private static final long serialVersionUID = 4860439408055777358L;
-
-       @Override
-       protected long formatTimestamp(Object value) {
-               long epochTimestamp = System.currentTimeMillis();
-               if (value != null) {
-                       try {
-                               epochTimestamp = 
toEpoch(Calendar.getInstance().get(Calendar.YEAR)  + " " + value);
-                       } catch (ParseException e) {
-                               //default to current time
-                       }
-               }
-               return epochTimestamp;
-       }
-
-       @Override
-       protected void postParse(JSONObject message) {
-               removeEmptyFields(message);
-               message.remove("timestamp_string");
-               if (message.containsKey("message")) {
-                       String messageValue = (String) message.get("message");
-                       if (messageValue.contains("logged into")) {
-                               parseLoginMessage(message);
-                       }
-                       else if (messageValue.contains("logged out")) {
-                               parseLogoutMessage(message);
-                       }
-                       else if (messageValue.contains("rbm(")) {
-                               parseRBMMessage(message);
-                       }
-                       else {
-                               parseOtherMessage(message);
-                       }
-               }
-       }
-
-       @SuppressWarnings("unchecked")
-       private void removeEmptyFields(JSONObject json) {
-               Iterator<Object> keyIter = json.keySet().iterator();
-               while (keyIter.hasNext()) {
-                       Object key = keyIter.next();
-                       Object value = json.get(key);
-                       if (null == value || "".equals(value.toString())) {
-                               keyIter.remove();
-                       }
-               }
-       }
-
-       //Extracts the appropriate fields from login messages
-       @SuppressWarnings("unchecked")
-       private void parseLoginMessage(JSONObject json) {
-               json.put("event_subtype", "login");
-               String message = (String) json.get("message");
-               if (message.contains(":")){
-                       String parts[] = message.split(":");
-                       String user = parts[0];
-                       String ip_src_addr = parts[1];
-                       if (user.contains("user(") && user.contains(")")) {     
-                               user = user.substring(user.indexOf("user(") + 
"user(".length());
-                               user = user.substring(0, user.indexOf(")"));
-                               json.put("username", user);
-                       }
-                       if (ip_src_addr.contains("[") && 
ip_src_addr.contains("]")) {
-                               ip_src_addr = 
ip_src_addr.substring(ip_src_addr.indexOf("[") + 1);
-                               ip_src_addr = ip_src_addr.substring(0, 
ip_src_addr.indexOf("]"));
-                               json.put("ip_src_addr", ip_src_addr);
-                       }
-                       json.remove("message");
-               }
-       }
-
-       //Extracts the appropriate fields from logout messages
-       @SuppressWarnings("unchecked")
-       private void parseLogoutMessage(JSONObject json) {
-               json.put("event_subtype", "logout");
-               String message = (String) json.get("message");
-               if (message.matches(".*'.*'.*'.*'.*")) {
-                       String parts[] = message.split("'");
-                       String ip_src_addr = parts[0];
-                       if (ip_src_addr.contains("[") && 
ip_src_addr.contains("]")) {
-                               ip_src_addr = 
ip_src_addr.substring(ip_src_addr.indexOf("[") + 1);
-                               ip_src_addr = ip_src_addr.substring(0, 
ip_src_addr.indexOf("]"));
-                               json.put("ip_src_addr", ip_src_addr);
-                       }
-                       json.put("username", parts[1]);
-                       json.put("security_domain", parts[3]);
-                       json.remove("message");
-               }
-       }
-
-       //Extracts the appropriate fields from RBM messages
-       @SuppressWarnings("unchecked")
-       private void parseRBMMessage(JSONObject json) {
-               String message = (String) json.get("message");
-               if (message.contains("(")) {
-                       json.put("process", message.substring(0, 
message.indexOf("(")));
-                       if (message.contains(":")) {
-                               json.put("message", 
message.substring(message.indexOf(":") + 2));       
-                       }
-               }
-       }
-
-       //Extracts the appropriate fields from other messages
-       @SuppressWarnings("unchecked")
-       private void parseOtherMessage(JSONObject json) {
-               String message = (String) json.get("message");
-               if (message.contains("(")) {
-                       json.put("process", message.substring(0, 
message.indexOf("(")));
-                       if (message.contains(":")) {
-                               json.put("message", 
message.substring(message.indexOf(":") + 2));       
-                       }
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/main/resources/patterns/asa
----------------------------------------------------------------------
diff --git a/metron-platform/metron-parsers/src/main/resources/patterns/asa 
b/metron-platform/metron-parsers/src/main/resources/patterns/asa
deleted file mode 100644
index dee2a37..0000000
--- a/metron-platform/metron-parsers/src/main/resources/patterns/asa
+++ /dev/null
@@ -1,179 +0,0 @@
-# Forked from https://github.com/elasticsearch/logstash/tree/v1.4.0/patterns
-
-USERNAME [a-zA-Z0-9._-]+
-USER %{USERNAME:UNWANTED}
-INT (?:[+-]?(?:[0-9]+))
-BASE10NUM (?<![0-9.+-])(?>[+-]?(?:(?:[0-9]+(?:\.[0-9]+)?)|(?:\.[0-9]+)))
-NUMBER (?:%{BASE10NUM:UNWANTED})
-BASE16NUM (?<![0-9A-Fa-f])(?:[+-]?(?:0x)?(?:[0-9A-Fa-f]+))
-BASE16FLOAT 
\b(?<![0-9A-Fa-f.])(?:[+-]?(?:0x)?(?:(?:[0-9A-Fa-f]+(?:\.[0-9A-Fa-f]*)?)|(?:\.[0-9A-Fa-f]+)))\b
-
-POSINT \b(?:[1-9][0-9]*)\b
-NONNEGINT \b(?:[0-9]+)\b
-WORD \b\w+\b
-NOTSPACE \S+
-SPACE \s*
-DATA .*?
-GREEDYDATA .*
-#QUOTEDSTRING 
(?:(?<!\\)(?:"(?:\\.|[^\\"])*"|(?:'(?:\\.|[^\\'])*')|(?:`(?:\\.|[^\\`])*`)))
-QUOTEDSTRING 
(?>(?<!\\)(?>"(?>\\.|[^\\"]+)+"|""|(?>'(?>\\.|[^\\']+)+')|''|(?>`(?>\\.|[^\\`]+)+`)|``))
-UUID [A-Fa-f0-9]{8}-(?:[A-Fa-f0-9]{4}-){3}[A-Fa-f0-9]{12}
-
-# Networking
-MAC (?:%{CISCOMAC:UNWANTED}|%{WINDOWSMAC:UNWANTED}|%{COMMONMAC:UNWANTED})
-CISCOMAC (?:(?:[A-Fa-f0-9]{4}\.){2}[A-Fa-f0-9]{4})
-WINDOWSMAC (?:(?:[A-Fa-f0-9]{2}-){5}[A-Fa-f0-9]{2})
-COMMONMAC (?:(?:[A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2})
-IPV6 
((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5
 ]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?
-IPV4 
(?<![0-9])(?:(?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2}))(?![0-9])
-IP (?:%{IPV6:UNWANTED}|%{IPV4:UNWANTED})
-HOSTNAME 
\b(?:[0-9A-Za-z][0-9A-Za-z-]{0,62})(?:\.(?:[0-9A-Za-z][0-9A-Za-z-]{0,62}))*(\.?|\b)
-HOST %{HOSTNAME:UNWANTED}
-IPORHOST (?:%{HOSTNAME:UNWANTED}|%{IP:UNWANTED})
-HOSTPORT (?:%{IPORHOST}:%{POSINT:PORT})
-
-# paths
-PATH (?:%{UNIXPATH}|%{WINPATH})
-UNIXPATH (?>/(?>[\w_%!$@:.,~-]+|\\.)*)+
-#UNIXPATH (?<![\w\/])(?:/[^\/\s?*]*)+
-TTY (?:/dev/(pts|tty([pq])?)(\w+)?/?(?:[0-9]+))
-WINPATH (?>[A-Za-z]+:|\\)(?:\\[^\\?*]*)+
-URIPROTO [A-Za-z]+(\+[A-Za-z+]+)?
-URIHOST %{IPORHOST}(?::%{POSINT:port})?
-# uripath comes loosely from RFC1738, but mostly from what Firefox
-# doesn't turn into %XX
-URIPATH (?:/[A-Za-z0-9$.+!*'(){},~:;=@#%_\-]*)+
-#URIPARAM 
\?(?:[A-Za-z0-9]+(?:=(?:[^&]*))?(?:&(?:[A-Za-z0-9]+(?:=(?:[^&]*))?)?)*)?
-URIPARAM \?[A-Za-z0-9$.+!*'|(){},~@#%&/=:;_?\-\[\]]*
-URIPATHPARAM %{URIPATH}(?:%{URIPARAM})?
-URI %{URIPROTO}://(?:%{USER}(?::[^@]*)?@)?(?:%{URIHOST})?(?:%{URIPATHPARAM})?
-
-# Months: January, Feb, 3, 03, 12, December
-MONTH 
\b(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?)\b
-MONTHNUM (?:0?[1-9]|1[0-2])
-MONTHNUM2 (?:0[1-9]|1[0-2])
-MONTHDAY (?:(?:0[1-9])|(?:[12][0-9])|(?:3[01])|[1-9])
-
-# Days: Monday, Tue, Thu, etc...
-DAY 
(?:Mon(?:day)?|Tue(?:sday)?|Wed(?:nesday)?|Thu(?:rsday)?|Fri(?:day)?|Sat(?:urday)?|Sun(?:day)?)
-
-# Years?
-YEAR (?>\d\d){1,2}
-# Time: HH:MM:SS
-#TIME \d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?
-# I'm still on the fence about using grok to perform the time match,
-# since it's probably slower.
-# TIME %{POSINT<24}:%{POSINT<60}(?::%{POSINT<60}(?:\.%{POSINT})?)?
-HOUR (?:2[0123]|[01]?[0-9])
-MINUTE (?:[0-5][0-9])
-# '60' is a leap second in most time standards and thus is valid.
-SECOND (?:(?:[0-5]?[0-9]|60)(?:[:.,][0-9]+)?)
-TIME (?!<[0-9])%{HOUR}:%{MINUTE}(?::%{SECOND})(?![0-9])
-# datestamp is YYYY/MM/DD-HH:MM:SS.UUUU (or something like it)
-DATE_US %{MONTHNUM}[/-]%{MONTHDAY}[/-]%{YEAR}
-DATE_EU %{MONTHDAY}[./-]%{MONTHNUM}[./-]%{YEAR}
-ISO8601_TIMEZONE (?:Z|[+-]%{HOUR}(?::?%{MINUTE}))
-ISO8601_SECOND (?:%{SECOND}|60)
-TIMESTAMP_ISO8601 %{YEAR}-%{MONTHNUM}-%{MONTHDAY}[T 
]%{HOUR}:?%{MINUTE}(?::?%{SECOND})?%{ISO8601_TIMEZONE}?
-DATE %{DATE_US}|%{DATE_EU}
-DATESTAMP %{DATE}[- ]%{TIME}
-TZ (?:[PMCE][SD]T|UTC)
-DATESTAMP_RFC822 %{DAY} %{MONTH} %{MONTHDAY} %{YEAR} %{TIME} %{TZ}
-DATESTAMP_RFC2822 %{DAY}, %{MONTHDAY} %{MONTH} %{YEAR} %{TIME} 
%{ISO8601_TIMEZONE}
-DATESTAMP_OTHER %{DAY} %{MONTH} %{MONTHDAY} %{TIME} %{TZ} %{YEAR}
-DATESTAMP_EVENTLOG %{YEAR}%{MONTHNUM2}%{MONTHDAY}%{HOUR}%{MINUTE}%{SECOND}
-GREEDYDATA .*
-
-# Syslog Dates: Month Day HH:MM:SS
-SYSLOGTIMESTAMP %{MONTH} +%{MONTHDAY} %{TIME}
-PROG (?:[\w._/%-]+)
-SYSLOGPROG %{PROG:program}(?:\[%{POSINT:pid}\])?
-SYSLOGHOST %{IPORHOST}
-SYSLOGFACILITY <%{NONNEGINT:facility}.%{NONNEGINT:priority}>
-SYSLOGPRIORITY <%{POSINT:syslog_pri}>
-HTTPDATE %{MONTHDAY}/%{MONTH}/%{YEAR}:%{TIME} %{INT}
-
-# Shortcuts
-QS %{QUOTEDSTRING:UNWANTED}
-
-# Log formats
-SYSLOGBASE %{SYSLOGTIMESTAMP:timestamp} (?:%{SYSLOGFACILITY} 
)?%{SYSLOGHOST:logsource} %{SYSLOGPROG}:
-
-MESSAGESLOG %{SYSLOGBASE} %{DATA}
-
-COMMONAPACHELOG %{IPORHOST:clientip} %{USER:ident} %{USER:auth} 
\[%{HTTPDATE:timestamp}\] "(?:%{WORD:verb} %{NOTSPACE:request}(?: 
HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} 
(?:%{NUMBER:bytes}|-)
-COMBINEDAPACHELOG %{COMMONAPACHELOG} %{QS:referrer} %{QS:agent}
-
-# Log Levels
-LOGLEVEL 
([A|a]lert|ALERT|[T|t]race|TRACE|[D|d]ebug|DEBUG|[N|n]otice|NOTICE|[I|i]nfo|INFO|[W|w]arn?(?:ing)?|WARN?(?:ING)?|[E|e]rr?(?:or)?|ERR?(?:OR)?|[C|c]rit?(?:ical)?|CRIT?(?:ICAL)?|[F|f]atal|FATAL|[S|s]evere|SEVERE|EMERG(?:ENCY)?|[Ee]merg(?:ency)?)
-
-#== Cisco ASA ==
-CISCO_TAGGED_SYSLOG ^<%{POSINT:syslog_pri}>%{CISCOTIMESTAMP}( 
%{SYSLOGHOST:syslog_host})?( %{SYSLOGPROG:syslog_prog})? ?:? 
%%{CISCOTAG}%{GREEDYDATA:message}
-CISCOTIMESTAMP %{MONTH} +%{MONTHDAY}(?: %{YEAR})? %{TIME}
-CISCOTAG [A-Z0-9]+-%{INT}-(?:[A-Z0-9_]+)
-
-# Common Particles
-CISCO_ACTION Built|Teardown|Deny|Denied|denied|requested|permitted|denied by 
ACL|discarded|est-allowed|Dropping|created|deleted
-CISCO_REASON Duplicate TCP SYN|Failed to locate egress interface|Invalid 
transport field|No matching connection|DNS Response|DNS Query|(?:%{WORD}\s*)*
-CISCO_DIRECTION Inbound|inbound|Outbound|outbound
-CISCO_INTERVAL first hit|%{INT}-second interval
-CISCO_XLATE_TYPE static|dynamic
-# ASA-2-106001
-CISCOFW106001 : %{CISCO_DIRECTION:direction} %{WORD:protocol} connection 
%{CISCO_ACTION:action} from %{IP:src_ip}/%{INT:src_port} to 
%{IP:dst_ip}/%{INT:dst_port} flags %{GREEDYDATA:tcp_flags} on interface 
%{GREEDYDATA:interface}
-# ASA-2-106006, ASA-2-106007, ASA-2-106010
-CISCOFW106006_106007_106010 : %{CISCO_ACTION:action} 
%{CISCO_DIRECTION:direction} %{WORD:protocol} (?:from|src) 
%{IP:src_ip}/%{INT:src_port}(\(%{DATA:src_fwuser}\))? (?:to|dst) 
%{IP:dst_ip}/%{INT:dst_port}(\(%{DATA:dst_fwuser}\))? (?:on interface 
%{GREEDYDATA:interface}|due to %{CISCO_REASON:reason})
-# ASA-3-106014
-CISCOFW106014 : %{CISCO_ACTION:action} %{CISCO_DIRECTION:direction} 
%{WORD:protocol} src 
%{DATA:src_interface}:%{IP:src_ip}(\(%{DATA:src_fwuser}\))? dst 
%{DATA:dst_interface}:%{IP:dst_ip}(\(%{DATA:dst_fwuser}\))? \(type 
%{INT:icmp_type}, code %{INT:icmp_code}\)
-# ASA-6-106015
-CISCOFW106015 : %{CISCO_ACTION:action} %{WORD:protocol} \(%{DATA:policy_id}\) 
from %{IP:src_ip}/%{INT:src_port} to %{IP:dst_ip}/%{INT:dst_port} flags 
%{DATA:tcp_flags}  on interface %{GREEDYDATA:interface}
-# ASA-1-106021
-CISCOFW106021 : %{CISCO_ACTION:action} %{WORD:protocol} reverse path check 
from %{IP:src_ip} to %{IP:dst_ip} on interface %{GREEDYDATA:interface}
-# ASA-4-106023
-CISCOFW106023 : %{CISCO_ACTION:action} %{WORD:protocol} src 
%{DATA:src_interface}:%{IP:src_ip}(/%{INT:src_port})?(\(%{DATA:src_fwuser}\))? 
dst 
%{DATA:dst_interface}:%{IP:dst_ip}(/%{INT:dst_port})?(\(%{DATA:dst_fwuser}\))?( 
\(type %{INT:icmp_type}, code %{INT:icmp_code}\))? by access-group 
%{DATA:policy_id} \[%{DATA:hashcode1}, %{DATA:hashcode2}\]
-# ASA-5-106100
-CISCOFW106100 : access-list %{WORD:policy_id} %{CISCO_ACTION:action} 
%{WORD:protocol} 
%{DATA:src_interface}/%{IP:src_ip}\(%{INT:src_port}\)(\(%{DATA:src_fwuser}\))? 
-> 
%{DATA:dst_interface}/%{IP:dst_ip}\(%{INT:dst_port}\)(\(%{DATA:src_fwuser}\))? 
hit-cnt %{INT:hit_count} %{CISCO_INTERVAL:interval} \[%{DATA:hashcode1}, 
%{DATA:hashcode2}\]
-# ASA-6-110002
-CISCOFW110002 : %{CISCO_REASON:reason} for %{WORD:protocol} from 
%{DATA:src_interface}:%{IP:src_ip}/%{INT:src_port} to 
%{IP:dst_ip}/%{INT:dst_port}
-# ASA-6-302010
-CISCOFW302010 : %{INT:connection_count} in use, %{INT:connection_count_max} 
most used
-# ASA-6-302013, ASA-6-302014, ASA-6-302015, ASA-6-302016
-CISCOFW302013_302014_302015_302016 : %{CISCO_ACTION:action}(?: 
%{CISCO_DIRECTION:direction})? %{WORD:protocol} connection %{INT:connection_id} 
for %{DATA:src_interface}:%{IP:src_ip}/%{INT:src_port}( 
\(%{IP:src_mapped_ip}/%{INT:src_mapped_port}\))?(\(%{DATA:src_fwuser}\))? to 
%{DATA:dst_interface}:%{IP:dst_ip}/%{INT:dst_port}( 
\(%{IP:dst_mapped_ip}/%{INT:dst_mapped_port}\))?(\(%{DATA:dst_fwuser}\))?( 
duration %{TIME:duration} bytes %{INT:bytes})?(?: %{CISCO_REASON:reason})?( 
\(%{DATA:user}\))?
-# ASA-6-302020, ASA-6-302021
-CISCOFW302020_302021 : %{CISCO_ACTION:action}(?: 
%{CISCO_DIRECTION:direction})? %{WORD:protocol} connection for faddr 
%{IP:dst_ip}/%{INT:icmp_seq_num}(?:\(%{DATA:fwuser}\))? gaddr 
%{IP:src_xlated_ip}/%{INT:icmp_code_xlated} laddr 
%{IP:src_ip}/%{INT:icmp_code}( \(%{DATA:user}\))?
-# ASA-6-305011
-CISCOFW305011 : %{CISCO_ACTION:action} %{CISCO_XLATE_TYPE:xlate_type} 
%{WORD:protocol} translation from 
%{DATA:src_interface}:%{IP:src_ip}(/%{INT:src_port})?(\(%{DATA:src_fwuser}\))? 
to %{DATA:src_xlated_interface}:%{IP:src_xlated_ip}/%{DATA:src_xlated_port}
-# ASA-3-313001, ASA-3-313004, ASA-3-313008
-CISCOFW313001_313004_313008 : %{CISCO_ACTION:action} %{WORD:protocol} 
type=%{INT:icmp_type}, code=%{INT:icmp_code} from %{IP:src_ip} on interface 
%{DATA:interface}( to %{IP:dst_ip})?
-# ASA-4-313005
-CISCOFW313005 : %{CISCO_REASON:reason} for %{WORD:protocol} error message: 
%{WORD:err_protocol} src 
%{DATA:err_src_interface}:%{IP:err_src_ip}(\(%{DATA:err_src_fwuser}\))? dst 
%{DATA:err_dst_interface}:%{IP:err_dst_ip}(\(%{DATA:err_dst_fwuser}\))? \(type 
%{INT:err_icmp_type}, code %{INT:err_icmp_code}\) on %{DATA:interface} 
interface\.  Original IP payload: %{WORD:protocol} src 
%{IP:orig_src_ip}/%{INT:orig_src_port}(\(%{DATA:orig_src_fwuser}\))? dst 
%{IP:orig_dst_ip}/%{INT:orig_dst_port}(\(%{DATA:orig_dst_fwuser}\))?
-# ASA-4-402117
-CISCOFW402117 : %{WORD:protocol}: Received a non-IPSec packet \(protocol= 
%{WORD:orig_protocol}\) from %{IP:src_ip} to %{IP:dst_ip}
-# ASA-4-402119
-CISCOFW402119 : %{WORD:protocol}: Received an %{WORD:orig_protocol} packet 
\(SPI= %{DATA:spi}, sequence number= %{DATA:seq_num}\) from %{IP:src_ip} 
\(user= %{DATA:user}\) to %{IP:dst_ip} that failed anti-replay checking
-# ASA-4-419001
-CISCOFW419001 : %{CISCO_ACTION:action} %{WORD:protocol} packet from 
%{DATA:src_interface}:%{IP:src_ip}/%{INT:src_port} to 
%{DATA:dst_interface}:%{IP:dst_ip}/%{INT:dst_port}, reason: %{GREEDYDATA:reason}
-# ASA-4-419002
-CISCOFW419002 : %{CISCO_REASON:reason} from 
%{DATA:src_interface}:%{IP:src_ip}/%{INT:src_port} to 
%{DATA:dst_interface}:%{IP:dst_ip}/%{INT:dst_port} with different initial 
sequence number
-# ASA-4-500004
-CISCOFW500004 : %{CISCO_REASON:reason} for protocol=%{WORD:protocol}, from 
%{IP:src_ip}/%{INT:src_port} to %{IP:dst_ip}/%{INT:dst_port}
-# ASA-6-602303, ASA-6-602304
-CISCOFW602303_602304 : %{WORD:protocol}: An %{CISCO_DIRECTION:direction} 
%{GREEDYDATA:tunnel_type} SA \(SPI= %{DATA:spi}\) between %{IP:src_ip} and 
%{IP:dst_ip} \(user= %{DATA:user}\) has been %{CISCO_ACTION:action}
-# ASA-7-710001, ASA-7-710002, ASA-7-710003, ASA-7-710005, ASA-7-710006
-CISCOFW710001_710002_710003_710005_710006 : %{WORD:protocol} 
(?:request|access) %{CISCO_ACTION:action} from %{IP:src_ip}/%{INT:src_port} to 
%{DATA:dst_interface}:%{IP:dst_ip}/%{INT:dst_port}
-# ASA-6-713172
-CISCOFW713172 : Group = %{GREEDYDATA:group}, IP = %{IP:src_ip}, Automatic NAT 
Detection Status:\s+Remote end\s*%{DATA:is_remote_natted}\s*behind a NAT 
device\s+This\s+end\s*%{DATA:is_local_natted}\s*behind a NAT device
-# ASA-4-733100
-CISCOFW733100 : \[\s*%{DATA:drop_type}\s*\] drop %{DATA:drop_rate_id} 
exceeded. Current burst rate is %{INT:drop_rate_current_burst} per second, max 
configured rate is %{INT:drop_rate_max_burst}; Current average rate is 
%{INT:drop_rate_current_avg} per second, max configured rate is 
%{INT:drop_rate_max_avg}; Cumulative total count is %{INT:drop_total_count}
-
-
-# ASA-6-305012
-CISCOFW305012 : %{CISCO_ACTION:action} %{CISCO_XLATE_TYPE:xlate_type} 
%{WORD:protocol} translation from 
%{DATA:src_interface}:%{IP:src_ip}(/%{INT:src_port})?(\(%{DATA:src_fwuser}\))? 
to %{DATA:src_xlated_interface}:%{IP:src_xlated_ip}/%{DATA:src_xlated_port} 
duration %{TIME:duration}
-# ASA-7-609001
-CISCOFW609001 : %{CISCO_ACTION:action} %{WORD:protocol} 
%{DATA:src_interface}:%{IP:src_ip}(/%{INT:src_port})?(\(%{DATA:src_fwuser}\))?
-# ASA-7-609002
-CISCOFW609002 : %{CISCO_ACTION:action} %{WORD:protocol} 
%{DATA:src_interface}:%{IP:src_ip}(/%{INT:src_port})?(\(%{DATA:src_fwuser}\))? 
duration %{TIME:duration}
-
-# ASA-5-713041
-CISCOFW713041 : (Group = %{GREEDYDATA:group}, )?IP = %{IP:src_ip}, IKE 
Initiator: Rekeying Phase %{INT}, Intf %{DATA:src_interface}, IKE Peer 
%{DATA}\s+local Proxy Address %{IP}, remote Proxy Address %{IP},\s+Crypto map 
\(%{DATA}\)
-
-#== End Cisco ASA ==
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/main/resources/patterns/fireeye
----------------------------------------------------------------------
diff --git a/metron-platform/metron-parsers/src/main/resources/patterns/fireeye 
b/metron-platform/metron-parsers/src/main/resources/patterns/fireeye
deleted file mode 100644
index 5dc99bf..0000000
--- a/metron-platform/metron-parsers/src/main/resources/patterns/fireeye
+++ /dev/null
@@ -1,9 +0,0 @@
-GREEDYDATA .*
-POSINT \b(?:[1-9][0-9]*)\b
-UID [0-9.]+
-DATA .*?
-
-FIREEYE_BASE ^<%{POSINT:syslog_pri}>fenotify-%{UID:uid}.alert: 
%{GREEDYDATA:syslog}
-FIREEYE_MAIN <%{POSINT:syslog_pri}>fenotify-%{DATA:uid}.alert: 
%{DATA:meta}\|%{DATA:meta}\|%{DATA:meta}\|%{DATA:meta}\|%{DATA:meta}\|%{DATA:meta}\|%{DATA:meta}\|%{GREEDYDATA:fedata}
-#\|(.?)\|(.?)\|(.?)\|(.?)\|%{DATA:type}\|(.?)\|%{GREEDYDATA:fedata}
-FIREEYE_SUB ^<%{POSINT:syslog_pri}>fenotify-%{UID:uid}.alert: 
.?*\|.?*\|.?*\|.?*\|.?*\|%{DATA:type}\|.?*\|%{GREEDYDATA:fedata}

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/main/resources/patterns/sourcefire
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/main/resources/patterns/sourcefire 
b/metron-platform/metron-parsers/src/main/resources/patterns/sourcefire
deleted file mode 100644
index 672f684..0000000
--- a/metron-platform/metron-parsers/src/main/resources/patterns/sourcefire
+++ /dev/null
@@ -1,30 +0,0 @@
-POSINT \b(?:[1-9][0-9]*)\b
-NONNEGINT \b(?:[0-9]+)\b
-WORD \b\w+\b
-NOTSPACE \S+
-SPACE \s*
-DATA .*?
-GREEDYDATA .*
-QUOTEDSTRING 
(?>(?<!\\)(?>"(?>\\.|[^\\"]+)+"|""|(?>'(?>\\.|[^\\']+)+')|''|(?>`(?>\\.|[^\\`]+)+`)|``))
-UUID [A-Fa-f0-9]{8}-(?:[A-Fa-f0-9]{4}-){3}[A-Fa-f0-9]{12}
-
-# Networking
-MAC (?:%{CISCOMAC}|%{WINDOWSMAC}|%{COMMONMAC})
-CISCOMAC (?:(?:[A-Fa-f0-9]{4}\.){2}[A-Fa-f0-9]{4})
-WINDOWSMAC (?:(?:[A-Fa-f0-9]{2}-){5}[A-Fa-f0-9]{2})
-COMMONMAC (?:(?:[A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2})
-IPV6 
((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5
 ]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?
-IPV4 
(?<![0-9])(?:(?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2}))(?![0-9])
-IP (?:%{IPV6}|%{IPV4})
-HOSTNAME 
\b(?:[0-9A-Za-z][0-9A-Za-z-]{0,62})(?:\.(?:[0-9A-Za-z][0-9A-Za-z-]{0,62}))*(\.?|\b)
-HOST %{HOSTNAME}
-IPORHOST (?:%{HOSTNAME}|%{IP})
-HOSTPORT %{IPORHOST}:%{POSINT}
-
-#Sourcefire Logs
-protocol \{[a-zA-Z0-9]+\}
-ip_src_addr 
(?<![0-9])(?:(?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2}))(?![0-9])
-ip_dst_addr 
(?<![0-9])(?:(?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2}))(?![0-9])
-ip_src_port [0-9]+
-ip_dst_port [0-9]+
-SOURCEFIRE 
%{GREEDYDATA}%{protocol}\s%{ip_src_addr}\:%{ip_src_port}\s->\s%{ip_dst_addr}\:%{ip_dst_port}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/main/resources/patterns/squid
----------------------------------------------------------------------
diff --git a/metron-platform/metron-parsers/src/main/resources/patterns/squid 
b/metron-platform/metron-parsers/src/main/resources/patterns/squid
deleted file mode 100644
index bf6c5b7..0000000
--- a/metron-platform/metron-parsers/src/main/resources/patterns/squid
+++ /dev/null
@@ -1,2 +0,0 @@
-SQUID_DELIMITED %{NUMBER:timestamp}[^0-9]*%{INT:elapsed} %{IP:ip_src_addr} 
%{WORD:action}/%{NUMBER:code} %{NUMBER:bytes} %{WORD:method} 
%{NOTSPACE:url}[^0-9]*(%{IP:ip_dst_addr})?
-

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/main/resources/patterns/websphere
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/main/resources/patterns/websphere 
b/metron-platform/metron-parsers/src/main/resources/patterns/websphere
deleted file mode 100644
index 546944c..0000000
--- a/metron-platform/metron-parsers/src/main/resources/patterns/websphere
+++ /dev/null
@@ -1,37 +0,0 @@
-# Months - only three-letter code is used
-MONTH \b(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec?)\b
-
-# Days - two digit number is used
-DAY \d{1,2}
-
-# Time - two digit hour, minute, and second
-TIME \d{2}:\d{2}:\d{2}
-
-# Timestamp - month, day, and time
-TIMESTAMP %{MONTH:UNWANTED}\s+%{DAY:UNWANTED} %{TIME:UNWANTED}
-
-# Generic word field
-WORD \w+
-
-# Priority
-PRIORITY \d+
-
-# Log start - the first part of the log line
-LOGSTART <%{PRIORITY:priority}>?%{TIMESTAMP:timestamp_string} %{WORD:hostname}
-
-# Security domain
-SECURITY_DOMAIN [%{WORD:security_domain}]
-
-# Log middle - the middle part of the log line
-LOGMIDDLE 
(\[%{WORD:security_domain}\])?\[%{WORD:event_code}\]\[%{WORD:event_type}\]\[%{WORD:severity}\]
-
-# Define IP address formats
-IPV6 
((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5
 ]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?
-IPV4 
(?<![0-9])(?:(?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2}))(?![0-9])
-IP (?:%{IPV6:UNWANTED}|%{IPV4:UNWANTED})
-
-# Message - the message body of the log
-MESSAGE .*
-
-# WebSphere - the entire log message
-WEBSPHERE %{LOGSTART:UNWANTED} %{LOGMIDDLE:UNWANTED} %{MESSAGE:message}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/main/resources/patterns/yaf
----------------------------------------------------------------------
diff --git a/metron-platform/metron-parsers/src/main/resources/patterns/yaf 
b/metron-platform/metron-parsers/src/main/resources/patterns/yaf
deleted file mode 100644
index c664586..0000000
--- a/metron-platform/metron-parsers/src/main/resources/patterns/yaf
+++ /dev/null
@@ -1,2 +0,0 @@
-YAF_TIME_FORMAT %{YEAR:UNWANTED}-%{MONTHNUM:UNWANTED}-%{MONTHDAY:UNWANTED}[T 
]%{HOUR:UNWANTED}:%{MINUTE:UNWANTED}:%{SECOND:UNWANTED}
-YAF_DELIMITED 
%{YAF_TIME_FORMAT:start_time}\|%{YAF_TIME_FORMAT:end_time}\|%{SPACE:UNWANTED}%{BASE10NUM:duration}\|%{SPACE:UNWANTED}%{BASE10NUM:rtt}\|%{SPACE:UNWANTED}%{INT:protocol}\|%{SPACE:UNWANTED}%{IP:ip_src_addr}\|%{SPACE:UNWANTED}%{INT:ip_src_port}\|%{SPACE:UNWANTED}%{IP:ip_dst_addr}\|%{SPACE:UNWANTED}%{INT:ip_dst_port}\|%{SPACE:UNWANTED}%{DATA:iflags}\|%{SPACE:UNWANTED}%{DATA:uflags}\|%{SPACE:UNWANTED}%{DATA:riflags}\|%{SPACE:UNWANTED}%{DATA:ruflags}\|%{SPACE:UNWANTED}%{WORD:isn}\|%{SPACE:UNWANTED}%{DATA:risn}\|%{SPACE:UNWANTED}%{DATA:tag}\|%{GREEDYDATA:rtag}\|%{SPACE:UNWANTED}%{INT:pkt}\|%{SPACE:UNWANTED}%{INT:oct}\|%{SPACE:UNWANTED}%{INT:rpkt}\|%{SPACE:UNWANTED}%{INT:roct}\|%{SPACE:UNWANTED}%{INT:app}\|%{GREEDYDATA:end_reason}

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/GrokParserTest.java
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/GrokParserTest.java
 
b/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/GrokParserTest.java
deleted file mode 100644
index 1a50dea..0000000
--- 
a/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/GrokParserTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.metron.parsers;
-
-import com.google.common.collect.MapDifference;
-import com.google.common.collect.Maps;
-import org.json.simple.JSONObject;
-import org.json.simple.parser.JSONParser;
-import org.json.simple.parser.ParseException;
-import org.junit.Assert;
-import org.junit.Test;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public abstract class GrokParserTest {
-
-  @Test
-  public void test() throws IOException, ParseException {
-
-    Map<String, Object> parserConfig = new HashMap<>();
-    parserConfig.put("grokPath", getGrokPath());
-    parserConfig.put("patternLabel", getGrokPatternLabel());
-    parserConfig.put("timestampField", getTimestampField());
-    parserConfig.put("dateFormat", getDateFormat());
-    parserConfig.put("timeFields", getTimeFields());
-
-    GrokParser grokParser = new GrokParser();
-    grokParser.configure(parserConfig);
-    grokParser.init();
-
-    JSONParser jsonParser = new JSONParser();
-    Map<String,String> testData = getTestData();
-    for( Map.Entry<String,String> e : testData.entrySet() ){
-
-      JSONObject expected = (JSONObject) jsonParser.parse(e.getValue());
-      byte[] rawMessage = e.getKey().getBytes();
-
-      List<JSONObject> parsedList = grokParser.parse(rawMessage);
-      Assert.assertEquals(1, parsedList.size());
-      compare(expected, parsedList.get(0));
-    }
-
-  }
-
-  public boolean compare(JSONObject expected, JSONObject actual) {
-    MapDifference mapDifferences = Maps.difference(expected, actual);
-    if (mapDifferences.entriesOnlyOnLeft().size() > 0) Assert.fail("Expected 
JSON has extra parameters: " + mapDifferences.entriesOnlyOnLeft());
-    if (mapDifferences.entriesOnlyOnRight().size() > 0) Assert.fail("Actual 
JSON has extra parameters: " + mapDifferences.entriesOnlyOnRight());
-    Map actualDifferences = new HashMap();
-    if (mapDifferences.entriesDiffering().size() > 0) {
-      Map differences = 
Collections.unmodifiableMap(mapDifferences.entriesDiffering());
-      for (Object key : differences.keySet()) {
-        Object expectedValueObject = expected.get(key);
-        Object actualValueObject = actual.get(key);
-        if (expectedValueObject instanceof Long || expectedValueObject 
instanceof Integer) {
-          Long expectedValue = Long.parseLong(expectedValueObject.toString());
-          Long actualValue = Long.parseLong(actualValueObject.toString());
-          if (!expectedValue.equals(actualValue)) {
-            actualDifferences.put(key, differences.get(key));
-          }
-        } else {
-          actualDifferences.put(key, differences.get(key));
-        }
-      }
-    }
-    if (actualDifferences.size() > 0) Assert.fail("Expected and Actual JSON 
values don't match: " + actualDifferences);
-    return true;
-  }
-
-  public abstract Map getTestData();
-  public abstract String getGrokPath();
-  public abstract String getGrokPatternLabel();
-  public abstract List<String> getTimeFields();
-  public abstract String getDateFormat();
-  public abstract String getTimestampField();
-}

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/SampleGrokParserTest.java
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/SampleGrokParserTest.java
 
b/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/SampleGrokParserTest.java
deleted file mode 100644
index e060559..0000000
--- 
a/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/SampleGrokParserTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.metron.parsers;
-
-import org.adrianwalker.multilinestring.Multiline;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class SampleGrokParserTest extends GrokParserTest {
-
-  /**
-   * {
-   * "roct":0,
-   * "end_reason":"idle",
-   * "ip_dst_addr":"10.0.2.15",
-   * "iflags":"AS",
-   * "rpkt":0,
-   * "original_string":"1453994987000|2016-01-28 15:29:48|   0.000|   0.000|  
6|                          216.21.170.221|   80|                               
10.0.2.15|39468|      AS|       0|       0|       0|22efa001|00000000|000|000|  
     1|      44|       0|       0|    0|idle",
-   * "tag":0,
-   * "risn":0,
-   * "ip_dst_port":39468,
-   * "ruflags":0,
-   * "app":0,
-   * "protocol":6
-   * ,"isn":"22efa001",
-   * "uflags":0,"duration":"0.000",
-   * "oct":44,
-   * "ip_src_port":80,
-   * "end_time":1453994988000,
-   * "start_time":1453994987000
-   * "timestamp":1453994987000,
-   * "riflags":0,
-   * "rtt":"0.000",
-   * "rtag":0,
-   * "pkt":1,
-   * "ip_src_addr":"216.21.170.221"
-   * }
-   */
-  @Multiline
-  public String result;
-
-
-  @Override
-  public Map getTestData() {
-
-    Map testData = new HashMap<String,String>();
-    String input = "1453994987000|2016-01-28 15:29:48|   0.000|   0.000|  6|   
                       216.21.170.221|   80|                               
10.0.2.15|39468|      AS|       0|       0|       0|22efa001|00000000|000|000|  
     1|      44|       0|       0|    0|idle";
-    testData.put(input,result);
-    return testData;
-
-  }
-
-  @Override
-  public String getGrokPath() {
-    return "../metron-integration-test/src/main/sample/patterns/test";
-  }
-
-  @Override
-  public String getGrokPatternLabel() {
-    return "YAF_DELIMITED";
-  }
-
-  @Override
-  public List<String> getTimeFields() {
-    return new ArrayList<String>() {{
-      add("end_time");
-    }};
-  }
-
-  @Override
-  public String getDateFormat() {
-    return "yyyy-MM-dd HH:mm:ss";
-  }
-
-  @Override
-  public String getTimestampField() {
-    return "start_time";
-  }
-}

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/SnortParserTest.java
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/SnortParserTest.java
 
b/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/SnortParserTest.java
deleted file mode 100644
index 1981bb8..0000000
--- 
a/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/SnortParserTest.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.metron.parsers;
-
-import org.adrianwalker.multilinestring.Multiline;
-import org.apache.log4j.Level;
-import org.apache.metron.common.Constants;
-import org.apache.metron.parsers.snort.BasicSnortParser;
-import org.apache.metron.test.utils.UnitTestHelper;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-
-import java.time.ZoneId;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.TimeZone;
-
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.startsWith;
-import static org.junit.Assert.assertThat;
-
-public class SnortParserTest {
-
-  @Rule
-  public ExpectedException thrown = ExpectedException.none();
-
-  /**
-   01/27/16-16:01:04.877970 ,129,12,1,"Consecutive TCP small segments, 
exceeding 
threshold",TCP,10.0.2.2,56642,10.0.2.15,22,52:54:00:12:35:02,08:00:27:7F:93:2D,0x4E,***AP***,0x9AFF3D7,0xC8761D52,,0xFFFF,64,0,59677,64,65536,,,,
-   **/
-  @Multiline
-  public static String goodMessage;
-
-  // we will test timestamp conversion/parsing separately
-  @Test
-  public void testGoodMessage() {
-    BasicSnortParser parser = new BasicSnortParser();
-    parser.configure(new HashMap());
-    Map out = parser.parse(goodMessage.getBytes()).get(0);
-    Assert.assertEquals(out.get("msg"), "Consecutive TCP small segments, 
exceeding threshold");
-    Assert.assertEquals(out.get("sig_rev"), "1");
-    Assert.assertEquals(out.get("ip_dst_addr"), "10.0.2.15");
-    Assert.assertEquals(out.get("ip_dst_port"), "22");
-    Assert.assertEquals(out.get("ethsrc"), "52:54:00:12:35:02");
-    Assert.assertEquals(out.get("tcpseq"), "0x9AFF3D7");
-    Assert.assertEquals(out.get("dgmlen"), "64");
-    Assert.assertEquals(out.get("icmpid"), "");
-    Assert.assertEquals(out.get("tcplen"), "");
-    Assert.assertEquals(out.get("tcpwindow"), "0xFFFF");
-    Assert.assertEquals(out.get("icmpseq").toString().trim(), "");
-    Assert.assertEquals(out.get("tcpack"), "0xC8761D52");
-    Assert.assertEquals(out.get("icmpcode"), "");
-    Assert.assertEquals(out.get("tos"), "0");
-    Assert.assertEquals(out.get("id"), "59677");
-    Assert.assertEquals(out.get("ethdst"), "08:00:27:7F:93:2D");
-    Assert.assertEquals(out.get("ip_src_addr"), "10.0.2.2");
-    Assert.assertEquals(out.get("ttl"), "64");
-    Assert.assertEquals(out.get("ethlen"), "0x4E");
-    Assert.assertEquals(out.get("iplen"), "65536");
-    Assert.assertEquals(out.get("icmptype"), "");
-    Assert.assertEquals(out.get("protocol"), "TCP");
-    Assert.assertEquals(out.get("ip_src_port"), "56642");
-    Assert.assertEquals(out.get("tcpflags"), "***AP***");
-    Assert.assertEquals(out.get("sig_id"), "12");
-    Assert.assertEquals(out.get("sig_generator"), "129");
-    Assert.assertEquals(out.get("is_alert"), "true");
-  }
-
-  @Test
-  public void testBadMessage() {
-    thrown.expect(IllegalStateException.class);
-    BasicSnortParser parser = new BasicSnortParser();
-    parser.init();
-    UnitTestHelper.setLog4jLevel(BasicSnortParser.class, Level.FATAL);
-    parser.parse("foo bar".getBytes());
-    UnitTestHelper.setLog4jLevel(BasicSnortParser.class, Level.ERROR);
-  }
-
-  @Test
-  public void parses_timestamp_as_local_zone_by_default() {
-    // test needs to be able to run from context of multiple timezones so we 
will set the default manually
-    TimeZone defaultTimeZone = TimeZone.getDefault();
-    try {
-      TimeZone.setDefault(TimeZone.getTimeZone(ZoneId.of("America/New_York")));
-      BasicSnortParser parser = new BasicSnortParser();
-      parser.configure(new HashMap());
-      Map out = parser.parse(goodMessage.getBytes()).get(0);
-      Assert.assertEquals(out.get("timestamp"), 1453928464877L);
-    } finally {
-      // make sure we don't mess with other tests
-      TimeZone.setDefault(defaultTimeZone);
-    }
-  }
-
-  /**
-   01/27/2016-16:01:04.877970 ,129,12,1,"Consecutive TCP small segments, 
exceeding 
threshold",TCP,10.0.2.2,56642,10.0.2.15,22,52:54:00:12:35:02,08:00:27:7F:93:2D,0x4E,***AP***,0x9AFF3D7,0xC8761D52,,0xFFFF,64,0,59677,64,65536,,,,
-   **/
-  @Multiline
-  public static String dateFormattedMessage;
-
-  @Test
-  public void uses_configuration_to_parse() {
-    Map<String, Object> parserConfig = new HashMap<>();
-    parserConfig.put("dateFormat", "MM/dd/yyyy-HH:mm:ss.SSSSSS");
-    parserConfig.put("timeZone", "America/New_York");
-    BasicSnortParser parser = new BasicSnortParser();
-    parser.configure(parserConfig);
-    Map result = parser.parse(dateFormattedMessage.getBytes()).get(0);
-    assertThat("timestamp should match", 
result.get(Constants.Fields.TIMESTAMP.getName()), equalTo(1453928464877L));
-  }
-
-  @Test
-  public void throws_exception_on_bad_config_timezone() {
-    thrown.expect(IllegalArgumentException.class);
-    thrown.expectMessage(startsWith("Unable to find ZoneId"));
-    Map<String, Object> parserConfig = new HashMap<>();
-    parserConfig.put("dateFormat", "MM/dd/yyyy-HH:mm:ss.SSSSSS");
-    parserConfig.put("timeZone", "blahblahBADZONE");
-    BasicSnortParser parser = new BasicSnortParser();
-    parser.configure(parserConfig);
-  }
-
-  @Test
-  public void throws_exception_on_bad_config_date_format() {
-    thrown.expect(IllegalArgumentException.class);
-    thrown.expectMessage(startsWith("Unknown pattern letter:"));
-    Map<String, Object> parserConfig = new HashMap<>();
-    parserConfig.put("dateFormat", "BADFORMAT");
-    BasicSnortParser parser = new BasicSnortParser();
-    parser.configure(parserConfig);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/SquidParserTest.java
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/SquidParserTest.java
 
b/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/SquidParserTest.java
deleted file mode 100644
index 93c8276..0000000
--- 
a/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/SquidParserTest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.metron.parsers;
-
-import org.adrianwalker.multilinestring.Multiline;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class SquidParserTest extends GrokParserTest {
-
-  /**
-   * {
-   *   "elapsed":161,
-   *   "code":200,
-   *   "ip_dst_addr":"199.27.79.73",
-   *   "original_string":"1461576382.642    161 127.0.0.1 TCP_MISS/200 103701 
GET http://www.cnn.com/ - DIRECT/199.27.79.73 text/html",
-   *   "method":"GET",
-   *   "bytes":103701,
-   *   "action":"TCP_MISS",
-   *   "url":"http://www.cnn.com/";,
-   *   "ip_src_addr":"127.0.0.1",
-   *   "timestamp":1461576382642
-   * }
-   */
-  @Multiline
-  private String result1;
-
-  /**
-   * {
-   *   "elapsed":0,
-   *   "code":403,
-   *   "original_string":"1469539185.270      0 139.196.181.68 TCP_DENIED/403 
3617 CONNECT search.yahoo.com:443 - NONE/- text/html",
-   *   "method":"CONNECT",
-   *   "bytes":3617,
-   *   "action":"TCP_DENIED",
-   *   "url":"search.yahoo.com:443",
-   *   "ip_src_addr":"139.196.181.68",
-   *   "timestamp":1469539185270,
-   *   "ip_dst_addr": null
-   * }
-   */
-  @Multiline
-  private String result2;
-
-  @Override
-  public Map<String,String> getTestData() {
-
-    String input1 = "1461576382.642    161 127.0.0.1 TCP_MISS/200 103701 GET 
http://www.cnn.com/ - DIRECT/199.27.79.73 text/html";
-    String input2 = "1469539185.270      0 139.196.181.68 TCP_DENIED/403 3617 
CONNECT search.yahoo.com:443 - NONE/- text/html";
-
-    HashMap testData = new HashMap<String,String>();
-    testData.put(input1,result1);
-    testData.put(input2,result2);
-    return testData;
-
-  }
-
-
-  @Override
-  public String getGrokPath() {
-    return "../metron-parsers/src/main/resources/patterns/squid";
-  }
-
-  @Override
-  public String getGrokPatternLabel() {
-    return "SQUID_DELIMITED";
-  }
-
-  @Override
-  public List<String> getTimeFields() {
-    return new ArrayList<>();
-  }
-
-  @Override
-  public String getDateFormat() {
-    return null;
-  }
-
-  @Override
-  public String getTimestampField() {
-    return "timestamp";
-  }
-}

http://git-wip-us.apache.org/repos/asf/metron/blob/5f7454e4/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/YafParserTest.java
----------------------------------------------------------------------
diff --git 
a/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/YafParserTest.java
 
b/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/YafParserTest.java
deleted file mode 100644
index 8dd75a0..0000000
--- 
a/metron-platform/metron-parsers/src/test/java/org/apache/metron/parsers/YafParserTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.metron.parsers;
-
-import org.adrianwalker.multilinestring.Multiline;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class YafParserTest extends GrokParserTest {
-
-  /**
-   * {
-   "iflags": "AS",
-   "uflags": 0,
-   "isn": "22efa001",
-   "ip_dst_addr": "10.0.2.15",
-   "ip_dst_port": 39468,
-   "duration": "0.000",
-   "rpkt": 0,
-   "original_string": "2016-01-28 15:29:48.512|2016-01-28 15:29:48.512|   
0.000|   0.000|  6|                          216.21.170.221|   80|              
                 10.0.2.15|39468|      AS|       0|       0|       
0|22efa001|00000000|000|000|       1|      44|       0|       0|    0|idle",
-   "pkt": 1,
-   "ruflags": 0,
-   "roct": 0,
-   "ip_src_addr": "216.21.170.221",
-   "tag": 0,
-   "rtag": 0,
-   "ip_src_port": 80,
-   "timestamp": 1453994988512,
-   "app": 0,
-   "oct": 44,
-   "end_reason": "idle",
-   "risn": 0,
-   "end_time": 1453994988512,
-   "start_time": 1453994988512,
-   "riflags": 0,
-   "rtt": "0.000",
-   "protocol": 6
-   }
-   */
-  @Multiline
-  public String result;
-
-  @Override
-  public Map getTestData() {
-
-    Map testData = new HashMap<String,String>();
-    String input = "2016-01-28 15:29:48.512|2016-01-28 15:29:48.512|   0.000|  
 0.000|  6|                          216.21.170.221|   80|                      
         10.0.2.15|39468|      AS|       0|       0|       
0|22efa001|00000000|000|000|       1|      44|       0|       0|    0|idle";
-    testData.put(input,result);
-    return testData;
-
-  }
-
-  @Override
-  public String getGrokPath() {
-    return "../metron-parsers/src/main/resources/patterns/yaf";
-  }
-
-
-
-  @Override
-  public String getGrokPatternLabel() {
-    return "YAF_DELIMITED";
-  }
-
-  @Override
-  public List<String> getTimeFields() {
-    return new ArrayList<String>() {{
-      add("start_time");
-      add("end_time");
-    }};
-  }
-
-  @Override
-  public String getDateFormat() {
-    return "yyyy-MM-dd HH:mm:ss.S";
-  }
-
-  @Override
-  public String getTimestampField() {
-    return "start_time";
-  }
-}

Reply via email to