X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-persister-directory-adapter%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fpersist%2Fstorage%2Fdirectory%2FDirectoryPersister.java;h=eb8ef8cddf46c98511db67e0423b23db38893f3f;hp=a123eb981ed9ca81d50baf0a6fa582b7ab6e3048;hb=dea24d658123f9059a3fbb3a650c2dbfdb480fcf;hpb=713279a4aa4984b57e1a5c0f6645aed9e78a65c9 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 a123eb981e..eb8ef8cddf 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 @@ -33,21 +33,23 @@ public class DirectoryPersister implements Persister { private static final Logger logger = LoggerFactory.getLogger(DirectoryPersister.class); private static final Charset ENCODING = Charsets.UTF_8; - static final String MODULES_START = "//MODULES START"; + public static final String MODULES_START = "//MODULES START"; static final String SERVICES_START = "//SERVICES START"; static final String CAPABILITIES_START = "//CAPABILITIES START"; private final File storage; - private final String header, middle, footer; + private static final String header, middle, footer; - public DirectoryPersister(File storage) { - checkArgument(storage.exists() && storage.isDirectory(), "Storage directory does not exist: " + storage); - this.storage = storage; + static { header = readResource("header.txt"); middle = readResource("middle.txt"); footer = readResource("footer.txt"); + } + public DirectoryPersister(File storage) { + checkArgument(storage.exists() && storage.isDirectory(), "Storage directory does not exist: " + storage); + this.storage = storage; } private static String readResource(String resource) { @@ -78,13 +80,18 @@ public class DirectoryPersister implements Persister { for (File file : sortedFiles) { logger.trace("Adding file '{}' to combined result", file); - final MyLineProcessor lineProcessor = new MyLineProcessor(file.getAbsolutePath()); - Files.readLines(file, ENCODING, lineProcessor); - result.add(lineProcessor.getConfigSnapshotHolder(header, middle, footer)); + ConfigSnapshotHolder configSnapshotHolder = loadLastConfig(file); + result.add(configSnapshotHolder); } return result; } + public static ConfigSnapshotHolder loadLastConfig(File file) throws IOException { + final MyLineProcessor lineProcessor = new MyLineProcessor(file.getAbsolutePath()); + Files.readLines(file, ENCODING, lineProcessor); + return lineProcessor.getConfigSnapshotHolder(header, middle, footer); + } + @Override public void close() {