Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ADF BC: Exception when using an association accessor in polymorphic EOs

25112Jul 14 2006 — edited Jan 31 2007

Hi,
I have generated a classic Dept-Emp ADF BC project. Since I need inheritance for my business logic, I created a new EO Manager which extends Employee. Attribute Job is the discriminator with a default value 'MANAGER'. The Employee VO uses polymorphic EOs. When I try to get the department of an employee in a method like Employee.getSal() the ClassCastException is thrown.

  public Number getSal() {
    DepartmentImpl d = (DepartmentImpl) getDepartment(); // Exception!
    // process business logic
    return aValue;
  }

java.lang.ClassCastException: oracle.jbo.domain.Number
	at oracle.jbo.server.RowFilterKey.<init>(RowFilterKey.java:47)
	at oracle.jbo.server.ViewObjectImpl.buildRowFilter(ViewObjectImpl.java:4527)
	at oracle.jbo.server.ViewRowSetImpl.getRowFilter(ViewRowSetImpl.java:419)
	at oracle.jbo.server.ViewRowSetImpl.getRowFilter(ViewRowSetImpl.java:370)
	at oracle.jbo.server.ViewRowSetImpl.ensureStorage(ViewRowSetImpl.java:4632)
	at oracle.jbo.server.EntityRowSetImpl.<init>(EntityRowSetImpl.java:80)
	at oracle.jbo.server.EntityImpl.createAssociationAccessorRS(EntityImpl.java:7610)
	at oracle.jbo.server.AssociationDefImpl.get(AssociationDefImpl.java:329)
	at oracle.jbo.server.AssociationDefImpl.get(AssociationDefImpl.java:274)
	at oracle.jbo.server.EntityImpl.getAttributeInternal(EntityImpl.java:2144)
	at com.trivadis.adf.inheritance.model.eo.EmployeeImpl.getDepartment(EmployeeImpl.java:186)
	at com.trivadis.adf.inheritance.model.eo.EmployeeImpl.getSal(EmployeeImpl.java:103)
	at com.trivadis.adf.inheritance.model.eo.EmployeeImpl.getAttrInvokeAccessor(EmployeeImpl.java:141)
	at com.trivadis.adf.inheritance.model.eo.ManagerImpl.getAttrInvokeAccessor(ManagerImpl.java:76)
	at oracle.jbo.server.EntityImpl.getAttribute(EntityImpl.java:784)

Is it a known bug? or not allowed to use associations with EO Inheritance? Something else?

Any hints are welcome!

Thanks,
Markus

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 28 2007
Added on Jul 14 2006
12 comments
1,127 views