-
Type: Bug
-
Status: Resolved
-
Priority: Major
-
Resolution: Not A Bug
-
Affects Version/s: 10.10
-
Fix Version/s: None
-
Component/s: Core MongoDB
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:?]