summaryrefslogtreecommitdiffstats
path: root/plugins/reception-plugins/src/main/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/reception-plugins/src/main/java/org')
-rw-r--r--plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/FileSystemReceptionHandler.java73
-rw-r--r--plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/FileSystemReceptionHandlerConfigurationParameterBuilder.java2
2 files changed, 39 insertions, 36 deletions
diff --git a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/FileSystemReceptionHandler.java b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/FileSystemReceptionHandler.java
index b1a95fac..db0b0b7b 100644
--- a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/FileSystemReceptionHandler.java
+++ b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/FileSystemReceptionHandler.java
@@ -43,7 +43,7 @@ import org.onap.policy.distribution.reception.handling.AbstractReceptionHandler;
* Handles reception of inputs from File System which can be used to decode policies.
*/
public class FileSystemReceptionHandler extends AbstractReceptionHandler {
- private boolean running = true;
+ private boolean running = false;
private static final Logger LOGGER = FlexLogger.getLogger(FileSystemReceptionHandler.class);
@Override
@@ -56,6 +56,7 @@ public class FileSystemReceptionHandler extends AbstractReceptionHandler {
} catch (final Exception ex) {
LOGGER.error(ex);
}
+ running = false;
LOGGER.debug("FileSystemReceptionHandler main loop exited...");
}
@@ -65,53 +66,57 @@ public class FileSystemReceptionHandler extends AbstractReceptionHandler {
running = false;
}
+ public boolean isRunning() {
+ return running;
+ }
+
/**
* Main entry point.
*
* @param watchPath Path to watch
*/
@SuppressWarnings("unchecked")
- public void main(String watchPath) {
+ public void main(String watchPath) throws IOException {
try (final WatchService watcher = FileSystems.getDefault().newWatchService()) {
final Path dir = Paths.get(watchPath);
-
dir.register(watcher, ENTRY_CREATE);
LOGGER.debug("Watch Service registered for dir: " + dir.getFileName());
- while (running) {
- WatchKey key;
- try {
- key = watcher.take();
- } catch (final InterruptedException ex) {
- LOGGER.debug(ex);
- Thread.currentThread().interrupt();
- return;
- }
+ startMainLoop(watcher, dir);
+ } catch (final InterruptedException ex) {
+ LOGGER.debug(ex);
+ Thread.currentThread().interrupt();
+ }
+ }
- for (final WatchEvent<?> event : key.pollEvents()) {
- final WatchEvent.Kind<?> kind = event.kind();
- final WatchEvent<Path> ev = (WatchEvent<Path>) event;
- final Path fileName = ev.context();
- try {
- LOGGER.debug("new CSAR found: " + kind.name() + ": " + fileName);
- createPolicyInputAndCallHandler(dir.toString() + File.separator + fileName.toString());
- LOGGER.debug("CSAR complete: " + kind.name() + ": " + fileName);
- } catch (final PolicyDecodingException ex) {
- LOGGER.error(ex);
- }
- }
- final boolean valid = key.reset();
- if (!valid) {
- LOGGER.error("Watch key no longer valid!");
- break;
- }
+ @SuppressWarnings("unchecked")
+ protected void startMainLoop(WatchService watcher, Path dir) throws InterruptedException {
+ WatchKey key;
+ running = true;
+ while (running) {
+ key = watcher.take();
+
+ for (final WatchEvent<?> event : key.pollEvents()) {
+ final WatchEvent.Kind<?> kind = event.kind();
+ final WatchEvent<Path> ev = (WatchEvent<Path>) event;
+ final Path fileName = ev.context();
+ LOGGER.debug("new CSAR found: " + fileName);
+ createPolicyInputAndCallHandler(dir.toString() + File.separator + fileName.toString());
+ LOGGER.debug("CSAR complete: " + fileName);
+ }
+ final boolean valid = key.reset();
+ if (!valid) {
+ LOGGER.error("Watch key no longer valid!");
+ break;
}
- } catch (final IOException ex) {
- LOGGER.error(ex);
}
}
- protected void createPolicyInputAndCallHandler(final String fileName) throws PolicyDecodingException {
- final Csar csarObject = new Csar(fileName);
- inputReceived(csarObject);
+ protected void createPolicyInputAndCallHandler(final String fileName) {
+ try {
+ final Csar csarObject = new Csar(fileName);
+ inputReceived(csarObject);
+ } catch (final PolicyDecodingException ex) {
+ LOGGER.error(ex);
+ }
}
}
diff --git a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/FileSystemReceptionHandlerConfigurationParameterBuilder.java b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/FileSystemReceptionHandlerConfigurationParameterBuilder.java
index b017cae6..37a16980 100644
--- a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/FileSystemReceptionHandlerConfigurationParameterBuilder.java
+++ b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/handling/sdc/FileSystemReceptionHandlerConfigurationParameterBuilder.java
@@ -20,8 +20,6 @@
package org.onap.policy.distribution.reception.handling.sdc;
-import java.util.List;
-
/**
* This class builds an instance of {@link FileSystemReceptionHandlerConfigurationParameterGroup} class.
*