import java.io.InputStreamReader;
import java.io.Reader;
+import java.net.URL;
-import javax.jcr.Node;
import javax.jcr.Session;
import org.apache.commons.io.IOUtils;
import org.apache.jackrabbit.commons.cnd.CndImporter;
import org.apache.jackrabbit.core.config.RepositoryConfig;
import org.argeo.jcr.ArgeoJcrException;
-import org.argeo.jcr.ArgeoNames;
import org.argeo.jcr.JcrCallback;
import org.argeo.jcr.JcrUtils;
-import org.springframework.core.io.Resource;
/** Migrate the data in a Jackrabbit repository. */
+@Deprecated
public class JackrabbitDataModelMigration implements
Comparable<JackrabbitDataModelMigration> {
private final static Log log = LogFactory
private String dataModelNodePath;
private String targetVersion;
- private Resource migrationCnd;
+ private URL migrationCnd;
private JcrCallback dataModification;
/**
+ " does not exist: nothing to migrate.");
return false;
}
- Node dataModelNode = session.getNode(dataModelNodePath);
- if (dataModelNode.hasProperty(ArgeoNames.ARGEO_DATA_MODEL_VERSION)) {
- String currentVersion = dataModelNode.getProperty(
- ArgeoNames.ARGEO_DATA_MODEL_VERSION).getString();
- if (compareVersions(currentVersion, targetVersion) >= 0) {
- log.info("Data model at version " + currentVersion
- + ", no need to migrate.");
- return false;
- }
- }
+// Node dataModelNode = session.getNode(dataModelNodePath);
+// if (dataModelNode.hasProperty(ArgeoNames.ARGEO_DATA_MODEL_VERSION)) {
+// String currentVersion = dataModelNode.getProperty(
+// ArgeoNames.ARGEO_DATA_MODEL_VERSION).getString();
+// if (compareVersions(currentVersion, targetVersion) >= 0) {
+// log.info("Data model at version " + currentVersion
+// + ", no need to migrate.");
+// return false;
+// }
+// }
// apply transitional CND
if (migrationCnd != null) {
- reader = new InputStreamReader(migrationCnd.getInputStream());
+ reader = new InputStreamReader(migrationCnd.openStream());
CndImporter.registerNodeTypes(reader, session, true);
session.save();
log.info("Registered migration node types from " + migrationCnd);
this.targetVersion = targetVersion;
}
- public void setMigrationCnd(Resource migrationCnd) {
+ public void setMigrationCnd(URL migrationCnd) {
this.migrationCnd = migrationCnd;
}