Some Code improvements.
parent
b5c4ad89fd
commit
37750c793d
|
|
@ -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 <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
* @param <T>
|
||||
* @param <M>
|
||||
*/
|
||||
@RequestScoped
|
||||
public abstract class AbstractBinaryAssetModelBuilder<T extends BinaryAsset, M extends BinaryAssetModel>
|
||||
extends AbstractAssetModelBuilder<T, M> {
|
||||
|
||||
@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());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -28,10 +28,9 @@ import javax.transaction.Transactional;
|
|||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class AudioAssetModelBuilder
|
||||
extends AbstractAssetModelBuilder<AudioAsset, AudioAssetModel> {
|
||||
extends AbstractBinaryAssetModelBuilder<AudioAsset, AudioAssetModel> {
|
||||
|
||||
@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())
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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<BinaryAsset, BinaryAssetModel> {
|
||||
|
||||
@Inject
|
||||
private AssetManager assetManager;
|
||||
|
||||
@Inject
|
||||
private GlobalizationHelper globalizationHelper;
|
||||
extends AbstractBinaryAssetModelBuilder<BinaryAsset, BinaryAssetModel> {
|
||||
|
||||
@Override
|
||||
public Class<BinaryAsset> 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());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,10 +20,13 @@ package org.librecms.pages.models;
|
|||
|
||||
import org.librecms.assets.Bookmark;
|
||||
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
@RequestScoped
|
||||
public class BookmarkModelBuilder extends AbstractBookmarkModelBuilder<Bookmark, BookmarkModel> {
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -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 <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
@RequestScoped
|
||||
public class ExternalAudioAssetModelBuilder
|
||||
extends AbstractBookmarkModelBuilder<ExternalAudioAsset, ExternalAudioAssetModel> {
|
||||
|
||||
|
|
|
|||
|
|
@ -20,17 +20,13 @@ package org.librecms.pages.models;
|
|||
|
||||
import org.librecms.assets.FileAsset;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class FileAssetModelBuilder
|
||||
extends AbstractAssetModelBuilder<FileAsset, FileAssetModel> {
|
||||
|
||||
@Inject
|
||||
private BinaryAssetModelBuilder binaryAssetModelBuilder;
|
||||
extends AbstractBinaryAssetModelBuilder<FileAsset, FileAssetModel> {
|
||||
|
||||
@Override
|
||||
public Class<FileAsset> 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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,10 +28,7 @@ import javax.transaction.Transactional;
|
|||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class ImageModelBuilder
|
||||
extends AbstractAssetModelBuilder<Image, ImageModel> {
|
||||
|
||||
@Inject
|
||||
private BinaryAssetModelBuilder binaryAssetModelBuilder;
|
||||
extends AbstractBinaryAssetModelBuilder<Image, ImageModel> {
|
||||
|
||||
@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())
|
||||
|
|
|
|||
|
|
@ -28,10 +28,7 @@ import javax.transaction.Transactional;
|
|||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class VideoModelBuilder
|
||||
extends AbstractAssetModelBuilder<VideoAsset, VideoAssetModel> {
|
||||
|
||||
@Inject
|
||||
private BinaryAssetModelBuilder binaryAssetModelBuilder;
|
||||
extends AbstractBinaryAssetModelBuilder<VideoAsset, VideoAssetModel> {
|
||||
|
||||
@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())
|
||||
|
|
|
|||
Loading…
Reference in New Issue