Leon 7 jaren geleden
bovenliggende
commit
f13e1369f5
24 gewijzigde bestanden met toevoegingen van 123705 en 123748 verwijderingen
  1. 185
    273
      .idea/workspace.xml
  2. 1
    7
      src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java
  3. 2
    1
      src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java
  4. 17
    1
      src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java
  5. 1
    1
      src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java
  6. 19
    3
      src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java
  7. 1
    1
      src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java
  8. 1
    1
      src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java
  9. 1
    0
      src/main/java/com/zipcodewilmington/streams/tools/ReflectionUtils.java
  10. 5
    1
      src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java
  11. 31
    1
      src/test/java/com/zipcodewilmington/streams/anthropoid/TestPerson.java
  12. 1
    18
      src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.java
  13. 123439
    123439
      target/PersonWarehouse.leonlog
  14. BIN
      target/classes/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.class
  15. BIN
      target/classes/com/zipcodewilmington/streams/conversions/ArrayConverter.class
  16. BIN
      target/classes/com/zipcodewilmington/streams/conversions/ConversionAgent.class
  17. BIN
      target/classes/com/zipcodewilmington/streams/conversions/ListConverter.class
  18. BIN
      target/classes/com/zipcodewilmington/streams/conversions/StreamConverter.class
  19. BIN
      target/classes/com/zipcodewilmington/streams/tools/ReflectionUtils$1.class
  20. BIN
      target/classes/com/zipcodewilmington/streams/tools/ReflectionUtils.class
  21. BIN
      target/classes/com/zipcodewilmington/streams/tools/StringUtils.class
  22. 1
    1
      target/global.leonlog
  23. BIN
      target/test-classes/com/zipcodewilmington/streams/anthropoid/TestPerson.class
  24. BIN
      target/test-classes/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.class

+ 185
- 273
.idea/workspace.xml Bestand weergeven

@@ -2,40 +2,28 @@
2 2
 <project version="4">
3 3
   <component name="ChangeListManager">
4 4
     <list default="true" id="30b7e4a0-b899-49c3-865c-0311dfadae62" name="Default" comment="">
5
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java" />
6
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/DateUtils.java" />
7
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/logging/LoggerHandler.java" />
8
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/logging/LoggerWarehouse.java" />
9
-      <change type="DELETED" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/anthropoid/Person$PersonProperty.class" afterPath="" />
10
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/StreamFilter.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/StreamFilter.class" />
11
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/StreamMap.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/StreamMap.class" />
12
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/anthropoid/Person.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/anthropoid/Person.class" />
13
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/anthropoid/PersonFactory.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/anthropoid/PersonFactory.class" />
5
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.class" />
6
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/conversions/ArrayConverter.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/conversions/ArrayConverter.class" />
14 7
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/conversions/ConversionAgent.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/conversions/ConversionAgent.class" />
8
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/conversions/ListConverter.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/conversions/ListConverter.class" />
15 9
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/conversions/StreamConverter.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/conversions/StreamConverter.class" />
10
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/tools/ReflectionUtils$1.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/tools/ReflectionUtils$1.class" />
11
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/tools/ReflectionUtils.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/tools/ReflectionUtils.class" />
16 12
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/tools/StringUtils.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/tools/StringUtils.class" />
17
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/TestStreamFilter.class" afterPath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/TestStreamFilter.class" />
18
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/TestStreamMap.class" afterPath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/TestStreamMap.class" />
19
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/TestSuiteFullRegression.class" afterPath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/TestSuiteFullRegression.class" />
20
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/anthropoid/TestPerson.class" afterPath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/anthropoid/TestPerson.class" />
21
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.class" afterPath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.class" />
22
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/conversions/TestConversionAgent.class" afterPath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/conversions/TestConversionAgent.class" />
23
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/conversions/TestConverterArray.class" afterPath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/conversions/TestConverterArray.class" />
24
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/conversions/TestConverterList.class" afterPath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/conversions/TestConverterList.class" />
25
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/conversions/TestConverterStream.class" afterPath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/conversions/TestConverterStream.class" />
26
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/conversions/TestSuiteConversionRegression.class" afterPath="$PROJECT_DIR$/target/test-classes/com/zipcodewilmington/streams/conversions/TestSuiteConversionRegression.class" />
27 13
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
28
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamFilter.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamFilter.java" />
29
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamMap.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamMap.java" />
30 14
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java" />
31 15
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java" />
16
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java" />
17
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java" />
32 18
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java" />
19
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java" />
33 20
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java" />
21
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/ReflectionUtils.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/ReflectionUtils.java" />
34 22
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java" />
35
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestStreamFilter.java" afterPath="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestStreamFilter.java" />
36 23
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPerson.java" afterPath="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPerson.java" />
37 24
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.java" afterPath="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.java" />
38
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/conversions/TestConversionAgent.java" afterPath="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/conversions/TestConversionAgent.java" />
25
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/PersonWarehouse.leonlog" afterPath="$PROJECT_DIR$/target/PersonWarehouse.leonlog" />
26
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/global.leonlog" afterPath="$PROJECT_DIR$/target/global.leonlog" />
39 27
     </list>
40 28
     <ignored path="$PROJECT_DIR$/out/" />
41 29
     <ignored path="$PROJECT_DIR$/target/" />
@@ -50,89 +38,74 @@
50 38
   <component name="ExportTestResults" outputFolder="$PROJECT_DIR$" openResultsInEditor="true" userTempatePath="" />
51 39
   <component name="FileEditorManager">
52 40
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
53
-      <file leaf-file-name="StreamFilter.java" pinned="false" current-in-tab="false">
41
+      <file leaf-file-name="StreamFilter.java" pinned="false" current-in-tab="true">
54 42
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamFilter.java">
55 43
           <provider selected="true" editor-type-id="text-editor">
56
-            <state relative-caret-position="309">
57
-              <caret line="90" column="101" lean-forward="true" selection-start-line="90" selection-start-column="101" selection-end-line="90" selection-end-column="101" />
58
-              <folding>
59
-                <element signature="e#690#691#0" expanded="true" />
60
-                <element signature="e#788#789#0" expanded="true" />
61
-              </folding>
44
+            <state relative-caret-position="-514">
45
+              <caret line="36" column="10" lean-forward="false" selection-start-line="36" selection-start-column="10" selection-end-line="36" selection-end-column="10" />
46
+              <folding />
62 47
             </state>
63 48
           </provider>
64 49
         </entry>
65 50
       </file>
66
-      <file leaf-file-name="TestStreamFilter.java" pinned="false" current-in-tab="false">
67
-        <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestStreamFilter.java">
51
+      <file leaf-file-name="PersonFactory.java" pinned="false" current-in-tab="false">
52
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java">
68 53
           <provider selected="true" editor-type-id="text-editor">
