diff --git a/ccm-cms/src/main/java/org/librecms/assets/AbstractBinaryAssetImExporter.java b/ccm-cms/src/main/java/org/librecms/assets/AbstractBinaryAssetImExporter.java
index 58d1cb43a..9641e8e00 100644
--- a/ccm-cms/src/main/java/org/librecms/assets/AbstractBinaryAssetImExporter.java
+++ b/ccm-cms/src/main/java/org/librecms/assets/AbstractBinaryAssetImExporter.java
@@ -20,7 +20,6 @@ package org.librecms.assets;
import java.util.Objects;
-
/**
*
* @author Jens Pelzetter
@@ -29,15 +28,42 @@ import java.util.Objects;
public abstract class AbstractBinaryAssetImExporter
extends AbstractAssetImExporter {
+ /**
+ * Implementation of
+ * {@link AbstractBinaryAssetImExporter#initAssetImExporter()} for subtypes
+ * of {@link BinaryAsset}.
+ *
+ * !!!Warning: Implementations of this abstract class MUST NEVER override
+ * this method. Instead they MUST implement
+ * {@link #initBinaryAssetImExporter()}.
+ *
+ * Unfortunetly, CDI does not support final methods, therefore we can't make
+ * this method final.
+ */
@Override
- protected final void initAssetImExporter() {
+ protected void initAssetImExporter() {
initBinaryAssetImExporter();
}
protected abstract void initBinaryAssetImExporter();
+ /**
+ * Implementation of
+ * {@link AbstractAssetImExporter#updateExistingAsset(org.librecms.contentsection.Asset, org.librecms.contentsection.Asset)}
+ * for subtypes of {@link BinaryAsset}.
+ *
+ * Implementations of this abstract class MUST NEVER override this method.
+ * Instead, they MUST implement
+ * {@link #updateExistingBinaryAsset(org.librecms.assets.BinaryAsset, org.librecms.assets.BinaryAsset)}.
+ *
+ * Unfortunetly, CDI does not support final methods, therefore we can't make
+ * this method final.
+ *
+ * @param existingAsset
+ * @param importedAsset
+ */
@Override
- protected final void updateExistingAsset(
+ protected void updateExistingAsset(
final T existingAsset,
final T importedAsset
) {
diff --git a/ccm-cms/src/main/java/org/librecms/assets/AbstractBookmarkImExporter.java b/ccm-cms/src/main/java/org/librecms/assets/AbstractBookmarkImExporter.java
index bc1f8d7ad..02fc5caad 100644
--- a/ccm-cms/src/main/java/org/librecms/assets/AbstractBookmarkImExporter.java
+++ b/ccm-cms/src/main/java/org/librecms/assets/AbstractBookmarkImExporter.java
@@ -20,7 +20,6 @@ package org.librecms.assets;
import java.util.Objects;
-
/**
*
* @author Jens Pelzetter
@@ -29,14 +28,39 @@ import java.util.Objects;
public abstract class AbstractBookmarkImExporter
extends AbstractAssetImExporter {
-
+ /**
+ * Implementation of {@link AbstractAssetImExporter#initAssetImExporter()}
+ * for {@link Bookmark} and subtypes of {@link Bookmark}.
+ *
+ * !!!Warning: Implementations of this abstract class MUST NEVER override
+ * this method. Instead, they MUST implement {@link #initBookmarkImExporter()
+ * }.
+ *
+ * Unfortunetly, CDI does not support final methods, therefore we can't make
+ * this method final.
+ */
@Override
protected final void initAssetImExporter() {
initBookmarkImExporter();
}
-
+
protected abstract void initBookmarkImExporter();
-
+
+ /**
+ * Implementation of {@link AbstractAssetImExporter#updateExistingAsset(org.librecms.contentsection.Asset, org.librecms.contentsection.Asset)
+ * }
+ * for {@link Bookmark} and subtypes of {@link Bookmark}.
+ *
+ * !!!Warning: Implementations of this abstract class MUST NEVER override
+ * this method. Instead, they MUST implement
+ * {@link #updateExistingBookmark(org.librecms.assets.Bookmark, org.librecms.assets.Bookmark)}.
+ *
+ * Unfortunetly, CDI does not support final methods, therefore we can't make
+ * this method final.
+ *
+ * @param existingAsset
+ * @param importedAsset
+ */
@Override
protected final void updateExistingAsset(
final T existingAsset,
@@ -47,24 +71,24 @@ public abstract class AbstractBookmarkImExporter
importedAsset.getDescription()
)) {
syncLocalizedStrings(
- importedAsset.getDescription(),
+ importedAsset.getDescription(),
existingAsset.getDescription()
);
- }
-
+ }
+
if (!Objects.equals(
existingAsset.getUrl(),
importedAsset.getUrl()
)) {
existingAsset.setUrl(importedAsset.getUrl());
}
-
+
updateExistingBookmark(existingAsset, importedAsset);
}
-
+
protected abstract void updateExistingBookmark(
final T existingBookmark,
final T importedBookmark
);
-
+
}
diff --git a/ccm-cms/src/main/java/org/librecms/assets/AbstractContactableEntityImExporter.java b/ccm-cms/src/main/java/org/librecms/assets/AbstractContactableEntityImExporter.java
index f03bc451e..c2e94202f 100644
--- a/ccm-cms/src/main/java/org/librecms/assets/AbstractContactableEntityImExporter.java
+++ b/ccm-cms/src/main/java/org/librecms/assets/AbstractContactableEntityImExporter.java
@@ -29,8 +29,19 @@ import java.util.Set;
public abstract class AbstractContactableEntityImExporter
extends AbstractAssetImExporter {
+ /**
+ * Implementation of {@link AbstractAssetImExporter#initAssetImExporter()}
+ * for subtypes of {@link ContactableEntity}.
+ *
+ * !!!Warning: Implementations of this abstract class MUST NEVER override
+ * this method. Instead, they MUST override
+ * {@link #initContactableEntityImExporter()}
+ *
+ * Unfortunetly, CDI does not support final methods, therefore we can't make
+ * this method final.
+ */
@Override
- protected final void initAssetImExporter() {
+ protected void initAssetImExporter() {
addRequiredEntities(Set.of(PostalAddress.class));
initContactableEntityImExporter();
@@ -38,8 +49,24 @@ public abstract class AbstractContactableEntityImExporter