For starters, Oracle and your driver are the culprit, not
JDBC. This is one of the reasons I strongly recommend against Oracle-specific implementations of JDBC.
You should be using interface classes like Statement/Callable, and not relying on Oracle classes lest you never want to be able to port your code to a new database.
As for the error, since you're getting a ClassCastException exception its most likely your class path. Are you 100% its not failing on this line? The exception makes more sense if this is the bad line: