X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-persister-directory-adapter%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fpersist%2Fstorage%2Fdirectory%2FDirectoryPersister.java;h=25628b6041de94cc099eef49314756b77171324d;hb=09bc389cba4919dee28d23419455933f41920215;hp=cf4ef98bdc95ecc95700d18191135191660052c1;hpb=b5d0a1c60d3ff26cb4d7ecf45ee5fc0f95636c19;p=controller.git diff --git a/opendaylight/config/config-persister-directory-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/directory/DirectoryPersister.java b/opendaylight/config/config-persister-directory-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/directory/DirectoryPersister.java index cf4ef98bdc..25628b6041 100644 --- a/opendaylight/config/config-persister-directory-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/directory/DirectoryPersister.java +++ b/opendaylight/config/config-persister-directory-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/directory/DirectoryPersister.java @@ -78,7 +78,7 @@ public class DirectoryPersister implements Persister { for (File file : sortedFiles) { logger.trace("Adding file '{}' to combined result", file); - final MyLineProcessor lineProcessor = new MyLineProcessor(); + final MyLineProcessor lineProcessor = new MyLineProcessor(file.getAbsolutePath()); Files.readLines(file, ENCODING, lineProcessor); modulesBuilder.append(lineProcessor.getModules()); @@ -103,11 +103,16 @@ public class DirectoryPersister implements Persister { } class MyLineProcessor implements com.google.common.io.LineProcessor { + private final String fileNameForReporting; private boolean inModules, inServices, inCapabilities; private final StringBuffer modulesBuffer = new StringBuffer(), servicesBuilder = new StringBuffer(); private final SortedSet caps = new TreeSet<>(); + MyLineProcessor(String fileNameForReporting) { + this.fileNameForReporting = fileNameForReporting; + } + @Override public String getResult() { return null; @@ -138,18 +143,25 @@ class MyLineProcessor implements com.google.common.io.LineProcessor { return true; } + private void checkFileConsistency(){ + checkState(inCapabilities, "File {} is missing delimiters in this order: {}", fileNameForReporting, + Arrays.asList(DirectoryPersister.MODULES_START, + DirectoryPersister.SERVICES_START, + DirectoryPersister.CAPABILITIES_START)); + } + String getModules() { - checkState(inCapabilities); + checkFileConsistency(); return modulesBuffer.toString(); } String getServices() { - checkState(inCapabilities); + checkFileConsistency(); return servicesBuilder.toString(); } SortedSet getCapabilities() { - checkState(inCapabilities); + checkFileConsistency(); return caps; }