enable file connector tests on j7
diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md
index d3b07f6..f268b9c 100644
--- a/DEVELOPMENT.md
+++ b/DEVELOPMENT.md
@@ -40,19 +40,7 @@
 The Ant and Gradle tooling is no longer functional.
 
 It's recommended that developers of Edgent create a new workspace instead of
-reusing current ant-based Edgent workspaces.
-
-## Renamed from Apache Quarks
-Apache Edgent is the new name and the conversion is complete.
-
-Code changes:
-
-  * Package names have the prefix "org.apache.edgent"
-  * JAR names have the prefix "edgent"
-
-Users of Edgent will need to update their references to the above.
-It's recommended that developers of Edgent create a new workspace instead of
-reusing their Quarks workspace.
+reusing current gradle-based Edgent workspaces.
 
 ## Setup
 
@@ -250,7 +238,7 @@
 
 As an additional quality assurance tool, this build also runs a SonarQube analysis who's results are available at Apaches SonarQube instance at https://builds.apache.org/analysis/overview?id=45154
 
-## Java 7 and Android
+## Java 7 and Android Build Tooling
 
 Java 7 and Android target platforms are supported through use of
 retrolambda to convert Edgent Java 8 JARs to Java 7 JARs. In order
@@ -284,6 +272,8 @@
 See [JAVA_SUPPORT.md](JAVA_SUPPORT.md) for which Edgent capabilities / JARs 
 are supported for each environment.
 
+Also see _Coding Conventions_ below.
+
 ## Test reports
 
 The typical maven build contains two phases of unit-tests.
@@ -477,16 +467,11 @@
 * Don't use wildcard imports
 * Don't deliver code with warnings (e.g., unused imports)
 * All source files, scripts, etc must have the standard Apache License header
-  * run the `rat` build task to check license headers
-*** Per ASF policy, released source bundles must not contain binaries (e.g., .class, .jar)**
+  * the build tooling automatically runs `rat` to check license headers
+    and fails if non-conforming files are encountered.
+* __Per ASF policy, released source bundles must not contain binaries (e.g., .class, .jar)__
 * Per ASF policy, release source and binary bundle LICENSE and NOTICE files must be accurate and up to date, and only bundled 3rd party dependencies whose license meets the ASF licensing requirements can be included. 
 
-## Logging
-
-[SLF4J](http://www.slf4j.org) is used for logging and tracing.
-
-Search the code for org.slf4j.LoggerFactory to see a sample of its use.
-
 ### Use of Java 8 features
 Edgent's primary development environment is Java 8, to take advantage of lambda expressions
 since Edgent's primary API is a functional one.
@@ -494,20 +479,24 @@
 **However**, in order to support Android (and Java 7), other features of Java 8 are not used in the core
 code. Lambdas are translated into Java 7 compatible classes using retrolambda.
 
-Thus:
+Thus for core code and tests that needs to run on Android/Java7:
 
-* For core code that needs to run on Android:
    * The only Java 8 feature that can be used is lambda expressions
-   * JMX functionality cannot be used.
-* For test code that tests core code that runs on Android:
-   * Java 8 lambda expressions can be used
-   * Java 8 default & static interface methods
+   * Java 8 default & static interface methods cannot be used
    * Java 8 new classes and methods cannot be used
+   * Android only: JMX functionality cannot be used
 
-In general, most code is expected to work on Android (but might not yet) with the exception:
+In general, most code is expected to work on Android (but might not yet)
+with the exception of these excluded features:
 
-* Functionality aimed at the developer environment, such as console and development provider
-* Any JMX related code
+   * Functionality aimed at the developer environment, such as console and development provider
+   * Any JMX related code
+
+### Logging
+
+[SLF4J](http://www.slf4j.org) is used for logging and tracing.
+
+Search the code for org.slf4j.LoggerFactory to see a sample of its use.
 
 ## The ASF / GitHub Integration
 
@@ -595,3 +584,16 @@
 in its preview panel.  This situation may be improved by installing 
 the `Markdown text editor` from the Eclipse marketplace and adjusting
 Eclipse's file associations accordingly.
+
+## Renamed from Apache Quarks
+Apache Edgent is the new name and the conversion is complete.
+
+Code changes:
+
+  * Package names have the prefix "org.apache.edgent"
+  * JAR names have the prefix "edgent"
+
+Users of Edgent will need to update their references to the above.
+It's recommended that developers of Edgent create a new workspace instead of
+reusing their Quarks workspace.
+
diff --git a/connectors/file/src/test/java/org/apache/edgent/test/connectors/file/FileStreamsTest.java b/connectors/file/src/test/java/org/apache/edgent/test/connectors/file/FileStreamsTest.java
index 8636888..542a137 100644
--- a/connectors/file/src/test/java/org/apache/edgent/test/connectors/file/FileStreamsTest.java
+++ b/connectors/file/src/test/java/org/apache/edgent/test/connectors/file/FileStreamsTest.java
@@ -32,7 +32,6 @@
 import java.util.List;
 import java.util.Objects;
 import java.util.concurrent.TimeUnit;
-import java.util.stream.Stream;
 
 import org.apache.edgent.connectors.file.FileStreams;
 import org.apache.edgent.function.BiFunction;
@@ -185,17 +184,28 @@
             throw new RuntimeException(e);
         }
     }
