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

Update of a directory with a complex property fails in Mongo if a sub-property is a date

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Not A Bug
    • Affects Version/s: 10.10
    • Fix Version/s: None
    • Component/s: Core MongoDB

      Description

      If we have a directory with a complex property declared as:

      <xs:element name="complexProperty" type="nxs:complexType" />
      <xs:complexType name="complexItem">
          <xs:sequence>
            <xs:element name="aDate" type="xs:date" />
        </xs:sequence>
      </xs:complexType>

      <xs:complexType name="complexType">
         <xs:sequence>
           <xs:element name="item" type="nxs:complexItem" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
      </xs:complexType>

      The following exception is thrown when we try to update an entry in this directory to set the date:

      org.bson.codecs.configuration.CodecConfigurationException: Can't find a codec for class java.util.GregorianCalendar.
      
      	at org.bson.codecs.configuration.CodecCache.getOrThrow(CodecCache.java:46) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at org.bson.codecs.configuration.ProvidersCodecRegistry.get(ProvidersCodecRegistry.java:63) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at org.bson.codecs.configuration.ChildCodecRegistry.get(ChildCodecRegistry.java:51) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at org.bson.codecs.MapCodec.writeValue(MapCodec.java:143) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at org.bson.codecs.MapCodec.encode(MapCodec.java:100) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at org.bson.codecs.MapCodec.encode(MapCodec.java:40) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at org.bson.codecs.EncoderContext.encodeWithChildContext(EncoderContext.java:91) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at org.bson.codecs.IterableCodec.writeValue(IterableCodec.java:106) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at org.bson.codecs.IterableCodec.encode(IterableCodec.java:90) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at org.bson.codecs.IterableCodec.encode(IterableCodec.java:37) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at com.mongodb.client.model.BuildersHelper.encodeValue(BuildersHelper.java:37) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at com.mongodb.client.model.Updates$SimpleUpdate.toBsonDocument(Updates.java:445) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at com.mongodb.client.model.Updates$CompositeUpdate.toBsonDocument(Updates.java:614) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at com.mongodb.internal.operation.Operations.toBsonDocument(Operations.java:489) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at com.mongodb.internal.operation.Operations.bulkWrite(Operations.java:369) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at com.mongodb.internal.operation.Operations.updateOne(Operations.java:318) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at com.mongodb.internal.operation.SyncOperations.updateOne(SyncOperations.java:164) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at com.mongodb.client.internal.MongoCollectionImpl.executeUpdate(MongoCollectionImpl.java:952) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at com.mongodb.client.internal.MongoCollectionImpl.updateOne(MongoCollectionImpl.java:613) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at com.mongodb.client.internal.MongoCollectionImpl.updateOne(MongoCollectionImpl.java:608) ~[mongo-java-driver-3.8.1.jar:?]
      
      	at org.nuxeo.directory.mongodb.MongoDBSession.updateEntryWithoutReferences(MongoDBSession.java:258) ~[nuxeo-platform-directory-mongodb-10.10.jar:?]
      
      	at org.nuxeo.ecm.directory.BaseSession.updateEntry(BaseSession.java:410) ~[nuxeo-platform-directory-api-10.10.jar:?]
      
      	at org.nuxeo.ecm.platform.usermanager.UserManagerImpl.updateUser(UserManagerImpl.java:1384) ~[nuxeo-platform-usermanager-core-10.10.jar:?]
      

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: