This is an automated email from the ASF dual-hosted git repository.

mattyb149 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/master by this push:
     new a2f5212  NIFI-7490 - Add optional raw field to Syslog readers
a2f5212 is described below

commit a2f521297f32baeb27479b87386353f2f9c24632
Author: Pierre Villard <[email protected]>
AuthorDate: Wed May 27 10:49:28 2020 +0200

    NIFI-7490 - Add optional raw field to Syslog readers
    
    review
    
    Signed-off-by: Matthew Burgess <[email protected]>
    
    This closes #4299
---
 .../org/apache/nifi/syslog/Syslog5424Reader.java   | 23 ++++++++++++++++++--
 .../apache/nifi/syslog/Syslog5424RecordReader.java |  8 ++++++-
 .../java/org/apache/nifi/syslog/SyslogReader.java  | 24 ++++++++++++++++++---
 .../org/apache/nifi/syslog/SyslogRecordReader.java |  8 ++++++-
 .../nifi/syslog/TestSyslog5424RecordReader.java    | 20 ++++++++++-------
 .../apache/nifi/syslog/TestSyslogRecordReader.java | 25 +++++++++++-----------
 6 files changed, 81 insertions(+), 27 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/Syslog5424Reader.java
 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/Syslog5424Reader.java
index 89061eb..0f988e9 100644
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/Syslog5424Reader.java
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/Syslog5424Reader.java
@@ -59,9 +59,13 @@ import java.util.Set;
 @CapabilityDescription("Provides a mechanism for reading RFC 5424 compliant 
Syslog data, such as log files, and structuring the data" +
         " so that it can be processed.")
 public class Syslog5424Reader extends SchemaRegistryService implements 
