Reproduced on the Person tutorial. Just add the following method to PersonManagerImpl.java: @Override @Transactional public Person save(Person person) { /* do something else */
return super.save(person); } Any ideas, how to overcome this obstacle? What's the proper way to override a save method in the manager? MH Martin Homik wrote: > > In my managers, I override the save method. There is no problem in > production state, that is jetty:run-war runs perfectly well. But in the > test-cycle, I get a ClassCastException. So, the problem must be related > to the mocks in the test classes. > > Here is my manager class: > public class SurveyValueManagerImpl > extends GenericManagerImpl<SurveyValue, Long> > implements SurveyValueManager { > > [... some other methods ...] > > > @Override > @Transactional > public SurveyValue save(SurveyValue surveyValue) { > > [... do something else ...] > > Object o = super.save(surveyValue); > > return (SurveyValue) o; > } > } > > The super save method returns successfully, but because I have to return > something of type SurveyValue, I need to cast the object to the > SurveyValue type. And that's the problem. > > The test method is no surprise: > > @Test > public void testSaveSurveyValue() { > log.debug("testing saveSurveyValue"); > > final SurveyValue surveyValue = new SurveyValue(); > // enter all required fields > > // set expected behavior on dao > context.checking(new Expectations() { > { > one(dao).save(with(same(surveyValue))); > } > }); > > manager.save(surveyValue); > } > > Any ideas? > > PS: You should be able to reproduce the exception in the tutorial by > overriding 'save' in PersonManagerImpl.java (I have not tested it, > sorry): > > @Override > @Transactional > public Person save(Person person) { > return (Person) super.save(person); > } > > -- View this message in context: http://www.nabble.com/ClassCastException-when-testing-overriden-save-method-in-*Manager-tp17748663s2369p17900484.html Sent from the AppFuse - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]