diff --git a/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFactory.java b/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFactory.java index 1f9de4902b777e242b8e140f977f8d8a52f32aa7..b75d745d2975fd34fc283d2c123728c78907e0c4 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFactory.java +++ b/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFactory.java @@ -36,7 +36,7 @@ public class MetaInfoFactory { * @param metaInfo */ private MetaInfoFactory(MetaInfo metaInfo) { - this.metaInfo = metaInfo; + MetaInfoFactory.metaInfo = metaInfo; } public static MetaInfo createMetaInfoFor(OlatRelPathImpl path) { diff --git a/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFormController.java b/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFormController.java index c83e5d28c0eaf29fd60fb8082ab32d8e92e719de..6fb8adc2f9a3ca270c500dbd3055b1635bfa6481 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFormController.java +++ b/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFormController.java @@ -246,7 +246,7 @@ public class MetaInfoFormController extends FormBasicController { if (!isSubform) { - if(!meta.isDirectory()) { + if(meta != null && !meta.isDirectory()) { Long lockedById = meta.getLockedBy(); //locked String lockedTitle = getTranslator().translate("mf.locked"); @@ -277,21 +277,24 @@ public class MetaInfoFormController extends FormBasicController { } // username - uifactory.addStaticTextElement("mf.author", meta.getHTMLFormattedAuthor(), formLayout); + String author = meta == null ? "" : meta.getHTMLFormattedAuthor(); + uifactory.addStaticTextElement("mf.author", author, formLayout); // filesize uifactory.addStaticTextElement("mf.size", sizeText, formLayout); // last modified date - uifactory.addStaticTextElement("mf.lastModified", StringHelper.formatLocaleDate(meta.getLastModified(), getLocale()), formLayout); + String lastModified = meta == null ? "" : StringHelper.formatLocaleDate(meta.getLastModified(), getLocale()); + uifactory.addStaticTextElement("mf.lastModified", lastModified, formLayout); // file type uifactory.addStaticTextElement("mf.type", typeText, formLayout); - uifactory.addStaticTextElement("mf.downloads", String.valueOf(meta.getDownloadCount()), formLayout); + String downloads = meta == null ? "" : String.valueOf(meta.getDownloadCount()); + uifactory.addStaticTextElement("mf.downloads", downloads, formLayout); } - if (!isSubform && meta.isDirectory()) { + if (!isSubform && meta != null && meta.isDirectory()) { // Don't show any meta data except title and comment if the item is // a directory. // Hide the metadata. @@ -303,7 +306,9 @@ public class MetaInfoFormController extends FormBasicController { if (!isSubform) { final FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("buttonLayout", getTranslator()); formLayout.add(buttonLayout); - uifactory.addFormSubmitButton("submit", buttonLayout); + if(meta != null) { + uifactory.addFormSubmitButton("submit", buttonLayout); + } uifactory.addFormCancelButton("cancel", buttonLayout, ureq, getWindowControl()); } }