On Fri, Aug 15, 2008 at 01:24:02PM +0200, Tomáš Procházka wrote:
> Ahoj,
> odpovídám na zprávu z pátku, 15. srpna 2008,
> kterou Jakub Podlesak napsal(a) v 12:28:57:
> 
> >> Nakonec jsem to ale vyřešil, použil jsem Tomcat a přepsal jsem
> >> inicializaci EntityManageru na klasický tvar
> >> 
> >> emf = Persistence.createEntityManagerFactory(DEFAULT_PU);
> >> em = emf.createEntityManager();
> >> utx = em.getTransaction();
> 
> J> Pridal jsem informaci k bug reportu.
> 
> To se ale týká úplně jiného problému.
> Ten report je na problém, kvůli kterému nejde vůbec použít hibernate a
> Jersey knihovna současně.
> A napsal jsem tam i řešení.
> 

To jsem videl, kazdopadne jsem mel dojem, 
ze pokud se pouzije Tomcat a prepise puvodni generovany 
kod (generuje ho REST plugin) k inicializaci entity manageru, tak vse funguje.
Tj, ze to souvisi s problemem: Hibernate + REST plugin

Odkud byl ten puvodni kod pro ziskani entity manageru?
Funguje popsany workaround (sachy s knihovnami) nezavisle na pouzitem 
kontejneru?

> 
> A tohle se zase týká té chyby
> java.lang.ClassCastException: cz.atomsoft.web.model.Game cannot be cast to 
> cz.atomsoft.web.model.Game

> 
> Zde jsem na řešení nepřišel, proto jsem napsal sem do diskuze. Patrně
> ale půjde o to, že ten způsob jak se tam přístupuje k EntityManageru
> nějak způsobí, že se jedna třída načte dvě classloaderama. Na to bych
> musel napsat druhý report, ale nemůžu reportovat něco, co vlastně
> nevím, proč to nefunguje.

To je jedno, da se zareportovat alespon ze neco nefunguje.
Je daleko vetsi sance, ze se tim pak nekdo zacne zabyvat.

Porad mi ale neni jasne, jestli jde o jeden problem nebo dva...

~Jakub

> 
> >> A taky se mi vůbec nelíbí jak ten tool formátuje kód, tohle je podle
> >> mě zcela nečitelné:
> >> 
> >>     @GET
> >>     @Produces({"application/xml", "application/json"})
> >>     public GamesConverter get(@QueryParam("start")
> >>     @DefaultValue("0")
> >>     int start, @QueryParam("max")
> >>     @DefaultValue("10")
> >>     int max, @QueryParam("expandLevel")
> >>     @DefaultValue("1")
> >>     int expandLevel, @QueryParam("query")
> >>     @DefaultValue("SELECT e FROM Game e")
> >>     String query) {
> 
> J> Souhlasim, reknu lidem z tooling tymu na mitingu pristi tyden.
> 
> Já bych navrhoval toto:
> 
> public GamesConverter get(
>    @QueryParam("start") @DefaultValue("0") int start,
>    @QueryParam("max") @DefaultValue("10") int max,
>    @QueryParam("expandLevel") @DefaultValue("1") int expandLevel,
>    @QueryParam("query") @DefaultValue("SELECT e FROM Game e") String query) {
> 
>    ...
> }
> 
> 
> --------------------------- Původní zpráva ---------------------------
>  Odesilatel: Jakub Podlesak <[EMAIL PROTECTED]>
>     Předmět: Hibernate + REST (Jersey) na Glassfih3
>       Datum: 15. srpna 2008, 12:28:57 (GMT +0200)
>     Přílohy: <none>
>       msgid:[EMAIL PROTECTED]
>     
> J> On Fri, Aug 15, 2008 at 10:28:29AM +0200, Tomáš Procházka wrote:
> >> Ahoj,
> >> odpovídám na zprávu ze čtvrtka, 14. srpna 2008,
> >> kterou Jakub Podlesak napsal(a) v 17:28:44:
> >> 
> >> J> Melo by byt popsano na
> >> J> 
> >> http://wikis.sun.com/display/Jersey/Resolving+ASM+dependency+issues+with+Jersey+and+Hibernate
> >> 
> >> 
> >> J> Protoze jde o kod generovany toolingem, poprosil bych
> >> J> o zareportovani v http://www.netbeans.org/community/issues.html
> >> J> (component websvc, subcomponent: rest)
> >> J> Idealne s pripojenym jednoduchym test case.
> >> J> Clovek, ktery plugin testuje mi rikal, ze o problemu nevi,
> >> J> takze neni nutne nic overovat.
> >> 
> >> Zde není chyba podle mě v REST podpoře, nýbrž v tom, že Netbeans v
> >> sobě obsahuje knihovnu Hibernate, která používá cglib a dva asm jary,
> >> což jsou standardní dependence Hibernate. Problém je, že Jersey
> >> používá také ASM, ale v jiné nekompatibilní verzi. Řešení je aby
> >> hibernate knihovna používala cglib-nodep a tím se ztratí dvě verze
> >> ASM. Takže oprava by měla být jinde než v RESTu, ale exportuji to do
> >> RESTu, oni si to přehodí.
> 
> J> Presne tak, tech tymu je vic, ale je potreba to alespon nekomu zadat,
> J> aby se to dalo opravit.
> 
> >> 
> >> Zde je ten report
> >> http://www.netbeans.org/issues/show_bug.cgi?id=144016
> 
> J> Diky za report! 
> 
> >> 
> >> 
> >> J> [PersistenceService] by mela byt podle mych informaci
> >> J> v dalsi verzi pluginu bud odstranena, nebo podstatne prepsana. 
> >> 
> >> J> Kazdopadne pro identifikaci popisovaneho problemu by bylo skvele
> >> J> mit nejaky reprodukovatelny test case.
> >> 
> >> Mám testovací projekt, mohu zaslat.
> >> 
> >> Nakonec jsem to ale vyřešil, použil jsem Tomcat a přepsal jsem
> >> inicializaci EntityManageru na klasický tvar
> >> 
> >> emf = Persistence.createEntityManagerFactory(DEFAULT_PU);
> >> em = emf.createEntityManager();
> >> utx = em.getTransaction();
> 
> J> Pridal jsem informaci k bug reportu.
> 
> >> 
> 
> 
> 
> ------------------------ Konec původní zprávy ------------------------
> 
> -- 
> ---------------------------------------------------------------------
>  Tomáš Procházka
> 
> 
>  E-mail: [EMAIL PROTECTED]
>     WWW: http://www.atomsoft.cz
>     ICQ: 87147320
> ---------------------------------------------------------------------
> 

-- 
http://blogs.sun.com/japod

Odpovedet emailem