69
-            <state relative-caret-position="180">
70
-              <caret line="21" column="33" lean-forward="true" selection-start-line="21" selection-start-column="33" selection-end-line="21" selection-end-column="33" />
71
-              <folding>
72
-                <element signature="e#700#701#0" expanded="true" />
73
-                <element signature="e#758#759#0" expanded="true" />
74
-                <element signature="e#807#808#0" expanded="true" />
75
-                <element signature="e#863#864#0" expanded="true" />
76
-                <element signature="e#915#916#0" expanded="true" />
77
-                <element signature="e#974#975#0" expanded="true" />
78
-                <element signature="e#1024#1025#0" expanded="true" />
79
-                <element signature="e#1081#1082#0" expanded="true" />
80
-                <element signature="e#1133#1134#0" expanded="true" />
81
-                <element signature="e#1183#1184#0" expanded="true" />
82
-              </folding>
54
+            <state relative-caret-position="54">
55
+              <caret line="36" column="18" lean-forward="true" selection-start-line="36" selection-start-column="18" selection-end-line="36" selection-end-column="18" />
56
+              <folding />
83 57
             </state>
84 58
           </provider>
85 59
         </entry>
86 60
       </file>
87
-      <file leaf-file-name="StringUtils.java" pinned="false" current-in-tab="false">
88
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java">
61
+      <file leaf-file-name="PersonWarehouse.java" pinned="false" current-in-tab="false">
62
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java">
89 63
           <provider selected="true" editor-type-id="text-editor">
90
-            <state relative-caret-position="690">
91
-              <caret line="50" column="5" lean-forward="true" selection-start-line="50" selection-start-column="5" selection-end-line="50" selection-end-column="5" />
64
+            <state relative-caret-position="-18">
65
+              <caret line="31" column="46" lean-forward="true" selection-start-line="31" selection-start-column="46" selection-end-line="31" selection-end-column="46" />
92 66
               <folding />
93 67
             </state>
94 68
           </provider>
95 69
         </entry>
96 70
       </file>
97
-      <file leaf-file-name="PersonFactory.java" pinned="false" current-in-tab="false">
98
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java">
71
+      <file leaf-file-name="LoggerHandler.java" pinned="false" current-in-tab="false">
72
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/logging/LoggerHandler.java">
99 73
           <provider selected="true" editor-type-id="text-editor">
100 74
             <state relative-caret-position="255">
101
-              <caret line="23" column="90" lean-forward="false" selection-start-line="23" selection-start-column="90" selection-end-line="23" selection-end-column="90" />
75
+              <caret line="57" column="74" lean-forward="true" selection-start-line="57" selection-start-column="74" selection-end-line="57" selection-end-column="74" />
102 76
               <folding />
103 77
             </state>
104 78
           </provider>
105 79
         </entry>
106 80
       </file>
107
-      <file leaf-file-name="RandomUtils.java" pinned="false" current-in-tab="false">
108
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/RandomUtils.java">
81
+      <file leaf-file-name="ArrayConverter.java" pinned="false" current-in-tab="false">
82
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java">
109 83
           <provider selected="true" editor-type-id="text-editor">
110
-            <state relative-caret-position="120">
111
-              <caret line="9" column="19" lean-forward="false" selection-start-line="9" selection-start-column="19" selection-end-line="9" selection-end-column="19" />
84
+            <state relative-caret-position="240">
85
+              <caret line="23" column="6" lean-forward="false" selection-start-line="23" selection-start-column="6" selection-end-line="23" selection-end-column="6" />
112 86
               <folding />
113 87
             </state>
114 88
           </provider>
115 89
         </entry>
116 90
       </file>
117
-      <file leaf-file-name="Person.java" pinned="false" current-in-tab="false">
118
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java">
91
+      <file leaf-file-name="ConversionAgent.java" pinned="false" current-in-tab="false">
92
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java">
119 93
           <provider selected="true" editor-type-id="text-editor">
120
-            <state relative-caret-position="308">
121
-              <caret line="29" column="37" lean-forward="true" selection-start-line="29" selection-start-column="37" selection-end-line="29" selection-end-column="37" />
122
-              <folding>
123
-                <element signature="imports" expanded="true" />
124
-              </folding>
94
+            <state relative-caret-position="275">
95
+              <caret line="31" column="43" lean-forward="true" selection-start-line="31" selection-start-column="43" selection-end-line="31" selection-end-column="43" />
96
+              <folding />
125 97
             </state>
126 98
           </provider>
127 99
         </entry>
128 100
       </file>
129
-      <file leaf-file-name="StreamMap.java" pinned="false" current-in-tab="false">
130
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamMap.java">
101
+      <file leaf-file-name="ListConverter.java" pinned="false" current-in-tab="false">
102
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java">
131 103
           <provider selected="true" editor-type-id="text-editor">
132
-            <state relative-caret-position="360">
133
-              <caret line="26" column="69" lean-forward="false" selection-start-line="26" selection-start-column="69" selection-end-line="26" selection-end-column="69" />
104
+            <state relative-caret-position="293">
105
+              <caret line="32" column="6" lean-forward="false" selection-start-line="32" selection-start-column="6" selection-end-line="32" selection-end-column="6" />
134 106
               <folding>
135
-                <element signature="imports" expanded="true" />
107
+                <element signature="e#717#718#0" expanded="true" />
108
+                <element signature="e#759#760#0" expanded="true" />
136 109
               </folding>
137 110
             </state>
138 111
           </provider>
@@ -141,28 +114,28 @@
141 114
       <file leaf-file-name="StreamConverter.java" pinned="false" current-in-tab="false">
142 115
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java">
143 116
           <provider selected="true" editor-type-id="text-editor">
144
-            <state relative-caret-position="270">
145
-              <caret line="23" column="5" lean-forward="false" selection-start-line="23" selection-start-column="5" selection-end-line="23" selection-end-column="5" />
117
+            <state relative-caret-position="296">
118
+              <caret line="30" column="7" lean-forward="false" selection-start-line="30" selection-start-column="7" selection-end-line="30" selection-end-column="7" />
146 119
               <folding />
147 120
             </state>
148 121
           </provider>
149 122
         </entry>
150 123
       </file>
151
-      <file leaf-file-name="ConversionAgent.java" pinned="false" current-in-tab="true">
152
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java">
124
+      <file leaf-file-name="StringUtils.java" pinned="false" current-in-tab="false">
125
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java">
153 126
           <provider selected="true" editor-type-id="text-editor">
154
-            <state relative-caret-position="90">
155
-              <caret line="11" column="85" lean-forward="false" selection-start-line="11" selection-start-column="85" selection-end-line="11" selection-end-column="85" />
127
+            <state relative-caret-position="567">
128
+              <caret line="51" column="7" lean-forward="true" selection-start-line="51" selection-start-column="7" selection-end-line="51" selection-end-column="7" />
156 129
               <folding />
157 130
             </state>
158 131
           </provider>
159 132
         </entry>
160 133
       </file>
