Ahoj,

    myslim, ze to asi neni spravne s temi vdojitymi backslashi, i kdyz
nevim - na urovni javy by nemelo byt nutne se tim zabyvat, pokud se to bere
od rootu na ktery je dany context class loader namireny, tak by si mel
spravne poradit s tou standardni notaci s jednoduchym slashem.

    Napadlo mne ale jeste jedna dulezita vec a to by mohlo byt ono - protoze
se nejedna o standardni class loader, ale celkem nesmyslne o context class
loader tak pravdepodobne laduje ty properties odjinud nez standardni class
loader - tzn. tu tridu bys mel mozna umistit v ceste ne pod
"/web-inf/classes/com/sun/rowset/..." nebo do nejakeho jaru, umisteneho ve
"/web-inf/lib", ale primo pod rootem webovske aplikace "/com/sun/rowset/..."
brano od rootu war souboru, or rootu kontextu aplikace... Resp. zjistit kam
dany context class loader ukazuje, jestli to proste neni nekam jinam.

    :-) na ze bych mel casu nazbyt, ale pred casem jsem se resourcy trosku
zabyval, tak mne Tvuj problem zaujal...

        Ahoj, Artur.

----- Original Message ----- 
From: <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Friday, September 01, 2006 10:52 AM
Subject: Re: CachedRowSet+nullPointerException


