Setting extension metadata through the API crashes in updatePresenters

Steps to reproduce

Steps to reproduce:
1. Create a new CatalogUIAdapterFactory configuration.
I created org.opencastproject.ui.metadata.CatalogUIAdapterFactory-episode-beuth.cfg

with the content

type=events
organization=mh_default_org
flavor=beuth/episode
title=EVENT.METADATA.BEUTH
common-metadata=false

  1. Name of the XML root element of the serialized catalog
    xml.rootElement.name=dublincore

  2. Namespace binding for the XML root element
    xml.rootElement.namespace.URI=http://doku.beuth-hochschule.de/opencast/metadata/1.0/

  1. XML namespace bindings
    xml.namespaceBinding.root.URI=http://doku.beuth-hochschule.de/opencast/metadata/1.0/
    xml.namespaceBinding.root.prefix=

  1. Permanent video - no automatic deletion
    property.permanent.inputID=permanent
    property.permanent.label=EVENT.METADATA.BEUTH.PERMANENT
    property.permanent.type=boolean
    property.permanent.readOnly=false
    property.permanent.required=false
    property.permanent.order=0

2. Try setting the new property through the API. I tried

curl -v -X PUT -u userass -F 'metadata=[{"id":"permanent", "value":true}]' 'https://host/api/events/uuid/metadata?type=beuth/episode'

Actual Results:
HTTP/2 500
The logfile shows a traceback

at org.opencastproject.index.service.impl.IndexServiceImpl.updatePresenters(IndexServiceImpl.java:1019)
at org.opencastproject.index.service.impl.IndexServiceImpl.updateEventMetadata(IndexServiceImpl.java:1273)
at org.opencastproject.external.endpoint.EventsEndpoint.updateEventMetadataByType(EventsEndpoint.java:1326)

Expected Results:
The call should be successful

Workaround (if any): None

Apparently, the code tries to locate the creator property field in the updated metadata. However, since this is not the dublincore metadata, looking for it gives a null pointer exception.

Status

Assignee

Unassigned

Reporter

Martin von Löwis

Severity

Non Functioning

Tags (folksonomy)

None

Components

Affects versions

Priority

Major
Configure