diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/AbstractBinaryAssetModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/AbstractBinaryAssetModelBuilder.java
new file mode 100644
index 000000000..735040ab8
--- /dev/null
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/AbstractBinaryAssetModelBuilder.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2021 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package org.librecms.pages.models;
+
+import org.libreccm.l10n.GlobalizationHelper;
+import org.librecms.assets.BinaryAsset;
+import org.librecms.contentsection.AssetManager;
+
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
+import javax.transaction.Transactional;
+
+/**
+ *
+ * @author Jens Pelzetter
+ * @param
+ * @param
+ */
+@RequestScoped
+public abstract class AbstractBinaryAssetModelBuilder
+ extends AbstractAssetModelBuilder {
+
+ @Inject
+ private AssetManager assetManager;
+
+ @Inject
+ private GlobalizationHelper globalizationHelper;
+
+ @Transactional(Transactional.TxType.REQUIRED)
+ @Override
+ protected void addProperties(final T asset, final M model) {
+ super.addProperties(asset, model);
+ model.setAssetPath(assetManager.getAssetPath(asset));
+ model.setBinaryAssetUuid(asset.getUuid());
+ model.setDescription(
+ globalizationHelper.getValueFromLocalizedString(
+ asset.getDescription()
+ )
+ );
+ model.setFileName(asset.getFileName());
+ model.setMimeType(asset.getMimeType().toString());
+ model.setSize(asset.getSize());
+ }
+
+}
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/AudioAssetModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/AudioAssetModelBuilder.java
index be22f0c80..9542b7ea6 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/AudioAssetModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/AudioAssetModelBuilder.java
@@ -28,10 +28,9 @@ import javax.transaction.Transactional;
* @author Jens Pelzetter
*/
public class AudioAssetModelBuilder
- extends AbstractAssetModelBuilder {
+ extends AbstractBinaryAssetModelBuilder {
- @Inject
- private BinaryAssetModelBuilder binaryAssetModelBuilder;
+
@Inject
private LegalMetadataModelBuilder legalMetadataModelBuilder;
@@ -52,7 +51,6 @@ public class AudioAssetModelBuilder
final AudioAsset asset, final AudioAssetModel model
) {
super.addProperties(asset, model);
- binaryAssetModelBuilder.addProperties(asset, model);
model.setLegalMetadata(
legalMetadataModelBuilder.buildAssetModel(asset.getLegalMetadata())
);
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/BinaryAssetModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/BinaryAssetModelBuilder.java
index 07dde0c50..e37f19637 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/BinaryAssetModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/BinaryAssetModelBuilder.java
@@ -18,13 +18,9 @@
*/
package org.librecms.pages.models;
-import org.libreccm.l10n.GlobalizationHelper;
import org.librecms.assets.BinaryAsset;
-import org.librecms.contentsection.AssetManager;
import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.transaction.Transactional;
/**
*
@@ -32,13 +28,7 @@ import javax.transaction.Transactional;
*/
@RequestScoped
public class BinaryAssetModelBuilder
- extends AbstractAssetModelBuilder {
-
- @Inject
- private AssetManager assetManager;
-
- @Inject
- private GlobalizationHelper globalizationHelper;
+ extends AbstractBinaryAssetModelBuilder {
@Override
public Class buildsAssetModelFor() {
@@ -50,22 +40,4 @@ public class BinaryAssetModelBuilder
return new BinaryAssetModel();
}
- @Transactional(Transactional.TxType.REQUIRED)
- @Override
- protected void addProperties(
- final BinaryAsset asset, final BinaryAssetModel model
- ) {
- super.addProperties(asset, model);
- model.setAssetPath(assetManager.getAssetPath(asset));
- model.setBinaryAssetUuid(asset.getUuid());
- model.setDescription(
- globalizationHelper.getValueFromLocalizedString(
- asset.getDescription()
- )
- );
- model.setFileName(asset.getFileName());
- model.setMimeType(asset.getMimeType().toString());
- model.setSize(asset.getSize());
- }
-
}
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/BookmarkModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/BookmarkModelBuilder.java
index 1da3dff90..848568da7 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/BookmarkModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/BookmarkModelBuilder.java
@@ -20,10 +20,13 @@ package org.librecms.pages.models;
import org.librecms.assets.Bookmark;
+import javax.enterprise.context.RequestScoped;
+
/**
*
* @author Jens Pelzetter
*/
+@RequestScoped
public class BookmarkModelBuilder extends AbstractBookmarkModelBuilder {
@Override
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/ExternalAudioAssetModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/ExternalAudioAssetModelBuilder.java
index f8882ad7f..78b91d521 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/ExternalAudioAssetModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/ExternalAudioAssetModelBuilder.java
@@ -20,6 +20,7 @@ package org.librecms.pages.models;
import org.librecms.assets.ExternalAudioAsset;
+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 ExternalAudioAssetModelBuilder
extends AbstractBookmarkModelBuilder {
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 69fff7fd4..ed5495b5f 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,17 +20,13 @@ package org.librecms.pages.models;
import org.librecms.assets.FileAsset;
-import javax.inject.Inject;
/**
*
* @author Jens Pelzetter
*/
public class FileAssetModelBuilder
- extends AbstractAssetModelBuilder {
-
- @Inject
- private BinaryAssetModelBuilder binaryAssetModelBuilder;
+ extends AbstractBinaryAssetModelBuilder {
@Override
public Class buildsAssetModelFor() {
@@ -42,12 +38,4 @@ public class FileAssetModelBuilder
return new FileAssetModel();
}
- @Override
- protected void addProperties(
- final FileAsset asset, final FileAssetModel model
- ) {
- super.addProperties(asset, model);
- binaryAssetModelBuilder.addProperties(asset, model);
- }
-
}
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 0283d5196..45afe0dd7 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
@@ -28,10 +28,7 @@ import javax.transaction.Transactional;
* @author Jens Pelzetter
*/
public class ImageModelBuilder
- extends AbstractAssetModelBuilder {
-
- @Inject
- private BinaryAssetModelBuilder binaryAssetModelBuilder;
+ extends AbstractBinaryAssetModelBuilder {
@Inject
private LegalMetadataModelBuilder legalMetadataModelBuilder;
@@ -50,7 +47,6 @@ public class ImageModelBuilder
@Override
protected void addProperties(final Image image, final ImageModel model) {
super.addProperties(image, model);
- binaryAssetModelBuilder.addProperties(image, model);
model.setHeight(image.getHeight());
model.setLegalMetadata(
legalMetadataModelBuilder.buildAssetModel(image.getLegalMetadata())
diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/VideoModelBuilder.java b/ccm-cms/src/main/java/org/librecms/pages/models/VideoModelBuilder.java
index b75b90285..7d87d52c5 100644
--- a/ccm-cms/src/main/java/org/librecms/pages/models/VideoModelBuilder.java
+++ b/ccm-cms/src/main/java/org/librecms/pages/models/VideoModelBuilder.java
@@ -28,10 +28,7 @@ import javax.transaction.Transactional;
* @author Jens Pelzetter
*/
public class VideoModelBuilder
- extends AbstractAssetModelBuilder {
-
- @Inject
- private BinaryAssetModelBuilder binaryAssetModelBuilder;
+ extends AbstractBinaryAssetModelBuilder {
@Inject
private LegalMetadataModelBuilder legalMetadataModelBuilder;
@@ -52,7 +49,6 @@ public class VideoModelBuilder
final VideoAsset video, final VideoAssetModel model
) {
super.addProperties(video, model);
- binaryAssetModelBuilder.addProperties(video, model);
model.setHeight(video.getHeight());
model.setLegalMetadata(
legalMetadataModelBuilder.buildAssetModel(video.getLegalMetadata())