161
-      <file leaf-file-name="ListConverter.java" pinned="false" current-in-tab="false">
162
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java">
134
+      <file leaf-file-name="LoggerWarehouse.java" pinned="false" current-in-tab="false">
135
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/logging/LoggerWarehouse.java">
163 136
           <provider selected="true" editor-type-id="text-editor">
164
-            <state relative-caret-position="345">
165
-              <caret line="33" column="31" lean-forward="true" selection-start-line="33" selection-start-column="31" selection-end-line="33" selection-end-column="31" />
137
+            <state relative-caret-position="270">
138
+              <caret line="19" column="98" lean-forward="false" selection-start-line="19" selection-start-column="98" selection-end-line="19" selection-end-column="98" />
166 139
               <folding />
167 140
             </state>
168 141
           </provider>
@@ -209,8 +182,6 @@
209 182
   <component name="IdeDocumentHistory">
210 183
     <option name="CHANGED_PATHS">
211 184
       <list>
212
-        <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/lambdas/exercises/TestConversionAgents.java" />
213
-        <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/lambdas/exercises/TestStreamConversion.java" />
214 185
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/lambdas/exercises/TestListConversion.java" />
215 186
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/lambdas/exercises/TestArrayConversion.java" />
216 187
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/lambdas/exercises/TestConversionArray.java" />
@@ -234,9 +205,7 @@
234 205
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestPersonFactory.java" />
235 206
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/DemoStreamFilter.java" />
236 207
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/exercises/ConversionAgent.java" />
237
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java" />
238 208
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/RandomUtils.java" />
239
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/ReflectionUtils.java" />
240 209
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/conversions/TestConverterArray.java" />
241 210
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/conversions/TestConverterList.java" />
242 211
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/conversions/TestConverterStream.java" />
@@ -245,29 +214,32 @@
245 214
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestSuiteFullRegression.java" />
246 215
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/logging/LoggerWarehouse.java" />
247 216
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/conversions/TestConversionAgent.java" />
248
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java" />
249 217
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestConstants.java" />
250 218
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/logging/LoggerHandler.java" />
251
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java" />
252 219
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamMap.java" />
253 220
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWorld.java" />
221
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/DateUtils.java" />
222
+        <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestStreamFilter.java" />
223
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamFilter.java" />
224
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/PersonConversionAgent.java" />
225
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java" />
226
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java" />
227
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java" />
228
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/ReflectionUtils.java" />
254 229
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPerson.java" />
255 230
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.java" />
231
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java" />
232
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java" />
256 233
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java" />
257
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/DateUtils.java" />
258 234
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java" />
259
-        <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestStreamFilter.java" />
260
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java" />
261
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamFilter.java" />
262 235
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java" />
263 236
       </list>
264 237
     </option>
265 238
   </component>
266 239
   <component name="ProjectFrameBounds">
267
-    <option name="x" value="482" />
268
-    <option name="y" value="74" />
240
+    <option name="y" value="23" />
269 241
     <option name="width" value="1440" />
270
-    <option name="height" value="877" />
242
+    <option name="height" value="873" />
271 243
   </component>
272 244
   <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
273 245
   <component name="ProjectView">
@@ -470,40 +442,6 @@
470 442
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
471 443
             </PATH_ELEMENT>
472 444
             <PATH_ELEMENT>
473
-              <option name="myItemId" value="tools" />
474
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
475
-            </PATH_ELEMENT>
476
-            <PATH_ELEMENT>
477
-              <option name="myItemId" value="logging" />
478
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
479
-            </PATH_ELEMENT>
480
-          </PATH>
481
-          <PATH>
482
-            <PATH_ELEMENT>
483
-              <option name="myItemId" value="looptest" />
484
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
485
-            </PATH_ELEMENT>
486
-            <PATH_ELEMENT>
487
-              <option name="myItemId" value="looptest" />
488
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
489
-            </PATH_ELEMENT>
490
-            <PATH_ELEMENT>
491
-              <option name="myItemId" value="src" />
492
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
493
-            </PATH_ELEMENT>
494
-            <PATH_ELEMENT>
495
-              <option name="myItemId" value="main" />
496
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
497
-            </PATH_ELEMENT>
498
-            <PATH_ELEMENT>
499
-              <option name="myItemId" value="java" />
500
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
501
-            </PATH_ELEMENT>
502
-            <PATH_ELEMENT>
503
-              <option name="myItemId" value="streams" />
504
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
505
-            </PATH_ELEMENT>
506
-            <PATH_ELEMENT>
507 445
               <option name="myItemId" value="conversions" />
508 446
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
509 447
             </PATH_ELEMENT>
@@ -547,7 +485,7 @@
547 485
     <property name="last_opened_file_path" value="$PROJECT_DIR$" />
548 486
     <property name="project.structure.last.edited" value="Modules" />
549 487
     <property name="project.structure.proportion" value="0.0" />
550
-    <property name="project.structure.side.proportion" value="0.0" />
488
+    <property name="project.structure.side.proportion" value="0.2" />
551 489
   </component>
552 490
   <component name="RecentsManager">
553 491
     <key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
@@ -939,34 +877,34 @@
939 877
     <servers />
940 878
   </component>
941 879
   <component name="TestHistory">
942
-    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 19m 55s.xml">
880
+    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 22m 48s.xml">
943 881
       <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
944 882
     </history-entry>
945
-    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 20m 14s.xml">
883
+    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 22m 56s.xml">
946 884
       <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
947 885
     </history-entry>
948
-    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 21m 59s.xml">
886
+    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 23m 46s.xml">
949 887
       <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
950 888
     </history-entry>
951
-    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 22m 29s.xml">
889
+    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 23m 53s.xml">
952 890
       <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
953 891
     </history-entry>
954
-    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 22m 48s.xml">
892
+    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 23m 58s.xml">
955 893
       <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
956 894
     </history-entry>
957
-    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 22m 56s.xml">
895
+    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 24m 21s.xml">
958 896
       <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
959 897
     </history-entry>
960
-    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 23m 46s.xml">
898
+    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 19h 08m 54s.xml">
961 899
       <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
962 900
     </history-entry>
963
-    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 23m 53s.xml">
901
+    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 19h 10m 18s.xml">
964 902
       <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
965 903
     </history-entry>
966
-    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 23m 58s.xml">
904
+    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 19h 44m 08s.xml">
967 905
       <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
968 906
     </history-entry>
969
-    <history-entry file="TestSuiteFullRegression - 2017.05.30 at 16h 24m 21s.xml">
907
+    <history-entry file="TestSuiteFullRegression - 2017.05.31 at 07h 13m 04s.xml">
970 908
       <configuration name="TestSuiteFullRegression" configurationId="JUnit" />
971 909
     </history-entry>
972 910
   </component>
@@ -980,25 +918,26 @@
980 918
     </todo-panel>
981 919
   </component>
982 920
   <component name="ToolWindowManager">
