[Building Sakai] ClassCastException implementing CourseGradesToSpreadsheetConverter

Gross,Christopher ufchrisg at ufl.edu
Wed Aug 17 10:41:12 PDT 2011


Your emails gave me one idea, and that was to remove the
<scope>provided</scope> from the following dependency in the pom.xml for
both converters:

<dependency>
	<groupId>org.sakaiproject.edu-services.gradebook</groupId>
	<artifactId>gradebook-service-hibernate</artifactId>
	<scope>provided</scope>
</dependency>

At the very least it did one thing I was expecting and that was it placed
the gradebook-service-hibernate-1.1.2.jar in the WEB-INF/lib for the
converters.  Unfortunately, this did not resolve the issue and the
exception persists.

-Chris


On 8/17/11 10:28 AM, "Bryan Holladay" <holladay at longsight.com> wrote:

>A recent example I ran into was
>https://jira.sakaiproject.org/browse/SAM-1121
>
>Just adding this one line:
>
>Calendar calendar =
>org.sakaiproject.calendar.cover.CalendarService.getCalendar("/calendar/cal
>endar/"
>+ siteId + "/main");
>
>Threw this exception:
>
>Bean named 'org.sakaiproject.calendar.api.CalendarService' must be of
>type [org.sakaiproject.calendar.api.CalendarService], but was actually
>of type [org.sakaiproject.calendar.impl.DbCalendarService]
>
>
>You can look at my patch to get an idea of an approach to take
>(hopefully).  It basically comes down to: move it to a different part
>of the architecture.
>
>-Bryan
>
>
>On Wed, Aug 17, 2011 at 10:23 AM, Bryan Holladay <holladay at longsight.com>
>wrote:
>> This is an issue I see a lot.  It basically comes down to this:
>>
>> "The class objects were loaded in different classloaders, therefore
>> the instances created from in each of classes are seen as
>> 'incompatible'. This is a common issue in a an environment where there
>> are many different classloaders being used and objects are being
>> passed around. These issues can easily arise in JEE and portal
>> environments."
>>
>> -Source: Internet/Google
>>
>>  just throwing out quick ideas w/o knowing how your code is set up:
>>
>> Try to implement this in the same layer as the API or don't import
>> jars, but instead use what's already there or access it from
>> Edu-services if that's where it's create, ect...
>>
>>
>> Thanks,
>> Bryan
>>
>>
>>
>> On Wed, Aug 17, 2011 at 10:12 AM, Gross,Christopher <ufchrisg at ufl.edu>
>>wrote:
>>> The jars are there (the converters appear in tomcat/components/).
>>> Besides, a missing jar would likely give me some problems when tomcat
>>>is
>>> starting up and/or result in a bean failing to initialize.
>>>
>>> Thanks!
>>>
>>> -Chris
>>>
>>> On 8/17/11 4:26 AM, "DAVID ROLDAN MARTINEZ" <darolmar at upvnet.upv.es>
>>>wrote:
>>>
>>>>I suggest checking if you have all the *.jar you need available.
>>>>
>>>>Hope this helps.
>>>>
>>>>David
>>>>________________________________________
>>>>De: sakai-dev-bounces at collab.sakaiproject.org
>>>>[sakai-dev-bounces at collab.sakaiproject.org] En nombre de
>>>>Gross,Christopher [ufchrisg at ufl.edu]
>>>>Enviado el: martes, 16 de agosto de 2011 22:54
>>>>Para: sakai-dev at collab.sakaiproject.org
>>>>Asunto: [Building Sakai] ClassCastException implementing
>>>>CourseGradesToSpreadsheetConverter
>>>>
>>>>Hello!
>>>>
>>>>We are attempting to create our own implementation of the
>>>>CourseGradesToSpreadsheetConverter interface (gradebook service),
>>>>however
>>>>we are receiving a ClassCastException when attempting to export course
>>>>grades from the gradebook tool. To ensure this was not a problem in our
>>>>code we set gradebook.coursegrades.converter to
>>>>"org.sakaiproject.gradebooksample.CourseGradesToSpreadsheetConverterSam
>>>>ple
>>>>"
>>>> in sakai.properties, which is the sample that is included in the
>>>>gradebook tool's source. The result is that both implementations are
>>>>causing the same ClassCastException when a user attempts to export the
>>>>course grades in the gradebook.
>>>>
>>>>This setup is using gradebook 2.8.x and edu-services 1.1.x
>>>>
>>>>A small snippet of the output is below.
>>>>
>>>>I am hoping that someone may see something that I am not or will
>>>>confirm
>>>>that this is something that needs to be submitted to the JIRA.
>>>>
>>>>Thanks!
>>>>
>>>>----
>>>>
>>>>2011-08-16 16:28:05.634 [ERROR]
>>>>org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/sakai-g
>>>>rad
>>>>e
>>>>book-tool].[sakai.gradebook.tool]:691 - Servlet.service() for servlet
>>>>sakai.gradebook.tool threw exception
>>>>java.lang.ClassCastException:
>>>>org.sakaiproject.gradebooksample.CourseGradesToSpreadsheetConverterSamp
>>>>le
>>>>cannot be cast to
>>>>org.sakaiproject.tool.gradebook.CourseGradesToSpreadsheetConverter
>>>>        at
>>>>org.sakaiproject.tool.gradebook.ui.CourseGradeDetailsBean.getSpreadshee
>>>>tDa
>>>>t
>>>>a(CourseGradeDetailsBean.java:322)
>>>>        at
>>>>org.sakaiproject.tool.gradebook.ui.CourseGradeDetailsBean.exportCsv(Cou
>>>>rse
>>>>G
>>>>radeDetailsBean.java:296)
>>>>...
>>>>
>>>>
>>>>--
>>>>
>>>>Christopher Gross
>>>>University of Florida
>>>>
>>>>_______________________________________________
>>>>sakai-dev mailing list
>>>>sakai-dev at collab.sakaiproject.org
>>>>http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>>
>>>>TO UNSUBSCRIBE: send email to
>>>>sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
>>>>"unsubscribe"
>>>
>>> _______________________________________________
>>> sakai-dev mailing list
>>> sakai-dev at collab.sakaiproject.org
>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>
>>> TO UNSUBSCRIBE: send email to
>>>sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
>>>"unsubscribe"
>>>
>>



More information about the sakai-dev mailing list