From 37750c793d142e62dd04a8665cdf723e2af3a877 Mon Sep 17 00:00:00 2001 From: Jens Pelzetter Date: Sat, 6 Nov 2021 16:03:47 +0100 Subject: [PATCH] Some Code improvements. --- .../AbstractBinaryAssetModelBuilder.java | 61 +++++++++++++++++++ .../pages/models/AudioAssetModelBuilder.java | 6 +- .../pages/models/BinaryAssetModelBuilder.java | 30 +-------- .../pages/models/BookmarkModelBuilder.java | 3 + .../ExternalAudioAssetModelBuilder.java | 2 + .../pages/models/FileAssetModelBuilder.java | 14 +---- .../pages/models/ImageModelBuilder.java | 6 +- .../pages/models/VideoModelBuilder.java | 6 +- 8 files changed, 72 insertions(+), 56 deletions(-) create mode 100644 ccm-cms/src/main/java/org/librecms/pages/models/AbstractBinaryAssetModelBuilder.java 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())