The generated test file <classname>DataOnDemand_Roo_DataOnDemand.aj incorrectly uses the abstract superclass instead of the subclass. For instance, the method getNewTransient<classname> tries to instantiate the abstract class. The behavior varies depending on the name of the class, and also depending on the top level package name. For instance, class name OperationalEnvironment triggers this behavior, while class name AperationalEnvironment does not. (this name was used while debugging a complex data model). A similar behavior was observed with name pairs Cloud and CloudProvider. Changing the top level package name can actually reverse the behavior for these pairs of names. Sample roo script files attached for both classes.