AEM 6.1: Customized Assets Bulk Edit in Touch UI Throws an Exception in Append Mode
- April 4, 2017
- 2 replies
- 1317 views
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.
