Details
-
Bug
-
Status: Resolved
-
Resolution: Duplicate
-
None
-
None
-
None
-
None
-
Operating System: All
Platform: All
-
646
Description
I am testing minimal toaster distro found here:
https://git.opendaylight.org/gerrit/#/c/5825/
Steps to reproduce:
run odl with toaster
do
curl http://localhost:8080/restconf/operational/toaster:toaster/ -v
An exception appears in logs: (some JSON is returned to the http client)
2014-04-02 08:56:44.325 CEST [qtp1112930044-117] ERROR o.o.c.sal.restconf.impl.RestCodec - ClassCastException was thrown when codec is invoked with parameter Up
java.lang.ClassCastException: org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.toaster.rev091120.Toaster$ToasterStatus cannot be cast to java.lang.String
at org.opendaylight.yangtools.yang.data.impl.codec.TypeDefinitionAwareCodec$EnumCodecStringImpl.serialize(TypeDefinitionAwareCodec.java:509) ~[bundlefile:na]
at org.opendaylight.controller.sal.restconf.impl.RestCodec$ObjectCodec.serialize(RestCodec.java:135) ~[bundlefile:na]
at org.opendaylight.controller.sal.rest.impl.JsonMapper.writeValueOfNodeByType(JsonMapper.java:240) [bundlefile:na]
at org.opendaylight.controller.sal.rest.impl.JsonMapper.writeLeaf(JsonMapper.java:193) [bundlefile:na]
at org.opendaylight.controller.sal.rest.impl.JsonMapper.writeChildrenOfParent(JsonMapper.java:118) [bundlefile:na]
at org.opendaylight.controller.sal.rest.impl.JsonMapper.writeContainer(JsonMapper.java:154) [bundlefile:na]
at org.opendaylight.controller.sal.rest.impl.JsonMapper.write(JsonMapper.java:70) [bundlefile:na]
at org.opendaylight.controller.sal.rest.impl.StructuredDataToJsonProvider.writeTo(StructuredDataToJsonProvider.java:61) [bundlefile:na]
at org.opendaylight.controller.sal.rest.impl.StructuredDataToJsonProvider.writeTo(StructuredDataToJsonProvider.java:33) [bundlefile:na]
at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:306) [jersey-server-1.17.jar:1.17]
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1479) [jersey-server-1.17.jar:1.17]
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391) [jersey-server-1.17.jar:1.17]
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381) [jersey-server-1.17.jar:1.17]
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416) [bundlefile:na]
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538) [bundlefile:na]
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716) [bundlefile:na]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [bundlefile:3.1.0]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:711) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:568) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1112) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:479) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1046) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.server.Server.handle(Server.java:462) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:281) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:232) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.io.AbstractConnection$1.run(AbstractConnection.java:505) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607) [bundlefile:9.1.3.v20140225]
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536) [bundlefile:9.1.3.v20140225]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
This is probably related to the fact that org.opendaylight.yangtools.yang.data.api.codec.EnumCodec#serialize has String parameter and ToasterStatus is an enum? Deserialization also looks suspicious IMO
Attachments
Issue Links
- duplicates
-
YANGTOOLS-101 YANG Enumeration type is not handled.
- Resolved