983
-    <frame x="482" y="74" width="1440" height="877" extended-state="0" />
921
+    <frame x="0" y="23" width="1440" height="873" extended-state="6" />
984 922
     <editor active="true" />
985 923
     <layout>
986 924
       <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
987
-      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32882413" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
925
+      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3277849" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
988 926
       <window_info id="Nl-Palette" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
989
-      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3298647" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
927
+      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32866243" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
990 928
       <window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
991 929
       <window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
992 930
       <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
993 931
       <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
994 932
       <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
995 933
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
996
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.31464967" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
934
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3149808" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
997 935
       <window_info id="Properties" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
998
-      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.2663892" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
936
+      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.2637644" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
999 937
       <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
1000 938
       <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
1001 939
       <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24105866" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
940
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3298647" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
1002 941
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
1003 942
       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
1004 943
       <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
@@ -1010,7 +949,6 @@
1010 949
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
1011 950
       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
1012 951
       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
1013
-      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3298647" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
1014 952
     </layout>
1015 953
   </component>
1016 954
   <component name="VcsContentAnnotationSettings">
@@ -1018,7 +956,7 @@
1018 956
   </component>
1019 957
   <component name="XDebuggerManager">
1020 958
     <breakpoint-manager>
1021
-      <option name="time" value="9" />
959
+      <option name="time" value="10" />
1022 960
     </breakpoint-manager>
1023 961
     <watches-manager />
1024 962
   </component>
@@ -1027,7 +965,6 @@
1027 965
     <option name="FILTER_TARGETS" value="false" />
1028 966
   </component>
1029 967
   <component name="editorHistoryManager">
1030
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcode/Person.kt" />
1031 968
     <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcode.java" />
1032 969
     <entry file="file://$PROJECT_DIR$/pom.xml">
1033 970
       <provider selected="true" editor-type-id="text-editor">
@@ -1049,6 +986,7 @@
1049 986
       <provider selected="true" editor-type-id="text-editor">
1050 987
         <state relative-caret-position="312">
1051 988
           <caret line="70" column="53" lean-forward="false" selection-start-line="70" selection-start-column="53" selection-end-line="70" selection-end-column="53" />
989
+          <folding />
1052 990
         </state>
1053 991
       </provider>
1054 992
     </entry>
@@ -1072,13 +1010,6 @@
1072 1010
       <provider selected="true" editor-type-id="text-editor">
1073 1011
         <state relative-caret-position="312">
1074 1012
           <caret line="60" column="59" lean-forward="true" selection-start-line="60" selection-start-column="59" selection-end-line="60" selection-end-column="59" />
1075
-        </state>
1076
-      </provider>
1077
-    </entry>
1078
-    <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/src.zip!/java/util/function/Predicate.java">
1079
-      <provider selected="true" editor-type-id="text-editor">
1080
-        <state relative-caret-position="312">
1081
-          <caret line="48" column="12" lean-forward="false" selection-start-line="48" selection-start-column="12" selection-end-line="48" selection-end-column="12" />
1082 1013
           <folding />
1083 1014
         </state>
1084 1015
       </provider>
@@ -1122,13 +1053,6 @@
1122 1053
         </state>
1123 1054
       </provider>
1124 1055
     </entry>
1125
-    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestSuiteFullRegression.java">
1126
-      <provider selected="true" editor-type-id="text-editor">
1127
-        <state relative-caret-position="240">
1128
-          <caret line="19" column="25" lean-forward="false" selection-start-line="19" selection-start-column="25" selection-end-line="19" selection-end-column="25" />
1129
-        </state>
1130
-      </provider>
1131
-    </entry>
1132 1056
     <entry file="file://$PROJECT_DIR$/target/index.html">
1133 1057
       <provider selected="true" editor-type-id="text-editor">
1134 1058
         <state relative-caret-position="0">
@@ -1140,6 +1064,7 @@
1140 1064
       <provider selected="true" editor-type-id="text-editor">
1141 1065
         <state relative-caret-position="90">
1142 1066
           <caret line="6" column="69" lean-forward="false" selection-start-line="6" selection-start-column="69" selection-end-line="6" selection-end-column="69" />
1067
+          <folding />
1143 1068
         </state>
1144 1069
       </provider>
1145 1070
     </entry>
@@ -1147,6 +1072,7 @@
1147 1072
       <provider selected="true" editor-type-id="text-editor">
1148 1073
         <state relative-caret-position="90">
1149 1074
           <caret line="6" column="69" lean-forward="false" selection-start-line="6" selection-start-column="69" selection-end-line="6" selection-end-column="69" />
1075
+          <folding />
1150 1076
         </state>
1151 1077
       </provider>
1152 1078
     </entry>
@@ -1173,14 +1099,6 @@
1173 1099
         </state>
1174 1100
       </provider>
1175 1101
     </entry>
1176
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/ReflectionUtils.java">
1177
-      <provider selected="true" editor-type-id="text-editor">
1178
-        <state relative-caret-position="195">
1179
-          <caret line="17" column="0" lean-forward="true" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
1180
-          <folding />
1181
-        </state>
1182
-      </provider>
1183
-    </entry>
1184 1102
     <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/src.zip!/java/time/LocalDate.java">
1185 1103
       <provider selected="true" editor-type-id="text-editor">
1186 1104
         <state relative-caret-position="415">
@@ -1188,13 +1106,6 @@
1188 1106
         </state>
1189 1107
       </provider>
1190 1108
     </entry>
1191
-    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestConstants.java">
1192
-      <provider selected="true" editor-type-id="text-editor">
1193
-        <state relative-caret-position="105">
1194
-          <caret line="7" column="26" lean-forward="true" selection-start-line="7" selection-start-column="26" selection-end-line="7" selection-end-column="26" />
1195
-        </state>
1196
-      </provider>
1197
-    </entry>
1198 1109
     <entry file="file://$PROJECT_DIR$/target/global.leonlog.1">
1199 1110
       <provider selected="true" editor-type-id="LargeFileEditor">
1200 1111
         <state relative-caret-position="146">
@@ -1224,18 +1135,43 @@
1224 1135
     </entry>
1225 1136
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWorld.java" />
1226 1137
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouseWarehouse.java" />
1227
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java">
1138
+    <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/src.zip!/java/util/function/Predicate.java">
1228 1139
       <provider selected="true" editor-type-id="text-editor">
1229
-        <state relative-caret-position="195">
1230
-          <caret line="20" column="71" lean-forward="true" selection-start-line="20" selection-start-column="71" selection-end-line="20" selection-end-column="71" />
1140
+        <state relative-caret-position="126">
1141
+          <caret line="36" column="13" lean-forward="true" selection-start-line="36" selection-start-column="13" selection-end-line="36" selection-end-column="13" />
1231 1142
           <folding />
1232 1143
         </state>
1233 1144
       </provider>
1234 1145
     </entry>
