Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-16749

Fix binary metadata update containing quote character

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 7.1
    • Fix Version/s: 7.3
    • Component/s: Image Management
    • Tags:
    • Sprint:
      TGV 7.2-3
    • Story Points:
      3

      Description

      Binary metadata update fails when a property contains a quote character.

      ****** Seam.RunOperation ******
      Chain ID: FileManager.ImportInSeam
      Chain Aliases: []
      Class: RunOperationInSeam
      Method: 'run' | Input Type: void | Output Type: class java.lang.Object
      Input: [DocumentModelImpl(2def118f-7c88-4e8b-8769-c32ec2076e83, path=/default-domain/workspaces/test 9/Classeur.ods, title=2def118f-7c88-4e8b-8769-c32ec2076e83), DocumentModelImpl(75260a58-ced9-4ac2-96fa-e4fc9e83ee2c, path=/default-domain/workspaces/test 9/test 6, title=75260a58-ced9-4ac2-96fa-e4fc9e83ee2c)]
      Parameters  | Name: id, Value: Seam.Refresh
      Context Variables | Key: repository, Value: default | Key: currentDomain, Value: 9f154dbb-4bcf-41c0-902c-7eb6301d4340 | Key: currentDocument, Value: ca6fbe66-68be-47bb-82ff-f29099611851 | Key: request, Value: org.nuxeo.ecm.platform.ui.web.auth.NuxeoSecuredRequestWrapper@5ba03ae5 | Key: conversationId, Value: 0NXMAIN1 | Key: currentWorkspace, Value: ca6fbe66-68be-47bb-82ff-f29099611851 | Key: ChainParameters, Value: {} | Key: lang, Value: en_US
      2015-03-16 10:40:48,780 ERROR [http-bio-0.0.0.0-8080-exec-8] [org.nuxeo.ecm.core.event.impl.EventServiceImpl] Exception during binaryMetadataSyncListener sync listener execution, continuing to run other listeners
      java.lang.IllegalArgumentException: '-XMP:Description=c'est\ génial -XMP:Title=Contrat\ du\ siècle ' contains illegal characters. It should match: [\p{L}_0-9-.%:=/\\ ]+
      	at org.nuxeo.ecm.platform.commandline.executor.service.CommandLineExecutorComponent.checkParameter(CommandLineExecutorComponent.java:217)
      	at org.nuxeo.ecm.platform.commandline.executor.service.executors.AbstractExecutor.replaceParams(AbstractExecutor.java:90)
      	at org.nuxeo.ecm.platform.commandline.executor.service.executors.AbstractExecutor.getParametersString(AbstractExecutor.java:60)
      	at org.nuxeo.ecm.platform.commandline.executor.service.executors.ShellExecutor.exec(ShellExecutor.java:57)
      	at org.nuxeo.ecm.platform.commandline.executor.service.CommandLineExecutorComponent.execCommand(CommandLineExecutorComponent.java:155)
      	at org.nuxeo.binary.metadata.internals.ExifToolProcessor.writeMetadata(ExifToolProcessor.java:79)
      	at org.nuxeo.binary.metadata.internals.BinaryMetadataServiceImpl.writeMetadata(BinaryMetadataServiceImpl.java:146)
      	at org.nuxeo.binary.metadata.internals.BinaryMetadataServiceImpl.handleUpdate(BinaryMetadataServiceImpl.java:241)
      	at org.nuxeo.binary.metadata.internals.BinaryMetadataServiceImpl.handleSyncUpdate(BinaryMetadataServiceImpl.java:218)
      	at org.nuxeo.binary.metadata.internals.listeners.BinaryMetadataSyncListener.handleEvent(BinaryMetadataSyncListener.java:58)
      	at org.nuxeo.ecm.core.event.impl.EventServiceImpl.fireEvent(EventServiceImpl.java:192)
      	at org.nuxeo.ecm.core.api.AbstractSession.notifyEvent(AbstractSession.java:271)
      	at org.nuxeo.ecm.core.api.AbstractSession.saveDocument(AbstractSession.java:1522)
      	at org.nuxeo.ecm.webapp.contentbrowser.DocumentActionsBean.updateDocument(DocumentActionsBean.java:286)
      	at org.nuxeo.ecm.webapp.contentbrowser.DocumentActionsBean.updateDocument(DocumentActionsBean.java:308)
      	at org.nuxeo.ecm.webapp.contentbrowser.DocumentActionsBean.updateCurrentDocument(DocumentActionsBean.java:314)
      

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: