diff --git a/pom.xml b/pom.xml
index 1c3db3f..77b4727 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
at.ucs.magnolia
ucs-intranet-magnolia-updates
- 2.0.0
+ 1.0.42
ucs-intranet-magnolia-updates
http://maven.apache.org
jar
diff --git a/src/main/java/at/ucs/magnolia/updates/IntranetUpdateModuleConfig.java b/src/main/java/at/ucs/magnolia/updates/IntranetUpdateModuleConfig.java
index f87ea0d..6d4a80f 100644
--- a/src/main/java/at/ucs/magnolia/updates/IntranetUpdateModuleConfig.java
+++ b/src/main/java/at/ucs/magnolia/updates/IntranetUpdateModuleConfig.java
@@ -1,11 +1,11 @@
package at.ucs.magnolia.updates;
-import info.magnolia.module.delta.Task;
+import info.magnolia.module.delta.Delta;
import java.util.List;
public interface IntranetUpdateModuleConfig {
- List getInitialUpdateTasks();
+ List getInitialUpdateDeltas();
String getYamlUpdateDir();
String getUpdateTaskPackage();
}
diff --git a/src/main/java/at/ucs/magnolia/updates/IntranetUpdateModuleVersionHandler.java b/src/main/java/at/ucs/magnolia/updates/IntranetUpdateModuleVersionHandler.java
index 02da567..3aabd48 100644
--- a/src/main/java/at/ucs/magnolia/updates/IntranetUpdateModuleVersionHandler.java
+++ b/src/main/java/at/ucs/magnolia/updates/IntranetUpdateModuleVersionHandler.java
@@ -28,11 +28,13 @@ public class IntranetUpdateModuleVersionHandler extends DefaultModuleVersionHand
public IntranetUpdateModuleVersionHandler(IntranetUpdateModuleConfig moduleConfig) {
super();
this.moduleConfig = moduleConfig;
+ moduleConfig.getInitialUpdateDeltas()
+ .forEach(super::register);
}
@Override
protected List getExtraInstallTasks(InstallContext installContext) {
- return getModuleConfig().getInitialUpdateTasks();
+ return getModuleConfig().getInitialUpdateDeltas().stream().map(Delta::getTasks).flatMap(List::stream).toList();
}
@Override
@@ -41,6 +43,8 @@ public class IntranetUpdateModuleVersionHandler extends DefaultModuleVersionHand
if (from == null) {
deltaList.add(getInstall(installContext));
+ } else {
+ deltaList.addAll(super.getUpdateDeltas(installContext,from));
}
deltaList.addAll(getUpdateDeltas(installContext, from));
@@ -49,6 +53,7 @@ public class IntranetUpdateModuleVersionHandler extends DefaultModuleVersionHand
protected List getUpdateDeltas(InstallContext installContext, Version from) {
try {
+
context.initFromJCR(installContext);
return new Reflections(
getModuleConfig().getUpdateTaskPackage(),
diff --git a/src/main/java/at/ucs/magnolia/updates/util/IntranetUpdateModuleVersionHandlerContext.java b/src/main/java/at/ucs/magnolia/updates/util/IntranetUpdateModuleVersionHandlerContext.java
index 29fa977..ea9e42b 100644
--- a/src/main/java/at/ucs/magnolia/updates/util/IntranetUpdateModuleVersionHandlerContext.java
+++ b/src/main/java/at/ucs/magnolia/updates/util/IntranetUpdateModuleVersionHandlerContext.java
@@ -77,6 +77,7 @@ public class IntranetUpdateModuleVersionHandlerContext {
} else {
folderNode.setProperty(INSTALLED_TASKS, BigDecimal.ONE);
}
+ installContext.getConfigJCRSession().save();
} catch (RepositoryException e) {
log.error("Could not add version to JCR", e);
}
diff --git a/src/test/java/at/ucs/magnolia/updates/IntranetUpdateModuleVersionHandlerTest.java b/src/test/java/at/ucs/magnolia/updates/IntranetUpdateModuleVersionHandlerTest.java
index 72e45c2..4e8ae7b 100644
--- a/src/test/java/at/ucs/magnolia/updates/IntranetUpdateModuleVersionHandlerTest.java
+++ b/src/test/java/at/ucs/magnolia/updates/IntranetUpdateModuleVersionHandlerTest.java
@@ -4,6 +4,7 @@ import at.ucs.magnolia.updates.util.IntranetUpdateModuleVersionHandlerContext;
import at.ucs.magnolia.updates.util.TaskWrapper;
import info.magnolia.module.InstallContext;
import info.magnolia.module.delta.Delta;
+import info.magnolia.module.delta.DeltaBuilder;
import info.magnolia.module.delta.Task;
import info.magnolia.module.model.ModuleDefinition;
import info.magnolia.module.model.Version;
@@ -35,7 +36,7 @@ public class IntranetUpdateModuleVersionHandlerTest {
when(moduleDefinition.getVersion()).thenReturn(Version.parseVersion("9.9.9"));
IntranetUpdateModuleConfig config = new IntranetUpdateModuleConfig() {
@Override
- public List getInitialUpdateTasks() {
+ public List getInitialUpdateDeltas() {
return List.of();
}
@@ -66,8 +67,8 @@ public class IntranetUpdateModuleVersionHandlerTest {
when(moduleDefinition.getVersion()).thenReturn(null);
IntranetUpdateModuleConfig config = new IntranetUpdateModuleConfig() {
@Override
- public List getInitialUpdateTasks() {
- return List.of(new TestTask("install1","install1desc"));
+ public List getInitialUpdateDeltas() {
+ return List.of(DeltaBuilder.update( Version.parseVersion("0.0.1"), "", new TestTask("install1","install1desc")));
}
@Override
public String getYamlUpdateDir() {
@@ -96,8 +97,9 @@ public class IntranetUpdateModuleVersionHandlerTest {
when(moduleDefinition.getVersion()).thenReturn(Version.parseVersion("9.9.9"));
IntranetUpdateModuleConfig config = new IntranetUpdateModuleConfig() {
@Override
- public List getInitialUpdateTasks() {
- return List.of(new TestTask("install1","install1desc"));
+ public List getInitialUpdateDeltas() {
+ return List.of(DeltaBuilder.update( Version.parseVersion("0.0.1"), "", new TestTask("install1","install1desc")));
+
}
@Override
public String getYamlUpdateDir() {
@@ -117,7 +119,7 @@ public class IntranetUpdateModuleVersionHandlerTest {
assertThat("count of testtask must be 1", matching.size(), equalTo(1));
}
- private void mockVersionUtil(IntranetUpdateModuleVersionHandlerContext contextMock) throws RepositoryException {
+ private void mockVersionUtil(IntranetUpdateModuleVersionHandlerContext contextMock) {
doNothing().when(contextMock).initFromJCR(Mockito.any());
when(contextMock.alreadyApplied(Mockito.any()))
.thenAnswer(