Expand my Community achievements bar.

SOLVED

AEM 6.1: Customized Assets Bulk Edit in Touch UI Throws an Exception in Append Mode

Avatar

Level 2

For one of our customers we created a corporate asset database in AEM 6.1 (SP2) with a heavily customized asset administration in the Touch UI for the asset metadata properties. For that we have created our own DAM schema and stored it under /apps/dam/content/schemaeditors/forms (see the attached schema.txt). The asset authors can choose the image type which changes which property tabs are visible. Some of these properties are stored as Boolean property values.

Now during an bulk edit of the assets in Touch UI with "append mode" active, submitting the changes fails. The POST request which sends the attributes to AEM returns status 500 (post parameters are in the attached file).

I found the following error message in the error.log:

04.04.2017 16:57:31.655 *ERROR* [10.0.10.44 [1491317851627] POST /content/dam.html HTTP/1.1] org.apache.sling.servlets.post.impl.operations.ModifyOperation Exception during response processing.
java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.String
    at com.day.cq.dam.core.impl.servlet.BulkUpdatePostProcessor.process(BulkUpdatePostProcessor.java:110)
    at org.apache.sling.servlets.post.AbstractPostOperation.run(AbstractPostOperation.java:97)
    at org.apache.sling.servlets.post.impl.SlingPostServlet.doPost(SlingPostServlet.java:202)

...

I also tried the same with regular geometrixx-outdoors images and I found a different error:

04.04.2017 17:14:42.168 *ERROR* [10.0.10.44 [1491318882150] POST /content/dam.html HTTP/1.1] org.apache.sling.servlets.post.impl.operations.ModifyOperation Exception during response processing.
java.lang.NullPointerException: null
    at com.day.cq.dam.core.impl.servlet.BulkUpdatePostProcessor.process(BulkUpdatePostProcessor.java:101)
    at org.apache.sling.servlets.post.AbstractPostOperation.run(AbstractPostOperation.java:97)
    at org.apache.sling.servlets.post.impl.SlingPostServlet.doPost(SlingPostServlet.java:202)

...

For some strange reason sending the same POST request through Postman worked fine.

1 Accepted Solution

Avatar

Correct answer by
Level 10

This sounds like a bug. I would open a ticket with support so they can investigate. 

View solution in original post

2 Replies

Avatar

Correct answer by
Level 10

This sounds like a bug. I would open a ticket with support so they can investigate. 

Avatar

Level 2

Hey Scott, thanks for the reply. I thought that there might be something (like a property) missing which would fix the issue. Unfortunately the extension of that part isn't described in high detail, so it's more trial and error.