diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/ArticleListItemModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/ArticleListItemModelBuilder.java
index 23b1510e0..1a72c935a 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/ArticleListItemModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/ArticleListItemModelBuilder.java
@@ -27,7 +27,7 @@ import javax.enterprise.context.RequestScoped;
* @author Jens Pelzetter
*/
@RequestScoped
-public class ArticleListItemModelBuilder
+public class ArticleListItemModelBuilder
extends AbstractContentItemListItemModelBuilder {
@Override
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/ContactableEntityModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/ContactableEntityModelBuilder.java
index 319a66707..0710dde06 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/ContactableEntityModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/ContactableEntityModelBuilder.java
@@ -20,10 +20,13 @@ package org.librecms.pages.models;
import org.librecms.assets.ContactableEntity;
+import javax.enterprise.context.RequestScoped;
+
/**
*
* @author Jens Pelzetter
*/
+@RequestScoped
public class ContactableEntityModelBuilder
extends AbstractContactableEntityModelBuilder {
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/FileAssetModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/FileAssetModelBuilder.java
index ed5495b5f..ff17f0c5c 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/FileAssetModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/FileAssetModelBuilder.java
@@ -20,11 +20,14 @@ package org.librecms.pages.models;
import org.librecms.assets.FileAsset;
+import javax.enterprise.context.RequestScoped;
+
/**
*
* @author Jens Pelzetter
*/
+@RequestScoped
public class FileAssetModelBuilder
extends AbstractBinaryAssetModelBuilder {
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/ImageModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/ImageModelBuilder.java
index 45afe0dd7..9da299934 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/ImageModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/ImageModelBuilder.java
@@ -20,6 +20,7 @@ package org.librecms.pages.models;
import org.librecms.assets.Image;
+import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.transaction.Transactional;
@@ -27,6 +28,7 @@ import javax.transaction.Transactional;
*
* @author Jens Pelzetter
*/
+@RequestScoped
public class ImageModelBuilder
extends AbstractBinaryAssetModelBuilder {
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/LegalMetadataModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/LegalMetadataModelBuilder.java
index 132e6013c..c12221754 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/LegalMetadataModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/LegalMetadataModelBuilder.java
@@ -21,12 +21,15 @@ package org.librecms.pages.models;
import org.libreccm.l10n.GlobalizationHelper;
import org.librecms.assets.LegalMetadata;
+import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
+import javax.transaction.Transactional;
/**
*
* @author Jens Pelzetter
*/
+@RequestScoped
public class LegalMetadataModelBuilder
extends AbstractAssetModelBuilder {
@@ -43,6 +46,7 @@ public class LegalMetadataModelBuilder
return new LegalMetadataModel();
}
+ @Transactional(Transactional.TxType.REQUIRED)
@Override
protected void addProperties(
final LegalMetadata legalMetadata, final LegalMetadataModel model
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/MultiPartArticleListItemModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/MultiPartArticleListItemModelBuilder.java
index d1e6e50b6..80ba98e62 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/MultiPartArticleListItemModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/MultiPartArticleListItemModelBuilder.java
@@ -21,12 +21,15 @@ package org.librecms.pages.models;
import org.libreccm.l10n.GlobalizationHelper;
import org.librecms.contenttypes.MultiPartArticle;
+import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
+import javax.transaction.Transactional;
/**
*
* @author Jens Pelzetter
*/
+@RequestScoped
public class MultiPartArticleListItemModelBuilder
extends AbstractContentItemListItemModelBuilder {
@@ -43,6 +46,7 @@ public class MultiPartArticleListItemModelBuilder
return new MultiPartArticleListItemModel();
}
+ @Transactional(Transactional.TxType.REQUIRED)
@Override
protected void addProperties(
final MultiPartArticle article,
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/NewsListItemModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/NewsListItemModelBuilder.java
index 9bb44aa96..f16346c99 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/NewsListItemModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/NewsListItemModelBuilder.java
@@ -22,10 +22,13 @@ import org.librecms.contenttypes.News;
import java.time.LocalDateTime;
+import javax.enterprise.context.RequestScoped;
+
/**
*
* @author Jens Pelzetter
*/
+@RequestScoped
public class NewsListItemModelBuilder
extends AbstractContentItemListItemModelBuilder {
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/OrganizationModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/OrganizationModelBuilder.java
index 883380a55..1722310a2 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/OrganizationModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/OrganizationModelBuilder.java
@@ -20,10 +20,14 @@ package org.librecms.pages.models;
import org.librecms.assets.Organization;
+import javax.enterprise.context.RequestScoped;
+import javax.transaction.Transactional;
+
/**
*
* @author Jens Pelzetter
*/
+@RequestScoped
public class OrganizationModelBuilder
extends AbstractContactableEntityModelBuilder {
@@ -37,6 +41,7 @@ public class OrganizationModelBuilder
return new OrganizationModel();
}
+ @Transactional(Transactional.TxType.REQUIRED)
@Override
protected void addProperties(
final Organization organization, final OrganizationModel model
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/PersonModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/PersonModelBuilder.java
index 1161de626..34a16fe72 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/PersonModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/PersonModelBuilder.java
@@ -23,10 +23,14 @@ import org.librecms.assets.Person;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
+import javax.enterprise.context.RequestScoped;
+import javax.transaction.Transactional;
+
/**
*
* @author Jens Pelzetter
*/
+@RequestScoped
public class PersonModelBuilder
extends AbstractContactableEntityModelBuilder {
@@ -40,6 +44,7 @@ public class PersonModelBuilder
return new PersonModel();
}
+ @Transactional(Transactional.TxType.REQUIRED)
@Override
protected void addProperties(final Person person, final PersonModel model) {
super.addProperties(person, model);
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/PostalAddressModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/PostalAddressModelBuilder.java
index 7dfd44c11..fab58ca16 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/PostalAddressModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/PostalAddressModelBuilder.java
@@ -20,10 +20,13 @@ package org.librecms.pages.models;
import org.librecms.assets.PostalAddress;
+import javax.enterprise.context.RequestScoped;
+
/**
*
* @author Jens Pelzetter
*/
+@RequestScoped
public class PostalAddressModelBuilder
extends AbstractAssetModelBuilder {
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/SideNoteModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/SideNoteModelBuilder.java
index dc4e82af7..5a74509c7 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/SideNoteModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/SideNoteModelBuilder.java
@@ -23,6 +23,7 @@ import org.librecms.assets.SideNote;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
+import javax.transaction.Transactional;
/**
*
@@ -45,6 +46,7 @@ public class SideNoteModelBuilder
return new SideNoteModel();
}
+ @Transactional(Transactional.TxType.REQUIRED)
@Override
protected void addProperties(
final SideNote sideNote, final SideNoteModel model
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/VideoModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/VideoAssetModelBuilder.java
similarity index 94%
rename from ccm-cms/src/main/java/org/librecms/pages/models/VideoModelBuilder.java
rename to ccm-cms/src/main/java/org/librecms/pages/models/VideoAssetModelBuilder.java
index 7d87d52c5..668d3f7db 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/VideoModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/VideoAssetModelBuilder.java
@@ -20,6 +20,7 @@ package org.librecms.pages.models;
import org.librecms.assets.VideoAsset;
+import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.transaction.Transactional;
@@ -27,7 +28,8 @@ import javax.transaction.Transactional;
*
* @author Jens Pelzetter
*/
-public class VideoModelBuilder
+@RequestScoped
+public class VideoAssetModelBuilder
extends AbstractBinaryAssetModelBuilder {
@Inject