1235
-    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPerson.java">
1146
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/PersonConversionAgent.java">
1147
+      <provider selected="true" editor-type-id="text-editor">
1148
+        <state relative-caret-position="150">
1149
+          <caret line="10" column="5" lean-forward="true" selection-start-line="10" selection-start-column="5" selection-end-line="10" selection-end-column="5" />
1150
+          <folding />
1151
+        </state>
1152
+      </provider>
1153
+    </entry>
1154
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/DateUtils.java">
1155
+      <provider selected="true" editor-type-id="text-editor">
1156
+        <state relative-caret-position="97">
1157
+          <caret line="24" column="5" lean-forward="false" selection-start-line="24" selection-start-column="5" selection-end-line="24" selection-end-column="5" />
1158
+          <folding />
1159
+        </state>
1160
+      </provider>
1161
+    </entry>
1162
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/RandomUtils.java">
1236 1163
       <provider selected="true" editor-type-id="text-editor">
1237
-        <state relative-caret-position="120">
1238
-          <caret line="8" column="1" lean-forward="true" selection-start-line="8" selection-start-column="1" selection-end-line="8" selection-end-column="1" />
1164
+        <state relative-caret-position="275">
1165
+          <caret line="60" column="9" lean-forward="true" selection-start-line="60" selection-start-column="9" selection-end-line="60" selection-end-column="9" />
1166
+          <folding />
1167
+        </state>
1168
+      </provider>
1169
+    </entry>
1170
+    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestSuiteFullRegression.java">
1171
+      <provider selected="true" editor-type-id="text-editor">
1172
+        <state relative-caret-position="240">
1173
+          <caret line="19" column="25" lean-forward="false" selection-start-line="19" selection-start-column="25" selection-end-line="19" selection-end-column="25" />
1174
+          <folding />
1239 1175
         </state>
1240 1176
       </provider>
1241 1177
     </entry>
@@ -1247,170 +1183,146 @@
1247 1183
         </state>
1248 1184
       </provider>
1249 1185
     </entry>
1250
-    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.java">
1186
+    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestStreamFilter.java">
1251 1187
       <provider selected="true" editor-type-id="text-editor">
1252
-        <state relative-caret-position="360">
1253
-          <caret line="36" column="65" lean-forward="false" selection-start-line="36" selection-start-column="65" selection-end-line="36" selection-end-column="65" />
1188
+        <state relative-caret-position="180">
1189
+          <caret line="21" column="33" lean-forward="true" selection-start-line="21" selection-start-column="33" selection-end-line="21" selection-end-column="33" />
1254 1190
           <folding>
1255
-            <element signature="e#975#976#0" expanded="false" />
1256
-            <element signature="e#1052#1053#0" expanded="false" />
1191
+            <element signature="e#600#601#0" expanded="false" />
1192
+            <element signature="e#649#650#0" expanded="false" />
1257 1193
           </folding>
1258 1194
         </state>
1259 1195
       </provider>
1260 1196
     </entry>
1261
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/logging/LoggerHandler.java">
1197
+    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestConstants.java">
1262 1198
       <provider selected="true" editor-type-id="text-editor">
1263
-        <state relative-caret-position="915">
1264
-          <caret line="87" column="35" lean-forward="false" selection-start-line="87" selection-start-column="35" selection-end-line="87" selection-end-column="35" />
1265
-          <folding>
1266
-            <element signature="imports" expanded="false" />
1267
-            <element signature="e#459#460#0" expanded="false" />
1268
-            <element signature="e#498#499#0" expanded="false" />
1269
-            <element signature="e#545#546#0" expanded="false" />
1270
-            <element signature="e#595#596#0" expanded="false" />
1271
-            <element signature="e#1082#1083#0" expanded="false" />
1272
-            <element signature="e#1119#1120#0" expanded="false" />
1273
-            <element signature="e#1169#1170#0" expanded="false" />
1274
-            <element signature="e#1203#1204#0" expanded="false" />
1275
-            <element signature="e#1253#1254#0" expanded="false" />
1276
-            <element signature="e#1305#1306#0" expanded="false" />
1277
-            <element signature="e#1356#1357#0" expanded="false" />
1278
-            <element signature="e#1392#1393#0" expanded="false" />
1279
-            <element signature="e#1688#1689#0" expanded="false" />
1280
-            <element signature="e#1726#1727#0" expanded="false" />
1281
-            <element signature="e#1762#1763#0" expanded="false" />
1282
-            <element signature="e#1805#1806#0" expanded="false" />
1283
-            <element signature="e#1842#1843#0" expanded="false" />
1284
-            <element signature="e#1886#1887#0" expanded="false" />
1285
-            <element signature="e#1930#1931#0" expanded="false" />
1286
-            <element signature="e#1990#1991#0" expanded="false" />
1287
-          </folding>
1199
+        <state relative-caret-position="105">
1200
+          <caret line="7" column="26" lean-forward="true" selection-start-line="7" selection-start-column="26" selection-end-line="7" selection-end-column="26" />
1201
+          <folding />
1288 1202
         </state>
1289 1203
       </provider>
1290 1204
     </entry>
1291
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java">
1205
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamMap.java">
1292 1206
       <provider selected="true" editor-type-id="text-editor">
1293
-        <state relative-caret-position="180">
1294
-          <caret line="19" column="49" lean-forward="false" selection-start-line="19" selection-start-column="49" selection-end-line="19" selection-end-column="49" />
1295
-          <folding>
1296
-            <element signature="e#1822#1823#0" expanded="false" />
1297
-            <element signature="e#1878#1879#0" expanded="false" />
1298
-          </folding>
1207
+        <state relative-caret-position="270">
1208
+          <caret line="26" column="69" lean-forward="false" selection-start-line="26" selection-start-column="69" selection-end-line="26" selection-end-column="69" />
1209
+          <folding />
1299 1210
         </state>
1300 1211
       </provider>
1301 1212
     </entry>
1302
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/DateUtils.java">
1213
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java">
1303 1214
       <provider selected="true" editor-type-id="text-editor">
1304
-        <state relative-caret-position="345">
1305
-          <caret line="24" column="5" lean-forward="false" selection-start-line="24" selection-start-column="5" selection-end-line="24" selection-end-column="5" />
1215
+        <state relative-caret-position="225">
1216
+          <caret line="19" column="0" lean-forward="false" selection-start-line="19" selection-start-column="0" selection-end-line="19" selection-end-column="0" />
1306 1217
           <folding />
1307 1218
         </state>
1308 1219
       </provider>
1309 1220
     </entry>
1310
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/logging/LoggerWarehouse.java">
1221
+    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPerson.java">
1311 1222
       <provider selected="true" editor-type-id="text-editor">