RecordReaderFactory {
+
     public static final String RFC_5424_SCHEMA_NAME = "default-5424-schema";
     static final AllowableValue RFC_5424_SCHEMA = new 
AllowableValue(RFC_5424_SCHEMA_NAME, "Use RFC 5424 Schema",
             "The schema will be the default schema per RFC 5424.");
+
+    static final String RAW_MESSAGE_NAME = "_raw";
+
     public static final PropertyDescriptor CHARSET = new 
PropertyDescriptor.Builder()
             .name("Character Set")
             .description("Specifies which character set of the Syslog 
messages")
@@ -69,14 +73,24 @@ public class Syslog5424Reader extends SchemaRegistryService 
implements RecordRea
             .defaultValue("UTF-8")
             .addValidator(StandardValidators.CHARACTER_SET_VALIDATOR)
             .build();
+    public static final PropertyDescriptor ADD_RAW = new 
PropertyDescriptor.Builder()
+            .displayName("Raw message")
+            .name("syslog-5424-reader-raw-message")
+            .description("If true, the record will have a " + RAW_MESSAGE_NAME 
+ " field containing the raw message")
+            .required(true)
+            .defaultValue("false")
+            .allowableValues("true", "false")
+            .build();
 
     private volatile StrictSyslog5424Parser parser;
+    private volatile static boolean includeRaw;
     private volatile RecordSchema recordSchema;
 
     @Override
     protected List<PropertyDescriptor> getSupportedPropertyDescriptors() {
-        final List<PropertyDescriptor> properties = new ArrayList<>(1);
+        final List<PropertyDescriptor> properties = new ArrayList<>(2);
         properties.add(CHARSET);
+        properties.add(ADD_RAW);
         return properties;
     }
 
@@ -84,6 +98,7 @@ public class Syslog5424Reader extends SchemaRegistryService 
implements RecordRea
     @OnEnabled
     public void onEnabled(final ConfigurationContext context) {
         final String charsetName = context.getProperty(CHARSET).getValue();
+        includeRaw = context.getProperty(ADD_RAW).asBoolean();
         parser = new StrictSyslog5424Parser(Charset.forName(charsetName), 
NilHandlingPolicy.NULL, NifiStructuredDataPolicy.MAP_OF_MAPS, new 
SimpleKeyProvider());
         recordSchema = createRecordSchema();
     }
@@ -120,6 +135,10 @@ public class Syslog5424Reader extends 
SchemaRegistryService implements RecordRea
         fields.add(new RecordField(Syslog5424Attributes.STRUCTURED_BASE.key(),
                 
RecordFieldType.MAP.getMapDataType(RecordFieldType.MAP.getMapDataType(RecordFieldType.STRING.getDataType()))));
 
+        if(includeRaw) {
+            fields.add(new RecordField(RAW_MESSAGE_NAME, 
RecordFieldType.STRING.getDataType(), true));
+        }
+
         SchemaIdentifier schemaIdentifier = new 
StandardSchemaIdentifier.Builder().name(RFC_5424_SCHEMA_NAME).build();
         final RecordSchema schema = new 
SimpleRecordSchema(fields,schemaIdentifier);
         return schema;
@@ -145,6 +164,6 @@ public class Syslog5424Reader extends SchemaRegistryService 
implements RecordRea
     @Override
     public RecordReader createRecordReader(final Map<String, String> 
variables, final InputStream in, final long inputLength, final ComponentLog 
logger) throws IOException, SchemaNotFoundException {
         final RecordSchema schema = getSchema(variables, in, null);
-        return new Syslog5424RecordReader(parser, in, schema);
+        return new Syslog5424RecordReader(parser, includeRaw, in, schema);
     }
 }
diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/Syslog5424RecordReader.java
 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/Syslog5424RecordReader.java
index 5c5d085..520c95f 100644
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/Syslog5424RecordReader.java
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/Syslog5424RecordReader.java
@@ -42,11 +42,13 @@ public class Syslog5424RecordReader implements RecordReader 
{
     private final BufferedReader reader;
     private RecordSchema schema;
     private final StrictSyslog5424Parser parser;
+    private final boolean includeRaw;
 
-    public Syslog5424RecordReader(StrictSyslog5424Parser parser, InputStream 
in, RecordSchema schema){
+    public Syslog5424RecordReader(StrictSyslog5424Parser parser, boolean 
includeRaw, InputStream in, RecordSchema schema){
         this.reader = new BufferedReader(new InputStreamReader(in));
         this.schema = schema;
         this.parser = parser;
+        this.includeRaw = includeRaw;
     }
 
     @Override
@@ -83,6 +85,10 @@ public class Syslog5424RecordReader implements RecordReader {
         Map<String,Object> modifiedMap = new HashMap<>(event.getFieldMap());
         
modifiedMap.put(SyslogAttributes.TIMESTAMP.key(),convertTimeStamp((String)event.getFieldMap().get(SyslogAttributes.TIMESTAMP.key())));
 
+        if(includeRaw) {
+            modifiedMap.put(Syslog5424Reader.RAW_MESSAGE_NAME, line);
+        }
+
         return new MapRecord(schema,modifiedMap);
     }
 
diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/SyslogReader.java
 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/SyslogReader.java
index 2dd2b03..b702d10 100644
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/SyslogReader.java
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/SyslogReader.java
@@ -57,9 +57,13 @@ import java.util.Set;
         "Note: Be mindfull that RFC3164 is informational and a wide range of 
different implementations are present in" +
         " the wild.")
 public class SyslogReader extends SchemaRegistryService implements 
RecordReaderFactory {
+
     public static final String GENERIC_SYSLOG_SCHEMA_NAME = 
"default-syslog-schema";
     static final AllowableValue GENERIC_SYSLOG_SCHEMA = new 
AllowableValue(GENERIC_SYSLOG_SCHEMA_NAME, "Use Generic Syslog Schema",
             "The schema will be the default Syslog schema.");
+
+    static final String RAW_MESSAGE_NAME = "_raw";
+
     public static final PropertyDescriptor CHARSET = new 
PropertyDescriptor.Builder()
             .name("Character Set")
             .description("Specifies which character set of the Syslog 
messages")
@@ -67,14 +71,24 @@ public class SyslogReader extends SchemaRegistryService 
implements RecordReaderF
             .defaultValue("UTF-8")
             .addValidator(StandardValidators.CHARACTER_SET_VALIDATOR)
             .build();
+    public static final PropertyDescriptor ADD_RAW = new 
PropertyDescriptor.Builder()
+            .displayName("Raw message")
+            .name("syslog-5424-reader-raw-message")
+            .description("If true, the record will have a " + RAW_MESSAGE_NAME 
+ " field containing the raw message")
+            .required(true)
+            .defaultValue("false")
+            .allowableValues("true", "false")
+            .build();
 
     private volatile SyslogParser parser;
+    private volatile static boolean includeRaw;
     private volatile RecordSchema recordSchema;
 
     @Override
     protected List<PropertyDescriptor> getSupportedPropertyDescriptors() {
-        final List<PropertyDescriptor> properties = new ArrayList<>(1);
+        final List<PropertyDescriptor> properties = new ArrayList<>(2);
         properties.add(CHARSET);
+        properties.add(ADD_RAW);
         return properties;
     }
 
@@ -83,6 +97,7 @@ public class SyslogReader extends SchemaRegistryService 
implements RecordReaderF
     public void onEnabled(final ConfigurationContext context) {
         final String charsetName = context.getProperty(CHARSET).getValue();
         parser = new SyslogParser(Charset.forName(charsetName));
+        includeRaw = context.getProperty(ADD_RAW).asBoolean();
         recordSchema = createRecordSchema();
     }
 
@@ -113,6 +128,10 @@ public class SyslogReader extends SchemaRegistryService 
implements RecordReaderF
         fields.add(new RecordField(SyslogAttributes.HOSTNAME.key(), 
RecordFieldType.STRING.getDataType(), true));
         fields.add(new RecordField(SyslogAttributes.BODY.key(), 
RecordFieldType.STRING.getDataType(), true));
 
+        if(includeRaw) {
+            fields.add(new RecordField(RAW_MESSAGE_NAME, 
RecordFieldType.STRING.getDataType(), true));
+        }
+
         SchemaIdentifier schemaIdentifier = new 
StandardSchemaIdentifier.Builder().name(GENERIC_SYSLOG_SCHEMA_NAME).build();
         final RecordSchema schema = new 
SimpleRecordSchema(fields,schemaIdentifier);
         return schema;
@@ -122,7 +141,6 @@ public class SyslogReader extends SchemaRegistryService 
implements RecordReaderF
         return new SchemaAccessStrategy() {
             private final Set<SchemaField> schemaFields = 
EnumSet.noneOf(SchemaField.class);
 
-
             @Override
             public RecordSchema getSchema(Map<String, String> variables, 
InputStream contentStream, RecordSchema readSchema) {
                 return recordSchema;
@@ -138,6 +156,6 @@ public class SyslogReader extends SchemaRegistryService 
implements RecordReaderF
     @Override
     public RecordReader createRecordReader(final Map<String, String> 
variables, final InputStream in, final long inputLength, final ComponentLog 
logger) throws IOException, SchemaNotFoundException {
         final RecordSchema schema = getSchema(variables, in, null);
-        return new SyslogRecordReader(parser, in, schema);
+        return new SyslogRecordReader(parser, includeRaw, in, schema);
     }
 }
diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/SyslogRecordReader.java
 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/SyslogRecordReader.java
index 144a573..43ceab9 100644
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/SyslogRecordReader.java
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/syslog/SyslogRecordReader.java
@@ -39,11 +39,13 @@ public class SyslogRecordReader implements RecordReader {
     private final BufferedReader reader;
     private RecordSchema schema;
     private final SyslogParser parser;
+    private final boolean includeRaw;
 
-    public SyslogRecordReader(SyslogParser parser, InputStream in, 
RecordSchema schema) {
+    public SyslogRecordReader(SyslogParser parser, boolean includeRaw, 
InputStream in, RecordSchema schema) {
         this.reader = new BufferedReader(new InputStreamReader(in));
         this.schema = schema;
         this.parser = parser;
+        this.includeRaw = includeRaw;
     }
 
     @Override
@@ -80,6 +82,10 @@ public class SyslogRecordReader implements RecordReader {
         syslogMap.put(SyslogAttributes.HOSTNAME.key(), event.getHostName());
         syslogMap.put(SyslogAttributes.BODY.key(), event.getMsgBody());
 
+        if(includeRaw) {
+            syslogMap.put(Syslog5424Reader.RAW_MESSAGE_NAME, line);
+        }
+
         return new MapRecord(schema, syslogMap);
     }
 
diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/syslog/TestSyslog5424RecordReader.java
 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/syslog/TestSyslog5424RecordReader.java
index 4a9c918..5e0c4ff 100644
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/syslog/TestSyslog5424RecordReader.java
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/syslog/TestSyslog5424RecordReader.java
@@ -62,6 +62,10 @@ public class TestSyslog5424RecordReader {
     private static final String expectedEventID1 = "1011";
     private static final String expectedEventID2 = "2022";
 
+    private static final String expectedRawMessage = "<14>1 
2014-06-20T09:14:07+00:00 loggregator d0602076-b14a-4c55-852a-981e7afeed38 DEA 
MSG-01 "
+            + "[exampleSDID@32473 iut=\"3\" eventSource=\"Application\" 
eventID=\"1011\"][exampleSDID@32480 iut=\"4\" eventSource=\"Other Application\" 
"
+            + "eventID=\"2022\"] Removing instance";
+
     @Test
     @SuppressWarnings("unchecked")
     public void testParseSingleLine() throws IOException, 
MalformedRecordException {
@@ -70,7 +74,7 @@ public class TestSyslog5424RecordReader {
                     NilHandlingPolicy.NULL,
                     NifiStructuredDataPolicy.MAP_OF_MAPS,
                     new SimpleKeyProvider());
-            final Syslog5424RecordReader deserializer = new 
Syslog5424RecordReader(parser, fis, Syslog5424Reader.createRecordSchema());
+            final Syslog5424RecordReader deserializer = new 
Syslog5424RecordReader(parser, true, fis, 
Syslog5424Reader.createRecordSchema());
 
             final Record record = deserializer.nextRecord();
             assertNotNull(record.getValues());
@@ -83,8 +87,9 @@ public class TestSyslog5424RecordReader {
             Assert.assertEquals(expectedSeverity, 
record.getAsString(SyslogAttributes.SEVERITY.key()));
             Assert.assertEquals(expectedFacility, 
record.getAsString(SyslogAttributes.FACILITY.key()));
             Assert.assertEquals(expectedProcId, 
record.getAsString(Syslog5424Attributes.PROCID.key()));
-            Assert.assertEquals(expectedTimestamp, 
(Timestamp)record.getValue(SyslogAttributes.TIMESTAMP.key()));
+            Assert.assertEquals(expectedTimestamp, 
record.getValue(SyslogAttributes.TIMESTAMP.key()));
             Assert.assertEquals(expectedMessageId, 
record.getAsString(Syslog5424Attributes.MESSAGEID.key()));
+            Assert.assertEquals(expectedRawMessage, 
record.getAsString(Syslog5424Reader.RAW_MESSAGE_NAME));
 
             
Assert.assertNotNull(record.getValue(Syslog5424Attributes.STRUCTURED_BASE.key()));
             Map<String,Object> structured = 
(Map<String,Object>)record.getValue(Syslog5424Attributes.STRUCTURED_BASE.key());
@@ -121,7 +126,7 @@ public class TestSyslog5424RecordReader {
                     NilHandlingPolicy.NULL,
                     NifiStructuredDataPolicy.MAP_OF_MAPS,
                     new SimpleKeyProvider());
-            final Syslog5424RecordReader deserializer = new 
Syslog5424RecordReader(parser, fis, Syslog5424Reader.createRecordSchema());
+            final Syslog5424RecordReader deserializer = new 
Syslog5424RecordReader(parser, false, fis, 
Syslog5424Reader.createRecordSchema());
 
             final Record record = deserializer.nextRecord();
             assertNotNull(record.getValues());
@@ -134,8 +139,9 @@ public class TestSyslog5424RecordReader {
             Assert.assertEquals(expectedSeverity, 
record.getAsString(SyslogAttributes.SEVERITY.key()));
             Assert.assertEquals(expectedFacility, 
record.getAsString(SyslogAttributes.FACILITY.key()));
             Assert.assertEquals(expectedProcId, 
record.getAsString(Syslog5424Attributes.PROCID.key()));
-            Assert.assertEquals(expectedTimestamp, 
(Timestamp)record.getValue(SyslogAttributes.TIMESTAMP.key()));
+            Assert.assertEquals(expectedTimestamp, 
record.getValue(SyslogAttributes.TIMESTAMP.key()));
             
Assert.assertNull(record.getAsString(Syslog5424Attributes.MESSAGEID.key()));
+            
Assert.assertNull(record.getAsString(Syslog5424Reader.RAW_MESSAGE_NAME));
 
             
Assert.assertNotNull(record.getValue(Syslog5424Attributes.STRUCTURED_BASE.key()));
             Map<String,Object> structured = 
(Map<String,Object>)record.getValue(Syslog5424Attributes.STRUCTURED_BASE.key());
@@ -165,14 +171,13 @@ public class TestSyslog5424RecordReader {
     }
 
     @Test
-    @SuppressWarnings("unchecked")
     public void testParseMultipleLine() throws IOException, 
MalformedRecordException {
         try (final InputStream fis = new FileInputStream(new 
File("src/test/resources/syslog/syslog5424/log_mix.txt"))) {
             StrictSyslog5424Parser parser = new StrictSyslog5424Parser(CHARSET,
                     NilHandlingPolicy.NULL,
                     NifiStructuredDataPolicy.MAP_OF_MAPS,
                     new SimpleKeyProvider());
-            final Syslog5424RecordReader deserializer = new 
Syslog5424RecordReader(parser, fis, Syslog5424Reader.createRecordSchema());
+            final Syslog5424RecordReader deserializer = new 
Syslog5424RecordReader(parser, false, fis, 
Syslog5424Reader.createRecordSchema());
 
             Record record = deserializer.nextRecord();
             int count = 0;
@@ -187,14 +192,13 @@ public class TestSyslog5424RecordReader {
     }
 
     @Test
-    @SuppressWarnings("unchecked")
     public void testParseMultipleLineWithError() throws IOException, 
MalformedRecordException {
         try (final InputStream fis = new FileInputStream(new 
File("src/test/resources/syslog/syslog5424/log_mix_in_error.txt"))) {
             StrictSyslog5424Parser parser = new StrictSyslog5424Parser(CHARSET,
                     NilHandlingPolicy.NULL,
                     NifiStructuredDataPolicy.MAP_OF_MAPS,
                     new SimpleKeyProvider());
-            final Syslog5424RecordReader deserializer = new 
Syslog5424RecordReader(parser, fis, Syslog5424Reader.createRecordSchema());
+            final Syslog5424RecordReader deserializer = new 
Syslog5424RecordReader(parser, false, fis, 
Syslog5424Reader.createRecordSchema());
 
             Record record = deserializer.nextRecord();
             int count = 0;
diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/syslog/TestSyslogRecordReader.java
 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/syslog/TestSyslogRecordReader.java
index fbef467..4687b2a 100644
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/syslog/TestSyslogRecordReader.java
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/test/java/org/apache/nifi/syslog/TestSyslogRecordReader.java
@@ -66,12 +66,15 @@ public class TestSyslogRecordReader {
     private static final String expectedFacility = "1";
     private static final String expectedSeverity = "6";
 
+    private static final String expectedRawMessage = "<14>1 
2014-06-20T09:14:07+00:00 loggregator d0602076-b14a-4c55-852a-981e7afeed38 DEA 
MSG-01 "
+            + "[exampleSDID@32473 iut=\"3\" eventSource=\"Application\" 
eventID=\"1011\"][exampleSDID@32480 iut=\"4\" eventSource=\"Other Application\" 
"
+            + "eventID=\"2022\"] Removing instance";
+
     @Test
-    @SuppressWarnings("unchecked")
     public void testParseSingleLine() throws IOException, 
MalformedRecordException {
         try (final InputStream fis = new 
ByteArrayInputStream(VALID_MESSAGE_RFC3164_0.getBytes(CHARSET))){
             SyslogParser parser = new SyslogParser(CHARSET);
-            final SyslogRecordReader deserializer = new 
SyslogRecordReader(parser, fis, SyslogReader.createRecordSchema());
+            final SyslogRecordReader deserializer = new 
SyslogRecordReader(parser, false, fis, SyslogReader.createRecordSchema());
 
             final Record record = deserializer.nextRecord();
             assertNotNull(record.getValues());
@@ -82,17 +85,17 @@ public class TestSyslogRecordReader {
             Assert.assertEquals(SEV, 
record.getAsString(SyslogAttributes.SEVERITY.key()));
             Assert.assertEquals(FAC, 
record.getAsString(SyslogAttributes.FACILITY.key()));
             Assert.assertEquals(TIME, 
record.getAsString(SyslogAttributes.TIMESTAMP.key()));
+            
Assert.assertNull(record.getAsString(Syslog5424Reader.RAW_MESSAGE_NAME));
             assertNull(deserializer.nextRecord());
             deserializer.close();
         }
     }
 
     @Test
-    @SuppressWarnings("unchecked")
     public void testParseSingleLineIPV6() throws IOException, 
MalformedRecordException {
         try (final InputStream fis = new 
ByteArrayInputStream(VALID_MESSAGE_RFC3164_1.getBytes(CHARSET))){
             SyslogParser parser = new SyslogParser(CHARSET);
-            final SyslogRecordReader deserializer = new 
SyslogRecordReader(parser, fis, SyslogReader.createRecordSchema());
+            final SyslogRecordReader deserializer = new 
SyslogRecordReader(parser, false, fis, SyslogReader.createRecordSchema());
 
             final Record record = deserializer.nextRecord();
             assertNotNull(record.getValues());
@@ -109,11 +112,10 @@ public class TestSyslogRecordReader {
     }
 
     @Test
-    @SuppressWarnings("unchecked")
     public void testParseSingleLineIPV4() throws IOException, 
MalformedRecordException {
         try (final InputStream fis = new 
ByteArrayInputStream(VALID_MESSAGE_RFC3164_2.getBytes(CHARSET))){
             SyslogParser parser = new SyslogParser(CHARSET);
-            final SyslogRecordReader deserializer = new 
SyslogRecordReader(parser, fis, SyslogReader.createRecordSchema());
+            final SyslogRecordReader deserializer = new 
SyslogRecordReader(parser, false, fis, SyslogReader.createRecordSchema());
 
             final Record record = deserializer.nextRecord();
             assertNotNull(record.getValues());
@@ -130,11 +132,10 @@ public class TestSyslogRecordReader {
     }
 
     @Test
-    @SuppressWarnings("unchecked")
     public void testParseMultipleLine() throws IOException, 
MalformedRecordException {
         try (final InputStream fis = new 
ByteArrayInputStream((VALID_MESSAGE_RFC3164_0 + VALID_MESSAGE_RFC3164_1 + 
VALID_MESSAGE_RFC3164_2).getBytes(CHARSET))) {
             SyslogParser parser = new SyslogParser(CHARSET);
-            final SyslogRecordReader deserializer = new 
SyslogRecordReader(parser, fis, SyslogReader.createRecordSchema());
+            final SyslogRecordReader deserializer = new 
SyslogRecordReader(parser, false, fis, SyslogReader.createRecordSchema());
 
             Record record = deserializer.nextRecord();
             int count = 0;
@@ -147,12 +148,12 @@ public class TestSyslogRecordReader {
             deserializer.close();
         }
     }
+
     @Test
-    @SuppressWarnings("unchecked")
     public void testParseMultipleLineWithError() throws IOException, 
MalformedRecordException {
         try (final InputStream fis = new 
ByteArrayInputStream((VALID_MESSAGE_RFC3164_0 + "\n" + VALID_MESSAGE_RFC3164_1 
+ VALID_MESSAGE_RFC3164_2).getBytes(CHARSET))) {
             SyslogParser parser = new SyslogParser(CHARSET);
-            final SyslogRecordReader deserializer = new 
SyslogRecordReader(parser, fis, SyslogReader.createRecordSchema());
+            final SyslogRecordReader deserializer = new 
SyslogRecordReader(parser, false, fis, SyslogReader.createRecordSchema());
 
             Record record = deserializer.nextRecord();
             int count = 0;
@@ -173,11 +174,10 @@ public class TestSyslogRecordReader {
     }
 
     @Test
-    @SuppressWarnings("unchecked")
     public void testParseSingleLine5424() throws IOException, 
MalformedRecordException {
         try (final InputStream fis = new FileInputStream(new 
File("src/test/resources/syslog/syslog5424/log_all.txt"))) {
             SyslogParser parser = new SyslogParser(CHARSET);
-            final SyslogRecordReader deserializer = new 
SyslogRecordReader(parser, fis, SyslogReader.createRecordSchema());
+            final SyslogRecordReader deserializer = new 
SyslogRecordReader(parser, true, fis, SyslogReader.createRecordSchema());
 
             final Record record = deserializer.nextRecord();
             assertNotNull(record.getValues());
@@ -189,6 +189,7 @@ public class TestSyslogRecordReader {
             Assert.assertEquals(expectedSeverity, 
record.getAsString(SyslogAttributes.SEVERITY.key()));
             Assert.assertEquals(expectedFacility, 
record.getAsString(SyslogAttributes.FACILITY.key()));
             Assert.assertEquals(expectedTimestamp, 
record.getAsString(SyslogAttributes.TIMESTAMP.key()));
+            Assert.assertEquals(expectedRawMessage, 
record.getAsString(Syslog5424Reader.RAW_MESSAGE_NAME));
 
             assertNull(deserializer.nextRecord());
             deserializer.close();

Reply via email to