Ticket #2683 & #2682 - Fixes minor stuff

git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4738 8810af33-2d31-482b-a856-94f89814c4df
pull/2/head
baka 2017-05-17 12:02:50 +00:00
parent cb587b3ceb
commit 124c0edde6
2 changed files with 30 additions and 8 deletions

View File

@ -87,15 +87,15 @@ public class ExternalAudioAssetForm extends BookmarkForm {
final PageState state = event.getPageState(); final PageState state = event.getPageState();
final ExternalAudioAsset ExternalAudioAsset = new ExternalAudioAsset(); final ExternalAudioAsset externalAudioAsset = new ExternalAudioAsset();
updateData((Bookmark) ExternalAudioAsset, state); updateData((Bookmark) externalAudioAsset, state);
updateData(ExternalAudioAsset, state); updateData(externalAudioAsset, state);
return ExternalAudioAsset; return externalAudioAsset;
} }
protected void updateData(final ExternalAudioAsset ExternalAudioAsset, protected void updateData(final ExternalAudioAsset externalAudioAsset,
final PageState state) { final PageState state) {
final Long legalMetadataId = (Long) assetSearchWidget.getValue(state); final Long legalMetadataId = (Long) assetSearchWidget.getValue(state);
@ -109,7 +109,7 @@ public class ExternalAudioAssetForm extends BookmarkForm {
"No LegalMetadata asset with ID %d in the database.", "No LegalMetadata asset with ID %d in the database.",
legalMetadataId))); legalMetadataId)));
ExternalAudioAsset.setLegalMetadata(legalMetadata); externalAudioAsset.setLegalMetadata(legalMetadata);
} }
} }

View File

@ -26,11 +26,14 @@ import com.arsdigita.bebop.form.TextField;
import com.arsdigita.cms.ui.assets.AssetPane; import com.arsdigita.cms.ui.assets.AssetPane;
import com.arsdigita.cms.ui.assets.AssetSearchWidget; import com.arsdigita.cms.ui.assets.AssetSearchWidget;
import com.arsdigita.globalization.GlobalizedMessage; import com.arsdigita.globalization.GlobalizedMessage;
import org.libreccm.cdi.utils.CdiUtil;
import org.librecms.CmsConstants; import org.librecms.CmsConstants;
import org.librecms.assets.BinaryAsset; import org.librecms.assets.BinaryAsset;
import org.librecms.assets.ExternalAudioAsset;
import org.librecms.assets.Image; import org.librecms.assets.Image;
import org.librecms.assets.LegalMetadata; import org.librecms.assets.LegalMetadata;
import org.librecms.contentsection.Asset; import org.librecms.contentsection.Asset;
import org.librecms.contentsection.AssetRepository;
import java.util.Optional; import java.util.Optional;
@ -105,7 +108,7 @@ public class ImageForm extends BinaryAssetForm {
image.setHeight(Long.parseLong((String) height.getValue(state))); image.setHeight(Long.parseLong((String) height.getValue(state)));
image.setWidth(Long.parseLong((String) width.getValue(state))); image.setWidth(Long.parseLong((String) width.getValue(state)));
image.setLegalMetadata((LegalMetadata) assetSearchWidget.getValue(state)); updateData(image, state);
return image; return image;
} }
@ -123,7 +126,26 @@ public class ImageForm extends BinaryAssetForm {
image.setHeight(Long.parseLong((String) height.getValue(state))); image.setHeight(Long.parseLong((String) height.getValue(state)));
image.setWidth(Long.parseLong((String) width.getValue(state))); image.setWidth(Long.parseLong((String) width.getValue(state)));
image.setLegalMetadata((LegalMetadata) assetSearchWidget.getValue(state));
updateData(image, state);
}
protected void updateData(final Image image,
final PageState state) {
final Long legalMetadataId = (Long) assetSearchWidget.getValue(state);
if (legalMetadataId != null) {
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
final AssetRepository assetRepo = cdiUtil.findBean(
AssetRepository.class);
final LegalMetadata legalMetadata = (LegalMetadata) assetRepo
.findById(legalMetadataId)
.orElseThrow(() -> new IllegalArgumentException(String.format(
"No LegalMetadata asset with ID %d in the database.",
legalMetadataId)));
image.setLegalMetadata(legalMetadata);
}
} }
@Override @Override