Uploaded image for project: 'Magnolia Standard Templating Kit (closed)'
  1. Magnolia Standard Templating Kit (closed)
  2. MGNLSTK-566

Invalid DMS-links cause RunTimeException in several paragraphs

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • 1.3.2
    • 1.2.1
    • paragraphs
    • Yes

      Invalid links pointing to DMS (several paragraphs are affected, for instance change a dms-handle in stkExtrasExternalPage-paragraph manually) cause a RunTimeException in STKUtil.getAsset(Content content, String nodeDataName, String variationName). It's not possible to edit the paragraph afterwards.

      StKUtil can be called in Freemarker-Templates directly, so there is no possiblity to catch this exception. There should be logged a WARN-message and returned null for this cases.

      public static Asset getAsset(Content content, String nodeDataName, String variationName) {
      Asset asset = null;
      try

      { asset = getAssetVariation(DAMUtil.getAsset(content, nodeDataName), variationName); }

      catch (AssetNotFoundException e)

      { log.warn("Asset not found.", e); }

      catch (DAMException e)

      { log.warn("Can't create asset.", e); }

      return asset;
      }

      Freemarker-Exception in detail:

      get(image) failed on instance of info.magnolia.module.templatingkit.paragraphs.ExternalTeaserModel
      The problematic instruction:
      ----------
      ==> assignment: imageLink=(model.image!).link! [on line 14, column 5 in templating-kit/paragraphs/teasers/externalPage.ftl]
      ----------

      Java backtrace for programmers:
      ----------
      freemarker.template.TemplateModelException: get(image) failed on instance of info.magnolia.module.templatingkit.paragraphs.ExternalTeaserModel
      at freemarker.ext.beans.BeanModel.get(BeanModel.java:223)
      at freemarker.core.Dot._getAsTemplateModel(Dot.java:76)
      at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
      at freemarker.core.DefaultToExpression._getAsTemplateModel(DefaultToExpression.java:100)
      at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
      at freemarker.core.ParentheticalExpression._getAsTemplateModel(ParentheticalExpression.java:75)
      at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
      at freemarker.core.Dot._getAsTemplateModel(Dot.java:74)
      at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
      at freemarker.core.DefaultToExpression._getAsTemplateModel(DefaultToExpression.java:100)
      at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
      at freemarker.core.Assignment.accept(Assignment.java:90)
      at freemarker.core.Environment.visit(Environment.java:209)
      at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
      at freemarker.core.Environment.visit(Environment.java:209)
      at freemarker.core.MixedContent.accept(MixedContent.java:92)
      at freemarker.core.Environment.visit

        Acceptance criteria

              ochytil Ondrej Chytil
              sebastianfrick Sebastian Frick
              Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: