Class Casting problem
hi,
i�ve loaded a class at runtime and to parse it to another type, also loaded at runtime, but an error occures!
in this code i dont write the try�s and catches, they doesn�t matter in this problem
Class prototype; //source class
Class parser; //target class
Class parsed; //parsed class (source -> target / prototype -> parser)
prototype = Class.forName("Prototype");
parser = Class.forName("Parser");
parsed = (parser) prototype; //Compiler: "Class parser not found"what does it mean?
can somebody help me?
thx anyway
cu Errraddicator
parser = Class.forName("Parser");
parsed = (parser) prototype; //Compiler: "Class1st. "Parser" or "parser" ... what's the name of your class?
2nd. all your variables are of type Class. why would you want something of type Class cast into type Parser and then assign it back to a variable of class parsed?
try something like:
Class parserClass = Class.forName("Parser");
Parser parser = (Parser) parserClass.newInstance();of course this is not really THE way to construct an object if you know about the Class type beforehand....
ulrich
Similar Messages
-
Class casting problem when using two class loaders
Hi, I have a problem with class casting using two different ClassLoader...
I created an instance of Test class, which is a subclass of AbstractTest and stored it for later use to ArrayList<AsbtractTest>. The instance was created with a custom class loader which extends URLClassLoader. Later when I got the stored instance from the ArrayList<AbstractTest> in default ClassLoader context and cast it to Test, it failed saying "java.lang.ClassCastException: com.test.Test cannot be cast to com.test.Test".
Does anybody have an idea why this happens?Yes - a class is identified by it's package, it's name and it's class loader so the same class code loaded with two different class loaders are two different classes.
An approach to dealing with your problem is to have the class implement an interface that is loaded by the parent class (assuming, of course, that the two class loaders have the same parent) then you can cast to the interface. -
Parameter class casting problem
The question is: how to get the right method based on the type of the parameter passed?
Here is the code:
public class Test {
public static void main(String[] args) {
Integer l = 57; // automatic boxing
Object o = 43; // automatic boxing and widening casting (?)
print( l ); // OK: calls Integer
print( o ); // calls Object: not what I want, but could be
print( (Integer)o ); // OK: calls Integer
print( Integer.class.cast(o) ); // OK: calls Integer
print( o.getClass().cast(o) ); // NOT OK: dinamic casting does't work?
static void print( Integer l ) {
System.out.println("Integer: " + l.toString());
static void print( Object o ) {
System.out.println("Object: " + o.toString() + " (" + o.getClass().toString() + ")");
}Method overloads are resolved at compile time; meaning only the compile time type of the expression used as parameter is taken into account.
Class<T>.cast(Object)returns T.
Class<Integer>.cast returns Integer, so the first overload is chosen.
Class<Object>.cast returns Object, so here the second overload is chosen. -
Class Cast problem in BiBeans 905
I am now using BiBeans 905 beta. These days when I was developing a jsp page, a class cast error comes to me.
first I define the following Crosstab:
<orabi:Presentation location="UserLeftCrosstab"
id="biuntitled1_pres1"/>
and then, I wrote such code:
ThinGridView crosstab = (ThinGridView)biuntitled1_pres1;
when I compiled this page, the error occurs:
Error(26,41): cannot cast oracle.dss.thin.beans.dataView.Presentation to oracle.dss.thin.beans.gridView.ThinGridView
but I believe such kind of code can run in Bibeans 904Things have changed in that the MVC implementation has been expanded. This is the proper call....
ThinCrosstab crosstab = (ThinCrosstab)presentation1.getView(); -
Class cast problem !!!
I am getting a class cast exception here
DecodeArray decode = ((SmppDeliverRequest)obj).getDecodeArray();
getDecodeArray() returns an object of type DecodeArray ..then why is not able to cast it I have no idea ...
any guesses ??Hi Matt,
Thanks for your help !!
here is the output of the code. please check it and let me know your comments !!!
obj is of type com.logica.omg.ext.cingular.submit.DecodeArray
obj is an instance of SmppDeliverRequest
java.lang.ClassCastException
at com.logica.omg.cdrnode.logging.property.contexts.smpp.SmppDeliverRequestPropertyContext$SourceChargedProperty.access(SmppDeliverRequestPropertyContext.java:71)
at com.logica.omg.cdrnode.logging.property.Property.get(Property.java:52)
at com.logica.omg.cdrnode.logging.property.PropertyContextTest.assertProperty(PropertyContextTest.java:104)
at com.logica.omg.cdrnode.logging.property.PropertyContextTest.assertProperty(PropertyContextTest.java:67)
at com.logica.omg.cdrnode.logging.property.contexts.smpp.SmppDeliverRequestPropertyContextTest.testSourceChargedProperty(SmppDeliverRequestPropertyContextTest.java:136)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at junit.framework.TestCase.runTest(TestCase.java:166)
at junit.framework.TestCase.runBare(TestCase.java:140)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:131)
at junit.framework.TestSuite.runTest(TestSuite.java:173)
at junit.framework.TestSuite.run(TestSuite.java:168)
at junit.framework.TestSuite.runTest(TestSuite.java:173)
at junit.framework.TestSuite.run(TestSuite.java:168)
at junit.swingui.TestRunner$17.run(TestRunner.java:644)
obj is of type com.logica.omg.ext.cingular.submit.DecodeArray
obj is an instance of SmppDeliverRequest
Satish -
Class casting problems in JSP's
Folks,
Several people, including myself, have written about the problems they
ran into when trying to cast a class in JSP's. The following link might
provide the answer:
http://www.weblogic.com/docs51/classdocs/API_jsp.html#sessions
I believe this is a major limitation Weblogic put on web app
development, and hope BEA would eventually find a way to allow non-user
defined types being stored in servlet sessions.
Jeff
Folks,
Several people, including myself, have written about the problems they
ran into when trying to cast a class in JSP's. The following link might
provide the answer:
http://www.weblogic.com/docs51/classdocs/API_jsp.html#sessions
I believe this is a major limitation Weblogic put on web app
development, and hope BEA would eventually find a way to allow non-user
defined types being stored in servlet sessions.
Jeff
-
hi friends,
I have a TreeSet Object in which i add Object of type WeatherReport but when I trying to add my Second WeatherReport Object it throwing ClassCastException please Help Me in figure out the mistake that i did...
/*code sample of my WeatherReport.class*/
package com;
class WeatherReport implements Serializable
private String region;
private String desc;
private String temp;
/*equvalent getter and setters come here*/
/*in my jsp*/
<%@ page import="com.WeatherReport"%>
<%
TreeSet<com.WeatherReport> ts=new TreeSet<com.WeatherReport>();
while(condition)
WeatherReport wp=new WeatherReport();
/*setting data for all the Methods*/
ts.add(wp);
%>
Error:
java.lang.ClassCastException: com.WeatherReport
at java.util.TreeMap.compare(TreeMap.java:1093)
at java.util.TreeMap.put(TreeMap.java:465)
at java.util.TreeSet.add(TreeSet.java:210)
at org.apache.jsp.Weather_jsp._jspService(Weather_jsp.java:138)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)Edited by: rajaram on Oct 31, 2007 12:56 AMhi ChuckBing,
Thank you very much, your suggestion helps me a lot...
I change the WeatherReport Class as follows and its working now...
public class WeatherReport implements Serializable,Comparable {
private String location;
private String temp;
private String desc;
public int compareTo(Object o) {
if(o instanceof WeatherReport)
WeatherReport wp=(WeatherReport)o;
String l1=wp.getLocation();
String l2=this.getLocation();
return l2.compareTo(l1);
return -1;
}Once Again Thanks a lot ...
Edited by: rajaram on Oct 31, 2007 9:11 PM -
(Class cast Exception)Problem while loading data fro database in java class
Dear all,
Please help me...to solve this
I have a database having two columns of String and Date Types.
In my java code i was trying to load the data to a UI.
I am successfull in loading the String type value.
But while loading date field value,is showing Class cast Exception.
What i am doing is Getting the values from database to a String[] array.
So my question is how to
get the Date field as date field itself,Then convert it to a String..Then put it in to String[] array...
Any body please help...If any one want more clarification in question i will give......Hi,
I am using GWT to display my data in a Grid.
So it will accept a Single two dimensional String array....Here i have one as String and other as Date.
So i was trying to get each row in a sindle dimensional array array[] then store it in a list.
Iteration goes up to 10 rows.After i am setting it in to a list
ie list.add(array);
Now while returning this list i am doing this
"return (String[][])list.toArray(new String[0][]);"
When i tried to get the date element to String array it is showing class cast exception. When i tried with toString() method it is showing the same problem. -
Type problem - Class Cast Exception - trying to understand
hello,
i get a Class cast exception in the following code.
interface Foo {}
class Alpha implements Foo {}
class Beta extends Alpha {}
class Delta extends Beta {
public static void main( String[] args ) {
Beta x = new Beta();
Beta b = (Beta)(Alpha)x; //fine
Foo f = (Delta)x; //CCE
Object ob = new Object();
String s = new String();
ob = s; //fine, no need of case
s = (String)ob; //needs a castI was just thinking, implicitly Delta and Beta both of them IS-A Foo, and assigning x to a type foo shouldnt be a problem(while making it refer to the Delta class) so, what could cause the CCE ?
I would appreciate if someone could please help me understand this.
RgdsHi.
Assigning your "x" to a variable typed Foo is not a problem. The problem is that you are trying to cast an instance of Beta ("x") into type Delta which is not possible. Every Delta is a Beta, but not every Beta will be a Delta!
Simple as that.
Bye. -
Oracle Arrays and getVendorConnection API and Class Cast Exception
I 've gone through various threads relating to the topic of Oracle Arrays and the getVendorConnecton API call to avoid the class Cast Exception.. i ve used all these but am still facing the problem...
I would appreciate it if some one could resolve the following queries :
I am using Weblogic 8.1 SP5 with oracle 8i
1. I read that the need to use the getVendorConnection API to make pl/sql proc calls with oracle arrays from the WL Server wont be required to avoid classCastException...
I tried to use the connection from the WL connection pool ..but it didnot work....I used the getVendorConnection API ..which also doesnot seem to work..
I got the Heurisitc Hazard exception...I used the Oracle 9i driver ie ojdbc14.jar ...after this the exception is not coming but still the code doesnt seem to work...
the snippet of the code is pasted below :
~~~~~~~~~~~~~~~~~~~~~~~code is : ~~~~~~~~~~~~~~~~~~~
/*below :
logicalCon is the Connection from the WL connection pool
JDBCcon is the JDBC connection. */
<div> try </div>
<div>{ </div>
<div>
<b>vendorConn</b> = ((WLConnection)logicalCon).getVendorConnection();
</div>
<div>
//Calling the procedure
</div>
<div>
//java.util.Map childMap1 = JDBCcon.getTypeMap();
</div>
<div>
java.util.Map childMap1 = <b>vendorConn</b>.getTypeMap();
</div>
<div>
childMap1.put("SST_ROUTE_ENTRY", Class.forName("svm.stport.ejb.StaticRouteEntry"));
</div>
<div>
//JDBCcon.setTypeMap(childMap1);
<b>vendorConn</b>.setTypeMap(childMap1);
</div>
<div>
// Create an oracle.sql.ARRAY object to hold the values
</div>
<div>
/*oracle.sql.ArrayDescriptor arrayDesc1 = oracle.sql.ArrayDescriptor.createDescriptor("SST_ROUTE_ENTRY_ARR", JDBCcon); */
</div>
<div>
oracle.sql.ArrayDescriptor arrayDesc1 =
oracle.sql.ArrayDescriptor.createDescriptor("SST_ROUTE_ENTRY_ARR", <b>vendorConn</b>); // here if i use the JDBCcon it works perfectly.... <u>^%^%^%</u>
</div>
<div>
code to fill in the sst route entry array....
.....arrayValues1 */
</div>
<div>
/* oracle.sql.ARRAY array1 = new oracle.sql.ARRAY(arrayDesc1, JDBCcon, arrayValues1); */
</div>
<div>
oracle.sql.ARRAY array1 = new oracle.sql.ARRAY(arrayDesc1, <b>vendorConn</b>, arrayValues1);
</div>
<div>
callStatement = logicalCon.prepareCall( "? = call procName(?, ?, ?)");
</div>
<div>
/* ..code to set the ?s ie array1 */
</div>
<div>
callStatement.execute();
</div>
<div>
}catch(Exceptio e){
</div>
<div>
}</div>
<div>
finally </div>
</div>{</div>
<div>System.out.println(" I ve come to finally"); </div>
<div>}</div>
<div>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~code snippet ends here ~~~~~~~~~~~~~~``
</div>
I have observed that the control immediately comes to the finally block after the call to the createDescriptor line above with <u>^%^%^%</u> in the comment. If i use the JDBCCon in this line...it works perfectly fine.
Any pointers to where anything is getting wrong.
I have jst set the vendorCon to null in the end of the file and not closed it. Subsequently i have closed the logicalCon. This has been mentioned in some of the thread in this forum also.
Thanks,
-jwJatinder Wadhwa wrote:
I 've gone through various threads relating to the topic of Oracle Arrays and the getVendorConnecton API call to avoid the class Cast Exception.. i ve used all these but am still facing the problem...
I would appreciate it if some one could resolve the following queries :
I am using Weblogic 8.1 SP5 with oracle 8i
1. I read that the need to use the getVendorConnection API to make pl/sql proc calls with oracle arrays from the WL Server wont be required to avoid classCastException...
I tried to use the connection from the WL connection pool ..but it didnot work....I used the getVendorConnection API ..which also doesnot seem to work..
I got the Heurisitc Hazard exception...I used the Oracle 9i driver ie ojdbc14.jar ...after this the exception is not coming but still the code doesnt seem to work...
the snippet of the code is pasted below :
~~~~~~~~~~~~~~~~~~~~~~~code is : ~~~~~~~~~~~~~~~~~~~Hi. Show me the whole exception and stacktrace if you do:
try
vendorConn = ((WLConnection)logicalCon).getVendorConnection();
java.util.Map childMap1 = vendorConn.getTypeMap();
childMap1.put("SST_ROUTE_ENTRY" Class.forName("svm.stport.ejb.StaticRouteEntry"));
vendorConn.setTypeMap(childMap1);
oracle.sql.ArrayDescriptor arrayDesc1 =
oracle.sql.ArrayDescriptor.createDescriptor("SST_ROUTE_ENTRY_ARR",
vendorConn);
oracle.sql.ARRAY array1 = new oracle.sql.ARRAY(arrayDesc1, vendorConn, arrayValues1);
callStatement = logicalCon.prepareCall( "? = call procName(? ? ?)");
callStatement.execute();
}catch(Exception e){
e.printStackTrace();
finally
try{logicalCon.close();}catch(Exception ignore){}
System.out.println(" I ve come to finally");
/*below :
logicalCon is the Connection from the WL connection pool
JDBCcon is the JDBC connection. */
<div> try </div>
<div>{ </div>
<div>
<b>vendorConn</b> = ((WLConnection)logicalCon).getVendorConnection();
</div>
<div>
//Calling the procedure
</div>
<div>
//java.util.Map childMap1 = JDBCcon.getTypeMap();
</div>
<div>
java.util.Map childMap1 = <b>vendorConn</b>.getTypeMap();
</div>
<div>
childMap1.put("SST_ROUTE_ENTRY", Class.forName("svm.stport.ejb.StaticRouteEntry"));
</div>
<div>
//JDBCcon.setTypeMap(childMap1);
<b>vendorConn</b>.setTypeMap(childMap1);
</div>
<div>
// Create an oracle.sql.ARRAY object to hold the values
</div>
<div>
/*oracle.sql.ArrayDescriptor arrayDesc1 = oracle.sql.ArrayDescriptor.createDescriptor("SST_ROUTE_ENTRY_ARR", JDBCcon); */
</div>
<div>
oracle.sql.ArrayDescriptor arrayDesc1 =
oracle.sql.ArrayDescriptor.createDescriptor("SST_ROUTE_ENTRY_ARR", <b>vendorConn</b>); // here if i use the JDBCcon it works perfectly.... <u>^%^%^%</u>
</div>
<div>
code to fill in the sst route entry array....
.....arrayValues1 */
</div>
<div>
/* oracle.sql.ARRAY array1 = new oracle.sql.ARRAY(arrayDesc1, JDBCcon, arrayValues1); */
</div>
<div>
oracle.sql.ARRAY array1 = new oracle.sql.ARRAY(arrayDesc1, <b>vendorConn</b>, arrayValues1);
</div>
<div>
callStatement = logicalCon.prepareCall( "? = call procName(?, ?, ?)");
</div>
<div>
/* ..code to set the ?s ie array1 */
</div>
<div>
callStatement.execute();
</div>
<div>
}catch(Exceptio e){
</div>
<div>
}</div>
<div>
finally </div>
</div>{</div>
<div>System.out.println(" I ve come to finally"); </div>
<div>}</div>
<div>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~code snippet ends here ~~~~~~~~~~~~~~``
</div>
I have observed that the control immediately comes to the finally block after the call to the createDescriptor line above with <u>^%^%^%</u> in the comment. If i use the JDBCCon in this line...it works perfectly fine.
Any pointers to where anything is getting wrong.
I have jst set the vendorCon to null in the end of the file and not closed it. Subsequently i have closed the logicalCon. This has been mentioned in some of the thread in this forum also.
Thanks,
-jw -
'Class Cast Exception' while invoking a EJB from a Servlet
Hi,
I am working on J2EE applications.I am using Webgain studio and weblogic server.I
got a problem while invoking EJB from the servlet.
While calling an EJB from the servlet, it is giving that "Class Cast Exception".This
is because, the remote home reference is not able to type casted to the"Home Interface"
of the EJB, even if I type casted explicitly. It is creating the context and able
to identify the EJB with the JNDI name.
Could please help me in solving this problem.I am pasting the code here.
Thanks in advance,
Dharma
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
resp.setContentType("text/html");
PrintWriter out = new PrintWriter(resp.getOutputStream());
try
Context context=getInitialContext();
Object reference=context.lookup("ArlProjContractorAppletSession");
ArlProjContractorAppletSessionHome home=(ArlProjContractorAppletSessionHome)PortableRemoteObject.narrow(reference,ArlProjContractorAppletSessionHome.class);
//Exception is occuring in the above statement. It is unable
//to cast to the home interface
ArlProjContractorAppletSession the_ejb=null;
try
the_ejb=home.create();
System.out.println("the_ejb = " + the_ejb.toString());
catch(Exception e)
e.printStackTrace();
catch(Exception e)
e.printStackTrace();
// to do: code goes here.
out.println("<HTML>");
out.println("<HEAD><TITLE>Contractor TimeTracker</TITLE></HEAD>");
out.println("<BODY>");
// to do: your HTML goes here.
out.println("</BODY>");
out.println("</HTML>");
out.close();
I came across this kind of problem once. My problem went away after I upgraded
from 5.1 SP6 to 5.1 SP8.
"Dharma" <[email protected]> wrote:
>
>Hi,
>
>I am working on J2EE applications.I am using Webgain studio and weblogic
>server.I
>got a problem while invoking EJB from the servlet.
>
>While calling an EJB from the servlet, it is giving that "Class Cast
>Exception".This
>is because, the remote home reference is not able to type casted to the"Home
>Interface"
>of the EJB, even if I type casted explicitly. It is creating the context
>and able
>to identify the EJB with the JNDI name.
>
>Could please help me in solving this problem.I am pasting the code here.
>
>Thanks in advance,
>Dharma
>
>
>public void doGet(HttpServletRequest req, HttpServletResponse resp)
> throws ServletException, IOException
> {
> resp.setContentType("text/html");
> PrintWriter out = new PrintWriter(resp.getOutputStream());
>
> try
> {
>
> Context context=getInitialContext();
>
> Object reference=context.lookup("ArlProjContractorAppletSession");
>
> ArlProjContractorAppletSessionHome home=(ArlProjContractorAppletSessionHome)PortableRemoteObject.narrow(reference,ArlProjContractorAppletSessionHome.class);
>
>//Exception is occuring in the above statement. It is unable
>//to cast to the home interface
>
> ArlProjContractorAppletSession the_ejb=null;
>
> try
> {
> the_ejb=home.create();
>
> System.out.println("the_ejb = " + the_ejb.toString());
>
> }
> catch(Exception e)
> {
> e.printStackTrace();
> }
> }
> catch(Exception e)
> {
> e.printStackTrace();
> }
> // to do: code goes here.
>
> out.println("<HTML>");
> out.println("<HEAD><TITLE>Contractor TimeTracker</TITLE></HEAD>");
> out.println("<BODY>");
>
> // to do: your HTML goes here.
>
> out.println("</BODY>");
> out.println("</HTML>");
> out.close();
> }
>
>
>
>
>
-
Class cast exception using Finder method
Hello. I'm new to J2EE. I have set up one entity bean but am having trouble
with my current one.
Basically, I have two finder methods:
public ShareHistory findByPrimaryKey(Integer historyId)
throws FinderException, RemoteException;
public Collection findByShare(String shareId)
throws FinderException, RemoteException; findByPrimaryKey works fine, but findByShare causes a class cast exception in java.lang.String.
The stack trace in the server logs shows that it is my ejbActivate method in my entity bean causing the problem:
public void ejbActivate() {
//String numberString = (String) context.getPrimaryKey();
//historyId = new Integer(numberString);
historyId = (Integer) context.getPrimaryKey();
}The stack trace from my client shows that the class cast exception occurs
in the client at the System.out.println("shareid" + ": " + sh.getShareId());
line:
Collection c = sharesHistoryHome.findByShare("DCAN");
Iterator i = c.iterator();
while (i.hasNext()) {
ShareHistory sh = (ShareHistory) i.next();
System.out.println("shareid" + ": " + sh.getShareId());
System.out.println("value" + ": " + sh.getValue());
System.out.println("time" + ": " + sh.getTime());
System.out.println("date" + ": " + sh.getDate());
}//whileAs you can see I tried casting to a string in ejbactivate, but that simply causes an Integer class cast exception during findByprimaryKey instead. How do I allow both Integer and String objects to be used?
Also I am a bit confused as to why the String passed to findByShare(String) is being used in context.getPrimaryKey() in the first place (if that is actually what's happening).Oops my FindByShare method was returning a collection of shareId's (strings) instead of a collection of Integer primary keys, which would explain the class cast exception.
-
Class Cast exception when clicking Search Button in Query component
Hi
We have to implement the Query component in ADF programmatically.. We are using Toplink as the Model layer for ADF.
We followed the Web User Interface Guide for ADF development, Chapter 12 (Using Query Components) for the same.
We already have implemented the following classes:
1) QueryModel
2) QueryDescriptor
3) AttributeDescriptor
4) ConjuctionCriterion
5) AttributeCriterion etc.
We are able to see the Search panel in UI with selected fields in Basic as well as Advanced mode.
When we click on Search button, we are getting Class Cast exception.
The stacktrace of the exception is below:
<LifecycleImpl> <_handleException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase INVOKE_APPLICATION 5
javax.el.ELException: java.lang.ClassCastException: view.QueryDescriptorImpl cannot be cast to oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$QueryDescriptorImpl
at com.sun.el.parser.AstValue.invoke(Unknown Source)
at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1300)
at oracle.adf.view.rich.component.UIXQuery.broadcast(UIXQuery.java:116)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:902)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:313)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:186)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused by: java.lang.ClassCastException: view.QueryDescriptorImpl cannot be cast to oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$QueryDescriptorImpl
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding.processQuery(FacesCtrlSearchBinding.java:374)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
... 44 more
<RegistrationConfigurator> <handleError> ADF_FACES-60096:Server Exception during PPR, #1
javax.el.ELException: java.lang.ClassCastException: view.QueryDescriptorImpl cannot be cast to oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$QueryDescriptorImpl
at com.sun.el.parser.AstValue.invoke(Unknown Source)
at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1300)
at oracle.adf.view.rich.component.UIXQuery.broadcast(UIXQuery.java:116)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:902)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:313)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:186)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused by: java.lang.ClassCastException: view.QueryDescriptorImpl cannot be cast to oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$QueryDescriptorImpl
at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding.processQuery(FacesCtrlSearchBinding.java:374)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
... 44 more
Any help will be highly appreciated.
Thanks in advance.
AnupGary Tam wrote:
I am working on a project that utilize Oracle Ultra Search that will crawl and tag documents in the database.
The initial code that uses pure JDBC was working fine, but when we switch to get database connection from dataSource, we are getting classCast exception inside Oracle's ultra search. The problems is that the class we get from dataSource.getConnection() returns
"weblogic.jdbc.wrapper.JTSConnection_oracle_jdbc_driver_T4CConnection". But Oracle UltraSearch is not expecting that.
Is there anyway to unwrap the connection that we get from dataSource ? I tried casting to OracleConnection,
assign the connection to "oracle.jdbc.driver.T4CConnection" without any success.
Any help would be appricated.
ThanksHi Gary. If the code you want to run is running inside WebLogic, such as in a JSP,
then look for our documentation on our JDBC extension 'getVendorConnection()". It
will get you a direct Oracle connection for their mis-declared UltraSearch
classes (they declare they take java.sql.Connection, but they really demand a
concrete thin driver connection. No other Oracle driver will be given a chance).
Joe -
Class Cast Exception running Kodo JCA in Weblogic 8.1
Hi,
I have a stateless session EJB that accesses Kodo through the JCA adapter.
The database I'm connecting to is mysql.
The problem I'm having is that the persistence manager throws a class cast
exception when trying to commit the transaction. See below for the stack
trace. I suspect it has something to do with the mapping, but the error
doesn't give me enough information to tell.
Any idea where to start looking to solve this problem?
Merrill
<Sep 14, 2004 9:09:40 AM PDT> <Error> <EJB> <BEA-010026> <Exception
occurred during commit of transaction Name=[EJB ossj
inventory.bean.impl.JVTInventorySessionBean.createEntitySpecificationByValue(javax.oss.cbe.EntitySpecificationValue)],X
id=BEA1-0003E542E34E0D33F21F(21266875),Status=Rolled back.
[Reason=kodo.util.FatalException: java.lang.ClassCastExceptio
n
NestedThrowables:
java.lang.ClassCastException],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=13,seconds left=30,SCInfo[os
sj+myserver]=(state=rolledback),properties=({weblogic.transaction.name=[EJB
ossj.inventory.bean.impl.JVTInventorySession
Bean.createEntitySpecificationByValue(javax.oss.cbe.EntitySpecificationValue)]}),OwnerTransactionManager=ServerTM[Server
CoordinatorDescriptor=(CoordinatorURL=myserver+10.4.110.92:7001+ossj+t3+,
XAResources={},NonXAResources={})],Coordinator
URL=myserver+10.4.110.92:7001+ossj+t3+): kodo.util.FatalException:
java.lang.ClassCastException
NestedThrowables:
java.lang.ClassCastException
at
kodo.runtime.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:825)
at
weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:1010)
at
weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:115)
at
weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1184)
at
weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:1910)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:273)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:244)
at
weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:299)
at
weblogic.ejb20.internal.StatelessEJBObject.postInvoke(StatelessEJBObject.java:140)
at
ossj.inventory.bean.impl.JVTInventorySession_h5aqa8_EOImpl.createEntitySpecificationByValue(JVTInventorySessi
on_h5aqa8_EOImpl.java:4968)
at
ossj.inventory.bean.impl.JVTInventorySession_h5aqa8_EOImpl_WLSkel.invoke(Unknown
Source)
at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
at
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
Caused by: java.lang.ClassCastException
at kodo.jdbc.sql.AbstractRow.toSQL(AbstractRow.java:657)
at kodo.jdbc.runtime.RowImpl.flush(RowImpl.java:250)
at
kodo.jdbc.runtime.PreparedStatementManager.flush(PreparedStatementManager.java:125)
at
kodo.jdbc.runtime.UpdateManagerImpl.flush(UpdateManagerImpl.java:361)
at
kodo.jdbc.runtime.UpdateManagerImpl.flush(UpdateManagerImpl.java:168)
at
kodo.jdbc.runtime.UpdateManagerImpl.flush(UpdateManagerImpl.java:73)
at
kodo.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManager.java:590)
at
kodo.runtime.DelegatingStoreManager.flush(DelegatingStoreManager.java:152)
at
kodo.runtime.PersistenceManagerImpl.flushInternal(PersistenceManagerImpl.java:964)
at
kodo.runtime.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:813)Can you use 3.1.5. Can you also be sure that you don't have multiple
versions of Kodo around, i.e. in the system classpath, JCA kodo.rar
directory, etc?
Merrill Higginson wrote:
Abe White wrote:
What version of Kodo?I'm using Kodo V 3.1.2
Steve Kim
[email protected]
SolarMetric Inc.
http://www.solarmetric.com -
Class cast exception in Process Control
Hello,
I am trying to use a SubProcess through a Process Control from a ParentProcess in another Workshop application.
They are both deployed in the same domain.
The SubProcess Control is packaged in a Control Project whose jar is imported in the other ParentProcess Workshop application.
The data that is passed is in form of XML documents described as schemas. And both applications use the same Schema.jar.
The call from the ParentProcess looks like it is OK.
But when the reply comes back it looks like the transform fails. I get a "class cast exception"
The feeling I get is that the returning xml document variable can't be cast into the local xml document variable. Even though they are of the exact same type...
All help is very much appreciated!!!
Unhandled Process Exception:
java.lang.ClassCastException
at se.telia.object.kund.control.sokKundPControl.clientRequest(Unknown Source)
at se.telia.tab.regae.process.Untitled.sokKundPctrlClientRequest(Untitled.jpd:101)
-------------I'm having some problems with a transformation and I'm getting a cast exception so maybe it's the same thing.
The problem is when the source schema has some element with minOccurs="0". If the element is not present in the xml document that is received, the transformation seems to be trying to cast it anyway.
Maybe you are looking for
-
I need to develop a report which displays the following output for each Site / Customer selection: - Item Code - Item Description - Last 7 days orders - Stock at 05.30 (of current date) - Orders for next day - Resulting Stock (Stock 05.30 u2013 Order
-
Easy way to schedule a job to run for a set period?
Is there an easy way to schedule (dbms_scheduler) a job to run for a set period -say, half an hour- and then to stop. Currently, I schedule a procedure to do the work (a bunch of inserts or updates, say) and the first line of that procedure assigns s
-
Connecting Samsung s4 to MacBook
I am trying to connect my Samsung s4 to the computer and it says the device is not installed. Someone told me to download KiesMac but from there onwards I'm lost. Does Apple support Samsung? Can I add my phone to this computer? If so, how? Thank you!
-
Branding Image - Dynamic Width?
Hi there Is it possible to dynamically set the width of the branding image? I have designed an image which looks nice on my screen, but that's clearly too big for the user's machine. I can set the width lower in the theme editor, but then when you us
-
How to define fitFunctio​n of NonLinearF​it in CNiMath class?
I defined a member function in my class: double fitFunction (double x, double coef[ ], int size); When I try to use it for CNiMath::NonLinearFit, I got an error "can not convert double(double, double[ ], int) to NI::CNiMath::NonLinearFit(_cdecl*)." I