added serialization
This commit is contained in:
59
src/java/lodge/reservationsystem/DataRepository.java
Normal file
59
src/java/lodge/reservationsystem/DataRepository.java
Normal file
@@ -0,0 +1,59 @@
|
||||
package lodge.reservationsystem;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.FileVisitResult;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.SimpleFileVisitor;
|
||||
import java.nio.file.attribute.BasicFileAttributes;
|
||||
|
||||
final class DataRepository {
|
||||
// SINGLETON CLASS
|
||||
// hard code data store location for storage of
|
||||
// account data files on filesystem
|
||||
private String directoryPath;
|
||||
private static final DataRepository instance = new DataRepository();
|
||||
|
||||
protected static DataRepository getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
public final static void setDataStoreRoot(final String direcoryPath) {
|
||||
getInstance().directoryPath = direcoryPath;
|
||||
}
|
||||
|
||||
public final static String getPath() {
|
||||
return getInstance().directoryPath;
|
||||
}
|
||||
|
||||
public static void WalkFileSystemTree(final AccomodationManager manager, Path rootDir) throws IOException{
|
||||
Files.walkFileTree(rootDir, new SimpleFileVisitor<Path>() {
|
||||
@Override
|
||||
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {
|
||||
System.out.println("File: " + file.toAbsolutePath());
|
||||
// load account number, and content
|
||||
if (attrs.isRegularFile()) {
|
||||
String namestring = file.getName(file.getNameCount() - 1).toString();
|
||||
if (namestring.endsWith("json")) {
|
||||
if (namestring.startsWith("acc")) { // * load Account *//
|
||||
try {
|
||||
manager.load(file);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// load reservation
|
||||
return FileVisitResult.CONTINUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) {
|
||||
System.out.println("Directory: " + dir.toAbsolutePath());
|
||||
// prepare to load account number
|
||||
return FileVisitResult.CONTINUE;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user