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

Escape & and ' characters in MarkLogic queries

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 8.10, 9.1
    • Fix Version/s: 8.10-HF01, 9.1
    • Component/s: Core MarkLogic

      Description

      We need to escape & and ' characters when building queries for MarkLogic.

      Issue highlighted by TestFSExporterAccents.shouldExportFileTest:88 » Nuxeo An exception happened du...

      org.nuxeo.ecm.core.api.NuxeoException: An exception happened during xcc call
      	at org.nuxeo.ecm.core.storage.marklogic.MarkLogicRepository.exist(MarkLogicRepository.java:611)
      	at org.nuxeo.ecm.core.storage.marklogic.MarkLogicRepository.hasChild(MarkLogicRepository.java:266)
      	at org.nuxeo.ecm.core.storage.dbs.DBSTransactionState.hasChild(DBSTransactionState.java:244)
      	at org.nuxeo.ecm.core.storage.dbs.DBSSession.hasChild(DBSSession.java:429)
      	at org.nuxeo.ecm.core.storage.dbs.DBSDocument.hasChild(DBSDocument.java:331)
      	at org.nuxeo.ecm.core.api.AbstractSession.fillCreateOptions(AbstractSession.java:729)
      	at org.nuxeo.ecm.core.api.AbstractSession.createDocument(AbstractSession.java:674)
      	at org.nuxeo.io.fsexporter.test.TestFSExporterAccents.shouldExportFileTest(TestFSExporterAccents.java:88)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:497)
      	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
      	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
      	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
      	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
      	at org.nuxeo.runtime.test.runner.FeaturesRunner$15.evaluate(FeaturesRunner.java:467)
      	at org.nuxeo.runtime.test.runner.FeaturesRunner$BeforeMethodRunStatement.evaluate(FeaturesRunner.java:346)
      	at org.nuxeo.runtime.test.runner.FeaturesRunner$BeforeSetupStatement.evaluate(FeaturesRunner.java:362)
      	at org.nuxeo.runtime.test.runner.FeaturesRunner$AfterMethodRunStatement.evaluate(FeaturesRunner.java:393)
      	at org.nuxeo.runtime.test.runner.FeaturesRunner$AfterTeardownStatement.evaluate(FeaturesRunner.java:412)
      	at org.nuxeo.runtime.test.runner.FeaturesRunner$RulesFactory$1.evaluate(FeaturesRunner.java:525)
      	at org.nuxeo.runtime.test.runner.RuntimeDeployment$DeploymentStatement.evaluate(RuntimeDeployment.java:270)
      	at org.nuxeo.runtime.test.runner.RuntimeFeature$2$1.evaluate(RuntimeFeature.java:124)
      	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
      	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
      	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
      	at org.nuxeo.runtime.test.runner.FeaturesRunner$AfterClassStatement.evaluate(FeaturesRunner.java:285)
      	at org.nuxeo.runtime.test.runner.FeaturesRunner$RulesFactory$1.evaluate(FeaturesRunner.java:525)
      	at org.nuxeo.runtime.test.runner.FeaturesRunner$BeforeClassStatement.evaluate(FeaturesRunner.java:268)
      	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
      	at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
      	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
      	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234)
      	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:497)
      	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
      Caused by: com.marklogic.xcc.exceptions.XQueryException: XDMP-ENTITYREF: (err:XPST0003) Invalid entity reference ""
       [Session: user=admin, cb=unittests [ContentSource: user=admin, cb=unittests [provider: address=localhost/127.0.0.1:8010, pool=1/64]]]
       [Client: XCC/8.0-5, Server: XDBC/8.0-6]
      on line 1
      expr:  
      	at com.marklogic.xcc.impl.handlers.ServerExceptionHandler.handleResponse(ServerExceptionHandler.java:34)
      	at com.marklogic.xcc.impl.handlers.EvalRequestController.serverDialog(EvalRequestController.java:96)
      	at com.marklogic.xcc.impl.handlers.AbstractRequestController.runRequest(AbstractRequestController.java:88)
      	at com.marklogic.xcc.impl.SessionImpl.submitRequestInternal(SessionImpl.java:437)
      	at com.marklogic.xcc.impl.SessionImpl.submitRequest(SessionImpl.java:432)
      	at org.nuxeo.ecm.core.storage.marklogic.MarkLogicRepository.exist(MarkLogicRepository.java:608)
      	... 46 more
      

        Attachments

          Issue Links

            Activity

            Hide
            hudson Jenkins added a comment -

            SUCCESS: Integrated in master/addons_nuxeo-core-storage-marklogic-master #373
            NXP-21405: Escape xml characters like & (kevinleturc: fae7052c08f4eb93e625570edfc3984f60eeb994)

            Show
            hudson Jenkins added a comment - SUCCESS: Integrated in master/addons_nuxeo-core-storage-marklogic-master #373 NXP-21405 : Escape xml characters like & (kevinleturc: fae7052c08f4eb93e625570edfc3984f60eeb994 )
            Hide
            hudson Jenkins added a comment -

            SUCCESS: Integrated in 10.10/nuxeo-10.10 #97
            NXP-21405: Escape xml characters like & (kevinleturc: fae7052c08f4eb93e625570edfc3984f60eeb994)

            Show
            hudson Jenkins added a comment - SUCCESS: Integrated in 10.10/nuxeo-10.10 #97 NXP-21405 : Escape xml characters like & (kevinleturc: fae7052c08f4eb93e625570edfc3984f60eeb994 )
            Hide
            hudson Jenkins added a comment -

            SUCCESS: Integrated in 8.10/nuxeo-8.10 #783
            NXP-21405: Escape xml characters like & (kevinleturc: b4b9abaf69d516eacbf943387abc46bda9a3eca0)
            NXP-21405: Fix unit test (kevinleturc: 20060de4caaa1f824bf4a720b232a3b8a4216926)

            Show
            hudson Jenkins added a comment - SUCCESS: Integrated in 8.10/nuxeo-8.10 #783 NXP-21405 : Escape xml characters like & (kevinleturc: b4b9abaf69d516eacbf943387abc46bda9a3eca0 ) NXP-21405 : Fix unit test (kevinleturc: 20060de4caaa1f824bf4a720b232a3b8a4216926 )
            Hide
            hudson Jenkins added a comment -

            ABORTED: Integrated in 9.10/nuxeo-9.10 #1980
            NXP-21405: Escape xml characters like & (kevinleturc: fae7052c08f4eb93e625570edfc3984f60eeb994)

            Show
            hudson Jenkins added a comment - ABORTED: Integrated in 9.10/nuxeo-9.10 #1980 NXP-21405 : Escape xml characters like & (kevinleturc: fae7052c08f4eb93e625570edfc3984f60eeb994 )
            Hide
            hudson Jenkins added a comment -

            SUCCESS: Integrated in master/nuxeo-master #2364
            NXP-21405: Escape xml characters like & (kevinleturc: fae7052c08f4eb93e625570edfc3984f60eeb994)

            Show
            hudson Jenkins added a comment - SUCCESS: Integrated in master/nuxeo-master #2364 NXP-21405 : Escape xml characters like & (kevinleturc: fae7052c08f4eb93e625570edfc3984f60eeb994 )
            Hide
            hudson Jenkins added a comment -

            SUCCESS: Integrated in master/nuxeo-master-sonar/master #716
            NXP-21405: Escape xml characters like & (kevinleturc: fae7052c08f4eb93e625570edfc3984f60eeb994)

            Show
            hudson Jenkins added a comment - SUCCESS: Integrated in master/nuxeo-master-sonar/master #716 NXP-21405 : Escape xml characters like & (kevinleturc: fae7052c08f4eb93e625570edfc3984f60eeb994 )

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: