ClassCastException while handling binary value
----------------------------------------------
Key: DIRSERVER-1158
URL: https://issues.apache.org/jira/browse/DIRSERVER-1158
Project: Directory ApacheDS
Issue Type: Bug
Environment: r640455 of bigbang-with-dependencies, r640484 of studio
trunk
Reporter: David Montag
Setting an attribute to an octet string produces an exception on the server:
java.lang.ClassCastException: java.lang.String
at
org.apache.directory.server.core.entry.ServerBinaryValue.normalize(ServerBinaryValue.java:190)
at
org.apache.directory.server.core.entry.ServerBinaryValue.getNormalizedValueReference(ServerBinaryValue.java:234)
at
org.apache.directory.server.core.entry.ServerBinaryValue.hashCode(ServerBinaryValue.java:476)
at java.util.HashMap.containsKey(HashMap.java:377)
at java.util.HashSet.contains(HashSet.java:182)
at
org.apache.directory.server.core.entry.DefaultServerAttribute.add(DefaultServerAttribute.java:664)
at
org.apache.directory.server.core.entry.DefaultServerAttribute.add(DefaultServerAttribute.java:775)
at
org.apache.directory.server.core.entry.ServerEntryUtils.toServerAttribute(ServerEntryUtils.java:153)
at
org.apache.directory.server.core.entry.ServerEntryUtils.toModification(ServerEntryUtils.java:418)
at
org.apache.directory.server.core.entry.ServerEntryUtils.toServerModification(ServerEntryUtils.java:483)
at
org.apache.directory.server.core.jndi.ServerDirContext.modifyAttributes(ServerDirContext.java:225)
at
org.apache.directory.server.ldap.support.DefaultModifyHandler.modifyMessageReceived(DefaultModifyHandler.java:83)
at
org.apache.directory.server.ldap.support.ModifyHandler.messageReceived(ModifyHandler.java:38)
at
org.apache.mina.handler.demux.DemuxingIoHandler.messageReceived(DemuxingIoHandler.java:141)
at
org.apache.directory.server.ldap.LdapServer$LdapProtocolHandler.messageReceived(LdapServer.java:1095)
at
org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived(AbstractIoFilterChain.java:570)
at
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
at
org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
at
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
at
org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimpleProtocolDecoderOutput.java:58)
at
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:180)
at
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(AbstractIoFilterChain.java:299)
at
org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilterChain.java:53)
at
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(AbstractIoFilterChain.java:648)
at
org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:220)
at
org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(ExecutorFilter.java:264)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
The error occurs here:
normalizedValue = ( byte[] ) normalizer.normalize( getCopy() );
See the attached test case. It also covers
https://issues.apache.org/jira/browse/DIRSERVER-1156.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.