Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] enum access cast issue

Hi James,

The code where it works and where it fails is exactly the same.  The
offending line (with associated logging) is from the predicate object:

    	logger.info("calling addAuxVerbs, index: " + verbFormIndex);
    	logger.info("verbForm: " + verbForms.get(verbFormIndex));
    	logger.info("class: " + verbForms.get(verbFormIndex).getClass());
    	addAuxVerbs(sentence, sentencePredicate, verbForms.get(verbFormIndex));
    	logger.info("no cast issues w/addAuxVerbs");


And here is a portion of the predicate object definition:

public class Predicate implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.TABLE, generator =
"predicateIDGen")
    private Long itemID;
    private String name;
    @ManyToOne
    private SentenceGroup sentenceGroup;
    private PredicatePattern pattern = PredicatePattern.CLAUSE_VI;
    @OneToOne
    private Verb verb1;
    @OneToOne
    private Verb verb2;
    @ElementCollection
    @Enumerated(EnumType.ORDINAL)
    private List<VerbForm> verbForms;

etc. ......




The logs that are generated in the successful case are:

-------------------
[#|2010-05-04T11:28:13.463-0400|INFO|glassfishv3.0|com.leadingstep.grammardb.sentences|_ThreadID=35;_ThreadName=Thread-1;|calling
addAuxVerbs, index: 0|#]

[#|2010-05-04T11:28:13.466-0400|INFO|glassfishv3.0|com.leadingstep.grammardb.sentences|_ThreadID=35;_ThreadName=Thread-1;|verbForm:
ED|#]

[#|2010-05-04T11:28:13.466-0400|INFO|glassfishv3.0|com.leadingstep.grammardb.sentences|_ThreadID=35;_ThreadName=Thread-1;|class:
class com.leadingstep.grammardb.verbs.VerbForm|#]

[#|2010-05-04T11:28:13.466-0400|INFO|glassfishv3.0|com.leadingstep.grammardb.sentences|_ThreadID=35;_ThreadName=Thread-1;|no
cast issues w/addAuxVerbs|#]
-------------------


Then in the failed case, the logs are:

-------------------

[#|2010-05-04T11:31:03.626-0400|INFO|glassfishv3.0|com.leadingstep.grammardb.sentences|_ThreadID=35;_ThreadName=Thread-1;|calling
addAuxVerbs, index: 0|#]

[#|2010-05-04T11:31:03.626-0400|INFO|glassfishv3.0|com.leadingstep.grammardb.sentences|_ThreadID=35;_ThreadName=Thread-1;|verbForm:
ED|#]

[#|2010-05-04T11:31:03.626-0400|WARNING|glassfishv3.0|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=35;_ThreadName=Thread-1;|A
system exception occurred during an invocation on EJB GrammarDBBean method
public java.util.List
com.leadingstep.grammardb.beans.GrammarDBBean.fetchAllModifiedNounValues(com.leadingstep.grammardb.nouns.ModifiedNoun)
javax.ejb.EJBException
        at
com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:5070)

<snip>

Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to
com.leadingstep.grammardb.verbs.VerbForm
        at
com.leadingstep.grammardb.sentences.Predicate.fetchValue(Predicate.java:1061)

-------------------


The particular predicate object that I'm accessing is the same in both the
successful and failed cases and the verbForms list is not updated between
the two accesses.  The logs show that the index it is using is the same in
both cases and the value of the particular verbForm is the same, but when I
try to access the class, I get the error.  (Note that when the logging stmt
is removed, I get this same error at the addAuxVerbs line).


I know that the system initially sees the verbForm list as being a list of
VerbForm enums from this log:

[#|2010-05-04T11:19:56.388-0400|CONFIG|glassfishv3.0|org.eclipse.persistence.session.file:/Users/renee/Documents/workspace_LeadingStep/.metadata/.plugins/com.sun.enterprise.jst.server.sunappsrv92/domain1/eclipseApps/LS_Mgmt_App/GrammarElement_EJB_jar/_GrammarElement_EJB.ejb_or_metadata|_ThreadID=26;_ThreadName=Thread-1;|The
target class (reference) class for the element collection mapping element
[field verbForms] is being defaulted to: class
com.leadingstep.grammardb.verbs.VerbForm.|#]


I hope this is enough info to demonstrate the problem.  I'm happy to do
whatever else I can to narrow down the underlying issue, but I just don't
know what else to look at.

Renee



James Sutherland wrote:
> 
> I don't seem to be able to see you attachments.  Perhaps inline them, or
> provide a link.
> 
> Also include the code for the classes where it works, and where it does
> not.
> 
> 

-- 
View this message in context: http://old.nabble.com/enum-access-cast-issue-tp28350990p28448611.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.



Back to the top