+    
+    private String[] toUpperCase(String[] strs) {
+        List<String> ucstrs = new ArrayList<>();
+        for (String s : strs) {
+            ucstrs.add(s.toUpperCase());
+        }
+        return ucstrs.toArray(new String[0]);
+    }
+    private String[] concat(String[] a1, String[] a2) {
+        List<String> res = new ArrayList<>();
+        for (String s : a1) res.add(s);
+        for (String s : a2) res.add(s);
+        return res.toArray(new String[0]);
+    }
 
     @Test
     public void testTextFileReader() throws Exception {
         Topology t = newTopology("testTextFileReader");
         
         String[] lines = getLines();
-        String[] ucLines = Stream.of(lines)
-                .map(line -> line.toUpperCase())
-                .toArray(String[]::new);
-        String[] allLines = Stream.concat(Stream.of(lines), Stream.of(ucLines))
-                .toArray(String[]::new);
+        String[] ucLines = toUpperCase(lines);
+        String[] allLines = concat(lines, ucLines);
         
         Path tempFile1 = FileUtil.createTempFile("test1", "txt", lines);
         Path tempFile2 = FileUtil.createTempFile("test2", "txt", ucLines);
@@ -218,11 +228,8 @@
         Topology t = newTopology("testTextFileReaderProblemPaths");
         
         String[] lines = getLines();
-        String[] ucLines = Stream.of(lines)
-                .map(line -> line.toUpperCase())
-                .toArray(String[]::new);
-        String[] allLines = Stream.concat(Stream.of(lines), Stream.of(ucLines))
-                .toArray(String[]::new);
+        String[] ucLines = toUpperCase(lines);
+        String[] allLines = concat(lines, ucLines);
         
         Path tempFile1 = FileUtil.createTempFile("test1", "txt", lines);
         Path tempFile2 = FileUtil.createTempFile("test2", "txt", ucLines);
@@ -250,9 +257,7 @@
         Topology t = newTopology("testTextFileReaderPrePost");
         
         String[] lines = getLines();
-        String[] ucLines = Stream.of(lines)
-                .map(line -> line.toUpperCase())
-                .toArray(String[]::new);
+        String[] ucLines = toUpperCase(lines);
         
         Path tempFile1 = FileUtil.createTempFile("test1", "txt", lines);
         Path tempFile2 = FileUtil.createTempFile("test2", "txt", ucLines);
diff --git a/platforms/java7/connectors/file/pom.xml b/platforms/java7/connectors/file/pom.xml
index 496d713..3496bd7 100644
--- a/platforms/java7/connectors/file/pom.xml
+++ b/platforms/java7/connectors/file/pom.xml
@@ -62,8 +62,7 @@
                   <version>${project.version}</version>
                   <classifier>tests</classifier>
                   <outputDirectory>${project.build.directory}/test-classes</outputDirectory>
-                  <!-- Exclude FileStreamsTest as Stream class is not available in Java7 -->
-                  <excludes>META-INF/**,org/apache/edgent/test/connectors/file/FileStreams*Test.class,</excludes>
+                  <excludes>META-INF/**</excludes>
                 </artifactItem>
               </artifactItems>
             </configuration>
diff --git a/platforms/java7/connectors/pom.xml b/platforms/java7/connectors/pom.xml
index 637bb79..edad58f 100644
--- a/platforms/java7/connectors/pom.xml
+++ b/platforms/java7/connectors/pom.xml
@@ -36,15 +36,12 @@
     <module>command</module>
     <module>common</module>
     <module>csv</module>
-    <!-- This makes use of Stream in the tests, excluding some tests. -->
     <module>file</module>
     <module>http</module>
     <module>iot</module>
     <module>iotp</module>
-    <!-- This makes use of Predicates in the tests, excluding tests. -->
     <module>jdbc</module>
     <module>kafka</module>
-    <!-- This makes use of List.stream in the tests, excluding tests. -->
     <module>mqtt</module>
     <module>pubsub</module>
     <module>serial</module>