1312
-        <state relative-caret-position="270">
1313
-          <caret line="19" column="98" lean-forward="false" selection-start-line="19" selection-start-column="98" selection-end-line="19" selection-end-column="98" />
1223
+        <state relative-caret-position="265">
1224
+          <caret line="25" column="12" lean-forward="false" selection-start-line="25" selection-start-column="12" selection-end-line="25" selection-end-column="12" />
1314 1225
           <folding>
1315 1226
             <element signature="imports" expanded="false" />
1316 1227
           </folding>
1317 1228
         </state>
1318 1229
       </provider>
1319 1230
     </entry>
1320
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamMap.java">
1231
+    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.java">
1321 1232
       <provider selected="true" editor-type-id="text-editor">
1322
-        <state relative-caret-position="360">
1323
-          <caret line="26" column="69" lean-forward="false" selection-start-line="26" selection-start-column="69" selection-end-line="26" selection-end-column="69" />
1324
-          <folding>
1325
-            <element signature="imports" expanded="true" />
1326
-          </folding>
1233
+        <state relative-caret-position="166">
1234
+          <caret line="23" column="5" lean-forward="true" selection-start-line="23" selection-start-column="5" selection-end-line="23" selection-end-column="5" />
1235
+          <folding />
1327 1236
         </state>
1328 1237
       </provider>
1329 1238
     </entry>
1330
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java">
1239
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/ReflectionUtils.java">
1331 1240
       <provider selected="true" editor-type-id="text-editor">
1332
-        <state relative-caret-position="690">
1333
-          <caret line="50" column="5" lean-forward="true" selection-start-line="50" selection-start-column="5" selection-end-line="50" selection-end-column="5" />
1241
+        <state relative-caret-position="225">
1242
+          <caret line="20" column="28" lean-forward="false" selection-start-line="20" selection-start-column="28" selection-end-line="20" selection-end-column="28" />
1334 1243
           <folding />
1335 1244
         </state>
1336 1245
       </provider>
1337 1246
     </entry>
1338
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/RandomUtils.java">
1247
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java">
1339 1248
       <provider selected="true" editor-type-id="text-editor">
1340
-        <state relative-caret-position="120">
1341
-          <caret line="9" column="19" lean-forward="false" selection-start-line="9" selection-start-column="19" selection-end-line="9" selection-end-column="19" />
1249
+        <state relative-caret-position="567">
1250
+          <caret line="51" column="7" lean-forward="true" selection-start-line="51" selection-start-column="7" selection-end-line="51" selection-end-column="7" />
1342 1251
           <folding />
1343 1252
         </state>
1344 1253
       </provider>
1345 1254
     </entry>
1346
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java">
1255
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java">
1347 1256
       <provider selected="true" editor-type-id="text-editor">
1348
-        <state relative-caret-position="308">
1349
-          <caret line="29" column="37" lean-forward="true" selection-start-line="29" selection-start-column="37" selection-end-line="29" selection-end-column="37" />
1350
-          <folding>
1351
-            <element signature="imports" expanded="true" />
1352
-          </folding>
1257
+        <state relative-caret-position="-18">
1258
+          <caret line="31" column="46" lean-forward="true" selection-start-line="31" selection-start-column="46" selection-end-line="31" selection-end-column="46" />
1259
+          <folding />
1353 1260
         </state>
1354 1261
       </provider>
1355 1262
     </entry>
1356 1263
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java">
1357 1264
       <provider selected="true" editor-type-id="text-editor">
1358
-        <state relative-caret-position="255">
1359
-          <caret line="23" column="90" lean-forward="false" selection-start-line="23" selection-start-column="90" selection-end-line="23" selection-end-column="90" />
1265
+        <state relative-caret-position="54">
1266
+          <caret line="36" column="18" lean-forward="true" selection-start-line="36" selection-start-column="18" selection-end-line="36" selection-end-column="18" />
1360 1267
           <folding />
1361 1268
         </state>
1362 1269
       </provider>
1363 1270
     </entry>
1364
-    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestStreamFilter.java">
1271
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java">
1365 1272
       <provider selected="true" editor-type-id="text-editor">
1366
-        <state relative-caret-position="180">
1367
-          <caret line="21" column="33" lean-forward="true" selection-start-line="21" selection-start-column="33" selection-end-line="21" selection-end-column="33" />
1368
-          <folding>
1369
-            <element signature="e#700#701#0" expanded="true" />
1370
-            <element signature="e#758#759#0" expanded="true" />
1371
-            <element signature="e#807#808#0" expanded="true" />
1372
-            <element signature="e#863#864#0" expanded="true" />
1373
-            <element signature="e#915#916#0" expanded="true" />
1374
-            <element signature="e#974#975#0" expanded="true" />
1375
-            <element signature="e#1024#1025#0" expanded="true" />
1376
-            <element signature="e#1081#1082#0" expanded="true" />
1377
-            <element signature="e#1133#1134#0" expanded="true" />
1378
-            <element signature="e#1183#1184#0" expanded="true" />
1379
-          </folding>
1273
+        <state relative-caret-position="296">
1274
+          <caret line="30" column="7" lean-forward="false" selection-start-line="30" selection-start-column="7" selection-end-line="30" selection-end-column="7" />
1275
+          <folding />
1380 1276
         </state>
1381 1277
       </provider>
1382 1278
     </entry>
1383
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamFilter.java">
1279
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java">
1280
+      <provider selected="true" editor-type-id="text-editor">
1281
+        <state relative-caret-position="240">
1282
+          <caret line="23" column="6" lean-forward="false" selection-start-line="23" selection-start-column="6" selection-end-line="23" selection-end-column="6" />
1283
+          <folding />
1284
+        </state>
1285
+      </provider>
1286
+    </entry>
1287
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java">
1384 1288
       <provider selected="true" editor-type-id="text-editor">
1385
-        <state relative-caret-position="309">
1386
-          <caret line="90" column="101" lean-forward="true" selection-start-line="90" selection-start-column="101" selection-end-line="90" selection-end-column="101" />
1289
+        <state relative-caret-position="293">
1290
+          <caret line="32" column="6" lean-forward="false" selection-start-line="32" selection-start-column="6" selection-end-line="32" selection-end-column="6" />
1387 1291
           <folding>
1388
-            <element signature="e#690#691#0" expanded="true" />
1389
-            <element signature="e#788#789#0" expanded="true" />
1292
+            <element signature="e#717#718#0" expanded="true" />
1293
+            <element signature="e#759#760#0" expanded="true" />
1390 1294
           </folding>
1391 1295
         </state>
1392 1296
       </provider>
1393 1297
     </entry>
1394
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java">
1298
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java">
1395 1299
       <provider selected="true" editor-type-id="text-editor">
1396
-        <state relative-caret-position="270">
1397
-          <caret line="23" column="5" lean-forward="false" selection-start-line="23" selection-start-column="5" selection-end-line="23" selection-end-column="5" />
1300
+        <state relative-caret-position="275">
1301
+          <caret line="31" column="43" lean-forward="true" selection-start-line="31" selection-start-column="43" selection-end-line="31" selection-end-column="43" />
1398 1302
           <folding />
