@Override protected FileStoreConfigurationBuilder readFrom(FileIdentityStoreConfiguration configuration) { super.readFrom(configuration); this.workingDirectory = configuration.getWorkingDir(); this.preserveState = !configuration.isAlwaysCreateFiles(); this.asyncWrite = configuration.isAsyncWrite(); this.asyncWriteThreadPool = configuration.getAsyncThreadPool(); return this; } }
private void init() { initWorkingDirectory(); File partitionsFile = createFileIfNotExists(getWorkingDirFile(PARTITIONS_FILE_NAME)); loadPartitions(partitionsFile); Map<String, Map<String, FileRelationship>> relationships = readObject(createFileIfNotExists(getWorkingDirFile(RELATIONSHIPS_FILE_NAME))); if (relationships == null) { relationships = new ConcurrentHashMap<String, Map<String, FileRelationship>>(); } this.relationships = relationships; Map<String, FileAttribute> attributes = readObject(createFileIfNotExists(getWorkingDirFile(ATTRIBUTES_FILE_NAME))); if (attributes == null) { attributes = new ConcurrentHashMap<String, FileAttribute>(); } this.attributes = attributes; Map<String, FileAttributedType> attrubtedTypes = readObject(createFileIfNotExists(getWorkingDirFile(ATTRIBUTED_TYPES__FILE_NAME))); if (attrubtedTypes == null) { attrubtedTypes = new ConcurrentHashMap<String, FileAttributedType>(); } this.attributedTypes = attrubtedTypes; if (this.configuration.isAsyncWrite()) { FILE_STORE_LOGGER.fileAsyncWriteEnabled(this.configuration.getAsyncThreadPool()); this.executorService = Executors.newFixedThreadPool(this.configuration.getAsyncThreadPool()); } }
private String getWorkingDir() { String workingDir = this.configuration.getWorkingDir(); if (isNullOrEmpty(workingDir)) { workingDir = DEFAULT_WORKING_DIR; } return workingDir; }
private void flush(final String fileName, final Object object) { if (this.configuration.isAsyncWrite()) { this.executorService.execute(new Runnable() { @Override public void run() { performFlush(fileName, object); } }); } else { performFlush(fileName, object); } }
/** * <p> * Initializes the working directory. * </p> * * @return */ private void initWorkingDirectory() { String workingDir = getWorkingDir(); File workingDirectoryFile = new File(workingDir); if (workingDirectoryFile.exists()) { if (this.configuration.isAlwaysCreateFiles()) { FILE_STORE_LOGGER.fileConfigAlwaysCreateWorkingDir(workingDirectoryFile.getPath()); delete(workingDirectoryFile); } } workingDirectoryFile.mkdirs(); FILE_STORE_LOGGER.fileConfigUsingWorkingDir(workingDirectoryFile.getPath()); }
@Override protected FileIdentityStoreConfiguration create() { return new FileIdentityStoreConfiguration( this.workingDirectory, this.preserveState, this.asyncWrite, this.asyncWriteThreadPool, getSupportedTypes(), getUnsupportedTypes(), getContextInitializers(), getCredentialHandlerProperties(), getCredentialHandlers(), isSupportAttributes(), isSupportCredentials(), isSupportPermissions()); }
private void init() { initWorkingDirectory(); File partitionsFile = createFileIfNotExists(getWorkingDirFile(PARTITIONS_FILE_NAME)); loadPartitions(partitionsFile); Map<String, Map<String, FileRelationship>> relationships = readObject(createFileIfNotExists(getWorkingDirFile(RELATIONSHIPS_FILE_NAME))); if (relationships == null) { relationships = new ConcurrentHashMap<String, Map<String, FileRelationship>>(); } this.relationships = relationships; Map<String, FileAttribute> attributes = readObject(createFileIfNotExists(getWorkingDirFile(ATTRIBUTES_FILE_NAME))); if (attributes == null) { attributes = new ConcurrentHashMap<String, FileAttribute>(); } this.attributes = attributes; Map<String, FileAttributedType> attrubtedTypes = readObject(createFileIfNotExists(getWorkingDirFile(ATTRIBUTED_TYPES__FILE_NAME))); if (attrubtedTypes == null) { attrubtedTypes = new ConcurrentHashMap<String, FileAttributedType>(); } this.attributedTypes = attrubtedTypes; if (this.configuration.isAsyncWrite()) { FILE_STORE_LOGGER.fileAsyncWriteEnabled(this.configuration.getAsyncThreadPool()); this.executorService = Executors.newFixedThreadPool(this.configuration.getAsyncThreadPool()); } }
private String getWorkingDir() { String workingDir = this.configuration.getWorkingDir(); if (isNullOrEmpty(workingDir)) { workingDir = DEFAULT_WORKING_DIR; } return workingDir; }
private void flush(final String fileName, final Object object) { if (this.configuration.isAsyncWrite()) { this.executorService.execute(new Runnable() { @Override public void run() { performFlush(fileName, object); } }); } else { performFlush(fileName, object); } }
/** * <p> * Initializes the working directory. * </p> * * @return */ private void initWorkingDirectory() { String workingDir = getWorkingDir(); File workingDirectoryFile = new File(workingDir); if (workingDirectoryFile.exists()) { if (this.configuration.isAlwaysCreateFiles()) { FILE_STORE_LOGGER.fileConfigAlwaysCreateWorkingDir(workingDirectoryFile.getPath()); delete(workingDirectoryFile); } } workingDirectoryFile.mkdirs(); FILE_STORE_LOGGER.fileConfigUsingWorkingDir(workingDirectoryFile.getPath()); }
@Override protected FileIdentityStoreConfiguration create() { return new FileIdentityStoreConfiguration( this.workingDirectory, this.preserveState, this.asyncWrite, this.asyncWriteThreadPool, getSupportedTypes(), getUnsupportedTypes(), getContextInitializers(), getCredentialHandlerProperties(), getCredentialHandlers(), isSupportAttributes(), isSupportCredentials(), isSupportPermissions()); }
@Override protected FileStoreConfigurationBuilder readFrom(FileIdentityStoreConfiguration configuration) { super.readFrom(configuration); this.workingDirectory = configuration.getWorkingDir(); this.preserveState = !configuration.isAlwaysCreateFiles(); this.asyncWrite = configuration.isAsyncWrite(); this.asyncWriteThreadPool = configuration.getAsyncThreadPool(); return this; } }