|
37 | 37 | import org.apache.logging.log4j.LogManager; |
38 | 38 | import org.apache.logging.log4j.Logger; |
39 | 39 |
|
| 40 | +import engineering.swat.watch.impl.jdk.JDKBaseWatch; |
40 | 41 | import engineering.swat.watch.impl.jdk.JDKDirectoryWatch; |
41 | 42 | import engineering.swat.watch.impl.jdk.JDKFileWatch; |
42 | 43 | import engineering.swat.watch.impl.jdk.JDKRecursiveDirectoryWatch; |
@@ -156,35 +157,31 @@ public ActiveWatch start() throws IOException { |
156 | 157 | if (this.eventHandler == EMPTY_HANDLER) { |
157 | 158 | throw new IllegalStateException("There is no onEvent handler defined"); |
158 | 159 | } |
| 160 | + var result = createWatch(); |
| 161 | + result.start(); |
| 162 | + return result; |
| 163 | + } |
| 164 | + |
| 165 | + private JDKBaseWatch createWatch() { |
159 | 166 | switch (scope) { |
160 | 167 | case PATH_AND_CHILDREN: { |
161 | | - var result = new JDKDirectoryWatch(path, executor, this.eventHandler, false); |
162 | | - result.start(); |
163 | | - return result; |
| 168 | + return new JDKDirectoryWatch(path, executor, eventHandler, false); |
164 | 169 | } |
165 | 170 | case PATH_AND_ALL_DESCENDANTS: { |
166 | 171 | try { |
167 | | - var result = new JDKDirectoryWatch(path, executor, this.eventHandler, true); |
168 | | - result.start(); |
169 | | - return result; |
| 172 | + return new JDKDirectoryWatch(path, executor, eventHandler, true); |
170 | 173 | } catch (Throwable ex) { |
171 | 174 | // no native support, use the simulation |
172 | 175 | logger.debug("Not possible to register the native watcher, using fallback for {}", path); |
173 | 176 | logger.trace(ex); |
174 | | - var result = new JDKRecursiveDirectoryWatch(path, executor, this.eventHandler); |
175 | | - result.start(); |
176 | | - return result; |
| 177 | + return new JDKRecursiveDirectoryWatch(path, executor, eventHandler); |
177 | 178 | } |
178 | 179 | } |
179 | 180 | case PATH_ONLY: { |
180 | | - var result = new JDKFileWatch(path, executor, this.eventHandler); |
181 | | - result.start(); |
182 | | - return result; |
| 181 | + return new JDKFileWatch(path, executor, eventHandler); |
183 | 182 | } |
184 | | - |
185 | 183 | default: |
186 | 184 | throw new IllegalStateException("Not supported yet"); |
187 | 185 | } |
188 | 186 | } |
189 | | - |
190 | 187 | } |
0 commit comments