1399 1303
         </state>
1400 1304
       </provider>
1401 1305
     </entry>
1402
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java">
1306
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/logging/LoggerHandler.java">
1403 1307
       <provider selected="true" editor-type-id="text-editor">
1404
-        <state relative-caret-position="345">
1405
-          <caret line="33" column="31" lean-forward="true" selection-start-line="33" selection-start-column="31" selection-end-line="33" selection-end-column="31" />
1308
+        <state relative-caret-position="255">
1309
+          <caret line="57" column="74" lean-forward="true" selection-start-line="57" selection-start-column="74" selection-end-line="57" selection-end-column="74" />
1406 1310
           <folding />
1407 1311
         </state>
1408 1312
       </provider>
1409 1313
     </entry>
1410
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java">
1314
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/logging/LoggerWarehouse.java">
1411 1315
       <provider selected="true" editor-type-id="text-editor">
1412
-        <state relative-caret-position="90">
1413
-          <caret line="11" column="85" lean-forward="false" selection-start-line="11" selection-start-column="85" selection-end-line="11" selection-end-column="85" />
1316
+        <state relative-caret-position="270">
1317
+          <caret line="19" column="98" lean-forward="false" selection-start-line="19" selection-start-column="98" selection-end-line="19" selection-end-column="98" />
1318
+          <folding />
1319
+        </state>
1320
+      </provider>
1321
+    </entry>
1322
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamFilter.java">
1323
+      <provider selected="true" editor-type-id="text-editor">
1324
+        <state relative-caret-position="-514">
1325
+          <caret line="36" column="10" lean-forward="false" selection-start-line="36" selection-start-column="10" selection-end-line="36" selection-end-column="10" />
1414 1326
           <folding />
1415 1327
         </state>
1416 1328
       </provider>

+ 1
- 7
src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java Bestand weergeven