> To je v pohode,
> ja jsem v Rakousku, ne v CR :o) Ale to je moje chyba, ze jsem to neuvedl.
> Kazdopadne:
> Locale local = Locale.getDefault();
> System.out.println( local.getCountry() );
>
> Me vrati: US
> Takze ze zdrojaku je patrne ze by se mel nacitat puvodni properties tzn
> RowSetResourceBundle.properties
>
> Bohuzel se tak ocividne nedeje :o) Zkousel jsem pro jistotu i
> prejmenovat to jak
> na _US, tak _AT bez vysledku.
>
> Kdyz koukam na ten zdrojak. Jediny co me napada, kde muze byt problem je
zapis
>
PropertyResourceBundle(Thread.currentThread().getContextClassLoader().getRes
ourceAsStream("com/sun/rowset/RowSetResourceBundle.properties"));
>
> konkretne mam na mysli
> com/sun/rowset/RowSetResourceBundle.properties
>
> Jelikoz jsem na windows nemelo by to nahodou byt
> com\\sun\\rowset\\RowSetResourceBundle.properties ????
>
> Pomallu ale jiste premyslim nad tim, ze to vzdam. A udelam si vlastni
objekt,
> kterej data ulozi do Listu a budu to vypisovat z nej.
>
> Kazdopadne Arture velice si cenim tve ochoty se vubec mym problemem
zabyvat.
>
> S pozdravem
> Zdenek Kasparek
>
> Quoting Artur Linhart - Java Communication <[EMAIL PROTECTED]>:
>
> > Jeste upresneni
> >
> >     - ISO2 kod ceske republiky je "CZ", ISO2 kod cestiny je "cs", dole
jsem
> > to prehodil... :-)
> >
> >         Ahoj, Archie.
> >
> >> ----- Original Message -----
> >> From: "Artur Linhart - Java Communication" <[EMAIL PROTECTED]>
> >> To: <[email protected]>
> >> Sent: Friday, September 01, 2006 10:10 AM
> >> Subject: Re: CachedRowSet+nullPointerException
> >>
> >>
> >> > Ahoj,
> >> >
> >> >     Nasel jsem k tomu na
> >> > (http://forum.java.sun.com/thread.jspa?forumID=423&threadID=540624)
> >> > nasledujici vysvetleni i s dekompilovanym zdrojakem:
> >> >
> >> > I encountered your same error with JDBC RowSet trying to run the
> >> > JdbcRowSetSample example.
> >> > After having downloaded a Java disassembler (JAD), I decompressed
> >> rowset.jar
> >> > in a directory and disassembled the JdbcRowSetResourceBundle class.
> >> > Luckily the bug in the constructor was very easy to find:
> >> >
> >> > private JdbcRowSetResourceBundle()
> >> > throws IOException
> >> > {
> >> > Locale locale = Locale.getDefault();
> >> > String s = locale.getCountry();
> >> > if(!s.equals("") && !s.equals("US"))
> >> > propResBundle = new
> >> >
> >>
> >
PropertyResourceBundle(Thread.currentThread().getContextClassLoader().getRes
> >> > ourceAsStream("com/sun/rowset/RowSetResourceBundle_" + s + "." +
> >> > "properties"));
> >> > else
> >> > propResBundle = new
> >> >
> >>
> >
PropertyResourceBundle(Thread.currentThread().getContextClassLoader().getRes
> >> > ourceAsStream("com/sun/rowset/RowSetResourceBundle.properties"));
> >> > }
> >> >
> >> > In practice the library cannot work on a machine with Locale
different
> >> from
> >> > US, because the only Resource Bundle present in rowset.jar is
> >> > RowSetResourceBundle.properties, while on such a machine this class
> > tries
> >> to
> >> > read RowSetResourceBundle_<Locale.getCountry()>.properties.
> >> > So I copied the RowSetResourceBundle.properties file, renamed the
copy
> > in
> >> > RowSetResourceBundle_<Locale.getCountry()>.properties and added it to
> > the
> >> > rowset.jar archive.
> >> > Now everything works perfectly !
> >> > Alternatively you could change your Locale to US locale.
> >> >
> >> > Happy to have solved a problem to you (and to me of course) !
> >> >
> >> >
> >> > Cili jedna se o RowSetResourceBundle, coz jsi asi zjistil - ale
hlavni
> >> > problem je IMHO v tom, ze na misto _<LOCALE> se tady odcividne
dosazuje
> >> > country code a ne language code, coz mi teda neni jasne, myslel jsem,
ze
> >> > jako prvni se pise vzdycky language - Tzn. zjisti si countrycode z
> >> > aktualniho locale (To asi neni CZ, ale mozna CS u Ceske republiky) -
a
> >> taky
> >> > pozor na velka pismena, u language jsou mala, u country velka.
Nejenom
> > ze
> >> je
> >> > to blbe naprogramovane, protoze standardne by se melo skakat vzdy po
> >> > nejpodobnejsich resourcech a tudiz pokud nejsou by to melo vzit primo
> > ten
> >> > RowSetResourceBundle.properties, ale i ten primo countrycode za tim
> >> resource
> >> > bundlem je spatne a mel by tam byt language code a country code az na
> >> druhem
> >> > miste - viz dokumentace k ResourceBundle.java:
> >> >
> >> >  * Each resource bundle in a family contains the same items, but the
> > items
> >> > have
> >> >  * been translated for the locale represented by that resource
bundle.
> >> >  * For example, both "MyResources" and "MyResources_de" may have a
> >> >  * <code>String</code> that's used on a button for canceling
operations.
> >> >  * In "MyResources" the <code>String</code> may contain "Cancel" and
in
> >> >  * "MyResources_de" it may contain "Abbrechen".
> >> >  *
> >> >  * <P>
> >> >  * If there are different resources for different countries, you
> >> >  * can make specializations: for example, "MyResources_de_CH"
contains
> >> > objects for
> >> >  * the German language (de) in Switzerland (CH). If you want to only
> >> >  * modify some of the resources
> >> >  * in the specialization, you can do so.
> >> >
> >> > - Takze jestli neni problem v tom, ze to prejmenujes treba na *_en
nebo
> > na
> >> > *_cz ale oni tam vyzaduji jako kod *_US, resp. *_CS...
> >> >
> >> >     Drzim palce,
> >> >
> >> >         Ahoj, Archie
> >> >
> >> > ----- Original Message -----
> >> > From: <[EMAIL PROTECTED]>
> >> > To: <[email protected]>
> >> > Sent: Friday, September 01, 2006 9:32 AM
> >> > Subject: RE: CachedRowSet+nullPointerException
> >> >
> >> >
> >> > > To Artur:
> >> > > Velice dekuji za alespon jeden nazor a ochotu. Cenim si toho.
> >> > >
> >> > > Prohledal jsem snad vsechno co mi google vyplivnul na toto tema.
> > Vcetne
> >> > > samozrejme oficialni diskuza na forums.java.sun.com
> >> > > Vsude kdyz uz je nejaka odpoved. tak je zmenit nazev
> >> > > RowSetResourceBundle.properties
> >> > > na
> >> > > RowSetResourceBundle_<LOCALE>.properties
> >> > >
> >> > > Toto jsem zkousel. Bohuzel bezvysledne. Stejne tak jsem zkousel
podle
> >> > Arturova
> >> > > napadu kombinace JdbcRowSetResourceBundle.properties ci
> >> > > JdbcRowSetResourceBundle.properties bohuzel taky bezvysledne. I
kdyz
> > zda
> >> > se to
> >> > > rozumne. Jelikoz vsechny hlavni klasy tam zacinaji Jdbc. Ted tedy
> > zkusim
> >> > jeste
> >> > > najit primo zdrojaky ci nejakou kloudnou dokumentaci a popatrat,
jakej
> >> > > properties file tam tedy opravdu inicializuje.
> >> > >
> >> > > Toto je jedina vec na Jave, ktera me opravdu nesmirne vadi. Ze
obcas
> > to
> >> > > pripomina spis alchymii. Hlavne dle meho soudu CachedRowSet je
pomerne
> >> > hojne
> >> > > pouzivany. Tento bug, ktery zde popisuji je znam uz vice nez dva
roky
> > a
> >> do
> >> > teto
> >> > > chvile nejenze nikdo nevydal bugfix, ale na celym internetu
nenajdete
> >> > kloudnou
> >> > > odpoved od vyvojaru, na oficialnim foru ci proste nekde tak :o)
Mozna
> >> jsem
> >> > jen
> >> > > blbej a nekde jsem neco prehlidnul, ale vzhledem k tomu, ze nad
timto
> >> > problemem
> >> > > sedim uz druhy den,to na me presne takto pusobi.
> >> > >
> >> > > BTW: Nenapadl by nekoho jiny rozumny zpusob jak cachovat data, aby
se
> > v
> >> > nich
> >> > > dalo listovat?
> >> > >
> >> > > Poznamka:
> >> > > Omlouvam se, ze neudrzuji historii, maily mam stazeny a archivovany
> > doma
> >> > >
> >> > > Diky
> >> > > Zdenek Kasparek
> >> > >
> >> > > ----------------------------------------------------------------
> >> > > This message was sent using IMP, the Internet Messaging Program.
> >> >
> >> > ----- Original Message -----
> >> > From: "Artur Linhart - Java Communication" <[EMAIL PROTECTED]>
> >> > To: <[email protected]>
> >> > Sent: Friday, September 01, 2006 7:13 AM
> >> > Subject: Re: CachedRowSet+nullPointerException
> >> >
> >> >
> >> > > Ahoj,
> >> > >
> >> > >     nemam bohuzel k dispozici zdrojaky od tridy
> > JdbcRowSetResourceBundle
> >> > > (ani classu - ve standardnim J2SE JDK 1.4.1 jsem ji nenasel) tak
> > doufam
> >> ze
> >> > > nebudu placat uplne nesmysly, ale jak to popisujes, pripada mi, ze
by
> > se
> >> > > melo zjistit jak se v metode
> >> > > com.sun.rowset.JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle
> >> > > konstruje inputstream - podle zdrojaku trid ke kterym zdroje mam se
> > zda
> >> ze
> >> > > se nenajde dany property soubor a diky tomu se jako InputStream
> >> podstrkuje
> >> > > null - asi zjistit jake jmeno property souboru se tam pouziva
(popr.
> >> odkud
> >> > > se generuje) a podle onoho jmena mu pak podstrcit soubor, ktery se
> > bude
> >> > > jmenovat tak, jak se ocekava (ve spravne packagi). Rekl bych, ze se
> >> urcite
> >> > > nebude jmenovat PropertyResourceBundle.properties, ale asi nejak
> > jinak -
> >> > > zrejme JdbcRowSetResourceBundle.properties (popr. napr.
> >> > > JdbcRowSetResourceBundle_en.properties pro anglictinu, atp.) nebo
> > nejak,
> >> > jak
> >> > > se to stanovi v te metode getJdbcRowSetResourceBundle...
> >> > > Do konstruktoru PropertyResourceBundle (InputStream stream) totiz
uz
> > pri
> >> > > volani z konstruktoru JdbcRowSetResourceBundle vstupuje s nejvetsi
> >> > > pravdepodobnosti null, takze bych rekl ze s tridou
> >> PropertyResourceBundle
> >> > > nebo nejakou teoretickou chybou v ni to urcite souviset nebude...
> >> > >
> >> > > Prirozene je otazka jak najit spravny resource bundle - neni mozne
ze
> > se
> >> > tam
> >> > > ma dohrat jeste nejaky jar s lokalizaci nebo neco podobneho? Kdyz
se
> >> tehle
> >> > > chyby zbavis tim, ze tam das prazdny property soubor, tak to asi
casem
> >> > > spadne na tom, ze v tom property souboru neni nejaky klic, ktery to
> > bude
> >> > > treba pozadovat...
> >> > >
> >> > > Mozna by pomohlo se podivat, jak zaridit spravne lokalizaci
> > CachedRowSet
> >> a
> >> > > to by mohlo vyresit tenhle problem ;-)
> >> > >
> >> > > Chyba muze souviset i s tim, ze tam sice mas nejaky spravny
odvozeny
> >> > > resource bundle, napr. JdbcRowSetResourceBundle_cz.properties, ale
> > jako
> >> > > defaultni Locale neni nastaven jazyk ktery mu odpovida (v tomto
> > priklade
> >> > ne
> >> > > cestina, ale treba anglictina pro kterou resource bundle s nazvem
> > "*_cz"
> >> > > nebude s fungovat) - bylo by dobre nakopirovat
> >> > > (prejmenovat) takovehle nejake properties ktere tam treba existuji
> >> > > specificke pro jazyk na jmeno property souboru bez toho "_cz" (nebo
> > jine
> >> > > pripony) aby to fungovalo pro vsechny Locale, popr. zkusit zmenit
> >> > defaultni
> >> > > Locale...
> >> > >
> >> > > Jinak mne takhle obecne "z voleje" bez moznosti to zkoumat
konkretne
> > nic
> >> > > nenapada... Treba to nejak pomuze v hledani voditka pokud to primo
> > Tvuj
> >> > > problem nebude resit...
> >> > >
> >> > >     Ahoj, Artur.
> >> > >
> >> > > ----- Original Message -----
> >> > > From: <[EMAIL PROTECTED]>
> >> > > To: <[email protected]>
> >> > > Sent: Thursday, August 31, 2006 4:58 PM
> >> > > Subject: CachedRowSet+nullPointerException
> >> > >
> >> > >
> >> > > > Dobre odpoledne,
> >> > > > Pokud se nekdo setkal s nize uvedenym problemem a nasel reseni.
Budu
> >> > > nesmirne
> >> > > > vdecny, za kazdy poznatek.
> >> > > >
> >> > > > Mam WebAplikaci
> >> > > > JDK: 1.4
> >> > > > Tomcat: 3.2
> >> > > > Server: AS/400
> >> > > >
> >> > > > Volam servlet, ktery se connectuje na databazi (DB2) a vraci
nejaky
> >> > data.
> >> > > > Jelikoz DB2 neumi LIMIT a ja potrebuju vracenymi daty listovat (
> >> rozumej
> >> > > > strankovat vystupni tabulku ) jal jsem se hledat reseni v
cachovani
> >> dat
> >> > a
> >> > > > listovani z cache.
> >> > > >  Pouzivam rowset.jar 1.0 . Ale dostal jsem se do situace, ve
ktere
> >> dkyz
> >> > v
> >> > > metode
> >> > > > servletu chci vytvorit instanci
> >> > > >
> >> > > > CachedRowSet crs     = new CachedRowSetImpl();
> >> > > >
> >> > > > dostanu nullPointerException cituji:
> >> > > >
> >> > > > java.lang.NullPointerException
> >> > > > at java.io.Reader.<init>(Reader.java:61)
> >> > > > at java.io.InputStreamReader.<init>(InputStreamReader.java:80)
> >> > > > at java.util.Properties.load(Properties.java:266)
> >> > > > at
> >> >
java.util.PropertyResourceBundle.<init>(PropertyResourceBundle.java:96)
> >> > > > at com.sun.rowset.JdbcRowSetResourceBundle.<init>(Unknown Source)
> >> > > > at
> >> > >
> >> >
> >>
> >
com.sun.rowset.JdbcRowSetResourceBundle.getJdbcRowSetResourceBundle(Unknown
> >> > > > Source)
> >> > > > at com.sun.rowset.CachedRowSetImpl.<init>(Unknown Source)
> >> > > >
> >> > > >
> >> > > > Cele odpoledne marne hledam smysluplne reseni. Zjistil jsem, ze
se
> >> jedna
> >> > o
> >> > > bug
> >> > > > souvisejici se spatnym ctenim PropertyResourceBundle. Nasel jsem
par
> >> > typu,
> >> > > ze
> >> > > > je potreba prejmenovat PropertyResourceBundle.properties, ale at
se
> >> > snazim
> >> > > jak
> >> > > > chci, nedari se mi za boha hnout z mista.
> >> > > >
> >> > > > Vi nekdo co stim?????
> >> > > >
> >> > > > Poznamka:
> >> > > > Nemohu upgradovat JDK ani Tomcat, musim pracovat s vyse
uvedenymi.
> >> > > >
> >> > > > Zdenek Kasparek
> >> > > >
> >> > > > ----------------------------------------------------------------
> >> > > > This message was sent using IMP, the Internet Messaging Program.
> >> > >
> >> >
> >>
> >>
> >
> >
>
>
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>

Odpovedet emailem