Move JCR to another repository
[lgpl/argeo-commons.git] / jcr / org.argeo.cms.jcr / src / org / argeo / cms / internal / jcr / LocalFsDataStore.java
diff --git a/jcr/org.argeo.cms.jcr/src/org/argeo/cms/internal/jcr/LocalFsDataStore.java b/jcr/org.argeo.cms.jcr/src/org/argeo/cms/internal/jcr/LocalFsDataStore.java
deleted file mode 100644 (file)
index dba005c..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.argeo.cms.internal.jcr;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-
-import org.apache.jackrabbit.core.data.DataIdentifier;
-import org.apache.jackrabbit.core.data.DataRecord;
-import org.apache.jackrabbit.core.data.DataStoreException;
-import org.apache.jackrabbit.core.data.FileDataStore;
-
-/**
- * <b>experimental</b> Duplicate added entries in another directory (typically a
- * remote mount).
- */
-@SuppressWarnings("restriction")
-public class LocalFsDataStore extends FileDataStore {
-       String redundantPath;
-       FileDataStore redundantStore;
-
-       @Override
-       public void init(String homeDir) {
-               // init primary first
-               super.init(homeDir);
-
-               if (redundantPath != null) {
-                       // redundant directory must be created first
-                       // TODO implement some polling?
-                       if (Files.exists(Paths.get(redundantPath))) {
-                               redundantStore = new FileDataStore();
-                               redundantStore.setPath(redundantPath);
-                               redundantStore.init(homeDir);
-                       }
-               }
-       }
-
-       @Override
-       public DataRecord addRecord(InputStream input) throws DataStoreException {
-               DataRecord dataRecord = super.addRecord(input);
-               syncRedundantRecord(dataRecord);
-               return dataRecord;
-       }
-
-       @Override
-       public DataRecord getRecord(DataIdentifier identifier) throws DataStoreException {
-               DataRecord dataRecord = super.getRecord(identifier);
-               syncRedundantRecord(dataRecord);
-               return dataRecord;
-       }
-
-       protected void syncRedundantRecord(DataRecord dataRecord) throws DataStoreException {
-               if (redundantStore == null)
-                       return;
-               if (redundantStore.getRecordIfStored(dataRecord.getIdentifier()) == null) {
-                       try (InputStream redundant = dataRecord.getStream()) {
-                               redundantStore.addRecord(redundant);
-                       } catch (IOException e) {
-                               throw new DataStoreException("Cannot add redundant record.", e);
-                       }
-               }
-       }
-
-       public void setRedundantPath(String redundantPath) {
-               this.redundantPath = redundantPath;
-       }
-
-}