@@ -17,13 +17,7 @@ public class Person {
17 17
     public final long personalId;
18 18
     public final Date birthDate;
19 19
     public final String[] aliases;
20
-    /**
21
-     * @param name - name of person
22
-     * @param age - age of person
23
-     * @param isMale - gender flag
24
-     * @param personalId - unique id
25
-     * @param birthDate - date of birth
26
-     */
20
+
27 21
     Person(String name, int age, boolean isMale, long personalId, Date birthDate, String... aliases) {
28 22
         this.name = name;
29 23
         this.isMale = isMale;

+ 2
- 1
src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java Bestand weergeven

@@ -28,13 +28,13 @@ public final class PersonFactory {
28 28
         long personalId = System.nanoTime();
29 29
         Date birthDate = RandomUtils.createDate(1950, 2010);
30 30
 
31
-
32 31
         Person randomPerson = new Person(name, age, isMale, personalId, birthDate, aliases);
33 32
         PersonWarehouse.addPerson(randomPerson);
34 33
         return randomPerson;
35 34
     }
36 35
 
37 36
     /**
37
+     * Section 8.8
38 38
      * @param personCount - number of Person objects to create
39 39
      * @return - ArrayList of Person objects
40 40
      */ // TODO
@@ -53,6 +53,7 @@ public final class PersonFactory {
53 53
 
54 54
 
55 55
     /**
56
+     * Section 8.2
56 57
      * @param personCount - number of Person objects to create
57 58
      * @return - Stream representation of collection of Person objects
58 59
      */ // TODO

+ 17
- 1
src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java Bestand weergeven

@@ -11,7 +11,7 @@ import java.util.stream.Stream;
11 11
 
12 12
 /**
13 13
  * Created by leon on 5/29/17.
14
- * The warehouse is responsible for storing, retrieving, and filtering people
14
+ * The warehouse is responsible for storing, retrieving, and filtering personSequence
15 15
  */
16 16
 public class PersonWarehouse {
17 17
     private static final LoggerHandler loggerHandler = LoggerWarehouse.getLogger(PersonWarehouse.class);
@@ -57,4 +57,20 @@ public class PersonWarehouse {
57 57
         return people.parallelStream().collect(
58 58
                 Collectors.toMap(p -> p.getPersonalId(), p -> p.getName()));
59 59
     }
60
+
61
+
62
+    /**
63
+     * @return Stream of Stream of Aliases
64
+     */ // TODO
65
+    public static Stream<Stream<String>> getNestedAliases() {
66
+        return people.parallelStream().map(person -> Stream.of(person.getAliases()));
67
+    }
68
+
69
+
70
+    /**
71
+     * @return Stream of all Aliases
72
+     */ // TODO
73
+    public static Stream<String> getAllAliases() {
74
+        return people.parallelStream().flatMap(person -> Stream.of(person.getAliases()));
75
+    }
60 76
 }

+ 1
- 1
src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java Bestand weergeven

@@ -33,6 +33,6 @@ public final class ArrayConverter extends ConversionAgent<Person[]> {
33 33
 
34 34
     @Override
35 35
     public Person[] toArray() {
36
-        return this.people;
36
+        return this.personSequence;
37 37
     }
38 38
 }

+ 19
- 3
src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java Bestand weergeven

@@ -6,24 +6,40 @@ import java.util.List;
6 6
 import java.util.function.Function;
7 7
 import java.util.function.Predicate;
8 8
 import java.util.stream.Stream;
9
+
9 10
 /**
10 11
  * Created by leon on 5/25/17.
11 12
  * ConversionAgent is responsible for conversion between different object sequent data types
12 13
  * Object sequent data types include: collections, arrays, lists, maps, iterators
14
+ *
15
+ * @ATTENTION_TO_STUDENTS You are FORBIDDEN from modifying this class
13 16
  */
14
-public abstract class ConversionAgent<T> {
15
-    protected T people;
17
+public abstract class ConversionAgent<T, R> {
18
+    protected T personSequence;
16 19
 
17 20
     public ConversionAgent(T objectSequence) {
18
-        this.people = objectSequence;
21
+        this.personSequence = objectSequence;
19 22
     }
20 23
 
24
+    /**
25
+     * @return list representation of this object sequence
26
+     */
21 27
     abstract public List<Person> toList();
22 28
 
29
+    /**
30
+     * @return stream representation of this object sequence
31
+     */
23 32
     abstract public Stream<Person> toStream();
24 33
 
34
+    /**
35
+     * @return array representation of this object sequence
36
+     */
25 37
     abstract public Person[] toArray();
26 38
 
39
+    /**
40
+     * @param predicate Represents a predicate (boolean-valued function) of one argument
41
+     * @return stream representation of respectively filtered
42
+     */
27 43
     public Stream<Person> filter(Predicate<? super Person> predicate) {
28 44
         return toStream().filter(predicate);
29 45
     }

+ 1
- 1
src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java Bestand weergeven

@@ -22,7 +22,7 @@ public final class ListConverter extends ConversionAgent<List<Person>> {
22 22
 
23 23
     @Override
24 24
     public List<Person> toList() {
25
-        return this.people;
25
+        return this.personSequence;
26 26
     }
27 27
 
28 28
     //TODO

+ 1
- 1
src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java Bestand weergeven

@@ -14,7 +14,7 @@ public final class StreamConverter extends ConversionAgent<Stream<Person>> {
14 14
     private final List<Person> personList;
15 15
     public StreamConverter(Stream<Person> people) {
16 16
         super(people);
17
-        this.personList = super.people.collect(Collectors.toList());
17
+        this.personList = super.personSequence.collect(Collectors.toList());
18 18
     }
19 19
 
20 20
     public StreamConverter(int collectionSize) {

+ 1
- 0
src/main/java/com/zipcodewilmington/streams/tools/ReflectionUtils.java Bestand weergeven

@@ -3,6 +3,7 @@ package com.zipcodewilmington.streams.tools;
3 3
 import java.lang.reflect.Field;
4 4
 import java.util.HashMap;
5 5
 import java.util.Iterator;
6
+import java.util.stream.Stream;
6 7
 
7 8
 /**
8 9
  * Created by leon on 5/19/17.

+ 5
- 1
src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java Bestand weergeven

@@ -17,7 +17,7 @@ public class StringUtils {
17 17
     /**
18 18
      * @param numberOfRepeats - number of times to repeat this string
19 19
      * @param val             - value of string to repeat
20
-     * @return - `people` concatenated with itself `numberOfRepeats` times
20
+     * @return - `personSequence` concatenated with itself `numberOfRepeats` times
21 21
      */
22 22
     public static String repeatString(int numberOfRepeats, String val) {
23 23
         StringBuffer sb = new StringBuffer();
@@ -46,6 +46,10 @@ public class StringUtils {
46 46
         return padLeft(s, -n);
47 47
     }
48 48
 
49
+    /**
50
+     * @param str string to check
51
+     * @return true if `str` is a palindrome
52
+     */
49 53
     public static boolean isPalindromeIgnoreCase(String str) {
50 54
         return new StringBuilder(str).reverse().toString().equalsIgnoreCase(str);
51 55
     }

+ 31
- 1
src/test/java/com/zipcodewilmington/streams/anthropoid/TestPerson.java Bestand weergeven

@@ -1,9 +1,39 @@
1 1
 package com.zipcodewilmington.streams.anthropoid;
2 2
 
3
+import com.zipcodewilmington.streams.tools.ReflectionUtils;
4
+import org.junit.Assert;
5
+
6
+import java.lang.reflect.Field;
7
+import java.util.HashMap;
8
+import java.util.Map;
9
+
3 10
 /**
4 11
  * Created by leon on 5/25/17.
5 12
  *
6 13
  * @ATTENTION_TO_STUDENTS You are FORBIDDEN from modifying this class
7 14
  */
8
-public class TestPerson {
15
+public final class TestPerson {
16
+    private TestPerson() {
17
+    }
18
+
19
+    public static void checkPeople(Person... people) {
20
+        for (Person person : people) {
21
+            checkPerson(person);
22
+        }
23
+
24
+    }
25
+
26
+    private static void checkPerson(Person person) {
27
+        String messageCheckKey = "Ensuring field is non-null";
28
+        String messageCheckValue = "Ensuring field-value is non-null";
29
+
30
+        HashMap<Field, String> fieldMap = ReflectionUtils.getFieldMap(person);
31
+        for (Map.Entry<Field, String> entry : fieldMap.entrySet()) {
32
+            Field key = entry.getKey();
33
+            String value = entry.getValue();
34
+
35
+            Assert.assertTrue(messageCheckKey, key != null);
36
+            Assert.assertTrue(messageCheckValue, value != null);
37
+        }
38
+    }
9 39
 }

+ 1
- 18
src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.java Bestand weergeven

@@ -33,28 +33,11 @@ public class TestPersonFactory implements TestConstants {
33 33
         checkStream(PersonFactory.createPersonStream(collectionSize));
34 34
     }
35 35
 
36
-    //8.1 - 8.6; 8.7 - rest
37 36
     private final void checkStream(Stream<Person> personStream) {
38 37
         String messageCheckSize = "Ensuring appropriately sized stream was produced.";
39 38
 
40 39
         Person[] personArray = personStream.toArray(Person[]::new);
41 40
         Assert.assertEquals(messageCheckSize, collectionSize, personArray.length);
42
-        for (Person person : personArray) {
43
-           checkPerson(person);
44
-        }
45
-    }
46
-
47
-    private final void checkPerson(Person person) {
48
-        String messageCheckKey = "Ensuring field is non-null";
49
-        String messageCheckValue = "Ensuring field-value is non-null";
50
-
51
-        HashMap<Field, String> fieldMap = ReflectionUtils.getFieldMap(person);
52
-        for (Map.Entry<Field, String> entry : fieldMap.entrySet()) {
53
-            Field key = entry.getKey();
54
-            String value = entry.getValue();
55
-
56
-            Assert.assertTrue(messageCheckKey, key != null);
57
-            Assert.assertTrue(messageCheckValue, value != null);
58
-        }
41
+        TestPerson.checkPeople(personArray);
59 42
     }
60 43
 }

+ 123439
- 123439
target/PersonWarehouse.leonlog
Diff onderdrukt omdat het te groot bestand
Bestand weergeven


BIN
target/classes/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.class Bestand weergeven


BIN
target/classes/com/zipcodewilmington/streams/conversions/ArrayConverter.class Bestand weergeven


BIN
target/classes/com/zipcodewilmington/streams/conversions/ConversionAgent.class Bestand weergeven


BIN
target/classes/com/zipcodewilmington/streams/conversions/ListConverter.class Bestand weergeven


BIN
target/classes/com/zipcodewilmington/streams/conversions/StreamConverter.class Bestand weergeven


BIN
target/classes/com/zipcodewilmington/streams/tools/ReflectionUtils$1.class Bestand weergeven


BIN
target/classes/com/zipcodewilmington/streams/tools/ReflectionUtils.class Bestand weergeven


BIN
target/classes/com/zipcodewilmington/streams/tools/StringUtils.class Bestand weergeven


+ 1
- 1
target/global.leonlog Bestand weergeven

@@ -1,2 +1,2 @@
1
-May 30, 2017 4:24:18 PM com.zipcodewilmington.streams.tools.logging.LoggerHandler log
1
+May 31, 2017 7:13:01 AM com.zipcodewilmington.streams.tools.logging.LoggerHandler log
2 2
 INFO: Instantiating logger for [ com.zipcodewilmington.streams.anthropoid.PersonWarehouse ] ... 

BIN
target/test-classes/com/zipcodewilmington/streams/anthropoid/TestPerson.class Bestand weergeven


BIN
target/test-classes/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.class Bestand weergeven