Re: moduly v aplikaci

2011-03-01 Thread Ing . Jan Novotný
OSGI je určitě svělá technologie, ale nepodceňujte inherentní složitost,
kterou si tím zanesete do vlastní aplikace. My jsme šli cestou vlastní
modularizace postavené nad aplikačními kontexty Springu (viz.
http://blog.novoj.net/2007/09/08/serial-modularni-systemy-ve-spring-frameworku/),
ale později vzniklo i open-sourcové řešení na podobném principu:
http://code.google.com/p/impala/

Možná bych zkusil zvážit i toto. Dostanete za to čistou architekturu s
minimálním overheadem navíc. Samozřejmě takových možností jako OSGII mít
sice nebudete, ale ono je to někdy spíš na škodu mávat atomovkou tam, kde
stačí AK-47 ;-)

Honza

--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


2011/3/1 Tomas Hubalek 

> A proc kazda domena nema svuj war, ktery se zbuilduje podle konfigurace pro
> danou domenu?
>
> Tom
>
> > -Original Message-
> > From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] On
> Behalf
> > Of Jiří Nápravník
> > Sent: Tuesday, March 01, 2011 9:49 AM
> > To: Java
> > Subject: Re: moduly v aplikaci
> >
> > Ano preferoval bych Spring.
> >
> > Ted si to nedovedu uplne predstavit. Potrebuji to tak, ze to pobezi na
> > ruznych domenach, ty nasmeruji na ten jeden dany server, a pro kazdou
> > tu domenu bude ruzna konfigurace tech modulu.
> >
> > JN
> >
> > 2011/3/1 Ondrej Nekola :
> > > Spring?
> > >
> > > A je nutne bezet vice instanci vedle sebe, nestacila by jedna, ktera
> > > obsahuje veskerou funkcionalitu, ale poskytuje vice interfacu okoli?
> > >
> > > S pozdravem
> > > Ondřej Nekola
> > >
> > >
> > >
> > > 2011/3/1 Jiří Nápravník :
> > >> Zdravím,
> > >> potřebuji udělat aplikaci, která bude co možná nejvíce modulární.
> > >> Uvedu například CMS, bude třeba dodat anketa, tak se udělá modul
> > >> ankety, který povolím a v adminu/frontendu se objeví tahle
> > >> funkcionalita.
> > >>
> > >> A druhá věc, chtěl bych aby aplikace byla na jednom místě a běželo
> > >> více instancí, přičemž každá instance by měla různé povolené moduly
> > >> například přes kofigurační soubory.
> > >>
> > >> Můžete mi doporučit, co nastudovat?
> > >>
> > >> Díky
> > >> Nápravník
> > >>
> > >
> >
> >
> >
> > --
> > Přeji pěkný zbytek dne
> > Jiří Nápravník
> >
> > www.enbros.cz
>


Re: Porovnání řetězců

2011-03-03 Thread Ing . Jan Novotný
Zkuste před porovnáním zavolat na obou String objektech intern() a vyjde
druhý if jako true. Ale to jen abych vás navedl na vyjasnění si principu
fungování stringu v Javě. Správně by se mělo porovnávat přes equals - s tím
se nespalite.

H.
Dne 3.3.2011 17:34 "Tomas Pitner"  napsal(a):
> Ano, odpovedel jste si spravne.
>
> -- Tomas Pitner
>
>
>
> 2011/3/3 Libor Jelinek :
>> Dobrý den!
>> Dneska jsem se zarazil nad jedním problém ke kterému neumím nalést
>> vysvětlení. Proto bych se chtěl tímto zeptat zkušenějších. Mám tento
>> program:
>>
>> public class SchedulerLauncher {
>>   public static void main(String[] args) {
>>if (args[0].equals("-h")) {   // a) vyhodnoceno na true
>>//if (args[0] == "-h") {  // b) vyhodnoceno na false-proč?
>>System.out.println("...sem prijde napoveda...");
>>}
>>}
>> }
>>
>> Ten spustím jako $ java SchedulerLauncher -h. Čekal bych, že obě podmínky
a)
>> i b) jsou rovnocené, ale jen ta a) s využitím String.equals() je se
>> vyhodnotí jako pravda. Proč ne ta druhá?
>>
>> Tuším, že to bude jistě něco s "ukazateli" (promiňte mi ten výraz, vím v
>> Javě nejsou). args[0] je vlastně reference na objekt String v paměti. A
"-h"
>> čili new String("-h") je též reference, ale na jiný objekt, byť textový
>> obsah je stejný. Operátor == porovnává adresy (referrence), nikoli
>> vlastnosti objektu.
>>
>> Vysvětluji si to správně? Díky.
>> Libor
>>


Groovy porovnání s NULL

2011-05-05 Thread Ing . Jan Novotný
Zdravím konferenci,

   dokážete mi někdo prosím vysvětlit proč Groovy pro snippet "null < 100"
vrací true?
   Ukázka: http://groovyconsole.appspot.com/script/478001

   Jsem Groovy lamka, ale tohle mě opravdu překvapilo. V plain java podobná
věc hodí samozřejmě chybu. Tuším že bude nějaký problém v Null Groovy
objektu - tj. že levá strana porovnání není braná jako číslo ... tohle už
chybu (jak bych očekával hodí):

   ((int)null) < 100;

Honza
--------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Groovy porovnání s NULL

2011-05-06 Thread Ing . Jan Novotný
Díky za vysvětlení ... já jsem tušil že to bude něco takového. Pro javistu
je to krapátek překvapení. :(

H.

--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Dne 6. května 2011 9:29 Robert Novotny  napsal(a):

> Null je typu NullObject a operatory porovnavania nikdy nehadzu
> NullPointerException. Navyse plati, ze null je mensie nez akykolvek iny
> objekt.
>
> Priamu zmienku v dokumentacii som nenasiel, ale v unit testoch existuje
> CompareToTest.groovy, kde je ukazka:
>
>def a = 123
>def b = null
>
>def result = a <=> b
>assert result > 0
>
> Operator <=> je compareTo().
>
>
> On 6. 5. 2011 8:59, Ing. Jan Novotný wrote:
>
>> Zdravím konferenci,
>>
>>   dokážete mi někdo prosím vysvětlit proč Groovy pro snippet "null < 100"
>> vrací true?
>>   Ukázka: http://groovyconsole.appspot.com/script/478001
>>
>>   Jsem Groovy lamka, ale tohle mě opravdu překvapilo. V plain java podobná
>> věc hodí samozřejmě chybu. Tuším že bude nějaký problém v Null Groovy
>> objektu - tj. že levá strana porovnání není braná jako číslo ... tohle už
>> chybu (jak bych očekával hodí):
>>
>> ((int)null) < 100;
>>
>> Honza
>> --
>> Ing. Jan Novotný
>> @@
>> http://blog.novoj.net
>> Myšlenky dne otce Fura
>> --
>>
>
>


Re: GWT+RPC+myBatis

2012-01-24 Thread Ing . Jan Novotný
Zdravím,

   já tedy nejsem žádný expert na GWT a jen trošičku na MyBatis. Zdá se mi
divné, že ten svůj mapper instanciujete napřímo:

contactDAO = new ContactDAO();

   Obvykle používám MyBatis v kombinaci se Springem, kde je získání mapperu
značně jednodušší, ale pro váš případ by měl platit tento postup uvedený v
dokumentaci:

SqlSession session = sqlSessionFactory.openSession();
try {
BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);
} finally {
session.close();
}

   Samozřejmě musíte získat referenci na SqlSessionFactory, což je také
velmi hezky popsáno v dokumentaci. Doporučuji si projít:
http://code.google.com/p/mybatis/downloads/detail?name=MyBatis-3-User-Guide.pdf
...
je to opravdu velmi dobrá dokumentace a není ani moc obsáhlá. Tam určitě
najdete řešení na své problémy.
   Možná by se vám taky mohly hodit moje příklady, které jsem použil na
workshopu na CZJUGu (jsou tam funkční testy s nějakými komentáři):
https://github.com/novoj/iBatisWorkShop

Hezký večer,
Honza
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


2012/1/24 "Ing. Jiří Nováček" 

>  Dobrý den,
>
> zkouším GWT (Google Web Toolkit) v kombinaci s myBatis. Dokážu rozběhat
> GWT, dokážu použít RPC (Remote Procedure Calls) v GWT, dokážu rozběhat
> myBatis, ale když se to potom pokusím spojit do jednoho, tak mi to
> nefunguje. Jako vzorový projekt pro myBatis jsem si vzal toto:
> http://loianegroner.com/2011/02/getting-started-with-ibatis-mybatis-xml-configuration/,
>  když to aplikuji na svůj projekt GWT s voláním RPC a uvnitř se pokusím
> dostat něco z databáze, tak to nefunguje (soubor je v příloze). Když to
> strčím mimo volání RPC, tak mi to funguje. Nejspíš někde dělám chybu, ale
> už se s tím trápím hodně dlouho a nevidím to.
> Jak mám vyřešit přístup do db. Ukázek jsem našel spousty, ale kompletní
> příklad GWT+RPC+myBatis ani jeden (je to možné?). Přitom, když se v mém
> projektu pokusím využít upravený vzorový příklad (soubor TestiBatis.java)
> nevyužívající RPC, tak to funguje. Bez problémů čtu, zapisuji, mažu … . V
> RPC přitom používám úplně stejný postup. Prosím o nějakou radu, ukázku,
> odkaz na internet.
>
> Předem všem děkuji
> Nováček
>


Re: maven2

2007-06-18 Thread Ing. Jan Novotný

Doporučuji nasadit firemní Artifactory a máte po problémech. Je tam výborné
web rozhraní, přes které si chybějící knihovnu velmi jednoduše a
user-friendly přidáte.
Více: http://blog.novoj.net/2007/03/14/artifactory-nahrada-maven-proxy/

Novoj

2007/6/18, Podlesak Kamil <[EMAIL PROTECTED]>:


Zdravim,

Davat knihovny rucne do repository ma (mimo jine) jednu zasadni nevyhodu:
musi se to udelat na kazdem stroji znova pred kompilaci. Taktez u kazdeho
noveho uzivatele...

Ja osobne toto resim tak, ze si v projektu delam vlastni repository. Do
pom se pak prida napriklad:
  

  local-security-providers
  bouncycastle
  file:${basedir}/repository

  

Kamil "podlesh" Podlesak


> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Behalf Of Petr Burdik
> Sent: Sunday, June 17, 2007 9:49 AM
> To: Java
> Subject: maven2
>
>
> Ahojte,
> mam takovy problemek. Muj projekt zavisi na nekterych
> knihovnach, ktere se
> na codehouse ani ibiblio nenalezaji. Obzvlaste se jedna o
> tyto knihovny:
> javamail:mail:pom:1.3.3
> com.sun:ldapbp:pom:1.0
>
> Problemek jsem vyresil jednoduse tim, ze jsem tyto knihovny
> pridal do
> repozitare rucne. Akorat ze pri kazdem deploy se je snazi
> stahovat znovu z
> ibiblio nebo codehouse. Jde tomu prosim nejak zabranit? Dost
> me to zdrzuje.
>
> Pekny den
> Pet
>
> --
> Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
>





--
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Zpětná kompatibilita Struts 1.3.X a 1.2.X

2007-07-09 Thread Ing. Jan Novotný

Zdravím konferenci,

  narazili jsme s kolegy na jeden zajímavý problém. Vše to začalo tímto
stack trace:

Servlet.service() for servlet action threw exception
java.lang.NoSuchMethodError:
org.apache.struts.action.ActionRedirect.addParameter
(Ljava/lang/String;Ljava/lang/Object;)V
   at com.fg.webapp.cps.v1.frontend.cps.srv.APPLstoreCL.execute(
APPLstoreCL.java:71)
   at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(
ExecuteAction.java:58)
   at org.apache.struts.chain.commands.AbstractExecuteAction.execute(
AbstractExecuteAction.java:67)
   at org.apache.struts.chain.commands.ActionCommandBase.execute(
ActionCommandBase.java:51)

  Jedná se o knihovnu CPS, která je kompilovaná v Java 1.4.X s knihovnou
Struts 1.2.8. Chyba se projeví pokud takto zkompilovanou knihovnu CPS
použiji v projektu kompilovaném s Javou 1.5 a přilinkovanou knihovnou Struts
1.3.8. Chyba se odstraní ve chvíli, kdy knihovnu CPS zkompiluji (stále s
compilerem 1.4) s verzí Struts 1.3.8. Nicméně, knihovny Struts 1.2.X a
1.3.Xby měly být v daném místě kompatibilní - viz. Javadoc:


http://struts.apache.org/1.2.7/api/org/apache/struts/action/ActionRedirect.html

http://struts.apache.org/1.3.8/apidocs/org/apache/struts/action/ActionRedirect.html

  Tzn. naše knihovna CPS se dá beze změn zkompilovat jak se Struts 1.2.8,
tak i 1.3.8 - co je zarážející, že se stejným JDK kompilace knihovny CPS s
uvedenými verzemi vygeneruje binárně odlišný JAR.
  Nějak si tedy nedokážeme vysvětlit v čem je problém - protože se nám
uvedená situace zdá naprosto ok, a měla by být pokrytá kontraktem zpětné
kompatibility. Nenapadá vás někoho, kde by mohl být zakopaný pes?

  Ještě jedna možná zajímavá informace Struts 1.2.8 jsou kompilované s JDK
1.4, Struts 1.3.8 s JDK 1.5.

Díky za nápady,
Honza N.

--
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Zpětná kompatibilita Struts 1.3.X a 1.2.X

2007-07-09 Thread Ing. Jan Novotný

Koukám, že pořekadlo "pro oči nevidí" platí. Studoval jsem především
parametry a návratový typ jsem úspěšně přehlížel.
Díky moc za prozaické vysvětlení :)

Honza. N.

2007/7/9, Peter Stibrany <[EMAIL PROTECTED]>:


Pohlad do tych JavaDocov hovori, ze addParameter v Struts 1.2.7 nema
ziadnu navratovu hodnotu, zatialco v 1.3.8 vracia ActionRedirect. A
nekompatibilita je na svete.

-ps

On 7/9/07, Ing. Jan Novotný <[EMAIL PROTECTED]> wrote:
> Zdravím konferenci,
>
>narazili jsme s kolegy na jeden zajímavý problém. Vše to začalo tímto
> stack trace:
>
> Servlet.service() for servlet action threw exception
> java.lang.NoSuchMethodError:
> org.apache.struts.action.ActionRedirect.addParameter
(Ljava/lang/String;Ljava/lang/Object;)V
> at
> com.fg.webapp.cps.v1.frontend.cps.srv.APPLstoreCL.execute(
APPLstoreCL.java:71)
> at
> org.apache.struts.chain.commands.servlet.ExecuteAction.execute(
ExecuteAction.java:58)
> at
> org.apache.struts.chain.commands.AbstractExecuteAction.execute(
AbstractExecuteAction.java:67)
> at
> org.apache.struts.chain.commands.ActionCommandBase.execute(
ActionCommandBase.java:51)
>
>Jedná se o knihovnu CPS, která je kompilovaná v Java 1.4.X s
knihovnou
> Struts 1.2.8. Chyba se projeví pokud takto zkompilovanou knihovnu CPS
> použiji v projektu kompilovaném s Javou 1.5 a přilinkovanou knihovnou
Struts
> 1.3.8. Chyba se odstraní ve chvíli, kdy knihovnu CPS zkompiluji (stále s
> compilerem 1.4) s verzí Struts 1.3.8. Nicméně, knihovny Struts 1.2.X a
1.3.X
> by měly být v daném místě kompatibilní - viz. Javadoc:
>
>
>
http://struts.apache.org/1.2.7/api/org/apache/struts/action/ActionRedirect.html
>
>
http://struts.apache.org/1.3.8/apidocs/org/apache/struts/action/ActionRedirect.html
>
>Tzn. naše knihovna CPS se dá beze změn zkompilovat jak se Struts
1.2.8,
> tak i 1.3.8 - co je zarážející, že se stejným JDK kompilace knihovny CPS
s
> uvedenými verzemi vygeneruje binárně odlišný JAR.
>Nějak si tedy nedokážeme vysvětlit v čem je problém - protože se nám
> uvedená situace zdá naprosto ok, a měla by být pokrytá kontraktem zpětné
> kompatibility. Nenapadá vás někoho, kde by mohl být zakopaný pes?
>
> Ještě jedna možná zajímavá informace Struts 1.2.8 jsou kompilované s
JDK
> 1.4, Struts 1.3.8 s JDK 1.5.
>
> Díky za nápady,
> Honza N.
>
> --
> --
> Ing. Jan Novotný
> @@
> http://blog.novoj.net
> Myšlenky dne otce Fura
> --





--
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Zjisteni pracovnich dnu mezi 2 dny

2007-07-25 Thread Ing. Jan Novotný

Je to takové nehezké řešení (kéž by Java měla pro toto nějakou podporu), ale
co jsem se zatím setkal (celkem asi 3 případy v mé praxi) - vždycky se to
řešilo takto. Typicky už měl náš zákazník podobnou tabulku už připravenou
pro jiné aplikace, takže jsme se jen napojili na existující data.
Výhodou tohoto řešení navíc je, že si zákazník obhospodařuje dny volna sám,
a když vyhlásí celozávodku není nic jednoduššího než přidat pár záznamů do
podobné tabulky. Má to pod kontrolou a všechny jeho interní aplikace (pokud
z této tabulky čerpají - jako že na tom zákazník vždy trval) se novému
nastavení jednoduše přizpůsobí.

Honza N.

25.7.07, "Ing. Radek Žuja" <[EMAIL PROTECTED]>:


Asi se mnou nebude spousta lidí souhlasit ale úplně nejjednodušší je mít
(pokud tedy jde o aplikaci s přístupem k databázi)
mít někde tabulku datumů řekněme takovéto struktury
datum datetime (PK)
den tinyint (1-31)
tyden  tinyint (0-53)
mesic tinyint (1-12)
den_v_tydnu tinyint (1-7)
svatek tinyint (1 -Ano, 0- ne)

A pokud někdo potřebuje třeba ještě dekády, kvartály apod.
Na plnění této tabulky si napsat proceduru, která to vygeneruje třeba na
10 let dopředu, Mít třeba pomocnou tabulku svátku, kterou ta procedura
či trigger vezme v potaz.
A pak to můžete do aplikace zjiˇšťovat jednoduchými selecty. V palikaci
pak nemusíte řešit jestli je den_v tydnu 1 neděle, nebo pondělí. Jediné
místo (a to opravdu jedinné), kde to budete řešit je ona plnicí
procedura(trigger)


Ta tabulka v DB moc místa nezabere, a funguuje to podle mě nejlépe.
Radek Žuja

PS: ty datové typy tinyint jsou se sybase. Je to jení nejmenší datový
typ. Jde v podstatě o Byte.
> Zdravim,
> kouknul jsme se do googlu a nasel jsem tam jedno reseni v .NET.
> Myslim, ze bych sel touto cestou. Sice to nebude nic zariveho, ale asi
> to bude jistota. Uvedu zde onen kod:
>
> ***
> CREATE function swsAdmin.fn_WorkingDays
> (
>@FromDate   datetime,
>@ToDate datetime
> )
> RETURNS int
> with encryption
> as
> begin
>if(@FromDate > @ToDate)
> return 0
>
>Declare @WorkingDays int
>Set @WorkingDays = 0
>
>while(@FromDate <= @ToDate)
>begin
>-- do not count SA & SU
>if@@datefirst + datepart(weekday, @FromDate) - 2) %
> 7) + 1) < 6)
>begin
>Set @WorkingDays = @WorkingDays + 1
>end
>
>-- add one day
>Set @FromDate = @FromDate + 1
>end
>
>return @WorkingDays
> end
> 
>
> Osobne bych jeste pridelal funkci, ktera by na argument typu Date(nebo
> Calendar ... dle gusta) vracela, zda je pracovni ci ne. A nekde asi
> udrzovat tabulku svatku 
>
>
>
> Lukas Barton napsal(a):
>> Ladislav Starý napsal(a):
>>> Zdravim,
>>>
>>> nez zacnu vymyslet nejaky algoritmus, chtel bych se zeptat, jestli
>>> se da nejakym elegantnim zpusobem zjistit pocet pracovnich dnu mezi
>>> dvema kalendarnimi dny.
>>> Pocet kalendarnich dnu jsem dokazal zjistit pomoci rozdilu
>>> milisekund, ale jak to udelat s kalendarnimi dny, to me zatim
nenapada.
>>>
>>> Zatim jsem uvazoval, ze bych postupne prochazel vsechny kalendarni
>>> dny v tom intervalu a testoval, jestli je pracovni nebo ne.
>>> Prijde mi ale hodne pomaly. Navic jeste budu muset resit statni
svatky.
>> Zjistit pocet pondeli-patku jde jeste vzoreckem.
>> A pak musite mit nekde databazi svatbku a odecist, to co lezi mezi.
>> Protoze pocet svatku se meni v case (napr. velikonoce, pridavaji se
>> svatky nove, ).
>>
>>  Lukas
>>
>>
>>
>>
>






--
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Signifikantni rozdily v rychlosti aplikace vyvinujte pod NetBeans RCP pod JDK 1.6.0

2007-08-08 Thread Ing. Jan Novotný
No jo, jenže se mluvilo tuším o zrychlení v řádu do 20% - myslím na úrovni
práce se synchronizovanými bloky (respektive zámky). A Tomáš mluví o
zrychlení 1000%.
Nějak se mi to nezdá ;).

Honza

8.8.07, MaReK Olšavský <[EMAIL PROTECTED]>:
>
> Bodry den,
> mel to Dagi i v jednom z poslednich podcastu, u Javy 6 je vykon jedna z
> velkych zmen, ktere byly upraveny. Proste vyslyseli narky nekterych
> uzivatelu (no znam jich dost, co tvrdili, ze to bylo moc ppoommaallee) a
> optimalizovali.
>
> -- MaReK
> - --
>
> MaReK "Penguin" Olšavský
> PHP Voodoo
> private mail: [EMAIL PROTECTED]
> private web: http://orsm.wz.cz
> ICQ#: 160 178 925; MSN: [EMAIL PROTECTED]; Skype: Penguin_007
> tel.: +420-603-519-650; +420-775-154-689 (775-1-LINUX)
>
> Na stránce bylo napsáno: "Optimalizováno pro Explorer 5, nebo lepší".
>   Tak jsem přešel na Mozilla Firefox  --> http://firefox.czilla.cz/
>
>
> Tomas Hubalek napsal(a):
> > Zdar,
> >
> > mam tu jednu "zahadu", ktere nerozumim. Mame aplikaci do NetBeans
> > platform, ktera vykazuje pomerne extremni rozdily v rychlosti, pokud
> > stejny kod bezi pod JDK 1.5.0 a JDK 1.6.0.
> >
> > To co pod JDK 1.6.0 trva radove vteriny, trva v JDK 1.5.0 i desitky
> vterin.
> >
> > Aplikace pouziva JAX WS 2.0 a NetBeans Platform 6 (teda cislem si nejsem
> > presne jisty, ale je to ta, co jsou na ni postave NetBeans 5.5) jinak
> > nic specialniho.
> >
> > Mate nekdo nejaky tip, jak to vysvetlit?
> >
> > Dik
> > Tom
> >
>



-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: project management tools - build, test, code analysis, documentation

2007-08-22 Thread Ing. Jan Novotný
Ne, že bych s tím měl nějakou praktickou zkušenost, ale Maven myslím může
být použit i na ne Java projekty - alespoň jeho defaultní struktura má např.
"src/java", což mi evokuje pocit, že by mohlo být klidně i "src/php" třebas.
Otázka zní, jak je to s podporou pluginů pro ne-java platformy.

Honza

2007/8/22, [EMAIL PROTECTED] <[EMAIL PROTECTED]>:
>
> Stale hledam framework pro nejakou rozumnou spravu vetsich projektu (vic
> modulu, vic technologii, nejednotna struktura) - sestavovani, testy, analyzy
> kodu, dokumentace, verzovani.
>
> Znam: Ant, Maven, Ivy, Continuum
>
> Unikl mi nejaky zajimavy projekt?
>
> Diky D. :)
>
> PS: Nutna nezavislost na IDE.
>
>
>
> This message is for the designated recipient only and may contain
> privileged, proprietary, or otherwise private information.  If you have
> received it in error, please notify the sender immediately and delete the
> original.  Any other use of the email by you is prohibited.
>
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: project management tools - build, test, code analysis, documentation

2007-08-22 Thread Ing. Jan Novotný
No ani ne ;). Já to už dělal - zběsilá struktura orientovaná na ant = nic
standardního. Chtěl jsem ve firmě prosadit maven, tak mi nezbylo, že chvíli
jet na projektech, kde musel běžet paralelně starý antí způsob i ten můj
nový. No a pak přesvědčovat, že ten můj nový způsob je lepší.
Taky jsem si nejdřív říkal, co to dá práce - ale nakonec to bylo dost
jednoduché. Faktem je, že ten ant měl pár targetů a výsledkem byl obvykle
jeden WAR s pár přilinkovanými vlastními moduly typu JAR (plus hafo
externích knihoven). Typicky stačí změnit cestu k resources, testResources +
otunit maven-compiler-plugin, maven-surefire-plugin a maven-war-plugin a
bylo. Nenarazil jsem na nic, co by se v pluginech nedalo nakonfigurovat.
Takže rozhodně doporučuji to zkusit.

Honza N.

2007/8/22, [EMAIL PROTECTED] <[EMAIL PROTECTED]>:
>
> Maven fajn .. ale pokud mam uz existujici projekt se zbesilou strukturou,
> tak mi to moc nepomuze. Resp. musel bych to priohybat nevkusnym zpusobem.
> Nebo se snad mylim?
>
> 
>
> Od: [EMAIL PROTECTED] za uživatele Roman Pichlik
> Odesláno: st 22.8.2007 13:14
> Komu: Java
> Předmět: Re: project management tools - build, test, code
> analysis,documentation
>
>
>
> urcite Maven. K tomu co umi Maven by jste dospel pomoci kombinace Ivy
> (zavislsoti) + Ant (exekuce), ake kdo by to psal, kdyz mate Maven ;-).
>
> [EMAIL PROTECTED] napsal(a):
> > Az takhle hrube jsem to nemyslel ;) ... nemyslel jsem ruzne programovaci
> jazyky, ale ruzne technologie a frameworky kolem J2SE/J2EE. Omlouvam se /
> polepsim se ;)
> >
> >   _
> >
> > Od: [EMAIL PROTECTED] za uživatele Petr Ferschmann
> > Odesláno: st 22.8.2007 12:33
> > Komu: Java
> > Předmět: Re: project management tools - build,test,code
> analysis,documentation
> >
> >
> > Zdravím,
> >
> > no, pokud myslíte víc technologií např.: Java a C/C++ tak to vám přeju
> hodně štěstí :-)
> >
> > Pro C/C++ mám dobré zkušenosti s Autoconf/Automake a CMake (umí dělat
> Makefile a Visual Studio projekty, pouštění testů).
> > Pokud chcete do dražších sfér tak možná IBM Rational ClearCase.
> > Pokud chcete něco jednotně tak bych doporučil Maven s tím, že např.
> C/C++ se bude z Mavenu buildit něčím jiným (např. CMake).
> > Také bychom asi neměli vynechat Microsoft Visual Studio Team System
> (nebo jak se to vlastně teď jmenuje).
> >
> > Opravdu záleží na přesných podmínkách, o jaké technologie se jedná a co
> od systému očekáváte.
> >
> > Pošlete seznam technologií, zda se jedná o různé projekty/jeden projekt
> apod.
> >
> > Pokud se jedná o více různých  technologíí nebránil bych se používat pro
> každý typ projektu něco jiného.
> >
> > Petr
> >
> > [EMAIL PROTECTED] píše v St 22. 08. 2007 v 11:29 +0200:
> >
> > Stale hledam framework pro nejakou rozumnou spravu vetsich projektu (vic
> modulu, vic technologii, nejednotna struktura) - sestavovani, testy, analyzy
> kodu, dokumentace, verzovani.
> >
> >
> >
> > Znam: Ant, Maven, Ivy, Continuum
> >
> >
> >
> > Unikl mi nejaky zajimavy projekt?
> >
> >
> >
> > Diky D. :)
> >
> >
> >
> > PS: Nutna nezavislost na IDE.
> >
> >
> >
> >
> >
> >
> >
> > This message is for the designated recipient only and may contain
> privileged, proprietary, or otherwise private information.  If you have
> received it in error, please notify the sender immediately and delete the
> original.  Any other use of the email by you is prohibited.
> >
> > Petr Ferschmann
> >
> > SoftEU s.r.o.
> >
> > ---
> >
> > Bolevecká 6
> >
> > 301 00 Plzen
> >
> > Czech Republic
> >
> > ---
> >
> > Phone: +420 373 731 284
> >
> >+420 373 729 300
> >
> > Fax:   +420 373 729 301
> >
> > Cell:  +420 775 638 008
> >
> > E-mail: [EMAIL PROTECTED]
> >
>
>
> --
> S pozdravem Roman "Dagi" Pichlik
>
> /* http://www.sweb.cz/pichlik/ Blog pro kodery */
>
>
>
>
> This message is for the designated recipient only and may contain
> privileged, proprietary, or otherwise private information.  If you have
> received it in error, please notify the sender immediately and delete the
> original.  Any other use of the email by you is prohibited.
>
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Mevenide2

2007-09-10 Thread Ing. Jan Novotný
Jen ve zkratce ... nemám čas smolit podrobnější odpověď, takže spíš jen
nasměrování, kam byste se mohl kouknout

Jarko budete mít typicky ve složce target ... toto lze redefinovat s pomocí
konfigurace maven-jar-plugin
Složku s knihovnami standardně maven nevytváří (jen u WARů) - všechny jary
si totiž bere z vašeho lokálního repository. Možná bych kouknul na možnosti
maven-dependency-plugin ... tam byste mohl najít něco použitelného pro váš
problém.

Honza N.

2007/9/10, [EMAIL PROTECTED] <[EMAIL PROTECTED]>:
>
>
> Hi all,
>
> Pouzivate niekto v NB5.5 plugin pre Mavena Mevenide2 (
> http://mevenide.codehaus.org/m2-site/) ?
> Dnes som si ho nainstaloval, vsetko mi beha ako ma, len neviem ako mam
> teraz NB donutit aby mi vytvorila adresar DIST s JARkom projektu + s
> podadresarom LIB, kde su vsetky potrebne JARka pre moje JARko
> Pred Mavenom mi to pomocou ANTu NB robili
>
> Marian Stevlik (Michal)




-- 
--------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Mevenide2

2007-09-10 Thread Ing. Jan Novotný
JJ, to bude ono - viz:
http://maven.apache.org/plugins/maven-assembly-plugin/howto.html
Zapomeňte na to, co jsem vám radil já ;).

Honza N.

2007/9/10, Podlesak Kamil <[EMAIL PROTECTED]>:
>
>  Zdravím,
>
> K tomuto slouží (obecně) plugin assembly.
> O Mevenide nic nevím, takže jak se to má dohromady rádo nepovím.
>
> Kamil Podlešák
>
> -Original Message-
> *From:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Behalf Of [EMAIL PROTECTED]
> *Sent:* Monday, September 10, 2007 3:27 PM
> *To:* konference@java.cz
> *Subject:* Mevenide2
>
>
> Hi all,
>
> Pouzivate niekto v NB5.5 plugin pre Mavena Mevenide2 (
> http://mevenide.codehaus.org/m2-site/) ?
> Dnes som si ho nainstaloval, vsetko mi beha ako ma, len neviem ako mam
> teraz NB donutit aby mi vytvorila adresar DIST s JARkom projektu + s
> podadresarom LIB, kde su vsetky potrebne JARka pre moje JARko
> Pred Mavenom mi to pomocou ANTu NB robili
>
> Marian Stevlik (Michal)
>
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: JAVA a AJAX framework

2007-10-16 Thread Ing. Jan Novotný
Řekl bych, že je ještě poměrně důležitá otázka jestli chcete nechat
tomu frameworku kompletní kontrolu nad renderováním nebo ten AJAX má
sloužit pouze k doplnění nějaké funkcionality do layoutu, který chcete
mít pod kontrolou vy.

Já jsem došel k závěru, že frameworky jako GWT nebo Echo2 jsou prostě
kompletní řešení pro prezentační vrstvu. Dávají vám jasná pravidla, se
kterými moc nehnete a kterým se musíte přizpůsobit. DWR naopak je
velmi volné ... nechá vás na prezentační vrstvě vyrobit cokoliv a
jednoduše se do toho integruje. Pravda je, že některé věci si potom na
klientovi zase musíte dořešit sám. Proto se často kombinuje DWR ještě
s něčím - třebas jQuery.

viz. http://blog.novoj.net/2007/05/19/neni-ajax-jako-ajax/
a také http://vavru.cz/java/dwr-ajax-knihovna-pro-remotovani-java-objektu/

Vzhledem k tomu, že naše společnost se soustředí na internetové
prezentace a GUI je šité na míru našimi grafiky, nenašel jsem pro GWT
uplatnění. Nejlepší řešení pro můj účel se mi zdá právě kombinace DWR
plus jQuery. Což ovšem neznamená, že to je ideální řešení pro
jakýkoliv účel a cílovou aplikaci.

Honza N.

2007/10/16, Ivan Polák <[EMAIL PROTECTED]>:
> Vsetkym dakujem za uzitocne rady, co ma prekvapilo, je ze google web toolkit
> sa tu neobjavil.
>
> Este raz vdaka
>
> Ivan
>
>
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
> Behalf Of Lahoda Vladimír
> Sent: Monday, October 15, 2007 9:32 PM
> To: Java
> Subject: Re: JAVA a AJAX framework
>
> Z těch, co uvádíte, se mi jako "swingařovi" nejvíc líbí Echo2.
> Myslím, že ještě lepší je ale Thinwire - používá stejný princip jako
> Echo2, ale je dotaženější. Ze stejného soudku určitě stojí za
> pozornost Eclipse RAP, zatím nepoužitelně pomalý, ale díky silnému
> zázemí Eclipse se nejspíš výrazně prosadí. No a pak je tu ještě
> komerční IT Mill, opět se stejným trikem, nezkoušel jsem ho ale zatím.
> Vláďa
>
> On 15.10.2007, at 16:43, Ivan Polák wrote:
>
> > Mam otazku , podla Vas ktory AJAX framework je najvhodnejsi pre
> > pouzitie s JAVA + Spring. DWH, Echo2, google web toolkit ? jedna sa
> > o intranetovu web aplikaciu.
> >
> >
> >
> > Dakujem
> >
> >
> >
> > Ivan
> >
> >
> >
> >
>
>
> __ Informacia od NOD32 2305 (20070601) __
>
> Tato sprava bola preverena antivirusovym systemom NOD32.
> http://www.eset.sk
>
>
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Prezentace JPA na CZJUG

2007-10-23 Thread Ing. Jan Novotný
Ano, mám ji doma - Martin mi ji posílal na vyžádání. Ideálně asi
napište přímo jemu - jeho email, by se měl někde v konferenci
nacházet. Ne že bych vám nechtěl pomoct, ale přeci jen to není můj
výtvor, tak nechci rozšiřovat něco, co mi nepatří.

Honza N.

23.10.07, Pavel Zelenka <[EMAIL PROTECTED]>:
>
> Zdravím,
>
> nemáte někdo tu demo aplikaci Martina Krajčího, kterou ukazoval na CZJUGu
> 31.1.2007 při prezentaci JPA?
>
> Díky
>
> Pavel Zelenka
>


-- 
------------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: synchr. z CVS jako planovana uloha

2007-11-07 Thread Ing. Jan Novotný
Řada konfliktů se eliminuje zavedením integračního serveru (pokud ho
ještě nemáte) - namátkou třebas Continuum, TeamCity atd.. Ten po
každém commitu provede checkout a spustí další úlohy, dle vašeho přání
(compile, testy atd.).  Plno věcí se vyřeší už jen zavedením téhle
věci, plus zavedením pravidelného commitování (commit, je něco, jako
když si jdete večer vyčistit zuby). Tyhle dvě pravidla nám vyřešila
lecos ...

Honza N.

7.11.07, [EMAIL PROTECTED] <[EMAIL PROTECTED]>:
> Dobry den,
>
> potreboval bych pod OS windows najit CVS klienta ktery by sel nastavit tak ze 
> kdyz by byl spusten jako planovana uloha windowsu
> tak by provedl synchronizaci naseho projektu na jednotlive vyvojarska PC. 
> Tato cinnost by probihala pres noc a rano by
> kazdy clen tymu mel k dispozici svuj workspace a vedle toho workspace 
> synchronizovany pres noc. Takze pak neresime zadne konflikty a je na vyvojari 
> jaky workspace se rozhodne pouzit.  Kazde rano nam tak pul hodiny az hodinu 
> trva synchronizace, navic mame v tymu vice novacku a casu je tak (jako vzdy) 
> malo.
>
> z CVSko pouzivam jen ve forme pluginu v eclipse a rad si necham poradit a 
> nasmerovat co by me pozadavky splnilo.
>
> Diky za reakce
>
>


-- 
------------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: log4j: nacteni log file

2007-11-15 Thread Ing. Jan Novotný
S tímhle appenderem pozor ... přímo na log4j se dočtete, že ho
nedoporučují pro provozní prostředí. Myslím, že při vysoce paralelním
přístupu blokuje nebo tak podobně.

V 1.3 verzi log4j už mají appender, který se dá napojit na DataSource,
který pak už může být poolovaný. Jenže, když jsem se to snažil
zprovoznit já asi před rokem, tak jsem zjistil, že jim to moc
nefunguje (i když chyba mohla být klidně v OC4J). Každopádně se to
dalo nějak zprovoznit.

Honza

15.11.07, Stöhr Miroslav RNDr. Ph.D. <[EMAIL PROTECTED]>:
> No, do budoucnosti určitě ano. Ale ty log soubory už existují, já je musím 
> procházet zpětně.
>
>  Mirek
>
>
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Martin Kuba
> Sent: Thursday, November 15, 2007 11:48 AM
> To: Java
> Subject: Re: log4j: nacteni log file
>
> Logovat primo do dabataze, aby odpadlo zapsani do souboru a opetovne nacteni 
> souboru ?
>
> http://logging.apache.org/log4j/companions/receivers/apidocs/org/apache/log4j/db/DBAppender.html
>
> Makub
>
> Stöhr Miroslav RNDr. Ph.D. napsal(a):
> > A odpovím si sám:
> > http://logging.apache.org/log4j/companions/receivers/apidocs/index.htm
> > l
> >
> > Snad se to nekomu nekdy bude hodit. Nicmene pokud mate lepsi napady,
> > sem s nimi :-))
> >
> >  Mirek
> >
> > -Original Message-
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Stöhr 
> > Miroslav RNDr. Ph.D.
> > Sent: Thursday, November 15, 2007 8:48 AM
> > To: Java
> > Subject: log4j: nacteni log file
> >
> > Vazeni kolegove,
> >
> > vyskytl se mi nasledujici problem: Potreboval bych nacist log soubory
> > (log4j, verze 1.2). Jejich struktura je vice mene klasicka, vznikla
> > konfiguraci stylu
> >
> > log4j.appender.Appender_stdout.layout.ConversionPattern=%5p %t  %-16c
> > > %m%n
> >
> > (toto je priklad, pro kazdy z log souboru je to ruzne, ale zname).
> >
> > No a ja bych tyto log soubory potreboval nacist do db, tj. potrebuji si 
> > vytvorit nejaky vhodny nastroj ktery mi z log souboru postupne cte 
> > jednotlive log eventy a pak uz to bude jednodussi.
> >
> > Urcite neco takoveho uz existuje. Mohl by jste me nekdo nasmerovat prosim? 
> > Dekuji.
> >
> >
> >  Mirek Stöhr
> >
>
>
> --
> ~~
> Supercomputing Center Brno Martin Kuba
> Institute of Computer Scienceemail: [EMAIL PROTECTED]
> Masaryk University http://www.ics.muni.cz/~makub/
> Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
> --
>
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: log4j: nacteni log file

2007-11-15 Thread Ing. Jan Novotný
Na prohlížení jsme používali
http://logging.apache.org/chainsaw/index.html  ale myslím, že to
stále není to, co vy hledáte.

Honza N.

15.11.07, Stöhr Miroslav RNDr. Ph.D. <[EMAIL PROTECTED]>:
> No, do budoucnosti určitě ano. Ale ty log soubory už existují, já je musím 
> procházet zpětně.
>
>  Mirek
>
>
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Martin Kuba
> Sent: Thursday, November 15, 2007 11:48 AM
> To: Java
> Subject: Re: log4j: nacteni log file
>
> Logovat primo do dabataze, aby odpadlo zapsani do souboru a opetovne nacteni 
> souboru ?
>
> http://logging.apache.org/log4j/companions/receivers/apidocs/org/apache/log4j/db/DBAppender.html
>
> Makub
>
> Stöhr Miroslav RNDr. Ph.D. napsal(a):
> > A odpovím si sám:
> > http://logging.apache.org/log4j/companions/receivers/apidocs/index.htm
> > l
> >
> > Snad se to nekomu nekdy bude hodit. Nicmene pokud mate lepsi napady,
> > sem s nimi :-))
> >
> >  Mirek
> >
> > -Original Message-
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Stöhr 
> > Miroslav RNDr. Ph.D.
> > Sent: Thursday, November 15, 2007 8:48 AM
> > To: Java
> > Subject: log4j: nacteni log file
> >
> > Vazeni kolegove,
> >
> > vyskytl se mi nasledujici problem: Potreboval bych nacist log soubory
> > (log4j, verze 1.2). Jejich struktura je vice mene klasicka, vznikla
> > konfiguraci stylu
> >
> > log4j.appender.Appender_stdout.layout.ConversionPattern=%5p %t  %-16c
> > > %m%n
> >
> > (toto je priklad, pro kazdy z log souboru je to ruzne, ale zname).
> >
> > No a ja bych tyto log soubory potreboval nacist do db, tj. potrebuji si 
> > vytvorit nejaky vhodny nastroj ktery mi z log souboru postupne cte 
> > jednotlive log eventy a pak uz to bude jednodussi.
> >
> > Urcite neco takoveho uz existuje. Mohl by jste me nekdo nasmerovat prosim? 
> > Dekuji.
> >
> >
> >  Mirek Stöhr
> >
>
>
> --
> ~~
> Supercomputing Center Brno Martin Kuba
> Institute of Computer Scienceemail: [EMAIL PROTECTED]
> Masaryk University http://www.ics.muni.cz/~makub/
> Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
> --
>
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


IllegalAccessException při pokusu přístupu na getter Enumu reflexí

2007-11-26 Thread Ing. Jan Novotný
Zdravím konferenci,

   dokážete někdo vysvětlit proč při přístupu k metodám Java enum
typu, který mám definován takto:

public enum QueryStatus implements HasValue {
INSERTED {
public Integer getValue() { return 0; }
public String getLabel() { return "vloženo"; }
},
ALLOWED {
public Integer getValue() { return 1; }
public String getLabel() { return "schváleno"; }
},
FORBIDDEN {
public Integer getValue() { return 2; }
public String getLabel() { return "zamítnuto"; }
}
}

   vyhazuje java IllegalAccessException? Podaří se mi získat i object
Method pro danou getter metodu, ale když se zavolá metoda invoke,
vyletí vyjímka IllegalAccessException. Nějak se mi nepodařilo nic
vygůglit, tak si nedokážu vysvětlit, kde je problém.

Honza N.

-- 
--------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: IllegalAccessException při poku su přístupu na getter Enumu reflexí

2007-11-26 Thread Ing. Jan Novotný
No já na to narazil, kdy jsem se ve Stripes snažil použít tag



který k přistupuje k datům objektů přes gettery reflexí. Zkusil jsem
to obejít a napsal jsem si iteraci sám přes JSP EL, takto:




${status.label}



a kupodivu to funguje. Přitom bych si myslel, že JSP EL bude dělat
úplně to samé a na stejný getter taky půjde přes reflexi. Tak si
nedokážu vysvětlit proč to v JSP EL funguje a Stripsům přes reflexi
ne.

Tzn. vyřešení toho problému mě ani tak nepálí (mám dobrý workaround),
ale spíš jen zajímá - jak je to možné?!

Honza

2007/11/26, Ondřej Fafejta <[EMAIL PROTECTED]>:
> Ing. Jan Novotný napsal(a):
> > Zdravím konferenci,
> >
> >dokážete někdo vysvětlit proč při přístupu k metodám Java enum
> > typu, který mám definován takto:
> >
> > public enum QueryStatus implements HasValue {
> >   INSERTED {
> >   public Integer getValue() { return 0; }
> >   public String getLabel() { return "vloženo"; }
> >   },
> >   ALLOWED {
> >   public Integer getValue() { return 1; }
> >   public String getLabel() { return "schváleno"; }
> >   },
> >   FORBIDDEN {
> >   public Integer getValue() { return 2; }
> >   public String getLabel() { return "zamítnuto"; }
> >   }
> > }
> >
> >vyhazuje java IllegalAccessException? Podaří se mi získat i object
> > Method pro danou getter metodu, ale když se zavolá metoda invoke,
> > vyletí vyjímka IllegalAccessException. Nějak se mi nepodařilo nic
> > vygůglit, tak si nedokážu vysvětlit, kde je problém.
> >
> > Honza N.
> >
> >
> Co třeba to napsat takto?
>
> public enum QueryStatus implements HasValue {
>
> INSERTED(0, "vlozeno"),
> ALLOWED(1, "schvaleno"),
> FORBIDDEN(2, "zamitnuto");
>
> private Integer value;
> private String label;
>
> private QueryStatus(Integer value, String label) {
> this.value = value;
> this.label = label;
> }
>
> public Integer getValue() {
> return value;
> }
>
> public String getLabel() {
> return label;
> }
>
> public static QueryStatus findQueryStatusByValue(Integer value) {
> if (value == null) {
> return QueryStatus.FORBIDDEN;
> }
> for (QueryStatus qs : QueryStatus.values()) {
> if (qs.equals(value)) {
> return qs;
> }
>         }
> return QueryStatus.FORBIDDEN;
> }
> }
>
> Dokonce je možné napsat statickou metodu, která podle zadaného parametru
> value vrátí přímo výčtový typ.
> viz. metoda
> public static QueryStatus findQueryStatusByValue(Integer value);
>
> Fafi
>
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: IllegalAccessException pri poku su prístupu na getter Enumu reflexí

2007-11-26 Thread Ing. Jan Novotný
Díky za nakopnutí, tohle se trefilo do černého - alespoň co se týká
zdůvodnění. Když jsem v debug režimu manuálně nastavil metodě
setAccessible(true), už invoke() prošlo bez chyby a vrátilo to, co
mělo. Bohužel doplnění abstraktní metody do QueryStatus nepomohlo a
bez setAccessible(true) se k danému getteru nedostanu - pro úplnost
uvádím aktualizovanou třídu:

public enum QueryStatus implements HasValue {
INSERTED {
public Integer getValue() { return 0; }
public String getLabel() { return "vloženo"; }
},
ALLOWED {
public Integer getValue() { return 1; }
public String getLabel() { return "schváleno"; }
},
FORBIDDEN {
public Integer getValue() { return 2; }
public String getLabel() { return "zamítnuto"; }
};

public abstract String getLabel();

}

Navíc jsem objevil, že Stripes mají tag 
u kterého jsem si myslel, že bude natvrdo nastavováno setAccessible,
ale není tomu tak - padá to na IllegalAccess také.

Zkusím ještě popátrat na gůglu.

Honza N.

2007/11/26, Podlesak Kamil <[EMAIL PROTECTED]>:
>
> Myslim ze bude stacit doplnit deklaraci tech metod v samotne tride 
> QueryStatus (jako abstraktni metody).
>
> > public enum QueryStatus implements HasValue {
> >   INSERTED {
> >   public Integer getValue() { return 0; }
> >   public String getLabel() { return "vloženo"; }
> >   },
> >   ALLOWED {
> >   public Integer getValue() { return 1; }
> >   public String getLabel() { return "schváleno"; }
> >   },
> >   FORBIDDEN {
> >   public Integer getValue() { return 2; }
> >   public String getLabel() { return "zamítnuto"; }
> >   }
>
> public abstract Integer getValue();
> public abstract String getLabel();
> > }
>
> Jednotlive instance jsou neverejne tridy, tedy je normalne nelze pouzivat a 
> nelze ani volat metody v nich deklarovane. Tato omezeni se za normalnich 
> okolnosti kontroluji i pri pouzivani reflection, ale kontrolu lze vypnout 
> zavolanim method.setAccessible(true). Nektere knihovny pouzivajicich 
> reflection toto delaji, coz vysvetluje proc se v nich tento problem neobjevi 
> (zatimco v jinych ano).
>
> Kamil Podlesak
> --
> [EMAIL PROTECTED]
>
>
> > -Original Message-
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> > Behalf Of Ing. Jan Novotný
> > Sent: Monday, November 26, 2007 1:58 PM
> > To: Java
> > Subject: IllegalAccessException pri pokusu prístupu na getter Enumu
> > reflexí
> >
> >
> > Zdravím konferenci,
> >
> >dokážete někdo vysvětlit proč při přístupu k metodám Java enum
> > typu, který mám definován takto:
> >
> > public enum QueryStatus implements HasValue {
> >   INSERTED {
> >   public Integer getValue() { return 0; }
> >   public String getLabel() { return "vloženo"; }
> >   },
> >   ALLOWED {
> >   public Integer getValue() { return 1; }
> >   public String getLabel() { return "schváleno"; }
> >   },
> >   FORBIDDEN {
> >   public Integer getValue() { return 2; }
> >   public String getLabel() { return "zamítnuto"; }
> >   }
> > }
> >
> >vyhazuje java IllegalAccessException? Podaří se mi získat i object
> > Method pro danou getter metodu, ale když se zavolá metoda invoke,
> > vyletí vyjímka IllegalAccessException. Nějak se mi nepodařilo nic
> > vygůglit, tak si nedokážu vysvětlit, kde je problém.
> >
> > Honza N.
> >
> > --
> > --
> > Ing. Jan Novotný
> > @@
> > http://blog.novoj.net
> > Myšlenky dne otce Fura
> > --
> >
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: IllegalAccessException při poku su přístupu na getter Enumu reflexí

2007-11-26 Thread Ing. Jan Novotný
Díky za tip, v současné podobě to mám také tak, aby mi to chodilo.
Stejnak mi ale v hlavě vrtá ten skutečný důvod pro
IllegalAccessException.

Honza N.

26.11.07, Ondřej Fafejta <[EMAIL PROTECTED]>:
> Zdravím Vás!
>
> Ve stripes jsme to řešili podobným způsobem:
>
> v action beanu máme metodu
> public List getPosibleMyStatusEnums(){
>
> Samozřejmě, že k tomu musíte mít konvertor
> public class MyStatusEnumConverter implements TypeConverter{
>
> Ve stripes to pak vypadá následovně:
>
> 
>  collection="${actionBean.posibleMyStatusEnums}" label="label"
> value="status" />
> 
>
> v našem výčtovém typu máme metody
>
> getLabel() a getStatus().
>
> Fafi
>
>
> Ing. Jan Novotný napsal(a):
> > No já na to narazil, kdy jsem se ve Stripes snažil použít tag
> >
> > 
> >
> > který k přistupuje k datům objektů přes gettery reflexí. Zkusil jsem
> > to obejít a napsal jsem si iteraci sám přes JSP EL, takto:
> >
> > 
> >   
> >   
> >> value="${status.value}">${status.label}
> >   
> > 
> >
> > a kupodivu to funguje. Přitom bych si myslel, že JSP EL bude dělat
> > úplně to samé a na stejný getter taky půjde přes reflexi. Tak si
> > nedokážu vysvětlit proč to v JSP EL funguje a Stripsům přes reflexi
> > ne.
> >
> > Tzn. vyřešení toho problému mě ani tak nepálí (mám dobrý workaround),
> > ale spíš jen zajímá - jak je to možné?!
> >
> > Honza
> >
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: IllegalAccessException pri poku su prístupu na getter Enumu reflexí

2007-11-26 Thread Ing. Jan Novotný
Používá se tam logika z java.beans.* - konkrétně:

BeanInfo info = Introspector.getBeanInfo(clazz);
PropertyDescriptor[] descriptors = info.getPropertyDescriptors();

pak se podle name najde jeden konkrétní PropertyDescriptor a pak už:

Method m = pd.getReadMethod();
if (m != null) {
   return m.invoke(bean);
}

Tzn. logika získávání objektů Method je skrytá uvnitř Javy.
Nicméně problém bude asi v tom, že class name je: class
com.fg.xxx.model.QueryStatus$1, což se vztahuje již k té podřízené
třídě.

Problém bude tedy se získáváním toho className. A ten se získává na
základě itemu z dané kolekce, kde kolekci získám jednoduše:

Arrays.asList(QueryStatus.values());

Stripsy začnou iterovat po itemech z této kolekce a nad každým si zavolají:

Type type = this.bean.getClass();

Pak získají nacachované PropertyDescriptory - viz. začátek emailu a ty
už vrací "virtuální" classy pro jednotlivé enum QueryStatus classy.

Takže problém je již osvětlený, ale stejně mi nějak nedochází jak z
toho ven. Je mi jasné, že se potřebuju dostat k tomu, aby className =
"class com.fg.xxx.model.QueryStatus", ale netuším jak to zařídit.

Honza N.

2007/11/26, Jiri Mares <[EMAIL PROTECTED]>:
>
> A co se podivat do zdrojaku jak je to udelany ...
>
> Podlesak Kamil napsal(a):
> > Zajímavé, abstraktní metody musí fungovat... jak tu instanci Method 
> > získáváte?
> > getMethod() nebo getDeclaredMethod()? Důležité je, že se musí jednat o 
> > metodu z předka, nikoliv z potomka (interní třídy).
> >
> > Kamil Podlešák
> >
> >> -Original Message-----
> >> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> >> Behalf Of Ing. Jan Novotný
> >> Sent: Monday, November 26, 2007 2:53 PM
> >> To: Java
> >> Subject: Re: IllegalAccessException pri pokusu prístupu na
> >> getter Enumu
> >> reflexí
> >>
> >>
> >> Díky za nakopnutí, tohle se trefilo do černého - alespoň co se týká
> >> zdůvodnění. Když jsem v debug režimu manuálně nastavil metodě
> >> setAccessible(true), už invoke() prošlo bez chyby a vrátilo to, co
> >> mělo. Bohužel doplnění abstraktní metody do QueryStatus nepomohlo a
> >> bez setAccessible(true) se k danému getteru nedostanu - pro úplnost
> >> uvádím aktualizovanou třídu:
> >>
> >> public enum QueryStatus implements HasValue {
> >>  INSERTED {
> >>  public Integer getValue() { return 0; }
> >>  public String getLabel() { return "vloženo"; }
> >>  },
> >>  ALLOWED {
> >>  public Integer getValue() { return 1; }
> >>  public String getLabel() { return "schváleno"; }
> >>  },
> >>  FORBIDDEN {
> >>  public Integer getValue() { return 2; }
> >>  public String getLabel() { return "zamítnuto"; }
> >>  };
> >>
> >>  public abstract String getLabel();
> >>
> >> }
> >>
> >> Navíc jsem objevil, že Stripes mají tag 
> >> u kterého jsem si myslel, že bude natvrdo nastavováno setAccessible,
> >> ale není tomu tak - padá to na IllegalAccess také.
> >>
> >> Zkusím ještě popátrat na gůglu.
> >>
> >> Honza N.
> >>
> >> 2007/11/26, Podlesak Kamil <[EMAIL PROTECTED]>:
> >>> Myslim ze bude stacit doplnit deklaraci tech metod v
> >> samotne tride QueryStatus (jako abstraktni metody).
> >>>> public enum QueryStatus implements HasValue {
> >>>>   INSERTED {
> >>>>   public Integer getValue() { return 0; }
> >>>>   public String getLabel() { return "vloženo"; }
> >>>>   },
> >>>>   ALLOWED {
> >>>>   public Integer getValue() { return 1; }
> >>>>   public String getLabel() { return "schváleno"; }
> >>>>   },
> >>>>   FORBIDDEN {
> >>>>   public Integer getValue() { return 2; }
> >>>>   public String getLabel() { return "zamítnuto"; }
> >>>>   }
> >>> public abstract Integer getValue();
> >>> public abstract String getLabel();
> >>>> }
> >>> Jednotlive instance jsou neverejne tridy, tedy je normalne
> >> nelze pouzivat a nelze ani volat metody v nich deklarovane.
> >> Tato omezeni se za normalnich okolnosti kontroluji i pri
> >> pouzivani reflection, ale kontrolu lze vypnout zavolanim
> >> method

Re: IllegalAccessException při poku su přístupu na getter Enumu reflexí

2007-11-26 Thread Ing. Jan Novotný
:D chtěl jsem si ušetřit práci. Aplikace nemá žádné požadavky na
lokalizaci a chtěl jsem mít možnost i jednoduše napsat kdekoliv v JSP
${query.status.label}. Co se týká pořadí - value ukládám jako int do
databáze a nezdá se mi vhodné propojovat pořadí deklarace enumu v
classe s id ukládaným do databáze.

Jinak samozřejmě chápu argumenty, které jsi tu uvedl. V daném případě
bych problémy neměl - nicméně jsou to problémy docela zajímavé, dost
jsem se v posledních mailech dozvěděl o fungování enumů v Javě.

Honza N.

26.11.07, Martin Kuba <[EMAIL PROTECTED]>:
> Možná mi něco uniklo, ale proč je to nutné pro Stripes udělat ?
>
> Všechny typy enum dědí z java.lang.Enum, a pole pro pořadové číslo už mají,
> takže:
>
> package cz.makub;
>
> public enum Obdobi {
> JARO, LETO, PODZIM, ZIMA;
>
> public static void main(String[] args) {
> for(Obdobi o : Obdobi.values()) {
> System.out.println(o.name()+" "+o.ordinal());
> }
> }
> }
>
> vypíše
>
> JARO 0
> LETO 1
> PODZIM 2
> ZIMA 3
>
> a pokud se jedná o zobrazení lokalizovaných nápisů, tak to Stripes
> řeší přes ResourceBundle, takže do StripesResources_cs.properties
> stačí dopsat
>
> Obdobi.JARO=jaro
> Obdobi.LETO=léto
> Obdobi.PODZIM=podzim
> Obdobi.ZIMA=zima
>
> a pro ostatní jazyky příslušné překlady. Pak stačí mít v JSP
>
> 
>   
> 
>
> a zobrazí se to pěkně ve správném jazyce.
>
> Makub
>
> Ondřej Fafejta napsal(a):
> > Zdravím Vás!
> >
> > Ve stripes jsme to řešili podobným způsobem:
> >
> > v action beanu máme metodu
> > public List getPosibleMyStatusEnums(){
> >
> > Samozřejmě, že k tomu musíte mít konvertor
> > public class MyStatusEnumConverter implements TypeConverter{
> >
> > Ve stripes to pak vypadá následovně:
> >
> > 
> >  > collection="${actionBean.posibleMyStatusEnums}" label="label"
> > value="status" />
> > 
> >
> > v našem výčtovém typu máme metody
> >
> > getLabel() a getStatus().
> >
> > Fafi
>
>
>
> --
> ~~
> Supercomputing Center Brno Martin Kuba
> Institute of Computer Scienceemail: [EMAIL PROTECTED]
> Masaryk University http://www.ics.muni.cz/~makub/
> Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
> --
>
>
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: IllegalAccessException pri poku su prístupu na getter Enumu reflexí

2007-11-26 Thread Ing. Jan Novotný
JJ v interfacu HasValue je metoda getValue a zkušebně tam mám i metodu getLabel:

public interface HasValue {

public Integer getValue();

public String getLabel();

}

Jak říkám, teoreticky s tím problém nemám - jen si to musím oiterovat
sám pomocí JSTL + JSP EL. Jen mě zarazilo, že vyhořel ten tag stripsů
a zajímalo mě proč. Kód, který provádí tu reflexi samozřejmě pod
kontrolou nemám, takže nějaké další opracování (setAccessible nebo
iterace přes předky) nepřichází v úvahu.

Každopádně díky všem za názory - už v tom mám jasněji.

Honza N.

2007/11/26, Josef Cacek <[EMAIL PROTECTED]>:
> Ahojte,
>
> On Nov 26, 2007 4:15 PM, Podlesak Kamil <[EMAIL PROTECTED]> wrote:
>
> > > abstraktni metody fungovat nemusi. Problem je v tom, ze jednotlive
> > > prvky jsou v enumu reprezentovany anonymnimi tridami - tzn. maji
> > > nastaveny default access (package protected).
> >
> >  Jiste, to je to co jsem psal (resp. minil).
> >  A prave proto jsem navrhoval verejne abstaktni metody (public abstract) 
> > primo v samotnem enumu (tj. ve verejnem predkovi tech anonymnich metod). Ty 
> > pak samozrejme lze volat odkudkoliv, protoze deklarace je verejna (public) 
> > ve verejne tride (public). Minimalne to nevadi kompilatoru, s reflexi jsem 
> > si, priznavam, moc nehral.
>
> No prave, ona tam vadi ta reflexe (i v pripade, ze u predka jsou
> abstraktni metody public), protoze nastroje jako beanutils volaji
> nejakou variaci kodu, ktery jsem tu uvedl.
>
> > > instance.getClass().getMethod("getNeco",null).invoke(instance,null);
>
> Otazkou je, proc tam nepouziji to setAccessible().
>
> Abstrakce v nasem prikladu neni nutna, protoze predpokladam, ze v
> interfecu HasValue, ktery to implementovalo, bude uvedena metoda
> getValue().
>
> Z tohoto pohledu funguje bezproblemove konstrukce:
> HasValue.class.getMethod("getValue", null).invoke(instance, null);
>
> V tomto pripade uz se mi ale nevyplati pouzivat reflexi a tu metodu
> bych mel volat primo.
> ((HasValue) instance).getValue();
>
> Nejkorektnejsi by asi bylo podivat se na Classu predka, jestli vraci
> isAccessible() == true a v tom pripade ho pouzit pri volani invoke:
>
> instance.getClass().getEnclosingClass().getMethod("getValue",
> null).invoke(instance, null);
>
> > Kamil Podlesak
>
> -- pepa cacek
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Netbeans jako jednoduchý XML editor?

2007-12-03 Thread Ing. Jan Novotný
Zdravím,

   hledáme pro naše webaře jednoduchý XML editor, kterým by mohli
pohodlně editovat XML konfigurační soubory, které pro ně naši javisti
připravují. Atributy editoru, které hledáme jsou:

 - zdarma
 - podpora DTD, XSD
 - code completion
 - code coloring
 - jednoduchý k použití
 - malý footprint
 - není nutné nic extra dodělávat

  Napadlo mě vyzkoušet ořezané Netbeansy - a zrovinka dneska vyšla ta šestka ...
  Výsledek zkoušení mě však moc nepotěšil. Standardní IDE není možné
použít jen pro editaci XML souborů - musel by se vytvářet Java
projekt. Také jsem narazil na chyby při stahování XSD (zkoušel jsem to
na http://maven.apache.org/maven-v4_0_0.xsd). Neřešil už někdo problém
jednoduchého XML editoru na Netbeans platformě? Přeci nejsem jediný,
kdo toto řeší ... ale Google mlčí :(
  Díky za reakce.

Honza N.

-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Netbeans jako jednoduchý XML editor?

2007-12-03 Thread Ing. Jan Novotný
Pravda, pravda ... já si takhle zkusil otevřít už existující pom.xml
abych vyzkoušel code completion - což mi nefungovalo. Spojil jsem si
to s tím, že si IDEčko potřebuje zapsat informaci o XSD do svých
projektových souborů - nenabízel mi totiž v takto otevřeném XML code
completion i když informace o XSD byla správně zapsaná (funkce
Validate XML zafungovala dle očekávání). Je to tedy jenom chyba? Nebo
co je zapotřebí k code completion?

IntelliJ Idea mi v případě, že nezná XSD nabídne stažení (Fetch
external resource) podle informací v xsi:schemaLocation - NetBeans nic
nenabídlo, ale taky necodecompletuje :(.

Neexistuje nějaký lightweight bundle pro editaci XML a HTML postavený
na Netbeans platformě? Aby se člověk, který se zabývá pouze webem
nemusel zabývat funkcemi orientovanými na Java vývoj?

Díky - a sorry, pokud jsou otázky hodně blbé. Já s Netbeansy pracoval
naposledy před rokem a to jako s kompletní distribucí na Java vývoj.

Honza N.

3.12.07, Roman Strobl <[EMAIL PROTECTED]>:
> Ing. Jan Novotný wrote:
> >  Výsledek zkoušení mě však moc nepotěšil. Standardní IDE není možné
> > použít jen pro editaci XML souborů - musel by se vytvářet Java
> > projekt.
> Dovolim si nesouhlasit. Lze otevrit libovolny XML soubor bez Java
> projektu. Staci otevrit okno Favorites (Window | Favorites) a pridat
> adresar na disku a pak soubor otevrit.
>
> -Roman
>


-- 
--------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Netbeans jako jednoduchý XML editor?

2007-12-03 Thread Ing. Jan Novotný
Díky za tip, vyzkouším.

3.12.07, Pavel Savara <[EMAIL PROTECTED]>:
> Co treba zkusit jedit  (http://www.jedit.org/) a jeho plugin pro xml.
> Ale nezkousel jsem takze nevim co presne to umi.
>
>
> The XML plugin (version 2) provides a tree structure browser for
> editing XML, HTML, CSS and JavaScript files, and completion for XML,
> HTML and CSS.
>
> Matching tag actions, pretty-printing, graphical editing of tag
> attributes and conversion of special characters to entities and vice
> versa is supported for both XML and HTML files.
>
> XML files are validated against their DTD or XSD, and the element tree
> is shown in a dockable window. Validation errors are shown in the
> Error List.
>
> Palko
>
> On 03/12/2007, Ing. Jan Novotný <[EMAIL PROTECTED]> wrote:
> > Zdravím,
> >
> >hledáme pro naše webaře jednoduchý XML editor, kterým by mohli
> > pohodlně editovat XML konfigurační soubory, které pro ně naši javisti
> > připravují. Atributy editoru, které hledáme jsou:
> >
> >  - zdarma
> >  - podpora DTD, XSD
> >  - code completion
> >  - code coloring
> >  - jednoduchý k použití
> >  - malý footprint
> >  - není nutné nic extra dodělávat
> >
> >   Napadlo mě vyzkoušet ořezané Netbeansy - a zrovinka dneska vyšla ta 
> > šestka ...
> >   Výsledek zkoušení mě však moc nepotěšil. Standardní IDE není možné
> > použít jen pro editaci XML souborů - musel by se vytvářet Java
> > projekt. Také jsem narazil na chyby při stahování XSD (zkoušel jsem to
> > na http://maven.apache.org/maven-v4_0_0.xsd). Neřešil už někdo problém
> > jednoduchého XML editoru na Netbeans platformě? Přeci nejsem jediný,
> > kdo toto řeší ... ale Google mlčí :(
> >   Díky za reakce.
> >
> > Honza N.
> >
> > --
> > --
> > Ing. Jan Novotný
> > @@@@@@@@@@@@@@
> > http://blog.novoj.net
> > Myšlenky dne otce Fura
> > --
> >
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Netbeans jako jednoduchý XML editor?

2007-12-04 Thread Ing. Jan Novotný
XML Mind znám - ten je skvělý na docbook. Ale jednak pro vlastní XSD
už se musí kupovat licence a jednak je spíš než na programátora
orientovaný na jiné uživatele. Ideální je používat jej v kombinaci s
předpřipravenými CSS pro XSD. To není tak úplně ten typ XML editoru,
který hledám. Ale díky za reakci.

Honza N.

4.12.07, Martin Beránek <[EMAIL PROTECTED]>:
> Dne Monday 03 of December 2007 22:05:24 Ing. Jan Novotný napsal(a):
> > Zdravím,
> >
> >hledáme pro naše webaře jednoduchý XML editor, kterým by mohli
> > pohodlně editovat XML konfigurační soubory, které pro ně naši javisti
> > připravují. Atributy editoru, které hledáme jsou:
> >
> >  - zdarma
> >  - podpora DTD, XSD
> >  - code completion
> >  - code coloring
> >  - jednoduchý k použití
> >  - malý footprint
> >  - není nutné nic extra dodělávat
> >
> >   Napadlo mě vyzkoušet ořezané Netbeansy - a zrovinka dneska vyšla ta
> > šestka ... Výsledek zkoušení mě však moc nepotěšil. Standardní IDE není
> > možné použít jen pro editaci XML souborů - musel by se vytvářet Java
> > projekt. Také jsem narazil na chyby při stahování XSD (zkoušel jsem to
> > na http://maven.apache.org/maven-v4_0_0.xsd). Neřešil už někdo problém
> > jednoduchého XML editoru na Netbeans platformě? Přeci nejsem jediný,
> > kdo toto řeší ... ale Google mlčí :(
> >   Díky za reakce.
> >
> > Honza N.
>
> za vyzkouseni by taky mohl stat XMLmind (http://www.xmlmind.com/xmleditor/)
>
> --
> Martin Beránek
> ICZ a.s., Pobočka Brno
> mailto:[EMAIL PROTECTED]
> http://www.i.cz
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Vyroba sestavy v Excelu

2007-12-10 Thread Ing. Jan Novotný
No při větším nasazení (jaké vy popisujete) bych už možná skutečně
uvažoval o JasperReports. Když jsem ale dělal jeden nebo dva XLS
exporty, tak jsem si prostě v Excelu vytvořil XLS soubor jako šablonu
a na konkrétní políčka jsem si nadefinoval "názvy" (menu - > Vložit ->
Název -> Definovat) a pak jsem jen v Javě pomocí POI otevřel tento
soubor, daná políčka vyplnil daty a nabídl jej ke stáhnutí uživateli.
Takovéto šablony byly i rozumě odolné proti změnám, když se udržovala
ta pojmenovaná pole. Navíc výsledný excel byl graficky slušně úpravný,
jelikož návrh se dělal přímo v něm. Ale na masivní práce s velkým
množstvím různých exportů je to i tak asi docela dost pracné ...

Honza N.

2007/12/10, Stepan Novacek <[EMAIL PROTECTED]>:
> Zkuste JasperReports - snadno se s tim pracuje, ma to kvalitniho
> grafickeho navrhare iReport a taky zvlada export do XLS
>
> Stepan Novacek
>
>
> Jan Dvořák napsal(a):
> > Ahoj,
> >
> > zkoumam moznosti, jak v javove aplikaci na serveru vyrabet sestavy,
> > ktere by si uzivatele stahli a otevreli v Excelu. Zatim sice jen
> > tabulky, ale nepochybuji o tom, ze zacnou chtit i grafiky. Rysuji se
> > mi tri mozne pristupy:
> >
> > 1. Jakarta POI - rucne si sestavu "sestavovat" v javovem kodu. To
> > vypada jako dost pracne, ale zase je vcelku dobra kontrola nad tim, co
> > vznikne.
> >
> > 2. Eclipse BIRT - "klikaci" navrhar sestav. Od verze 2.2 udajne umi
> > delat vystupy do formatu XLS. Akorat se mi nedari najit, jak se to
> > dela. :-(
> >
> > 3. zapojit OpenOffice v "bezhlavem" (headless) rezimu - mit pripraveny
> > sesit s dotazy, ten programove otevrit, dat mu pokyn, at se obnovi z
> > databaze, posleze jej ulozit a odeslat.
> >
> > Ruznych druhu sestav budou do budoucna desitky. Mnozina uzivatelu je
> > omezena, rychlost generovani neni prilis vyznamnym kriteriem. Chtel
> > bych vsak minimalizovat slozitost udrzby.
> >
> > Co si o tom myslite?
> >
> > Honza
> >
>
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: spring, odeslani formulare

2007-12-12 Thread Ing. Jan Novotný
Co takhle v servletu zavolat getOutputStream().close(), otázka je, zda
tam už web server nestihne něco zapsat ... ale myslím, že by neměl. No
každopádně bych to zkusil ;)

Honza

12.12.07, Vladimír Náprstek <[EMAIL PROTECTED]>:
> Zdravim,
> mam jeden takovy problemecek. Potrebuji z formulare poslat data, ale uz
> nechci, aby mi server (spring) odpovedel. Pripadne, aby odpoved "se
> nekde ztratila". Nejak nevim, z ktereho konce na to jit...
>
> --
>
>
> s pozdravem
>
> Vladimír Náprstek
>


-- 
------------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: spring, odeslani formulare

2007-12-12 Thread Ing. Jan Novotný
Jo máte s Dagim pravdu ... mě nejdřív nedošlo, proč to Vláďa N. asi
chce. Moje rada by vedla akorát ke krásné bílé obrazovce, což asi
rozhodně nebylo záměrem ;).

Honza N.

12.12.07, Lukas Barton <[EMAIL PROTECTED]>:
>
>  To asi nepomuze, protoze stejne se nevratite ven z prislusne metody v
> servletu.
>
>  Na serveru proste zpracujte data z klienta asynchronne, napr. pomoci JMS a
> MDB.
>
>    Lukas
>
>
>  Ing. Jan Novotný wrote:
>  Co takhle v servletu zavolat getOutputStream().close(), otázka je, zda
> tam už web server nestihne něco zapsat ... ale myslím, že by neměl. No
> každopádně bych to zkusil ;)
>
> Honza
>
> 12.12.07, Vladimír Náprstek <[EMAIL PROTECTED]>:
>
>
>  Zdravim,
> mam jeden takovy problemecek. Potrebuji z formulare poslat data, ale uz
> nechci, aby mi server (spring) odpovedel. Pripadne, aby odpoved "se
> nekde ztratila". Nejak nevim, z ktereho konce na to jit...
>
> --
>
>
> s pozdravem
>
> Vladimír Náprstek
>
>
>
>
>
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Spring + Acegi a ClassNotFoundException

2008-01-09 Thread Ing. Jan Novotný
Tyhle classpath problémy se přes konferenci těžko řeší. Zkoušel jste v
deploynuté verzi fyzicky tu classu najít? Když se mi stalo něco
podobného, vždycky to bylo nějakým zmatkem (např. dvě různé verze
stejného jaru na classpath apod.)

Honza N.

2008/1/9, Ivan Polák <[EMAIL PROTECTED]>:
> zdravim konferenciu,
>
> chcel som pouzit vo svojom projekte Spring a Acegi, ked som "vkladal"
> Acegi presne podla navodu narazil som na nasledovnu chybu:
>
> v subore application-acegi.xml mam:
>
>  class="com.house.dao.HibernateAuthenticationDao">
> 
> 
>
>  class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
> 
> 
> 
> 
> 
>
>  class="org.acegisecurity.providers.ProviderManager">
> 
> 
> 
> 
> 
> 
>
> Trieda com.house.dao.HibernateAuthenticationDao vyzera nasledovne:
>
> package com.house.dao;
> import org.springframework.dao.DataAccessException;
> import org.acegisecurity.userdetails.UserDetails;
> import org.acegisecurity.userdetails.UserDetailsService;
> import org.acegisecurity.userdetails.UsernameNotFoundException;
> import com.house.model.User;
> import com.house.service.UserManager;
>
> public class HibernateAuthenticationDao implements UserDetailsService {
>
> private UserManager userManager;
>
> public void setUserManager(UserManager userManager) {
> this.UserManager = userManager;
> }
>
> public UserManager getUserManager() {
> return userManager;
> }
>
> public UserDetails loadUserByUsername(String username) throws
> UsernameNotFoundException, DataAccessException {
> .
> }
> }
>
> trieda sa bez problemov prekompiluje, napriek tomu dostavam nasledovnu
> chybu:
>
> 2008-01-08 21:16:33,568 ERROR ContextLoader - Context initialization failed
> org.springframework.beans.factory.CannotLoadBeanClassException: Cannot
> find class [com.house.dao.HibernateAuthenticationDao] for bean with name
> 'hibernateAuthenticationDao' defined in class path resource
> [applicationContext-acegi.xml]; nested exception is
> java.lang.ClassNotFoundException: com.house.dao.HibernateAuthenticationDao
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1160)
> at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:581)
> 
>
> skontroloval som preklepy, je nejaka specialna poziadavka ako ma vyzerat
> bean , ked je prekompilovany a aj napriek tomu Spring pise ze ju nevie
> najst ?, pretoze okrem tohoto mam v aplikacii asi 100 definicii
>  a tam je vsetko OK.
>
> dakujem
>
> Ivan
>
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Spring + Acegi a ClassNotFoundException

2008-01-09 Thread Ing. Jan Novotný
Co takhle si hodit breakpoint na AbstractBeanFactory.java:1160
a zkusit si tam inspectnout:
this.getClass().getClassLoader().loadClass("com.house.dao.HibernateAuthenticationDao")

to vám ale akorát potvrdí, že spring tu classu na classpath nevidí.
Pak bych zkusil podobným způsobem najít jinou classu na podobném
umístění. Prostě se pokusit ten problém nějak zůžit.

Honza N.

2008/1/9, Ivan Polák <[EMAIL PROTECTED]>:
> fyzicky sa samozrejme ten subor nachadza tam kde sa ma:
> /classes/com/house/dao/HibernateAuthenticationDao.class
>
> co sa tyka viacerych verzii jar-u nejakeho produktu, to som tiez
> kontroloval, ale toto je subor projektu, nie je to trieda z nejakej
> kniznice.
>
> terazec HibernateAuthenticationDao som nenasiel niekde inde v projekte,
> len v suboroch:
>
> application-acegi.xml
> HibernateAuthenticationDao.class
>
> takze dufam ze sa ten nazov nebije s niecim inym.
>
> Ivan
>
> Ing. Jan Novotný  wrote / napísal(a):
> > Tyhle classpath problémy se přes konferenci těžko řeší. Zkoušel jste v
> > deploynuté verzi fyzicky tu classu najít? Když se mi stalo něco
> > podobného, vždycky to bylo nějakým zmatkem (např. dvě různé verze
> > stejného jaru na classpath apod.)
> >
> > Honza N.
> >
> > 2008/1/9, Ivan Polák <[EMAIL PROTECTED]>:
> >
> >> zdravim konferenciu,
> >>
> >> chcel som pouzit vo svojom projekte Spring a Acegi, ked som "vkladal"
> >> Acegi presne podla navodu narazil som na nasledovnu chybu:
> >>
> >> v subore application-acegi.xml mam:
> >>
> >>  >> class="com.house.dao.HibernateAuthenticationDao">
> >> 
> >> 
> >>
> >>  >> class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
> >> 
> >> 
> >> 
> >> 
> >> 
> >>
> >>  >> class="org.acegisecurity.providers.ProviderManager">
> >> 
> >> 
> >> 
> >> 
> >> 
> >> 
> >>
> >> Trieda com.house.dao.HibernateAuthenticationDao vyzera nasledovne:
> >>
> >> package com.house.dao;
> >> import org.springframework.dao.DataAccessException;
> >> import org.acegisecurity.userdetails.UserDetails;
> >> import org.acegisecurity.userdetails.UserDetailsService;
> >> import org.acegisecurity.userdetails.UsernameNotFoundException;
> >> import com.house.model.User;
> >> import com.house.service.UserManager;
> >>
> >> public class HibernateAuthenticationDao implements UserDetailsService {
> >>
> >> private UserManager userManager;
> >>
> >> public void setUserManager(UserManager userManager) {
> >> this.UserManager = userManager;
> >> }
> >>
> >> public UserManager getUserManager() {
> >> return userManager;
> >> }
> >>
> >> public UserDetails loadUserByUsername(String username) throws
> >> UsernameNotFoundException, DataAccessException {
> >> .
> >> }
> >> }
> >>
> >> trieda sa bez problemov prekompiluje, napriek tomu dostavam nasledovnu
> >> chybu:
> >>
> >> 2008-01-08 21:16:33,568 ERROR ContextLoader - Context initialization failed
> >> org.springframework.beans.factory.CannotLoadBeanClassException: Cannot
> >> find class [com.house.dao.HibernateAuthenticationDao] for bean with name
> >> 'hibernateAuthenticationDao' defined in class path resource
> >> [applicationContext-acegi.xml]; nested exception is
> >> java.lang.ClassNotFoundException: com.house.dao.HibernateAuthenticationDao
> >> at
> >> org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1160)
> >> at
> >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:581)
> >> 
> >>
> >> skontroloval som preklepy, je nejaka specialna poziadavka ako ma vyzerat
> >> bean , ked je prekompilovany a aj napriek tomu Spring pise ze ju nevie
> >> najst ?, pretoze okrem tohoto mam v aplikacii asi 100 definicii
> >>  a tam je vsetko OK.
> >>
> >> dakujem
> >>
> >> Ivan
> >>
> >>
> >>
> >
> >
> >
>
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Spring + Acegi a ClassNotFoundException

2008-01-09 Thread Ing. Jan Novotný
Skoro bych si tipnul, že díky atributu default-lazy-init="true" se vám
ta beana vůbec nevytvořila a k chybě dojde pravděpodobně až když si na
tu beanu (nebo jinou beanu, která se danou beanu odkazuje) šáhnete.
Schválně to zkuste ...

Honza N.

2008/1/9, Ivan Polák <[EMAIL PROTECTED]>:
> Dobry den,
>
> aby som odstranil moznost problemov s IDE, teraz to kompilujem pomocou
> build.xml skriptu a ANT.
>
> java je 1.5.0 a pouzivam tomcat 6.0.14
>
> povodne som mal v subore applicationContext-acegi.xml iba  a
> zmenil som to na:
>
> http://www.springframework.org/schema/beans";
>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd";
>default-lazy-init="true">
>
> a uz tam ta chyba nie je, neviem ci toto ma vplyv, pretoze uz fakt
> skusam vsetko ?
>
> Ivan
>
> Karel Tejnora  wrote / napísal(a):
> > Zdravim,
> >
> >   muzete nam popsat v cem kompilujete (verze + binary kompatible) a na
> > jakem apl serveru to deployujete (verze javy)? Popr. je to exploded nebo
> > packed?
> >
> > Podobne problemy mam nekdy pokud se neschoduji verze jaky vyvojoveho
> > prostredi (myeclipse) a apl serveru i kdyz tak class tam je zda "ze neni
> > v classes kdyz ji hleda spring".
> >
> > Ing. Jan Novotný píše v St 09. 01. 2008 v 10:18 +0100:
> >
> >> Co takhle si hodit breakpoint na AbstractBeanFactory.java:1160
> >> a zkusit si tam inspectnout:
> >> this.getClass().getClassLoader().loadClass("com.house.dao.HibernateAuthenticationDao")
> >>
> > ...
> >
> >
> >
> > __ Informacia od NOD32 2549 (20070925) __
> >
> > Tato sprava bola preverena antivirusovym systemom NOD32.
> > http://www.eset.sk
> >
> >
> >
> >
>
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Acegi security

2008-01-22 Thread Ing. Jan Novotný
V předkovi třídy AuthenticationProcessingFilter je deklarována metoda:

protected void onSuccessfulAuthentication(HttpServletRequest request,
HttpServletResponse response,
Authentication authResult) throws IOException {}

Ta má vše co potřebujete. Udělal bych tedy potomka
AuthenticationProcessingFilter, přepsal výše zmíněnou metodu a IP
adresu si uložil. Pokud byste si ji chtěl ukládat přímo do objektu
Authentication, který je přístupný přes security kontext, možná bych
zvažoval rozšíření metody:

/**
 * Provided so that subclasses may configure what is put into the
authentication request's details
 * property.
 *
 * @param request that an authentication request is being created for
 * @param authRequest the authentication request object that
should have its details set
 */
protected void setDetails(HttpServletRequest request,
UsernamePasswordAuthenticationToken authRequest) {

authRequest.setDetails(authenticationDetailsSource.buildDetails(request));
}

Více určitě objevíte ve zdrojácích Acegi ;-)

Honza N.

23.1.08, Tomas Vojtech <[EMAIL PROTECTED]>:
> ahoj,
> v metode doFilter se vola metoda attemptAuthentication, kdyz neprojde
> autentizace tak by se mela vyhodit vyjimka, kdyz projde tak ta metoda
> vrati object Authentication, takze asi poupravit doFilter, berte to ale
> s rezervou, nemam to nijak podlozene, jenom sem se ted dival do kodu
> toho filtru
>
> Tomas
>
> radovan deka wrote:
> > Ahoj, rozhodl jsem se zkusit pouzit Acegi security na autentizaci 
> > uzivatelu. Autentizace funguje ok, jen nevim jak vyresit pozadavek na 
> > ulozeni IP adresy uzivatele a cas, pri kazde uspesne autentizaci.
> >
> > Vygooglil sem, ze je potreba rozsirit tridu AuthenticationProcessingFilter, 
> > ale nevim, jak v teto tride poznam, jestli autentizace byla uspesna.
> >
> > Pak sem jeste narazil na moznost vytvorit listenera, ktery implementuje 
> > ApplicationListener. V tomto pripde by nebyl problem ulozit ten cas, ale 
> > zas nevim jak zjistit IP adresu.
> >
> > __ Information from ESET Smart Security, version of virus signature 
> > database 2815 (20080122) __
> >
> > The message was checked by ESET Smart Security.
> >
> > http://www.eset.com
> >
> >
> >
> >
>
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Acegi a ' uhodnutá' adresa

2008-01-22 Thread Ing. Jan Novotný
Toho může být docela dost, každopádně byste měl mít v chainu filtrů
nakonfigurovaný "authenticationProcessingFilter" odkazující se na
class org.acegisecurity.ui.webapp.AuthenticationProcessingFilter, dále
"filterInvocationInterceptor" s třídou
org.acegisecurity.intercept.web.FilterSecurityInterceptor a nbakonec
"exceptionTranslationFilter" s třídou
org.acegisecurity.ui.ExceptionTranslationFilter.

Prvně jsmenovaný filtr zajišťuje, že se zalogujete v případě že zadáte
v přihlašovacím formuláři uživatelské údaje. Druhý filtr zajišťuje, že
pokud přistupujete na chráněný resource (nakonfigurováno v
definitionSourceMaintainer) a nejste přihlášený (v SecurityContextu
není objekt Authentication) budete vyhozena exception, kterou zpracuje
třetí jmenovaný filtr a přesměruje uživatele na přihlašovací stránku.

u mě konfigurace vypadá následovně:




































Bean je v konfiguraci samozřejmě víc, ale uvedl jsem jen ty základní.
Filtry musí být uvedeny v tomto pořadí v základním delegating filtru,
aby správně fungovaly.

Honza N.

2008/1/23, [EMAIL PROTECTED] <[EMAIL PROTECTED]>:
>
> Máme malou webovou aplikaci používající Spring.
> Po jednoduchém přihlášení přidáváme atribut 'user' do  session a pro
> neoprávněný
> přístup (uhádnutí adresy) máme na každé jsp (kromě loginu) tento kód
>
> 
> 
> 
>
> No a teď jsme začali používat Acegi - zadařilo se a můžeme používat na jsp
> stránkách
>  značky.
>
> Ale bohužel teď použití 'uhodnuté' adresy bez přihlášení jde do chyby:
>
> org.acegisecurity.AuthenticationCredentialsNotFoundException:
> An Authentication object was not found in the SecurityContext
> at org.acegisecurity.intercept.AbstractSecurityInterc
> eptor.credentialsNotFound(AbstractSecurityIntercep tor.java:375)
> at org.acegisecurity.intercept.AbstractSecurityInterc
> eptor.beforeInvocation(AbstractSecurityInterceptor .java:288)
> at org.acegisecurity.intercept.web.FilterSecurityInte
> rceptor.invoke(FilterSecurityInterceptor.java:104)
> at org.acegisecurity.intercept.web.FilterSecurityInte
> rceptor.doFilter(FilterSecurityInterceptor.java:72 )
> at org.acegisecurity.util.FilterChainProxy$VirtualFil
> terChain.doFilter(FilterChainProxy.java:275)
> ...........
>
> Netušíte, co může chybět v konfiguračním xml ?
>
> Díky.


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: persistence

2008-02-26 Thread Ing. Jan Novotný
Ahoj,

   jestli ti vadí komplexnost a neprůhlednost Hibernate (což se ani
nedivím) a tlačí tě čas, zkus zvážit iBatis
(http://ibatis.apache.org/). Zajímavé informace o rozdílu mezi JPA
like frameworky (Hibernate, Toplink) a ostatními jsou třeba v diskusi
k Dagiho článku:
http://www.haloscan.com/comments/dagi/1487532516827250446/

   Pravda je, že s iBatisem se napíšeš o něco víc, ale dostaněš se do
něj asi za půl dne, používáš staré dobré vyladěné SQL, princip je tak
jednoduchý, že nikdy neztratíš kontrolu a nikdy tě nemile nepřekvapí.

Něco málo o iBatisu je i tady (jen takové rychlé overview):
http://blog.novoj.net/2007/05/08/ibatis-sqlmaps-tak-trochu-opomijeny-orm/

Honza N.

26.2.08, Arne <[EMAIL PROTECTED]>:
> No tak přece jen něco. Schválně jsem napsal trošku provokativní odpověď, 
> protože se do odpovědi nikomu nechce.
>
>  O POJO už jsem zavadil, jenže z těch kusých poznámek co jsem vygooglil 
> (strašné slovo) jsem jistil, že to s tím souvisí. Jenže když o tom člověk nic 
> neví, tak je někdy těžké z kusých informací, kdy se někdo k něčemu vyjadřuje 
> a návaznosti na NECO - většinou změť zkratek, které mi ještě nic neříkají, 
> tak je hodně těžké se v tom orientovat.
>  Nakonec jsem našel alespoň jakýs takýs zestručněný (a nepřehledný) tutorial 
> k toplinku.
>
>  O hibernate se hovořilo pouze v souvislosti s webem, takže vřelé díky za 
> informaci co k tomu patří, konečně snad vím, co mám hledat.
>  Ovšem asi bude lepší se naučit jedno. Bohužel nevím, jestli to co podporuje 
> NetBeans, tj.oracle.toplink je to nejlepší.
>
>  Je to jak říkáte, že je potřeba myslel objektově, ale když člověka tlačí 
> čas, tak bližší košile než kabát :--). A tohle studium "novinek" vypadá ještě 
> na dlouho.
>
>  Překvapuje mě, že ne trhu není žádná rozumná kniha, která by tyhle "novinky" 
> postihla. Pokud jsem koukal poslední dobou do toho co je na pultech, tak mi 
> připadá, že ti lidi to od sebe opisují a největší novinka je java v1.2. O 
> anotacích když tak zmínka, že to existuje.
>  Neví někdo o něčem ?
>
>  Angličtina není až tak velký problém, jak to, že je těch informací na netu 
> tolik, že je strašně časově náročné dostat se přes balast k relevantní 
> informaci. V době elektroniky je na tom stejně z hlediska informovanosti 
> nejlépe ten, kdo má možnost s nějakým jiným odborníkem u kafe konzultovat 
> problémy z očí do očí a od tužky k tužce :).
>
>  Ještě jednou díky za nasměrování!
>
> Arne
>
>  >   Původní zpráva 
>  >  Od: Karel Tejnora <[EMAIL PROTECTED]>
>  >  Předmět: Re: persistence
>
> >  Datum: 26.2.2008 14:05:27
>  >  
>
> >
>  >  PS: toplink neznam, ale doufam ze sem nikoho neuvedl v omyl a pokud se
>  >  mylim rad se poucim. Tak prosim nemumlejte si pod vousy a napiste
>  >  opravy.
>  >
>  >
>  >
>  >
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: maven - build profiles

2008-04-11 Thread Ing. Jan Novotný
Řekl bych že by mělo stačit prosté filtrování resourců - viz.
http://maven.apache.org/guides/getting-started/index.html#How_do_I_filter_resource_files

Tzn. v log4j.properties / xml dát pouze ${LOG_LEVEL} a v property
mavenu v daném profilu si tuto property nastavovat.

H.

11.4.08, Vladimír Náprstek <[EMAIL PROTECTED]>:
> Zdravím,
>  dostal jsem se do další fáze poznávání funkcí mavenu a narazil jsem na
>  jednu věc, kterou bych rád vyřešil. Při buildování aplikace bych rád
>  automatizoval kus konfigurace (např. logování: DEBUG pro devel server,
>  INFO pro production server). Našel jsem, že k tomu by měly být vhodné
>  profily. Jen jsem nenašel způsob, jak proměnnou z profilu v pom.xml
>  dostat do log4j.properties (například).
>
>  Poradíte mi, prosím?
>
>
>
>  --
>  s pozdravem
>
>  Vladimír Náprstek
>  E-mail : [EMAIL PROTECTED]
>
>
>


-- 
----------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: TestCase a test exception

2008-04-18 Thread Ing. Jan Novotný
No v tom případě by mohla být ještě chyba v Mavenu - respektive v
maven-surefire-pluginu. Jakou verzi používáte?

V IDE se to chová správně (jde ještě o to jaké IDE máte ...)?

H.

2008/4/18, Vladimír Náprstek <[EMAIL PROTECTED]>:
> V pom.xml mám:
>  
>   junit
>   junit
>   4.4
>   test
>  
>
>  takže jsem přesvědčen, že používám správnou verzi.
>
>  Roman Pichlik píše v Čt 17. 04. 2008 v 16:49 +0200:
>
> > A poustite to se spravnou verzi jUnitu, nemate nahodou pro kompilaci
>  > novejsi verzi a pro spusteni se pouzije nejake 3.x  verze?
>  >
>  >
>  > kdyztak
>  >
>  > try {
>  >report.setReport(null);
>  >fail("Expected execption not thrown.");
>  > } catch (final IndexOutOfBoundException e) {/*expected*/ }
>  >
>  > 2008/4/17 Jozef Babjak <[EMAIL PROTECTED]>:
>  > > Nestacia stare dobre sposoby:
>  > >
>  > >  public void testNull() {
>  > >try {
>  > > report.setReport(null);
>  > >} catch (final IndexOutOfBoundException e) {
>  > > // yes, this is expected
>  > >return;
>  > >}
>  > >fail("Expected execption not thrown.");
>  > >  }
>  > >
>  > >  alebo nieco podobne?
>  > >
>  > >  Btw, ocakaval by som ze volanie something(null); vyhod
>  > >  IllegalArgumentException, v krajnom pripade NullPointerException. :-)
>  > >
>  > >  J.
>  > >
>  > >
>  > >
>  > >
>  > >
>  > >  On Thu, Apr 17, 2008 at 2:41 PM, Vladimír Náprstek
>  > >  <[EMAIL PROTECTED]> wrote:
>  > >  > Zdravím,
>  > >  >  potřebuji v testu ověřit, že se mi skutečně vyhazují výjimky, tak 
> jsem
>  > >  >  hledal a našel:
>  > >  >
>  > >  >  @org.junit.Test (expected=IndexOutOfBoundsException.class)
>  > >  >  public void testNull() {
>  > >  >report.setReport(null);
>  > >  >  }
>  > >  >
>  > >  >  metoda report.setReport(null) má vyhodit IndexOutOfBoundsException.
>  > >  >  Skutečně to i udělá. Očekával jsem ale, že test projde jako OK. Ale 
> ne,
>  > >  >  hlásí mi to, že vznikla IndexOutOfBoundsException. Takže asi dělám 
> něco
>  > >  >  špatně
>  > >  >
>  > >  >
>  > >  >  --
>  > >  >  s pozdravem
>  > >  >
>  > >  >  Vladimír Náprstek
>  > >  >  E-mail : [EMAIL PROTECTED]
>  > >  >
>  > >  >
>  > >  >
>  > >
>  >
>  >
>  >
>  --
>  s pozdravem
>
>  Vladimír Náprstek
>  E-mail : [EMAIL PROTECTED]
>
>
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Testovací vs produkční databáze

2008-04-25 Thread Ing. Jan Novotný
Buď je možné buildovat odlišné artefakty pro různé stroje (např. přes
profily v Mavenu) a nebo pokud byste chtěl mít stejný artefakt pro
různé stroje je možné to dělat např. tak, že při inicializaci se budou
nahrávat data z properties (nebo z XML, to už je jedno) souborů,
obsahující konfiguraci pro různé stroje. Property soubory mohou být
buď na disku nabo na classpath. Odlišení toho, že na testovacím
prostředí se nahraje jeden property soubor s konfiguračními daty a na
ostré jiný je možné zajistit buď odlišením přes parametr javy (při
spouštění javy dodat na commandline např. -Dinstance=test a potom
System.getProperty("test")) a nebo můžete jako odlišovací String
použít název stroje, na kterém je aplikace spuštěná tímto kódem:

InetAddress addr = InetAddress.getLocalHost();
String thisMachineName = addr.getHostName();

Doufám, že odpovídám na to, na co jste se ptal. Už párkrát se mi
stalo, že jsem byl trochu "mimo" :-)

S pozdravem,
Honza Novotný

2008/4/25 Pavel Zelenka <[EMAIL PROTECTED]>:
>
> Zdravím,
>
> vyvvíjím webovou aplikaci (JSF, JPA, Tomcat). Pro vývoj a testy potřebuji
> používat testovací databázi. Po deploymentu na produkční server potřebuji,
> aby aplikace používala již ostrou databázi.
> Jak toto řešíte v praxi?
>
> Díky
>
> Pavel Zelenka
>



-- 
--------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: iBatis, konfigurace DaoManageru

2008-05-20 Thread Ing. Jan Novotný
Zdravím,

   nepoužívám iBatis způsobem, kterým jste popsal - používám jej v
kombinaci se Springem, takže možná moje odpovědi nebudou stoprocentní,
ale:

   ad 1) přístup do více databází se standardně řeší více
SqlMapClienty - což by mohla být obdoba instance DaoManageru, pokud
potřebujete do více databází současně v selectech, mělo by se dát v
SQL jednoduše prefixovat název tabulky názvem databáze, kde tato
tabulka leží (samozřejmě databáze musí běžet ve stejné DB instanci)
   ad 2) iBator jsem nikdy nepoužil, ale přiložený stacktrace odpovídá
chybě v iBatis konfigurace - pravděpodobně chybí nějaký include
statement, na který se vo konfiguraci odkazujete

   Chtěl jsem se zeptat - proč používáte DaoManager? Marně jsem hledal
odkaz ve standardní dokumentaci iBatisu na tento objekt a našel jsem
jen článek na OnJava. Zdá se mi, že standardně se pro práci s iBatisem
používá právě spíš SqlMapClient. Viz. výňatek z dokumentace (kapitola
Programming with Data Mapper: The API):

String resource = "com/ibatis/example/sqlMap-config.xml";
Reader reader = Resources.getResourceAsReader (resource);
SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMap(reader);

   Btw. dokumentace k iBatisu je výborně napsaná. Možná bych začal
pátrat v ní ...

Snad jsem trochu pomohl,
Honza N.

2008/5/20  <[EMAIL PROTECTED]>:
> Dobrý den,
>
> nedávno jsem tady zahlédl odkaz na iBatis http://ibatis.apache.org/. Rozhodl 
> jsem se ho tedy vyzkoušet. Zkusil jsem si pár příkladů a prošel nějaké 
> tutoriály a vše funguvalo podle mých představ, ale když jsem ho chtěl použít, 
> tak jsem narazil na 2 problémy.
>
> 1) Potřebuji zapisovat do více tabulek, které jsou v různých databázích. 
> Chtěl bych se proto zeptat, jak se dá nakonfigurovat DaoManager případně, jak 
> se to řeší.
>
> 2) Některé tabulky mají několik desítek sloupců, tak jsem se rozhodl použít 
> iBator k vygenerování tříd. Vše se vygenerovalo, ale jakmile jsem se je 
> pokusil použít (nic jsem neupravoval), tak mi to při inicializaci DaoManageru 
> vypsalo:
>
> Exception in thread "main" java.lang.ExceptionInInitializerError
>at cz.projekt.main(Core.java:824)
> Caused by: java.lang.RuntimeException: Description.  Cause: 
> java.lang.RuntimeException: Could not initialize DaoConfig.  Cause: 
> com.ibatis.dao.client.DaoException: Error while configuring DaoManager.  
> Cause: com.ibatis.common.exception.NestedRuntimeException: Error occurred.  
> Cause: com.ibatis.common.xml.Node
> letException: Error parsing XML.  Cause: 
> com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath 
> '/sqlMapConfig/sqlMap'.  Cause: com.ibatis.common.xml.NodeletException: Error 
> parsing XML.  Cause: com.ibatis.common.exception.NestedRuntimeException: 
> Error parsing XPath '/sqlMap/select'.  Cause:
> com.ibatis.common.exception.NestedRuntimeException: Could not find SQL 
> statement to include with refid 
> 'SPOSREPDA_WT.abatorgenerated_Example_Where_Clause'
> Caused by: com.ibatis.common.exception.NestedRuntimeException: Could not find 
> SQL statement to include with refid 
> 'SPOSREPDA_WT.abatorgenerated_Example_Where_Clause'
>
> Mohl by mi prosím někdo pomoci? S jinými ORM nemám zkušenosti.
>
> Děkuji.
>
> Adam
>
>



-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: DB copy

2008-06-23 Thread Ing. Jan Novotný
Zdravím,

   pokud se jedná jen o MySQL mohu paradit specifické řešení (ovšem
možná i další databáze mají obdobné paralely). Je možné na začátku
importního skriptu nastavit:

SET FOREIGN_KEY_CHECKS=0;

   a na konci

SET FOREIGN_KEY_CHECKS=1;

   něco málo se dočtete na blogu:
http://blog.spikesource.com/mysql_hotbackup.htm
   v dokumentaci MySQL potom:
http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-constraints.html

   Pak si nemusíte lámat hlavu s pořadím insertů.

Honza N.

2008/6/23 Radovana Straube <[EMAIL PROTECTED]>:
> Dobry den,
>
> potrebujem skopirovat data z jednej schemy v databaze do druhej identickej 
> schemy (neskor aj pre rozne typy databaz). Ked si vylistujem zoznam tabuliek 
> v scheme (pomocou getTables(..)), dostanem zoznam tabuliek v abecednom poradi 
> (momentalne vyvijam na MySQL 5.0.1). V tomto zozname nie su zohladnene 
> relacie medzi tabulkami, takze potom sposob prekopirovania dat SELECT - 
> INSERT samozrejme nefunguje.
> Mohol by ma prosim niekto nakopnut akym smerom sa mam vydat pri rieseni tohto 
> problemu? Odchytavat vynimky a podla toho rotovat tabulky sa mi nezda ako 
> velmi stastne riesenie.
>
> Dakujem
> Radovana Straube
>
>
>
>



-- 
------------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Spring (Acegi) Security zmena a vynuceni https

2008-07-03 Thread Ing. Jan Novotný
K čemu v tomto případě používáte HTTPS protokol? Aby se nedalo odchytit
heslo nebo k tomu aby byl chráněna session přihlášeného uživatele proti
zneužití (Session hijacking <http://en.wikipedia.org/wiki/Session_hijacking>)?
Protože pokud vám jde o to druhé, tak vámi uvedený způsob (pokud nemáte nějakou
další 
kontrolu<http://blog.novoj.net/2007/06/05/sdileni-session-mezi-protokoly-http-a-https/>)
nebude nic platný. Session cookie totiž budete mít pravděpodobně již
vytvořenou od prvního requestu HTTP protokolem a tudíž bude odchytitelná.
Útočník sice potom nezjistí heslo pro přihlášení, ale pokud to původní
uživatel udělá za něj, bude mít k dispozici autentizovanou session díky této
nechráněné cookie. Cestou je mít kompletně celý web na HTTPS, ale to
generuje jistý overhead pro server, a nebo implementovat další ochrany proti
odchycení session id.

Možná to máte ošetřené, ale pro jistotu upozorňuji na tuhle možnost.

Honza Novotný

Dne 3. červenec 2008 15:43 Karel Tejnora <[EMAIL PROTECTED]> napsal(a):
> Tak to jde, protoze jsem slepej jak patrona - pro
> IS_AUTHENTICATED_ANONYMOUSLY uzivatele sem si nastavil requires http a i
> kdyz jsem pred to dal IS_AUTHENTICATED_FULLY requires https vracelo mne
> to http. Tak sem smazal requires=http a funguje to - jenom kdyz nahodou
> zmeni url na http tak si pojede dal.
> ale on na to browser upozorni...
>
>
>
>



-- 
------------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Nejaka knihovna na syntax highlighting

2009-01-29 Thread Ing . Jan Novotný
Já používám http://code.google.com/p/syntaxhighlighter/ - je to teda
JavaScriptí záležitost. Co se týká JDK 1.5 nejsem si úplně jistý.

H.

Dne 29. leden 2009 11:59 Lukáš Zapletal  napsal(a):

> Zdravim,
>
> hledam nejakou malou knihovnicku na syntax highlighting Java kodu
> (vcetne podpory 5.0). Idealne s nejakou benevolentni licenci, snadna
> obsluha i nasazeni... ;-)
>
> Kdyz by to umelo i jine jazyky, nebudu se zlobit. Neco stabilniho.
>
> Diky za tipy
>
> --
> Lukas Zapletal
> http://lukas.zapletalovi.com
>



-- 
--------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Ako na automaticke testy - server side?

2009-03-11 Thread Ing . Jan Novotný
V Javě máte opravdu přehršel možností - asi nejznámnější jsou:

- Continuum (http://continuum.apache.org/)
- Hudson (https://hudson.dev.java.net/)
- Teamcity (http://www.jetbrains.com/teamcity/)
- Luntbuild (http://luntbuild.javaforge.com/)

Všechny vám určitě splní to, co jste explicitně uvedl - většinou toho ovšem
poskytují víc.
Každý vám doporučí asi něco jiného, ale všechny jsou dobré. My používáme
TeamCity od JetBrains.

Honza N.

2009/3/11 Dusan Zatkovsky 

> DD.
>
> Co pouzivate na automaticke testy? Pre C++ projekty pouzivame buildbot, ale
> ani ten nie je uplne dokonaly.
>
> Automaticke testy si predstavujem takto:
>
> - niekde na serveri bezi demon a sleduje zmeny v svn
> - pri zmene urobi novy checkout, vsetko zbuildi, spusti testy
> - v pripade chyby rovno posle email tomu, kto chybu sposobil
> - generuje html reporty ( http://buildbot.net/trac/wiki/ScreenShots )
>
> Odporucte nieco podobne pre javu. Googlim uz hodinu a nic som nenasiel. V
> najhorsom pripade pouzijem buildbot aj na javu, ale pride mi to nesystemove
> a
> naviac sa pripravim o dalsie moznosti.
>
> Diky
>
> --
> Dusan
>



-- 
----------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: servlet a staticka metoda

2009-07-28 Thread Ing . Jan Novotný
Vím, že to tak prakticky je - ale nikde ve specifikaci jsem nenašel, že by
instance servletu měla být vždy pouze jedna. Řekl bych, že tady záleží na
implementaci webového kontejneru. Např. Apache Tomcat si drží pouze jedinou
instanci servletu. Může někdo potvrdit odlišné chování jiných web
kontejnerů?

H.N.

2009/7/28 Peter Stibrany 

> "Pokial viem, tak sa pri volani servletu vytvara vzdy jeho nova
> instancia," -- toto nie je pravda. Instancia sa vytvori iba jedna a
> vsetky requesty smerovane na rovnaky servlet budu spracovane tou istou
> instanciou. Viac sucasnych requestov je spracovavanych naraz, v
> roznych vlaknach.
>
> S pozdravom,
> -Peter Stibrany
>
> 2009/7/28 Radovana Straube :
> >
> > Dobry den,
> >
> > mam servlet, ktore vola staticku metodu. Moze sa stat, ze pri
> viacnasobnom paralelnom vyvolani tohto servletu budu data spracuvane v
> statickej metode inkonzistentne?
> > V literature som nasla popis tohto problemu len pri threadoch. Pokial
> viem, tak sa pri volani servletu vytvara vzdy jeho nova instancia, cize je
> tam urcita paralela s threadmi.
> >
> > S pozdravom
> > Radovana Straube
> >
> >
> >
> >
>



-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: servlet a staticka metoda

2009-07-28 Thread Ing . Jan Novotný
Díky, neumím hledat :)

H.

2009/7/28 Peter Stibrany 

> Mam tu po ruke Servlet 2.4 specifikaciu. V casti SRV 2.2 Number of
> Instances sa pise:
>
> For a servlet not hosted in a distributed environment (the default), the
> servlet
> container ***must use only one instance per servlet declaration.***
>
> Servlet declaration sa mysli deklaracia vo web.xml.
>
> S pozdravom,
>
> -Peter Stibrany
> Foglyn - FogBugz in Eclipse
> (www.foglyn.com)
>
> 2009/7/28 Ing. Jan Novotný :
> > Vím, že to tak prakticky je - ale nikde ve specifikaci jsem nenašel, že
> by
> > instance servletu měla být vždy pouze jedna. Řekl bych, že tady záleží na
> > implementaci webového kontejneru. Např. Apache Tomcat si drží pouze
> jedinou
> > instanci servletu. Může někdo potvrdit odlišné chování jiných web
> > kontejnerů?
> >
> > H.N.
> >
> > 2009/7/28 Peter Stibrany 
> >>
> >> "Pokial viem, tak sa pri volani servletu vytvara vzdy jeho nova
> >> instancia," -- toto nie je pravda. Instancia sa vytvori iba jedna a
> >> vsetky requesty smerovane na rovnaky servlet budu spracovane tou istou
> >> instanciou. Viac sucasnych requestov je spracovavanych naraz, v
> >> roznych vlaknach.
> >>
> >> S pozdravom,
> >> -Peter Stibrany
> >>
> >> 2009/7/28 Radovana Straube :
> >> >
> >> > Dobry den,
> >> >
> >> > mam servlet, ktore vola staticku metodu. Moze sa stat, ze pri
> >> > viacnasobnom paralelnom vyvolani tohto servletu budu data spracuvane v
> >> > statickej metode inkonzistentne?
> >> > V literature som nasla popis tohto problemu len pri threadoch. Pokial
> >> > viem, tak sa pri volani servletu vytvara vzdy jeho nova instancia,
> cize je
> >> > tam urcita paralela s threadmi.
> >> >
> >> > S pozdravom
> >> > Radovana Straube
> >> >
> >> >
> >> >
> >> >
> >
> >
> >
> > --
> > --
> > Ing. Jan Novotný
> > @@
> > http://blog.novoj.net
> > Myšlenky dne otce Fura
> > --
> >
>



-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: testovani odesilani mailu

2010-01-28 Thread Ing . Jan Novotný
Tohle by vám mohlo pomoci:
http://blog.novoj.net/2007/05/31/automaticke-testovani-odeslani-emailu/

S pozdravem,
Honza N.

Dne 29. ledna 2010 2:02 Ladislav Kulhanek
napsal(a):

> My mame vytvoreny testovaci smtp server. Je to normalni server, akorat je
> nakonfigurovany tak, aby emaily zahazoval a neposilal dal. Posila emaily
> jenom na vyjmenovane adresy.
>
> 2010/1/28 Tomas Vojtech 
>
> Zdravim,
>>
>> jak testujete odesilani mailu? Mate zkusenosti s nejakym fake smtp
>> serverem?
>> Nasel jsem dumbster (http://quintanasoft.com/dumbster/), ale nemam s nim
>> zkusenosti.
>>
>> Mate s nim nekdo zkusenosti nebo doporucite nejaky jiny?
>>
>> Diky
>> blaf
>>
>
>


-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: spring vs. seam

2010-02-14 Thread Ing . Jan Novotný
Nevím, jestli náhodou není možné kombinovat Seam na view vrstvě a Spring na
business vrstvě. Pak byste měl něco z obou světů. Jinak pokud se jedná o
Spring na view vrstvě, tak tam jdou striktně cestou MVC, kdežto Seam je
komponentově orientovaný a má výrazně složitější lifecycle při zpracovávání
requestu.

Osobně zastávám názor, že pro webové projekty, které nemají moc reuse - tj.
každý nový web má naprosto unikátní grafické zpracování, je kladen důraz na
čistotu (X)HTML, CSS, chceme mít kontrolu nad použitím JavaScriptu a
podobně, je MVC cesta obvykle lepší. Naopak pro rozsáhlé IS, kde člověk
potřebuje "nasekat" co nejvíce podobných obrazovek a dialogů v co nejmenším
čase, určitě se časem začne komponentový přístup vyplácet. U vámi zmíněného
eshopu, bych spíš zvažoval Spring MVC.

Nicméně Seam jsem v životě nenasazoval, čerpám jen z informací ostatních.
Dost pravděpodobně se za ty léta taky dost posunul. Určitě bude zajímavý
názor někoho, kdo se Seamem reálně pracuje.

Když bych měl říct přívlastky pro obě technologie - v souvislosti se Seamem
mě napadá slovo "enterprise", kdežto v souvislosti se Springem
"lightweight". Záleží ještě taky na vaší nátuře, někdo má víc v oblibě
jednoduchá a někdo všespasitelná řešení.

Honza N.

2010/2/14 Jiří Nápravník 

> Zdravím,
> dovolím si takhle při nedělním večeru možná menší flame war, i když bych
> nerad aby se to v to zvrhlo.
>
> Řeším dilema, který framework je "lepší" - Seam nebo Spring? Vím, nejde
> říct jednoznačně, nicméně pokud byste mohl někdo sepsat proč ten nebo ten...
>
>
> Seam zvažuji proto, že jsem se již naučil ve škole JSF, Facelets, EJB a
> Seam je jaksi zaštiťuje. Také se mi líbí pěkná spolupráce s ice/rich-faces.
>
> Spring mě však už láká delší dobu, je odlehčenější a přijde mi u něj větší
> svoboda. Existuje ovšem nějaké pekně napojení Ajaxu alá ice/rich-faces pro
> něj? Také mi přijde po Springu lepší poptávka na trhu práce (nebo se
> mýlím?).
>
> Můžete napsat vaše důvody? Vezměme třeba co je ideální pro takové klasické
> aplikace - naprř. jako eshop.
>
> Díky předem
> Nápravník
>



-- 
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: java.cz - redakční systém nefunguje?

2010-06-25 Thread Ing . Jan Novotný
Redakční systém jako takový snad funguje - respektive podařilo se mi
normálně přihlásit. Poslání hesla na email skutečně hází chybu.

Honza N.

2010/6/25 Holý Jiří 

> Prosím, jsem v tom sám, nebo i na vás redakční systém na java.cz hází
> chyby, když se chcete registrovat popřípadě  zaslat heslo na email?
>
> S pozdravem
> Jiří Holý
>



-- 
--------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Modulární aplikace

2010-09-01 Thread Ing . Jan Novotný
Ahoj,

   my jedeme na modulárním systému asi 2 roky (s tím rozdílem, že nemáme
OSGI, ale jen zřetězené aplikační konexty Springu na stejné classpath -
nicméně už to k zavedení modulárnosti stačí). Řešili jsme stejný problém a
obávám se, že neexistuje ideální řešení. Základní pravidlo spočívá ve
správném "řezu" modulů - každý by měl mít jednoznačnou odpovědnost a funkci.
Moduly by se měly vzájemně doplňovat spíš než ve funkcionalitách překrývat.
Prostě příliš malé moduly nejsou dobré, protože mají potom mnoho závislostí
ven, velké moduly také nejsou dobré, protože se tím zase snižuje jejich
použitelnost. Na správném řezu funkcionalitou prostě záleží hodně.
   Pokud by jeden modul sahal do dat jiného modulu přímo a nikoliv přes jeho
API povede toto porušení zapouzdřenosti k: svázanosti (couplingu) těchto
dvou modulů, zhoršení testovatelnosti, problém se samostatným rozvojem
modulů (vždy se na ně bude muset pohlížet jako na nějaký provázaný celek).
   My jsme došli ke dvěma možným technikám v těchto případech (naštěstí těch
případů není zase až tak moc).

1) obětování výkonu - tj. každý modul udržuje pouze svá data a pokud z
nějakého důvodu potřebuje vrátit či pracovat s daty jiného modulu, jde přes
jeho API - tím se ale samozřejmě nedá využít JOINů a platíme výkonem. Tyto
mezimodulové "dotazy" se alespoň snažíme optimalizovat na metodách API tím,
že tam máme metody pro hromadné načítání dat - např. List
getDataById(Integer... id), která může všechna potřebná data načít
jednorázově přes WHERE id in (...)

2) porušením normální formy db - kromě přímého volání mezi moduly na úrovni
API máme ještě jednu formu komunikace postavenou na "observer patternu",
která vychází ze Springu, tj. moduly v důležitých okamžicích své
funkcionality publikují tzv. eventy do systému, na které pak mohou reagovat
listenery v jiných modulech. Tímto způsobem je možné distribuovat některá
důležitá (i agregovaná) data do zbytku systému. Uvedu příklad - máme tzv.
hodnotící modul, který umožňuje hodnotit libovolný obsah kdekoliv (např. ve
formě hvězdiček na nějaké škále), tento modul samozřejmě o obsahu samotném
nic neví - naopak jiný modul, který spravuje daný obsah (třeba články) chce
při vracení článku vracet aktuální hodnotu průměrného hodnocení. Hodnotící
modul vždy po přepočtení aktuálního hodnotícího čísla po daný obsah vyhodí
událost do systému, na kterou může kterýkoliv jiný modul naslouchat. Modul
starající se o články tuto událost odchytí a k článku si uloží dodatečný
údaj o aktuálním hodnocení (již vypočtený, hotový k zobrazení). Tímto
způsobem je porušena normální forma - jeden údaj je v DB uložen 2x, nicméně
data jsou potom již hezky po ruce (bez výkonnostní penalizace) a nedochází k
narušení zapouzdřenosti modulů - jeden může bez problému fungovat bez
druhého, pokud běží oba - spolupracují.

 Pokud existuje ještě nějaký jiný způsob komunikace rád se jej dozvím.
Jak říkám, ani jedna z výše uvedených praktik není úplně ideální, ale na nic
lepšího jsme za ty roky nepřišli :(.

Honza

-- 
--------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--

2010/9/1 David Mach 

>  Zdravím všechny!
>
> V naší firmě jsme doposud vyvíjeli klasické aplikace na jedné classpath
> (typu "vidím vše, volám vše, využívám vše", čili občas pěkná prasárna). Nyní
> vyvíjíme novou modulární aplikaci postavenou na OSGi, přičemž naše původní
> vize byla ta, že jednotlivé moduly mezi sebou budou komunikovat výhradně
> prostřednictvím API. To by ale například znamenalo, že pro získání dat z
> modulu A (která potřebuji pro SQL dotaz v modulu B) budu muset nejprve volat
> nějakou metodu z API modulu A, získat ta data a teprve posléze budu moci
> složit SQL dotaz v modulu B. Z této představy ovšem vstávají některým
> kolegům hrůzou vlasy na hlavě a horují pro to, abychom se drželi klasické
> cesty, kdy data z tabulek náležejících k modulu A budeme získávat pomocí
> JOINů.
>
> Chci se tedy zeptat přítomných zkušenějších vývojářů na to, zda je původní
> vize správná a také na zkušenosti z implementace. Zajímá mě také rozdíl ve
> výkonu aplikace při použití API vs JOIN...
>
> Vřelé díky předem!
>
> David Mach
>
>


Re: 2PC - poradi commitu

2005-06-27 Thread Ing. Jan Novotný




Ano - detailněji více v tutorialu
JMS:
http://java.sun.com/products/jms/tutorial/1_3_1-fcs/doc/advanced.html#1026538
Použití v J2EE hned následující kapitola.

Honza Novotný




Ing. Jan Novotný

analytik návrhář

Corpus Solutions a.s.




  

  Telefon HK:
  +420 49 553 21 54


  Telefon
centrála:
  +420 24 102 03 33


  Email:
  [EMAIL PROTECTED]


  WWW:
  http://www.corpus.cz

  







Michal Palička napsal(a):

  Dobry den,

jestli to dobre chapu, tak v ramci vasi transakce provadite nasledujici operace:
(1) operace nad daty v databazi
(2) odeslani zpravy pomoci JMS

Jak je videt, do transakce neni nijak zahrnut prijem zpravy.

Dost dobre to ani nelze. Neni totiz mozne v ramci jedne transakce kombinovat
odeslani a prijeti teze zpravy.

mp.


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Jirka Hanika
Sent: Monday, June 27, 2005 3:25 PM
To: Java
Subject: 2PC - poradi commitu

Dobry den,

mam problem: chtel bych z EJB (mapovano do databaze) poslat JMS, ktera aktivuje MDB, ale tak, aby ta zprava byla dorucena az po dokonceni te EJBckove databazove transakce (rizene kontejnerem), aby byl videt uz novy stav.

Jak byste na to sli?

Jedna z variant reseni je podridit EJB i JMS two-phase commitu, tj. mit je jako XA zdroje.  Nicmene tam jsem nabyl podezreni, ze to muj problem
nevyresi: obema zdrojum se podari faze prepare, ale pak se dela commit v nedeterministickem poradi.  Takze se klidne muze stat, ze ta JMS zprava se doruci driv, nez se zmeni obsah databaze, a mam smulu.  Nebo se da to poradi commitu nejak dostat pod kontrolu?

(jeden mozny trik je pouzit XA + non-XA zdroj, cimz poradi zacne byt
jasne: XA prepare, non-XA commit, XA commit, ale to mi zatim pripada trochu
nevkusne)

Jirka Hanika



  





Re: GUI Designer pro Eclipse 3.1

2005-08-17 Thread Ing. Jan Novotný




Krásný příklad javské aplikace je
třeba XMLMind (http://www.xmlmind.com). Zdá se mi docela rychlý a
spolehlivý. Ale souhlasím, jinak na Swing aplikaci moc nenarazíte.

J.N.




Ing. Jan Novotný

analytik návrhář

Corpus Solutions a.s.




  

  Telefon HK:
  +420 49 553 21 54


  Telefon
centrála:
  +420 24 102 03 33


  Email:
  [EMAIL PROTECTED]


  WWW:
  http://www.corpus.cz

  







Kouba Tomas napsal(a):

  Zdravim,

muj nazor nebude moc popularni, ale myslim, ze desktop aplikace jsou v tuhle
chvli v Jave ztracene:

1. Uzivatele je nechteji pouzivat. Znam jedinou relativne uspesnou aplikaci
v Jave pro desktop mimo veci pro programatory (Limewire). To je pro tak
uspesny jazyk velmi malo. Podivejte se prosim kolik mate na svem pocitaci
nainstalovano SWT/Swing aplikaci, ktere nejsou pro vyvojare. Zeptejte se
ptom proc...

2. Swing je velmi nepovedeny. Sice jeho navrh z hlediska programatora neni
spatny, ale z hlediska uzivatele je to prinejmensim podivna vec. Je to
pomale, vypada to nezvykle a pri prepinani se to zobrazuje zvlastne.
Problemy jsou gtreba i u klavesovych zkratek.

4. SWT je rychlejsi, ale verze kterou znam (asi rok zpet) nema funkcni grid
pro db aplikace a sprava pameti spise pripomina C++ nez Javu.

5. Jediny duvod, proc vytvaret aplikace v Jave je Linux. Linux ma podle
zdroju, ktere jsem cetl cca 3-5% na desktopu. To se pro nikoho nevyplati. Na
serverech je situace uplne jina, ale tam nebezi Swing.

--
Kouba Tomas
mailto:[EMAIL PROTECTED]


  
  
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]On Behalf Of Richard Malaschitz
Sent: Wednesday, August 17, 2005 4:12 PM
To: Java
Subject: Re: GUI Designer pro Eclipse 3.1


Celkom by ma zaujimalo, ci niekto pise vacsie aplikacie vo Swingu
(alebo v SWT). Nemam na mysli nejake speciality typu IDE ale klasicke
informacne systemy. Z diskusii okolo Javy to vyzera ako keby vsetci
robili iba webove aplikacie.

  
  
  





Re: nacteni dat z velkeho xml souboru

2005-10-13 Thread Ing. Jan Novotný




My používáme v kodu Dom4J,
umožňuje podsunout implementace jak pro DOM, tak i SAX. Je poměrně
jednoduchý a dobře použitelný. Používáme ho sice zatím jen na
jednoduché věci (konfigurace apod.), ale vyhovuje. Zkuste se kouknout
ještě na něj.

H.N.




Ing. Jan Novotný

analytik návrhář

Corpus Solutions a.s.




  

  Telefon HK:
  +420 49 553 21 54


  Telefon
centrála:
  +420 24 102 03 33


  Email:
  [EMAIL PROTECTED]


  WWW:
  http://www.corpus.cz

  







Tomas Beranek napsal(a):
ale
jinak k tomu Digester, sice to nepotrebuju, ale chvilku jsem na to
koukal
  
a neprijde mi to moc slozite(nestudoval jsem detaily) zvlaste ne pro
aplikaci na kterou to potrebuje Ales(tedy nacist a preulozit do DB).
  
prijde mi to rychlejsi nez si to psat SAXem.
  
je to rozhodne zajimavy a diky, ze jste to zde zminili.
  
  
  
PS: tak tohle me fakt pobavilo :-)
  
  
  Videl jsem uz XML soubory, ktere by nevesly
do pameti sebevetsiho Pecka ani

jako Stringy. A takoveto soubory chteli nasi zakaznici posilat jako
SOAPove

zpravy ;-). A nakonec i poslali :-D

  
  
  
- Original Message - From: "Oto Buchta"
<[EMAIL PROTECTED]>
  
To: "Java" 
  
Sent: Thursday, October 13, 2005 12:28 PM
  
Subject: Re: nacteni dat z velkeho xml souboru
  
  
  
  On Thursday 13 of October 2005 10:30, Ales
wrote:

Dobry den,
  
  
resim nacteni dat z vetsiho (velkeho) xml souboru, jedna se cca o 20
MB.
  
Uvedeny soubor vznikl exportem z MySQL databaze. Problem je v tom, ze i
pri
  
nastaveni Xms 30m mi vyhazuje OutOfmemory:Java heap space. Je nejake
  
omezeni (nemyslim technicke, ale pro prakticke pouziti) , kdy jeste
data
  
ukladat do xml souboru a kdy jiz starost o data predat nejake databazi?
Pro
  
ukazku prikladam kod tridy, ve ktere se snazim nacist uvedeny soubor
  


Musim se priznat, ze nacitat 20MB XMLcko do DOMu mi prijde trosku
ulitnute,

obzvlaste kdyz nemas nastavene -Xmx na alespon 512MB ;-)


Videl jsem uz XML soubory, ktere by nevesly do pameti sebevetsiho Pecka
ani

jako Stringy. A takoveto soubory chteli nasi zakaznici posilat jako
SOAPove

zpravy ;-). A nakonec i poslali :-D


Opravdu to vyznam ma a pracovat se s tim da. Jinak pokud znas dobre
strukturu

XMLcka a ma to byt jednoucelova aplikace, tak bych doporucoval reseni
ala IBM

a WS Interopy - StringTokenizer a Regex ;-) Pokud ale potrebujes plnou
silu

XML (entity, include,...), tak se neobejdes bez SAXu. A pro tento
pripad mi

prijde ucit se Digester jako studovat navod na sestaveni kanonu na
vrabce...


To se radeji nauc SAX;-)

-- 
Oto 'tapik' Buchta, [EMAIL PROTECTED]

Senior Engineer, Systinet Corp,

http://www.systinet.com



-- 
No virus found in this incoming message.

Checked by AVG Anti-Virus.

Version: 7.0.344 / Virus Database: 267.11.13/126 - Release Date:
9.10.2005



  
  
  
  





Re: Struts, Tapestry ...

2005-11-25 Thread Ing. Jan Novotný




Na Strutsy mohu jen doporučit
výbornou knihu - Programujeme Jakarta Struts (O'Reilly - překlad
Grada). Sám jsem se to z ní učil a je to v ní úplně skvěle popsané.
Lepší zdroj jsou snad už jen zdrojové kódy Strutsu, které jsou taky
potřeba ;). V nějakém článku na www.onjava.com bylo srovnání JSF a
Tapestry - tam vycházelo lépe JSF především díky počtu vývojářů a
uživatelů tohoto frameworku (což zaručuje plynulý rozvoj).  Takže
minimálně se v tom článku dozvíte něco o těch výhodách / nevýhodách
Tapestry. Možná budou někde i srovnání se Strutsy, ale na ty jsem
nenarazil.

S pozdravem
Honza Novotný




Ing. Jan Novotný

analytik návrhář

Corpus Solutions a.s.




  

  Telefon HK:
  +420 49 553 21 54


  Telefon
centrála:
  +420 24 102 03 33


  Email:
  [EMAIL PROTECTED]


  WWW:
  http://www.corpus.cz

  







Jiří Krůček napsal(a):

  Rad by som vas porosil a nejaku dobru
literaturu (kniznu, elektronicku) + nejake sample na tvorbu webapp
pomocou Struts alebo Tapestry

  
  
Rick Hightower: Jakarta Struts Live
  
http://www.theserverside.com/books/sourcebeat/JakartaStrutsLive/index.tss
  
  
S pozdravem
  
Jiri Krucek
  
  





Re: JavaHelp z OpenOffice Writeru?

2005-12-03 Thread Ing. Jan Novotný




Zdravím,

    my používáme pro dokumentaci DocBook - pro vytváření dokumentace
XMLMind editor (http://www.xmlmind.com/xmleditor/). Osobně si to nemůžu
vynachválit. Docbook má export i do Javahelpu, byť my osobně používáme
pro tištěnout dokumentaci koverzi přes rtf (dssl) a teprve potom do PDF
přes další konverzní tool. Super při tom je, že na docbook funguje
pěkně i CVS, dá se krásně rozdělit do kapitol a potom znovu spojovat.
Hlavní výhodu ovšem vidím v tom, že se tvůrci dokumentace soustředí na
dobře struktorovaný obsah a ne na formu. Navíc tato dokumentace se dá
jednoduše prezentovat na projektovém webu (maven umí generovat stránky
z docbookových dokumentů).
    Takto už jsme vytvořili poměrně obsáhlé dokumentace.

S pozdravem
Honza Novotný




Ing. Jan Novotný

analytik návrhář

Corpus Solutions a.s.




  

  Telefon HK:
  +420 49 553 21 54


  Telefon
centrála:
  +420 24 102 03 33


  Email:
  [EMAIL PROTECTED]


  WWW:
  http://www.corpus.cz

  







Jan Dvořák napsal(a):
Vážená
konference,
  
  
potřebujeme připravit nápovědu jako JavaHelpový HelpSet a zároveň jako
dokument v PDF.
  
Může se mi podařit ten JavaHelp z dokumentu, který mám v OpenOffice
Writeru?
  
Je rozumná cesta přes DocBook?
  
  
Co používáte pro průchod bažinatými oblastmi dokumentace?
  
  
Honza Dvořák
  
  
  





Re: dlouhe session

2005-12-05 Thread Ing. Jan Novotný




No my jsme to řešili, tak že jsme
si v servletu spustili thread, který vykonával tu dlouhotrvající
operaci a servlet se potom jen sledoval output toho threadu a z toho
usuzoval v jakém stavu zpracování thread je. Na klienta odeslal potom
stránku s META tagem REFRESH, třeba na 15 sekund. Takže klientovi se po
15 vteřinách zobrazoval progressbar, jak na tom ta operace je. Trochu
se tím ale otevírá pandořina skříňka protože nás stálo kus práce
vyladit thready.
Pak je tu ještě možnost rozdělit tu 5 minutovou operaci na několik
menších a provádět uživatelel "průvodcem", kde bude jen mačkat NEXT a
tím spustí další fázi zprocesování. To jen tak v rychlosti k řešení,
které jsme už použili.

S pozdravem
Honza Novotný




Ing. Jan Novotný

analytik návrhář

Corpus Solutions a.s.




  

  Telefon HK:
  +420 49 553 21 54


  Telefon
centrála:
  +420 24 102 03 33


  Email:
  [EMAIL PROTECTED]


  WWW:
  http://www.corpus.cz

  







Burdik Petr napsal(a):
Ahojas,
  
mam problemek. Mam operaci, ktera trva zhruba 5 minut. To je na delku
jednoho pozadavku pres http velmi dlouho. Napada Vas nejake reseni, jak
pockat na takto dlouhou operaci?
  
  
To je trosku zmatene, tak priklad:
  
1. pres webformular zadam hodnoty
  
2. poslu na server
  
3. pozadavek trva na vyrizeni 5 minut. Do te doby mi samozrejme vyprsi
spojeni. Operace dobehne, ale formular se nikdy nezobrazi.
  
  
Mnou namyslene reseni:
  
1. vytvorit zakladni objekt, ulozit ho a dat mu stav ze neni dodelany
  
2. asynchronne (casovacem?) spustit danou dlouhotrvajici operaci
  
3. zobrazit formular ze byl objekt vytvoren a bude tam stav.
  
  
Otazkou je jestli a jak spustit danou operaci asynchronne v servletu
tak, abych mohl pokracovat v praci dal.
  
  
Pet
  
  





Re: Ceska a slovenska Java User Group?

2006-02-13 Thread Ing. Jan Novotný




No a byl by velký problém
přednášky nahrávat na video a dávat jej k dispozici pro stažení? Osobně
bych se rád těchto setkání čas od času zůčastnil, ale pro udržení linky
s tím co se děje by tohle možná dost přispělo. Variantou k tomuhle je
třebas nějaký krátký report (jaké občas vycházejí na java.net), ale kdo
by se s tím dělal že?! Udělat video navíc v současné době není žádný
velký problém.

No je to jen nápad ... na jednu stranu chápu lidi z jiných měst (sám
jsem z Hradce Králové), kteří těžko budou pravidelně dojíždět, ale i
to, že co se upeče doma je obvykle zadarmo (nebo hodně levně).

Honza Novotný




Ing. Jan Novotný

analytik návrhář

Corpus Solutions a.s.




  

  Telefon HK:
  +420 49 553 21 54


  Telefon
centrála:
  +420 24 102 03 33


  Email:
  [EMAIL PROTECTED]


  WWW:
  http://www.corpus.cz

  







Roman Strobl napsal(a):
Jak jsem
zminil v jinem mailu, dela se to v Praze, protoze je to nejjednodussi -
mame zde lidi a prostory a nemusi se resit vetsi financovani. Ja bych
byl hrozne rad, kdyby se to povedlo i v jinych mestech, ale zatim to
zkusime rozjet zde a pak se uvidi. Jmeno JUG se jeste bude muset
dohodnout. Kdybychom to nazvali "Prazska lokalni Java user group", tak
nas neprijde navstivit zadny Brnak, coz by byla skoda, ne? :)
  
  
-Roman
  
  
Martin Kuba wrote:
  
  Myslim si, ze to zni dost pragocentristicky,
jsou tu i jina velka

mesta se spoustou programatoru v Jave, namatkou jmenuji Brno :-)

Takhle to vypada, ze si prazaci chteji zajistit financovani

navstevy hospody pod plastikem celo-dvou-narodni aktivity.

Protoze navsteva prazske akce pro mne znamena stravit ten den

sest hodin na ceste, nelibi se mi to.

Bud stridejte mesta, nebo tu aktivitu po pravu nazvete

Prazska lokalni Java user group.

  
-Roman
  
  





Re: Ceska a slovenska Java User Group?

2006-02-21 Thread Ing. Jan Novotný




To je luxusní ... v tohle jsem ani
nedoufal, že by to takhle mohlo vypadat ;)

Honza Novotný




Ing. Jan Novotný

analytik návrhář

Corpus Solutions a.s.




  

  Telefon HK:
  +420 49 553 21 54


  Telefon
centrála:
  +420 24 102 03 33


  Email:
  [EMAIL PROTECTED]


  WWW:
  http://www.corpus.cz

  







Roman Strobl napsal(a):
Roman Hrivik
wrote:
  
  Co sa tyka formatu nahravky by som odporucil
napr. ako to riesia na javapolis

t.j. zvukovy zaznam + video zaznam z premietacieho zariadenia.

  
Tady je priklad jak by to mohlo vypadat - takto nahravalo AVC world
usability day:
  
  
http://avc.sh.cvut.cz/archiv/index.php?id=1041&rid=272&offset=0&select=0
  
  
-Roman
  
  Roman


Roman Strobl said:

 
Tomáš Procházka wrote:
  
   
     Ptal jsem se jedné známe, co v AVC
ČVUT dělá a říkala, že by

se určitě někdo našel, že zájem o to by měla i ona sama, AVC

má i svou konferenci na [EMAIL PROTECTED], takže by asi bylo

nejlepší zeptat se tam.


  
AVC ma zajem, takze prednasky, co budeme poradat v ramci JUG, budou
  
nahravane a publikovane na internetu.
  
  
-Roman Strobl
  
Sun Microsystems
  
  
    

  
  





Re: OT Re: SEO optimalizacia a pouzitie Struts

2006-03-08 Thread Ing. Jan Novotný




Je to jenom můj pocit nebo se tu v
odborné konferenci řeší osobní záležitosti? Myslím, že nemluvím jen za
sebe, když řeknu, že podobné POSTy mě vůbec nezajímají a sem prostě
nepatří ...

Honza Novotný




Ing. Jan Novotný

analytik návrhář

Corpus Solutions a.s.




  

  Telefon HK:
  +420 49 553 21 54


  Telefon
centrála:
  +420 24 102 03 33


  Email:
  [EMAIL PROTECTED]


  WWW:
  http://www.corpus.cz

  







František Fuko napsal(a):

  Hehe, radeji premyslejte o sobe...

Burdik Petr <[EMAIL PROTECTED]> writes:
  
  
Supr,
diky. Behem tohoto tydne budu tuto funkci implementovat a premyslel jsem 
nad nazvem tridy :)

Pet


  
  

  





Re: Tomcat memory leak?

2006-04-11 Thread Ing. Jan Novotný




Stejné problémy máme na Oracle
aplikačním serveru OC4J 9.0.4.0.0 a patrně i ve vyšších verzích bude
stejný problém.
Takže bych to shrnul, že to skutečně bude problém architektury, nebo
obecně používaných knihoven, které nedovolí uvolnit původní classloader
- jelikož jak to tak sleduji tak problémy jsou průřezově všude :).

HN.





Ing. Jan Novotný

analytik návrhář

Corpus Solutions a.s.




  

  Telefon HK:
  +420 49 553 21 54


  Telefon
centrála:
  +420 24 102 03 33


  Email:
  [EMAIL PROTECTED]


  WWW:
  http://www.corpus.cz

  







Michal Palička napsal(a):

  Dobry den,

setkal jsem se s OutOfMemoryError pri vyvoji pro JBoss (obsahuje Tomcat), 
kdy se pomerne casto na server zavadela nova verze aplikace. 
Zhruba po 10 verzich aplikace server vzdy odpadl na pamet.

mp.


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Jakub Příkazský
Sent: Tuesday, April 11, 2006 1:31 PM
To: Konference JAVA
Subject: Tomcat memory leak?

Zdravím,

mám dotaz ohledně chování Tomcatu. Při vývoji se potýkám s problém, že Tomcatu dojde paměť - cca nad 110MB už, není zaručené že odpoví. Zkoušel jsem v NetBeans 5.0 profilovat naše třídy, vypadá to, že se neděje nic podezřelého tj. počet tříd se nezvyšuje. Toto chování se projevuje především při zátěži, tj.pokud si rozjedu test pomocí JMeteru, ale občas také někdy pokud se vícekrát provede deploy a restart aplikace na serveru. Používám: Tomcat 5.5.x, Spring, Hibernate...
Zajímalo by mě, zda jste se někdo s tímto fenoménem již setkal...

Díky
Jakub

  





Re: Rada s vyvojem projektu

2006-04-26 Thread Ing. Jan Novotný




Mám dobré zkušenosti s DOM4J
knihovnou - ta je takovou dost jednoduchou nadstavbou nad DOMem a
SAXem. Potom pracujete s XML podobně jako kdyby byla v DOM a přesto se
na nižší úrovni použije SAXový přístup. Knihovnu doporučuju, protože má
člověk komfort DOMu a paměťové nároky práce SAXu. API je dost simple.

Honza




Ing. Jan Novotný

analytik návrhář

Corpus Solutions a.s.




  

  Telefon HK:
  +420 49 553 21 54


  Telefon
centrála:
  +420 24 102 03 33


  Email:
  [EMAIL PROTECTED]


  WWW:
  http://www.corpus.cz

  







Zdeněk Vráblík napsal(a):

  Dobry den,

  
  
Ad vlastni XML protokol: Moc by mne zajimalo, kolik z vas, kdo pouziva vlastni
XML protokol, k nemu pristupuje pres SAX ci jiny podobny parser. Myslim, ze
vetsina z vas to stejne nazene do DOMu ;-)

  
  Myslim si, ze na dokumenty nad 10MB je skoro nutnost pouzivat SAX.
Pokud se vytvori hierarchie nekolika sax parseru (clanky na
JavaWorld), tak je to temer stejne prehledne, jak pouziti JDom.

  
  
Ad mnozstvi dat: pres SOAP with attachments jsme protlacili 2GB zpravu, a to
vse na Opteronoven Linuxu. Holt nas zakaznik, nas pan.

  
  
Kolik takovy request zabral operacni pameti? Nevim, jak resi parsovani
WS, ale predpokladam, ze by to mohlo byt lepsi, nez vytvorena DOM
struktura.

Diky.
Zdenek Vrablik
-
ICQ: 94 91 90 91
HomePage: zdenek.vrablik.net

  





Re: OC4j :: Log4j :: JMSAppender

2006-04-28 Thread Ing. Jan Novotný




Úplně stejný problém jsem řešil já
- tedy setkal jsem se s ním teprve ve chvíli, kdy jsem přešel na Log4J
verze 1.3aplha-8, kde jsem chtěl využít logování přes DataSource
uložený v JNDI. Můj problém je v tom, že log4j (např. pokud bylo v
nějaké statické třídě jako globální proměnná logger Log4J)
inicializoval appendery a loggery ve fázi, kdy je EAR inicializován a
nebylo možné v této fázi nastartovat transakci.

Musel jsem to obejít přetížením tříd log4j a vyřešení tohoto problému
takto:

import org.apache.log4j.db.JNDIConnectionSource;

/**
 * Upravuje nevhodné chování DBAppenderu při inicializaci Oracle.
 *
 * @author Jan Novotný
 */
public class Log4JJNDIConnectionSource extends JNDIConnectionSource {

    /**
 * @see org.apache.log4j.spi.OptionHandler#activateOptions()
 */
    public void activateOptions() {
    try {
    //pokusíme se opatrně ověřit funkčnost JNDI Connection
Source
    System.out.println("LOG4J-JNDI - Activate options -
connection source ... ");
    super.activateOptions();
    } catch (Throwable e) {
    //Ups - chybka ... je možné že ještě nemáme přístupný JNDI
Context ... odložíme inicializaci na později.
    System.out.println("LOG4J-JNDI-NOVOJ - Activate options -
connection source ... failed");
    e.printStackTrace(System.out);
    }
    }

}

A JEŠTĚ JEDNA TŘÍDA

import org.apache.log4j.db.DBAppender;
import org.apache.log4j.db.ConnectionSource;
import org.apache.log4j.spi.LoggingEvent;

/**
 * Upravuje nevhodné chování DBAppenderu při inicializaci Oracle.
 *
 * @author Jan Novotný
 */
public class Log4JDBAppender extends DBAppender {
    private boolean initializedProperly = false;

    public void activateOptions() {
    try {
    //pokusíme se opatrně aktivovat appender
    System.out.println("JNDI Log4J - aktivuji appender ... ");
    super.activateOptions();
    initializedProperly = true;
    } catch (Throwable e) {
    //hups nepovedlo se  no nic zkusíme to při další
příležitosti
    System.out.println("JNDI Log4J - chyba při aktivaci
appender (toto může být v pořádku): " + e.getLocalizedMessage());
    } finally {
    // all nice and dandy on the eastern front
    this.active = true;
    }
    }

    protected void append(LoggingEvent event) {
    //něco se pokakalo při načítání konfigurace DS ... takže ho
zkusíme reaktivovat
    ConnectionSource connectionSource = getConnectionSource();
    //pokud je typ dialektu neznámý, znamená to, že se CS je zatím
neinicializovaný - zkusíme to tedy znovu
    if (!initializedProperly &&
connectionSource.getSQLDialectCode() !=
ConnectionSource.UNKNOWN_DIALECT) {
    if (connectionSource instanceof Log4JJNDIConnectionSource) {
    System.out.println("F1 JNDI Log4J - rekonfiguruji
connection source ... ");
    connectionSource.activateOptions();
    }
    //pokusíme se reaktivovat i appender
    System.out.println("F1 JNDI Log4J - rekonfiguruji appender
... ");
    activateOptions();
    }
    //pokud se povedlo napodruhé zalogujeme, jinak holt smůla
    if (initializedProperly) {
    //další oprava - DBAppender si neuměl poradit s velkými
logovanými zprávami
    super.append(new Log4JTrimmedLoggingEvent(event));
    } else System.out.println("F1 JNDI Log4J - appender
neinicializován - log bude zahozen ...");
    }

}

V podstatě jsem ignoroval chyby při neúspěšné inicializaci DS a logoval
je na system out až do doby, než se inicializace povedla - pak už vše
pokračuje normálně (tzn. jakmile se aplikace už nahodila a došlo k
nějakému volání, kde už byly transakce k dispozici).
Tím jsem si svůj problém vyřešil a běhá mi to bez problémů. Obdobné by
to mohlo být i toho JMS.

Honza Novotný




Ing. Jan Novotný

analytik návrhář

Corpus Solutions a.s.




  

  Telefon HK:
  +420 49 553 21 54


  Telefon
centrála:
  +420 24 102 03 33


  Email:
  [EMAIL PROTECTED]


  WWW:
  http://www.corpus.cz

  







Vaclav Stumbauer napsal(a):

  Zdravim,

rad bych na session facade v pripade vypocetne dlouho trvajicich operaci
predaval informaci o jejich prubehu pres JMS.
Problem nastava pri deploymentu aplikace na OC4J. V okamziku vytvareni
instance prvni session beany v ramci ktere je inicializovano i log4j
dojde k nasledujicimu problemu:

javax.naming.NamingException: Not in an application scope - start Orion
with the -userThreads switch if using user-created threads

-userThreads jsem oc4jcku davat zkousel, ale nepremava.

Zda se ze chyba nastava ve chvili, kdy se log4j pokousi 
lookupnout v jndi navazanou topic connection factory.

Mate nejaky napad?

diky

Vasek Stumbauer








  





Re: JSP značka v atributu HTML tagu nebo j iné značky

2006-05-14 Thread Ing. Jan Novotný




Nejsou, k tomu slouží _expression_
Language - viz:
http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSPIntro7.html

Honza




Ing. Jan Novotný

analytik návrhář

Corpus Solutions a.s.




  

  Telefon HK:
  +420 49 553 21 54


  Telefon
centrála:
  +420 24 102 03 33


  Email:
  [EMAIL PROTECTED]


  WWW:
  http://www.corpus.cz

  







Martin Majer napsal(a):
Jsou v JSP možné tyto zápisy?
  







Re: Testovani privatnich metod s jUnit 4

2006-06-21 Thread Ing. Jan Novotný




S private metodama je obecně
potíž. Pokud nemáte vyloženě důvody k tomu ji mít private - lze to
řešit takto:

1) nechat ji jako friendly + testovací třídu dát fyzicky do jiného
adresáře (test - zdroják bude v src) ale do stejné package jako
testovaná třída
    -> toto je asi nejblíž k "private" statusu
2) dát ji jako protected + v testu si udělat inner class, která z vaší
třídy podědí a owrapuje protected metody do svých public metod
    -> tímhle už riskujete, že to někdo podědí a přetíží

Honza Novotný




Ing. Jan Novotný

analytik návrhář

Corpus Solutions a.s.




  

  Telefon HK:
  +420 49 553 21 54


  Telefon
centrála:
  +420 24 102 03 33


  Email:
  [EMAIL PROTECTED]


  WWW:
  http://www.corpus.cz

  







Tomas Hubalek napsal(a):

  
Zdar,
  
mam takovou spise filozofickou otazku. Zvazuju, ze bych chtel otestovat
privatni metodu jedne tridy. Zvazuju ze bych to udelal s jUnit 4 s tim,
ze ten unit test pripojim primo do dane tridy. Nelibi se mi ale to, ze 
  
1, samotna trida bude v runtime zavisla na tridach jUnitu, coz je podle
me, chyba navrhu.
2, testovaci metoda musi byt public, coz znamena ze exportuju tuto
metodu nesmyslne a zatemnuju tim API
  
Alternativy jsou:
  
pouzit Reflection a testovat privatni metodu pres reflection
-> zda se mi moc slozite
pouzit Groovy pro unit test -> asi nejschudnejsi, ale neni
to
pure Java, musim do Mavenu pridavat  goal na compilaci Groovy trid,
potize s Eclipse, ... 

pouzit TestNG, ale i tam je nakonec zbytecna zavislost tridy na
testovacim frameworku. Jestli muze byt testovaci metoda v TestNG
privatni, to nevim.
  
Mate k tomu nekdo nejakou poznamku? Napad? Jak to delaji jinde?
  
Tom
  
  
  
  





Jak zjistit, které JARy jsou aplikací používány?

2006-09-13 Thread Ing. Jan Novotný




Zdravím konferenci,

    mám zajímavý problém - je aplikace, která se potřebuje k běhu více
než 50 MB jarů. Aplikace běží na JBossu a skládá se z web rozhraní a
EJB. Máme podezření hraničící s jistotou, že poměrně velká řádka z nich
není aplikací vůbec využívána - jen nevíme které. Rádi bychom tu
aplikaci zeštíhlili, jenomže problém je v tom, jak zjistit, které jary
můžeme bezpečně odebrat (vnitřní chování aplikace totiž přesně neznáme).
    Jelikož je aplikace pokrytá testy po spuštění těchto testů by měly
být v paměti +/- všechny classy, které jsou zapotřebí. Takže nás
napadlo rozšířit classloader, který by sledoval z kterých jarů jsou
classy nahrávány a dokázal na požádání tento seznam vypsat.
    Sám jsem nikdy classloader nepsal, ale mám takové tušení, že změna
classloaderu v aplikačním serveru nebude nikterak triviální, pokud bude
vůbec možná. Na druhou stranu si říkám, že určitě nejsem jediný, kdo
tenhle problém řešil (ačkoliv jsem nic nevyguglil) a třebas nějaká
utilitka již existuje.
    Nemáte někdo zkušenosti s tímhle problémem?

S pozdravem
H.N.
-- 
Ing. Jan Novotný

Software Engineer
Fincom-Materna Communications, a.s.

SNP 402, 500 03 Hradec Králové 3

Czech Republic






Re: Jak zjistit, které JARy jsou aplikací používány?

2006-09-14 Thread Ing. Jan Novotný




Díky za rady. Vyzkouším a zkusím popsat zkušenosti ...

H.N.

Michal Palička napsal(a):

  
  
  Dobry den,
   
  zkuste pouzit JarAnalyzer.
   
  http://www.kirkk.com/main/Main/JarAnalyzer
   
  Osobne jsem s nim nepracoval,
ale podle popisu je to presne to, co hledate.
  Jestli ten nastroj zkusite, tak
prosim pripadne sdelte vase zkusenosti.
  Myslim, ze nejsem sam, koho to
bude zajimat.
   
  Diky
  mp.
   
   
  
  
  From:
[EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On
Behalf Of "Ing. Jan Novotný"
  Sent: Wednesday, September 13, 2006 5:47 PM
  To: konference@java.cz
  Subject: Jak zjistit, které JARy jsou aplikací používány?
  
  
Zdravím konferenci,
  
    mám zajímavý problém - je aplikace, která se potřebuje k běhu více
než 50 MB jarů. Aplikace běží na JBossu a skládá se z web rozhraní a
EJB. Máme podezření hraničící s jistotou, že poměrně velká řádka z nich
není aplikací vůbec využívána - jen nevíme které. Rádi bychom tu
aplikaci zeštíhlili, jenomže problém je v tom, jak zjistit, které jary
můžeme bezpečně odebrat (vnitřní chování aplikace totiž přesně neznáme).
    Jelikož je aplikace pokrytá testy po spuštění těchto testů by měly
být v paměti +/- všechny classy, které jsou zapotřebí. Takže nás
napadlo rozšířit classloader, který by sledoval z kterých jarů jsou
classy nahrávány a dokázal na požádání tento seznam vypsat.
    Sám jsem nikdy classloader nepsal, ale mám takové tušení, že změna
classloaderu v aplikačním serveru nebude nikterak triviální, pokud bude
vůbec možná. Na druhou stranu si říkám, že určitě nejsem jediný, kdo
tenhle problém řešil (ačkoliv jsem nic nevyguglil) a třebas nějaká
utilitka již existuje.
    Nemáte někdo zkušenosti s tímhle problémem?
  
S pozdravem
H.N.
  -- 
  Ing. Jan Novotný 
  Software Engineer
  Fincom-Materna Communications, a.s. 
SNP 402, 500 03 Hradec Králové 3 
Czech Republic 
  


-- 
Ing. Jan Novotný

Software Engineer
Fincom-Materna Communications, a.s.

SNP 402, 500 03 Hradec Králové 3

Czech Republic






Re: Jak zjistit, které JARy jsou aplikací používány?

2006-09-18 Thread Ing. Jan Novotný




Zdravím,

    vyzkoušel jsem JarAnalyzer - instalace byla bezproblémová, výstup
více méně taky. Ve spojení s generováním grafů měl sice problémy s
vygenerovaným výstupem (vadí mu lomítka v cestě) ale po chvilce editace
to dá výstup, který už GraphViz zpracuje.
    Dalo by se říct, že výstupem bylo to co jsem potřeboval. Nicméně v
našem případě jsem zjistil, že všechny JARy spolu nějak souvisí - tzn.
nemůžeme žádný bezpečně odebrat. Varianta s classloaderem by
pravděpodobně dala jiný výstup - tj. že sice všechny JARy jsou nějak
provázané, ale z některých se třídy nikdy nezískávají, protože se
jejich funkcionalita prostě nepoužívá. Odebrání takových JARů by sice
nebylo bez rizika, ale možná by se nám nakonec to zeštíhlení podařilo -
v tomhle nám však JarAnalyzer nepomůže.
    Nakonec jsme však usoudili že náklady by neodpovídaly skutečnému
přínosu zeštíhlení, takže se prozatím smíříme se současným stavem.
Každopádně děkuji všem za rady a pomoc.

Honza N.

Michal Palička napsal(a):

  
  
  Dobry den,
   
  zkuste pouzit JarAnalyzer.
   
  http://www.kirkk.com/main/Main/JarAnalyzer
   
  Osobne jsem s nim nepracoval,
ale podle popisu je to presne to, co hledate.
  Jestli ten nastroj zkusite, tak
prosim pripadne sdelte vase zkusenosti.
  Myslim, ze nejsem sam, koho to
bude zajimat.
   
  Diky
  mp.
   
   
  
  
  From:
[EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On
Behalf Of "Ing. Jan Novotný"
  Sent: Wednesday, September 13, 2006 5:47 PM
  To: konference@java.cz
  Subject: Jak zjistit, které JARy jsou aplikací používány?
  
  
Zdravím konferenci,
  
    mám zajímavý problém - je aplikace, která se potřebuje k běhu více
než 50 MB jarů. Aplikace běží na JBossu a skládá se z web rozhraní a
EJB. Máme podezření hraničící s jistotou, že poměrně velká řádka z nich
není aplikací vůbec využívána - jen nevíme které. Rádi bychom tu
aplikaci zeštíhlili, jenomže problém je v tom, jak zjistit, které jary
můžeme bezpečně odebrat (vnitřní chování aplikace totiž přesně neznáme).
    Jelikož je aplikace pokrytá testy po spuštění těchto testů by měly
být v paměti +/- všechny classy, které jsou zapotřebí. Takže nás
napadlo rozšířit classloader, který by sledoval z kterých jarů jsou
classy nahrávány a dokázal na požádání tento seznam vypsat.
    Sám jsem nikdy classloader nepsal, ale mám takové tušení, že změna
classloaderu v aplikačním serveru nebude nikterak triviální, pokud bude
vůbec možná. Na druhou stranu si říkám, že určitě nejsem jediný, kdo
tenhle problém řešil (ačkoliv jsem nic nevyguglil) a třebas nějaká
utilitka již existuje.
    Nemáte někdo zkušenosti s tímhle problémem?
  
S pozdravem
H.N.
  -- 
  Ing. Jan Novotný 
  Software Engineer
  Fincom-Materna Communications, a.s. 
SNP 402, 500 03 Hradec Králové 3 
Czech Republic 
  


-- 
Ing. Jan Novotný

Software Engineer
Fincom-Materna Communications, a.s.

SNP 402, 500 03 Hradec Králové 3

Czech Republic






Re: java.lang.String.intern()

2006-09-28 Thread Ing. Jan Novotný
Nejsem si jistý, ale nezajistí se touto metodou, že konkrétní string 
bude na haldě pouze jednou? Tzn. že je teoreticky možné toto:


String a = "ahoj";
String b = "ahoj";
if (a != b) System.out.println("a different from b"); //mohlo by se vypsat
a.intern();
b.intern();
if (a == b) System.out.println("a same as b"); //musí se vypsat

Nejsem si tím jistý, ale myslím, že takhle to funguje ... equals 
samozřejmě vrátí v obou případech true (imlementace equals u stringu 
myslím interně to intern právě volá).


Honza

Kamzik-II napsal(a):

Zdravim diskuzi, mam opet jeden zacatecnicky dotaz :)
Tentokrat by me zajimalo, jake vyuziti ma metoda intern ()
tridy java.lang.String, zaujalo me tohle:
 
String helloWorld = "HelloWorld";

String hello = "Hello";
String world = "World";
 
helloWorld == ( hello + world ).intern ();
 
mohl by mi nekdo vysvetlit k cemu je tato

metoda dobra? :)




Re: java.lang.String.intern()

2006-09-28 Thread Ing. Jan Novotný

Máte pravdu.

H.

Kamzik-II napsal(a):

Nemelo to byt spis takhle?

String a = "ahoj";
String b = "ahoj";
if (a != b) System.out.println("a different from b"); //mohlo by se 
vypsat

a = a.intern();
b = b.intern();
if (a == b) System.out.println("a same as b"); //musí se vypsat


----- Original Message - From: ""Ing. Jan Novotný"" 
<[EMAIL PROTECTED]>

To: "Java" 
Sent: Thursday, September 28, 2006 12:08 PM
Subject: Re: java.lang.String.intern()


Nejsem si jistý, ale nezajistí se touto metodou, že konkrétní string 
bude na haldě pouze jednou? Tzn. že je teoreticky možné toto:


String a = "ahoj";
String b = "ahoj";
if (a != b) System.out.println("a different from b"); //mohlo by se 
vypsat

a.intern();
b.intern();
if (a == b) System.out.println("a same as b"); //musí se vypsat

Nejsem si tím jistý, ale myslím, že takhle to funguje ... equals 
samozřejmě vrátí v obou případech true (imlementace equals u stringu 
myslím interně to intern právě volá).


Honza

Kamzik-II napsal(a):

Zdravim diskuzi, mam opet jeden zacatecnicky dotaz :)
Tentokrat by me zajimalo, jake vyuziti ma metoda intern ()
tridy java.lang.String, zaujalo me tohle:
 String helloWorld = "HelloWorld";
String hello = "Hello";
String world = "World";
 helloWorld == ( hello + world ).intern ();
 mohl by mi nekdo vysvetlit k cemu je tato
metoda dobra? :)










Re: Serializace objektu, ktery obsahuje neserializovane cleny

2006-10-19 Thread Ing. Jan Novotný




Označíš ho jako "transient" a on se ti vynechá. Po deserializaci bude
null, takže si musíš ošetřit aby se v takovém případě znovu sám
vytvořil.
O podrobnostech se dočteš v každé lepší knížce o Javě.

Honza

Benda Lukas napsal(a):
Mam tridu,
ktera je serializable a obsahuje protected parametr logger. Chci
takovou tridu preda pomoci RMI, ale havaruje to prave na tom, ze logger
neni serializovany. Prve jsem byl presvedcen, ze privatni objekty se
neserializuji, jenze ono jo. Coz mne docela mrzi, protoze vlastne kazda
moje trida ma logger. Musim tedy pro kazdou tridu definovat metodu
writeExternal(), readExternal(), nebo se to da nejak obejit.
  
  
Pomuze kdyz bude logger private? Neexituje nejaka anotace kterou bych
oznacil cleny objektu ktere se namaji serializovat? Co se stane kdyz
pak chce objekt zalogovat? Jak takovy problem resite?
  
  
Ta chyba je konkretne tato:
  
   java.io.WriteAbortedException: writing aborted;
java.io.NotSerializableException: org.apache.log4j.Logger
  
  
S pozdravem
  
   Lukáš Benda
  
   [EMAIL PROTECTED]
  
  
APNetsoft s.r.o.
  
Hradecká 15
  
746 01, Opava
  
tel.: +420 553 642 111
  
fax.: +420 553 619 205
  
mobil.: +420 777 577 054
  
http://www.apnet.cz
  


-- 
Ing. Jan Novotný

Software Engineer
Fincom-Materna Communications, a.s.

SNP 402, 500 03 Hradec Králové 3

Czech Republic






Re: Maven kodovani zdroju

2006-10-21 Thread Ing. Jan Novotný




Zdravím,

    no ant je klíčem - doteď nechápu proč podporu native2ascii nedali
rovnou do Mavenu. Asi proto, že nikdo z nich není z takových exotických
zemí jako jsou třeba Čechy ;).
    Já jsem to rozchodil takto:

    
    
    
    maven-antrun-plugin
    
    
    generate-sources
     
    
        
    
   
classname="org.apache.tools.ant.taskdefs.optional.Native2Ascii"
   
classpathref="maven.compile.classpath" >
    
    
    
    
    
            
    
    
    dest="src/main/resources/translated/"
    includes="*.properties"
    encoding="UTF-8"/>
    
    
    
    run
    
    
    
    
        
    

    Ještě je nutné dát do dependencí knihovny anta se scope=compile
(povšimněte si že v classpathref="maven.compile.classpath"):

        
    ant
    ant
    1.6.5
    compile
    
    
    antlr
    antlrall
    2.7.4
    compile
  
    
    ant
    ant-optional
    1.5.3-1
    compile
    

    Mě to chodí, takže snad to bude chodit i vám.

Honza Novotný

Benda Lukas napsal(a):
Pouzivam ke
kompilovani Maven2. V antu jsem pro cestinu pouzival
  
   
 dest="${class.dir}/resource" includes="**/messages/*.properties"
/>
  
  
Jenze v mavenovi nevim jak ho dokopat k tomu aby konvertoval soubory do
asci aby se mi to zobrazovalo spravne. Zkousel jsem jak nastaveni:
  
   
  
  
org.apache.maven.plugins
  
  
maven-compiler-plugin
  
   2.0.1
  
   p
  
   1.5
  
   1.5
  
   utf-8
  
   
  
   
  
   
  
  
org.apache.maven.plugins
  
  
maven-resources-plugin
  
   2.2
  
   
  
   utf-8
  
   
  
   
  
Ktere ale nedela ocividne vubec nic.
  
  
Tak nastaveni pomoci anta:
  

  
 
  
   maven-antrun-plugin
  
   
  
 
  
   generate-sources
  
       

  
   

classname="org.apache.tools.ant.taskdefs.optional.Native2Ascii"
  
 classpathref="maven.dependency.classpath" >
  
 
  
   
  
   
  
 
  
   
  
     
 dest="src/target/resources/"
  
 includes="**/*.properties" />
  
 
  
   
  
 
  
   run
  
 
  
   
  
 
  
   
  
 
  
Ktere zase konci havarii anta (s blize neurcenou chybou).
  
  
Jak tento problem resite vy?
  
  
Lukas "benzin" Benda ([EMAIL PROTECTED];  http://benzin.bloguje.cz)
  
Java a Delphi programator
  
PHP a _javascript_ skrypter
  
Tvurce databazovych aplikaci
  
A "cestinarsky" ignorant
  






Re: Maven kodovani zdroju

2006-10-23 Thread Ing. Jan Novotný




To je zvláštní - čekal bych spíš něco jako ClassNotFound exception nebo
tak. S NullPointrem nevím.
Zajímavé informace byste možná našel v tomhle článku:
http://jroller.com/page/wakaleo?entry=maven_2_tip_using_tools

Honza N.

Benda Lukas napsal(a):

  
  
JJ presne tohle jsem zkousel jenze mi ta kompilace konci takhle:
  
  [INFO] Error executing ant tasks
  
Embedded error: java.lang.NullPointerException
  
A odsud se nemuzu hnout
  
Lukas "benzin" Benda ([EMAIL PROTECTED];  http://benzin.bloguje.cz)
 Java a Delphi programator
 PHP a _javascript_ skrypter
 Tvurce databazovych aplikaci
 A "cestinarsky" ignorant 
  

Zdravím,

    no ant je klíčem - doteď nechápu proč podporu native2ascii nedali
rovnou do Mavenu. Asi proto, že nikdo z nich není z takových exotických
zemí jako jsou třeba Čechy ;).
    Já jsem to rozchodil takto:

    
    
    
    maven-antrun-plugin
    
    
    generate-sources
     
    
        
    
   
classname="org.apache.tools.ant.taskdefs.optional.Native2Ascii"
   
classpathref="maven.compile.classpath" >
    
    
    
    
    
            
    
    
    dest="src/main/resources/translated/"
    includes="*.properties"
    encoding="UTF-8"/>
    
    
    
    run
    
    
    
    
        
    

    Ještě je nutné dát do dependencí knihovny anta se scope=compile
(povšimněte si že v classpathref="maven.compile.classpath"):

        
    ant
    ant
    1.6.5
    compile
    
    
    antlr
    antlrall
    2.7.4
    compile
  
    
    ant
    ant-optional
    1.5.3-1
    compile
    

    Mě to chodí, takže snad to bude chodit i vám.

Honza Novotný

Benda Lukas napsal(a):
Pouzivam
ke
kompilovani Maven2. V antu jsem pro cestinu pouzival 
   
 dest="${class.dir}/resource" includes="**/messages/*.properties"
/> 
  
Jenze v mavenovi nevim jak ho dokopat k tomu aby konvertoval soubory do
asci aby se mi to zobrazovalo spravne. Zkousel jsem jak nastaveni: 
    
  
org.apache.maven.plugins 
  
maven-compiler-plugin 
   2.0.1 
   p 
   1.5 
   1.5 
   utf-8 
    
    
    
  
org.apache.maven.plugins 
  
maven-resources-plugin 
   2.2 
    
   utf-8 
    
    
Ktere ale nedela ocividne vubec nic. 
  
Tak nastaveni pomoci anta: 
 
  
   maven-antrun-plugin 
    
  
   generate-sources 
       
 
   

classname="org.apache.tools.ant.taskdefs.optional.Native2Ascii" 
 classpathref="maven.dependency.classpath" > 
  
    
    
  
    
     
 dest="src/target/resources/" 
 includes="**/*.properties" /> 
  
    
  
   run 
  
    
  
    
  
Ktere zase konci havarii anta (s blize neurcenou chybou). 
  
Jak tento problem resite vy? 
  
Lukas "benzin" Benda ([EMAIL PROTECTED];  http://benzin.bloguje.cz)
  
Java a Delphi programator 
PHP a _javascript_ skrypter 
Tvurce databazovych aplikaci 
A "cestinarsky" ignorant 


  
  


-- 
Ing. Jan Novotný

Software Engineer
Fincom-Materna Communications, a.s.

SNP 402, 500 03 Hradec Králové 3

Czech Republic






Re: Tiles a message key

2006-11-06 Thread Ing. Jan Novotný

Zdravím,

jen se chci optat na váš názor. Jaké výhody oproti JSP 2.0 custom tags 
psaných v JSP, přinášejí Tiles v dnešní době? Zdá se mi, že přínosy 
spočívaly především v řešení neřešené problematiky pro webovské aplikace 
(mluvím o době před 2-3 lety), kterou bylo rozumné skládání stránek, kde 
část je dynamická, část statická (aniž by musel člověk psát neustále 
include).


Honza Novotný

Radovana Straube napsal(a):

Dobry den,

pouzivam tiles, kde definicia je napisana v XML a nie
v JSP-stranke. 
Chcem napriklad hodnotu "title" citat z ResourceBundle

pomocou . V tiles som
zatial nasla len moznost precitat string priamo z XML
. Bohuzial sa tento string neda
pouzivat ako key do mojho ResourceBundle.

Priklad mojej definicie tiles:





 
...



Zda sa mi velmi podivne, ze by tiles nepodporovali
internacionalizaciu, ale jednoducho som nic
nevygooglila.

Dakujem za pripadne rady
Radovana Straube



 


Sponsored Link

Degrees online in as fast as 1 Yr - MBA, Bachelor's, Master's, Associate
Click now to apply http://yahoo.degrees.info
  




Re: Tiles a message key

2006-11-06 Thread Ing. Jan Novotný




No já teda nevím. Zkuste se třeba podívat na demo knihovny Tobago -
odkoukal jsem odtud jejich způsob skládání stránek. Např. typická
stránka tam vypadá takto:

<%@ page contentType="text/html" pageEncoding="UTF-8" %>
<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %>


nějaké HTML stránky


Pak mají v JSP napsaný tag LAYOUT, který vypadá zhruba takto:

<%@ tag body-content="scriptless" pageEncoding="UTF-8" %>
<%@ attribute name="menu" required="true" %> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %>


    
    
      
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

Všechno až stupidně jednoduché, funkční a krásně se to skládá
dohromady. Asi máte pravdu, že je to deklarování směrem odspodu,
kdybych chtěl změnit layout u dvaceti stránek musel bych u všech
dvaceti upravit JSP na použití jiného tagu nebo modifikaci atributů.
Ale jinak se mi ten přístup hodně líbí - zdá se mi jednoduchý a
funkční. Z mého pohledu lepší než "zamořovat" (berte to s nadsázkou)
projekt další technologií.

Honza Novotný

Jiří Mareš napsal(a):

  Rozdil je vtom, ze tiles nabizeji skladani zhora dolu, kdezto tagy sdola nahoru. Co tim myslim ...

V tiles mas layout, do ktereho parametricky vkladas soucasti. Kdezto tag ti umozni vlozit soucast do stranky ... Tj.
tiles je super vec a na verzi JSP nezalezi. Jenom me mrzi, ze si nedali tu praci prepsat standard taglib library tak,
aby podporoval novy space pro promenne typu "tile" a je nutne psat nepekne importy atributu, abyse dali pouzit ...

Ing. Jan Novotný napsal(a):
  
  
Zdravím,

jen se chci optat na váš názor. Jaké výhody oproti JSP 2.0 custom tags
psaných v JSP, přinášejí Tiles v dnešní době? Zdá se mi, že přínosy
spočívaly především v řešení neřešené problematiky pro webovské aplikace
(mluvím o době před 2-3 lety), kterou bylo rozumné skládání stránek, kde
část je dynamická, část statická (aniž by musel člověk psát neustále
include).

Honza Novotný

Radovana Straube napsal(a):


  Dobry den,

pouzivam tiles, kde definicia je napisana v XML a nie
v JSP-stranke. Chcem napriklad hodnotu "title" citat z ResourceBundle
pomocou . V tiles som
zatial nasla len moznost precitat string priamo z XML
. Bohuzial sa tento string neda
pouzivat ako key do mojho ResourceBundle.

Priklad mojej definicie tiles:





 ...


Zda sa mi velmi podivne, ze by tiles nepodporovali
internacionalizaciu, ale jednoducho som nic
nevygooglila.

Dakujem za pripadne rady
Radovana Straube



 
____________

Sponsored Link

Degrees online in as fast as 1 Yr - MBA, Bachelor's, Master's, Associate
Click now to apply http://yahoo.degrees.info
  
  




  
  
  


-- 
Ing. Jan Novotný

Software Engineer
Fincom-Materna Communications, a.s.

SNP 402, 500 03 Hradec Králové 3

Czech Republic






Re: Tiles a message key

2006-11-06 Thread Ing. Jan Novotný




ad 1) v tomhle případě by mi stačilo taky asi změnit jen obsah toho
"layout" tagu - spíš tady ale záleží na tom jak chytře si to poskládáte
ad 2) no v tiles přeci také musíte nějak říct, pro kterou stránku se má
použít jaký layout ne?  Když jsem pročítal dokumentaci, tak jsem
dokonce nabyl pocit, že pro stránku musíte mít 2 soubory - jeden, kde
vepíšete definici tiles (tiles tagy), jak se má stránka poskládat a
teprve v druhé máte tu "dynamickou" body. Tzn. že pro dejme tomu pět
různých stránek byste musel mít 10 souborů?! Ale je dost možné že jsem
to jen špatně pochopil.
ad 4) já to neberu jako přemlouvání ani vás nechci k ničemu přemlouvat
- chtěl jsem jen od uživatelů tiles znát výhody téhle knihovny, protože
já jsem je na první pohled neobjevil.

Honza Novotný

Jiří Mareš napsal(a):

  Jasne, to je ono ...

1) co kdyz budu chtit na jedne strance za menu pridat nejake HTML?? V tiles pouze reknu ze oblast menu nema pouzit
menu.jsp ale moje-menu.jsp a v tom jspicku includnu menu.jsp a pridam tam co potrebuji.

2) jste si odpovedel sam, na vsech strankach musite pouzit tag , coz nepovazuji za tak velky problem, ale je
to zbytecne

3) tiles nejsou slozite, jsou naopak desne jednuduche a pruhledne, tj. o zamorovani dalsi technologii bych nehovoril,
jsou mnohem horsi veci napr. JSF

4) ja vas nepremlouvam, ptal jste se a ja odpovidam, stranky delejte jak se vam chce

Hezky den

Ing. Jan Novotný napsal(a):
  
  
No já teda nevím. Zkuste se třeba podívat na demo knihovny Tobago -
odkoukal jsem odtud jejich způsob skládání stránek. Např. typická
stránka tam vypadá takto:

<%@ page contentType="text/html" pageEncoding="UTF-8" %>
<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %>


nějaké HTML stránky


Pak mají v JSP napsaný tag LAYOUT, který vypadá zhruba takto:

<%@ tag body-content="scriptless" pageEncoding="UTF-8" %>
<%@ attribute name="menu" required="true" %> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="my" tagdir="/WEB-INF/tags" %>




 





















Všechno až stupidně jednoduché, funkční a krásně se to skládá dohromady.
Asi máte pravdu, že je to deklarování směrem odspodu, kdybych chtěl
změnit layout u dvaceti stránek musel bych u všech dvaceti upravit JSP
na použití jiného tagu nebo modifikaci atributů. Ale jinak se mi ten
přístup hodně líbí - zdá se mi jednoduchý a funkční. Z mého pohledu
lepší než "zamořovat" (berte to s nadsázkou) projekt další technologií.

Honza Novotný

Jiří Mareš napsal(a):


  Rozdil je vtom, ze tiles nabizeji skladani zhora dolu, kdezto tagy sdola nahoru. Co tim myslim ...

V tiles mas layout, do ktereho parametricky vkladas soucasti. Kdezto tag ti umozni vlozit soucast do stranky ... Tj.
tiles je super vec a na verzi JSP nezalezi. Jenom me mrzi, ze si nedali tu praci prepsat standard taglib library tak,
aby podporoval novy space pro promenne typu "tile" a je nutne psat nepekne importy atributu, abyse dali pouzit ...

Ing. Jan Novotný napsal(a):
  
  
  
Zdravím,

jen se chci optat na váš názor. Jaké výhody oproti JSP 2.0 custom tags
psaných v JSP, přinášejí Tiles v dnešní době? Zdá se mi, že přínosy
spočívaly především v řešení neřešené problematiky pro webovské aplikace
(mluvím o době před 2-3 lety), kterou bylo rozumné skládání stránek, kde
část je dynamická, část statická (aniž by musel člověk psát neustále
include).

Honza Novotný

Radovana Straube napsal(a):



  Dobry den,

pouzivam tiles, kde definicia je napisana v XML a nie
v JSP-stranke. Chcem napriklad hodnotu "title" citat z ResourceBundle
pomocou . V tiles som
zatial nasla len moznost precitat string priamo z XML
. Bohuzial sa tento string neda
pouzivat ako key do mojho ResourceBundle.

Priklad mojej definicie tiles:





 ...


Zda sa mi velmi podivne, ze by tiles nepodporovali
internacionalizaciu, ale jednoducho som nic
nevygooglila.

Dakujem za pripadne rady
Radovana Straube



 


Sponsored Link

Degrees online in as fast as 1 Yr - MBA, Bachelor's, Master's, Associate
Click now to apply http://yahoo.degrees.info
  
  
  



  

  

-- 
*Ing. Jan Novotný*
/Software Engineer/
---

Dnešní CZJUG

2006-11-23 Thread Ing. Jan Novotný

Zdravím konferenci,

  chci se zeptat, jestli bude dnešní CZJUG přenášen živě nebo ne. 
Případně kde bude možné online přenos najít?
  A otázka druhá - bylo by možné, co se týká záznamů z těchto setkání, 
publikovat alespoň záznam ve formátu MP3 v nějaké rozumější době než se 
objevují ta videa? Je mi jasné že to dělají študáci ve volném čase a 
sestříhání filmu přeci jen zabere nějaký ten čas. Co se ale týká 
zvukového záznamu, ten stříhat nemusejí a převedení z wavky do mp3 je 
záležitost pár minut. Ideální by bylo, kdyby třebas ten audio záznam 
mohl na webu viset už třeba druhý nebo třetí den po setkání a video 
klidně časem. Myslím, že je řada lidí, kteří by na video ani nečekali a 
poslechli si audio jako podcast v mobilu nebo mp3 přehrávači. Co vy na to?


Honza Novotný




Re: Dnešní CZJUG

2006-11-23 Thread Ing. Jan Novotný

Zdravím,

   tam není u dnešního setkání uvedeno online (nebo jsem špatně 
hledal). Tzn. dnešní teda online přenášeno nebude? Romane, nemáš nějaký 
bližší informace? Byla by to pro nás mimopražské velká rána ;).
  
Honza


Jan Karhánek napsal(a):

Dobry den,

podivejte se na stranky:

http://avc.sh.cvut.cz/

skoda jen, ze videa prichazi docela s velkym zpozdenim. Asi neni na to 
moc casu, skoda. Ale skvely zdroj informaci!


!DSPAM:144,45656d64246451882718843!





Re: Dnešní CZJUG

2006-11-23 Thread Ing. Jan Novotný

Ahoj,

   oni tam MP3 záznam obvykle uveřejňují (viz. sektání1 a 2). Probém je 
v tom, že až v době, kdy se zveřejňuje i video - což je třeba o celý 
měsíc později. Přitom jak říkám - kolikrát člověk vůbec nemusí ty 
prezenační slidy vidět, aby přednášce rozuměl - tedy to je alespoň má 
zkušenost z CZJugů na kterých jsem byl. Opravdu by mnohokrát MP3 verze 
bohatě stačila - jen kdyby byla včas.


Honza

Vaclav Pech napsal(a):

Ahoj,

chtěl bych se přidat k návrhu pana Novotného na mp3 záznam. Připadá mi 
to jako dobrý nápad mít možnost si záznam jednoduše poslechnout.  Tím 
samozřejmě nezpochybňuji pořizování video záznamu.


Vašek


Roman Strobl wrote:


Ahoj,

Ing. Jan Novotný wrote:


Zdravím konferenci,

  chci se zeptat, jestli bude dnešní CZJUG přenášen živě nebo ne. 
Případně kde bude možné online přenos najít?


Ne, nebude prenasen zive, zive vysilani vyzaduje hodne usili (asi 6 
lidi to obsluhovalo na prvnim CZJUG).


  A otázka druhá - bylo by možné, co se týká záznamů z těchto 
setkání, publikovat alespoň záznam ve formátu MP3 v nějaké rozumější 
době než se objevují ta videa? Je mi jasné že to dělají študáci ve 
volném čase a sestříhání filmu přeci jen zabere nějaký ten čas. Co 
se ale týká zvukového záznamu, ten stříhat nemusejí a převedení z 
wavky do mp3 je záležitost pár minut. Ideální by bylo, kdyby třebas 
ten audio záznam mohl na webu viset už třeba druhý nebo třetí den po 
setkání a video klidně časem. Myslím, že je řada lidí, kteří by na 
video ani nečekali a poslechli si audio jako podcast v mobilu nebo 
mp3 přehrávači. Co vy na to?


To je otazka na AVC SH, zeptame se jich dneska vecer na miste. Ja 
bych byl radeji, kdyby zpracovavali ta videa vcas - rikali ze by to 
melo byt v budoucnosti lepsi.


-Roman





!DSPAM:144,456573f9281665921116689!





Re: Dnešní CZJUG

2006-11-23 Thread Ing. Jan Novotný

Ahoj,

   já si toho jsem vědom. Jsem rád, že to pro nás vůbec dělají - těžko 
si můžeme něco vydupávat, když za to neplatíme že ;). Pokud to nebude, 
tak to nebude - nic s tím nenaděláme a ani nemáme právo se na někoho 
zlobit. Mínil jsem to jenom jako návrh. Kdyby to pomohlo, jsem ochotný 
přiložit ruku k dílu - odněkud stáhnout wav, zkonvertovat do mp3 a zase 
to někam uploadnout, ale řekl bych, že zrovna v tomhle asi problém 
nebude ;).


Honza

Roman Strobl napsal(a):

Ing. Jan Novotný wrote:

Ahoj,

   oni tam MP3 záznam obvykle uveřejňují (viz. sektání1 a 2). Probém 
je v tom, že až v době, kdy se zveřejňuje i video - což je třeba o 
celý měsíc později. Přitom jak říkám - kolikrát člověk vůbec nemusí 
ty prezenační slidy vidět, aby přednášce rozuměl - tedy to je alespoň 
má zkušenost z CZJugů na kterých jsem byl. Opravdu by mnohokrát MP3 
verze bohatě stačila - jen kdyby byla včas.
Ok, rekneme to AVC. Nezapominejte, ze to delaji zadarmo, takze pokud 
to pro ne bude znamenat vic prace, tak to asi nebude. V budoucnosti 
bychom mohli pro CZJUG zalozit neziskovku a pak by se i resilo 
financovani, sponsoring, atd., ale popravde se nam do toho prozatim 
nechce, protoze to znamena hodne prace, casu a byrokracie navic. Takze 
jsme radi za to, ze nam AVC zprostredkovava takovouto sluzbu zadarmo.


-Roman

Vaclav Pech napsal(a):

Ahoj,

chtěl bych se přidat k návrhu pana Novotného na mp3 záznam. Připadá 
mi to jako dobrý nápad mít možnost si záznam jednoduše poslechnout.  
Tím samozřejmě nezpochybňuji pořizování video záznamu.


Vašek


Roman Strobl wrote:


Ahoj,

Ing. Jan Novotný wrote:


Zdravím konferenci,

  chci se zeptat, jestli bude dnešní CZJUG přenášen živě nebo ne. 
Případně kde bude možné online přenos najít?


Ne, nebude prenasen zive, zive vysilani vyzaduje hodne usili (asi 6 
lidi to obsluhovalo na prvnim CZJUG).


  A otázka druhá - bylo by možné, co se týká záznamů z těchto 
setkání, publikovat alespoň záznam ve formátu MP3 v nějaké 
rozumější době než se objevují ta videa? Je mi jasné že to dělají 
študáci ve volném čase a sestříhání filmu přeci jen zabere nějaký 
ten čas. Co se ale týká zvukového záznamu, ten stříhat nemusejí a 
převedení z wavky do mp3 je záležitost pár minut. Ideální by bylo, 
kdyby třebas ten audio záznam mohl na webu viset už třeba druhý 
nebo třetí den po setkání a video klidně časem. Myslím, že je řada 
lidí, kteří by na video ani nečekali a poslechli si audio jako 
podcast v mobilu nebo mp3 přehrávači. Co vy na to?


To je otazka na AVC SH, zeptame se jich dneska vecer na miste. Ja 
bych byl radeji, kdyby zpracovavali ta videa vcas - rikali ze by to 
melo byt v budoucnosti lepsi.


-Roman












!DSPAM:144,45657ada296391591412400!





Re: Netbeans, Coyote, Groovy a Maven: Jde to vubec dohromady?

2006-12-13 Thread Ing. Jan Novotný




Ahoj,

    něco podobného jsem už řešil - nenapíšu přesně postup, ale stačilo:

    1) nainstalovat java 1.6 se kterou se spouští NetBeans (kompilovat
můžeš klidně s 1.5) -> pak myslím půjdou uvozovky ale ne apostrof
(nebo rovnítko - teď nevím)
    2) oeditovat v soubor s mapování kláves - a to už tuplem z hlavy
nedám dokupy -> to vyřešilo ten druhý problém

    Tahle chyba se mi stávala v Ubuntu linuxu - verzi Dapper. Na
internetu se určitě najdou podrobnosti. Bohužel nejsem žádný linux
guru, takže ti tu nevysmahnu přesný návod - je to jen taková směrovka
kudy. Je možné že pokud máš jiný typ linuxu, bude to chtít něco jiného.

Honza

Martin Podhola napsal(a):

  
  
Ahoj, kdyz uz se tu resin netbeans, tak bych prihodil jeste jednu
otazku na nej, mam verzi 5, v 5.5 nefunguje linux instalator a
nepodarilo se mi ho nainstallit, nicmene v te verzi 5 vse funguje, jen
mi to nechce psat uvozovky , musim je copy n paste z jineho okna kam si
je napisu, je to trosku otravne, nevite nekdo prosim co s tim, 
  
Diky MartinTomas Hubalek píše v St 13. 12. 2006 v 15:13 +0100:
   Zdar,

 

Donedavna jsem pouzival
Eclipse a Maven na spravu projektu. U projektu slo dat soucasne Groovy
Nature a Maven Nature a vsechno mohlo jakztakz fungovat. U Netbeans
toho nejsem schopen docilit.

 

Jde to? A jak se to dela?

 

Dik

Tom


  
  

!DSPAM:144,458025ef206221915974989!






Re: JSF puvodce udalosti?

2006-12-14 Thread Ing. Jan Novotný

Zdravím,

   uznávám, že tutorial od Sunů je příšerně dlouhý - ale je to tam ;) 
http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSFDevelop7.html#wp1003962

   Link vypadá takto:

 actionListener="#{localeBean.chooseLocaleFromLink}"> 

   A jak má vypadat hlavička metode je popsáno v kapitole, na kterou 
míří odkaz. V parametru máte objekt ActionEvent a z něj se dá zjistit id 
source komponenty. V případě, že se jedná o nějaký znovupoužitelný kód 
zpracování události, dá se zpracování vyjmout do extra třídy a 
nadefinovat obecný action listener přímo ve faces-config.xml - to je v 
tutoriálu taky popsané.


Honza

Jaroslav Kortus napsal(a):

Dobry den,
mam JSF stranku se 3 butonama, kazdy ma sve id a ostatni zajimave atributy.. 
:). Vsechny tri butony maji v action event handleru nastavenu tutez metodu. Lze 
nyni z teto metody zjistit (napr. pomoci id), ktery ze tri butonu tuto udalost 
vyvolal? Jak? Dekuji.

!DSPAM:144,4581fe97299911591412400!

  




Re: JSF- strankovani v datable

2006-12-19 Thread Ing. Jan Novotný

Zdravím,

   no já k tomu účelu používal komponentu z rodiny Tomahawk 
DataScroller (http://myfaces.apache.org/tomahawk/dataScroller.html). 
Funguje to poměrně dobře, ale dokumentaci bych si představoval bohatší - 
za některou funkčností jsem musel do jejich zdrojáků, což nepovažuji za 
dobře zdokumentovanou komponentu


Honza Novotný

Holoubek, Vaclav (EOT) napsal(a):

Dobry den,

jak se resi strankovani v JSF komponente datatable ??? Koukal jsem , ze se 
necha nastavit po kolika radcich se mají data zobrazit. Da se zobrazit i  
navigace mezi strankami, ale nikde jsem nenasel jak se spravne resi zobrazovani 
jednotlivých stranek a pohyb mezi nimi.


Diky Holoubek.


!DSPAM:144,4587ee0b284941915974989!

  




Java Podcasty

2007-01-10 Thread Ing. Jan Novotný

Zdravím,

  chci se zeptat jaké posloucháte podcasty o Javě - mě to připadlo 
jako skvělý způsob vzdělávání v čase, který je jinak plonkový (někam 
jdete a tak). Bohužel se mi podařilo najít jen málo zdrojů rozumných 
podcastů, které uvádím:


  http://javaposse.com/
  http://www4.java.no/
  a samozřejmě CZ Podcasty na http://www.java.cz

  Nevíte ještě o nějakých dalších kvalitních? Podělte se ...

Honza N.




Re: JSF tlačítko v tabulce nezavolá akci

2007-01-22 Thread Ing. Jan Novotný

Zdravím,

   my jsme včera s kolegou narazili na obdobný (ale pravděpodobně jiný 
problém). Používáme MyFaces implementaci (1.1.4). Na stránce máme 
 a v něm umístěné Tomahawk komponenty pagescroller a datatable. 
Z neznámého důvodu se nám ve vygenerované stránce u uzavíracího tagu 
formu negeneruje javascriptová metoda "clear__" takže nefungují žádné 
odkazy v celém formuláři. Strávili jsme na tom hodně času a nepřišli 
jsme na nic.
   Zajímavé je, že v aplikaci máme obdobné 2 další stránky, které jsou 
postavené úplně stejně a v nich všechno funguje. Také jsme šli cestou 
postupného odebírání, ale javascript se vygeneroval jen tehdy, když ve 
formuláři zůstala jediná jednoduchá komponenta a to commandlink - 
jakmile jsme přidali cokoliv z původního obsahu, opět javascript zmizel.
   Dost nepříjemná záhada. Pokud byste někdo věděl co s tím, uvítáme 
jakoukoliv radu. Myslím, že nakonec ale stejně skončíme ve zdrojových 
kódech MyFaces :(.


Honza Novotný

Jiří Mikulášek napsal(a):

Hezký den,
díky za tipy:
ad 1. máme
ad 2. pokud hledám dobře tak není
ad 3. právě jsem vyzkoušel, výsledkem je, že to funguje, ale stále nechápu 
proč.
Udělal jsem to že jsem ze stránky odstranil všechno krom tabulky a sloupce s 
tlačítkem. V ten okamžik talčítko fungovalo, pak jsem postupně přidával zpět 
komponenty až jsem se dostal do původního stavu a nevěřícně koukal na ot že 
to funguje.


Blbý je že vlastně pořád nevím kde byl zakopanej pes :-(

Pokud někoho ještě napadají důvody rád se je dozvím :-)

Dne pondělí 22 leden 2007 20:28 Jiří Hradil napsal(a):
  

Ahoj,

přímo webuijsf nepoužíváme, ale:

1. Máte to ve formu?
2. Není někde na stránce JSF prvek, který má prázdnou value? To Faces
nemají rády a metody na tlačítkách pak nevolají.
3. Klasický postup - vyházet ze stránky všechno, co tam nemá co dělat
a všechno napojit na primitivní JSF backing bean s jednou metodou, pak
se to líp zkoumá :).

Jirka Hradil

On 1/22/07, Jiří Mikulášek <[EMAIL PROTECTED]> wrote:


Hezký den,
mám řekl bych možná klasický problém, ale nencházím odpověď.

Používám webuijsf. Následující konstrukce nezavolá akcni metodu hello.
Mimo tabulku to samo funguje. Zkousel jsem ekvivalnetni konstrukci i za
pouziti std JSF a take nepomohlo. Zkousel sjem tlacitko nabindovat,
odbindovat, menit id (podle radku). Ve strance jsou  atp.
nepodarilo se mi urcit pricinu a tudiz ani najit reseni.

Budu vdecny za kazdy napad


 




--
Pírko
Bc. Jiří Mikulášek
E-mail: [EMAIL PROTECTED] || [EMAIL PROTECTED]
Tel:+420 721 571 280
ICQ#330718616
Skype:  pirkojm
web:http://pirko.bloguje.cz
http://www.fi.muni.cz/~xmikula2
  

-



  




Re: JPA a enum

2007-02-01 Thread Ing. Jan Novotný

Ahoj,

netus(ím, jestli to standard JPA r(es(í ne(jak obecne(, ale pro 
hibernate jsem musel provést následující ve(c. Je to pome(rne( c(astý problém 
r(es(ený v ne(kolika diskusních threadech (link ted( dohromady nedám, protoz(e 
bych ho musel znovu hledat).

Pr(ikládám zdrojáky mého modelu, kde jsou enumerace pouz(ity a r(es(ení 
pro Hibernate ORM. Du*lez(ité jsou tr(ídy:

Enum tr(ídy: Gender a SkillLevel

Helper classy pro Hibernate:
EnumUserType>
GenderUserType extends EnumUserType
SkillLevelUserType extends EnumUserType

které r(íkají Hibernate, jak se má k daným Enum hodnotám chovat pr(i 
persistování a nac(ítání. Vlastní definice v HBM XML je potom napr(. pro 
Goalkeepera, který pouz(ívá Enumy takováto:


   '-//Hibernate/Hibernate Mapping DTD 3.0//EN' 
   'http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd'>


   
   
   
   
   
   
   
   
   
   
   


Taky bych si to pr(edstavoval jednodus(s(í ;)

Novoj

--
--------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Mys(lenky dne otce Fura
--


Tomas Hubalek napsal(a):


Zdar,

 

mam takovy dotaz. Chtel bych udelat JPA mapping (Hibernate, ale to 
snad neni podstatne) nasledujicich trid a nevim, jak to oannotovat.


 

 


public enum Group { A, B, C}

 


@Entity

public class Person {

   ...

  @?

  Set groups;

   ...

}

 

Pokud chci jenom jednu property, tak jde pouzit @Enumerated(), ale pro 
Set to nefunguje.


 


Mate nekdo nejaky tip? Nebo mam obetovat enum a udelat si UserType.

 


Tom

!DSPAM:144,45c1d9e5253311903020241! 


/*
 * TeamMember.java
 *
 * Created on 14. listopad 2006, 21:39
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */
package com.fgf.ot.model;

import com.fgf.ot.exception.ValidateException;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;

import java.io.Serializable;


/**
 * Ancestor for every team member.
 *
 * @author Rodina Novotnych
 */
public abstract class TeamMember implements Serializable, Cloneable {

/**
 * Serial uid.
 */
static final long serialVersionUID = 56277198694141L;

/**
 * Unique id.
 */
private Long id;

/**
 * Firstname.
 */
private String firstname;

/**
 * Surname.
 */
private String surname;

/**
 * Age.
 */
private Integer age;

/**
 * Gender.
 */
private Gender gender;

/**
 * Getter.
 *
 * @return
 */
public Long getId() {

return id;
}

/**
 * Setter.
 *
 * @param id
 */
public void setId(Long id) {

this.id = id;
}

/**
 * Getter.
 *
 * @return
 */
public String getFirstname() {

return firstname;
}

/**
 * Setter.
 *
 * @param firstname
 */
public void setFirstname(String firstname) {

this.firstname = firstname;
}

/**
 * Getter.
 *
 * @return
 */
public String getSurname() {

return surname;
}

/**
 * Setter.
 *
 * @param surname
 */
public void setSurname(String surname) {

this.surname = surname;
}

/**
 * Getter.
 *
 * @return
 */
public Integer getAge() {

return age;
}

/**
 * Setter.
 *
 * @param age
 */
public void setAge(Integer age) {

this.age = age;
}

/**
 * Getter.
 *
 * @return
 */
public Gender getGender() {

return gender;
}

/**
 * Setter.
 *
 * @param gender
 */
public void setGender(Gender gender) {

this.gender = gender;
}

/**
 * Performs work, that member of this type should do.
 *
 * @return simple string representing object`s activity
 */
public abstract String work();

/**
 * Validates objects itself whether it has initialized all mandatory 
fields, and that fields contains valid
 * values.
 *
 * @throws ValidateException when any error has been found
 */
pub

Re: JPA a enum

2007-02-01 Thread Ing. Jan Novotný
No ono, to nakonec není tak hrozné. Děděné třídy z EnumUserType už jsou 
směšně jednoduché. Toto jsem řešil v listopadu loňského roku, tak kdo ví 
- třebas už zařadili do Hibernate větší podporu Enumeration. Ono by 
bohatě stačilo, kdyby se ta třída EnumUserType dala vzít odněkud od nich 
- takhle kopírovat celou třídu je hnus. Každopádně je to řešení, které 
se doporučuje na fórech a je to funkční řešení - to můžu potvrdit z 
vlastní zkušenosti :).


Novoj

Tomas Hubalek napsal(a):


No to je teda masicko :-/ Neco podobneho jsem nasel na hibernate.org, 
ale nadsenim me to nenaplnuju.


 


Pokud nenajdu nic citelnejsiho, udelam ten enum jako normalni @Entity.

 


Tom

 




*From:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
*On Behalf Of *"Ing. Jan Novotný"

*Sent:* Thursday, February 01, 2007 1:27 PM
*To:* Java
*Subject:* Re: JPA a enum

 


Ahoj,

 
   netuším, jestli to standard JPA řeší nějak obecně, ale pro hibernate jsem musel provést následující věc. Je to poměrně častý problém řešený v několika diskusních threadech (link teď dohromady nedám, protože bych ho musel znovu hledat).
 
   Přikládám zdrojáky mého modelu, kde jsou enumerace použity a řešení pro Hibernate ORM. Důležité jsou třídy:
 
   Enum třídy: Gender a SkillLevel
 
   Helper classy pro Hibernate:

   EnumUserType>
   GenderUserType extends EnumUserType
   SkillLevelUserType extends EnumUserType
 
   které říkají Hibernate, jak se má k daným Enum hodnotám chovat při persistování a načítání. Vlastní definice v HBM XML je potom např. pro Goalkeepera, který používá Enumy takováto:
 

'-//Hibernate/Hibernate Mapping DTD 3.0//EN' 
'http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd'>














 
   Taky bych si to představoval jednodušší ;)
 
Novoj
 
--

------------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Tomas Hubalek napsal(a):

Zdar,

 

mam takovy dotaz. Chtel bych udelat JPA mapping (Hibernate, ale to 
snad neni podstatne) nasledujicich trid a nevim, jak to oannotovat.


 

 


public enum Group { A, B, C}

 


@Entity

public class Person {

   ...

  @?

  Set groups;

   ...

}

 

Pokud chci jenom jednu property, tak jde pouzit @Enumerated(), ale pro 
Set to nefunguje.


 


Mate nekdo nejaky tip? Nebo mam obetovat enum a udelat si UserType.

 


Tom

 

!DSPAM:144,45c1df8f291125315134984! 




Re: JPA a enum

2007-02-01 Thread Ing. Jan Novotný
No vidíte to, to je tak, když člověk čte maily povrchně - toho Setextends Enum> jsem si nevšimnul. To moje řešení je jen na jednotlivou 
property - a řešení pomocí anotace @Enumerated je rozhodně elegantnější. 
Buďto v té době nebylo, nebo jsem na něj při hledání řešení nenarazil.


Takže zpátky na stromy, všechno špatně :)
Omlouvám se za zavádějící cestu.

Novoj

Tomas Hubalek napsal(a):


Jo to dedeni je OK, s tim nemam problem. Dokonce bych rekl, ze pokud 
se jedna o jednotlivou property tak muzu pouzit tu anotaci @Enumerated 
a taky to funguje.


 

Ale nevsiml jsem si ve vasich prikladech toho, ze by to byla property 
typu Set


 


Dik

Tom

 

 

 




*From:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
*On Behalf Of *"Ing. Jan Novotný"

*Sent:* Thursday, February 01, 2007 2:38 PM
*To:* Java
*Subject:* Re: JPA a enum

 

No ono, to nakonec není tak hrozné. Děděné třídy z EnumUserType už 
jsou směšně jednoduché. Toto jsem řešil v listopadu loňského roku, tak 
kdo ví - třebas už zařadili do Hibernate větší podporu Enumeration. 
Ono by bohatě stačilo, kdyby se ta třída EnumUserType dala vzít 
odněkud od nich - takhle kopírovat celou třídu je hnus. Každopádně je 
to řešení, které se doporučuje na fórech a je to funkční řešení - to 
můžu potvrdit z vlastní zkušenosti :).


Novoj

Tomas Hubalek napsal(a):

No to je teda masicko :-/ Neco podobneho jsem nasel na hibernate.org, 
ale nadsenim me to nenaplnuju.


 


Pokud nenajdu nic citelnejsiho, udelam ten enum jako normalni @Entity.

 


Tom

 




*From:* [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 
[mailto:[EMAIL PROTECTED] *On Behalf Of *"Ing. Jan Novotný"

*Sent:* Thursday, February 01, 2007 1:27 PM
*To:* Java
*Subject:* Re: JPA a enum

 


Ahoj,


 
   netuším, jestli to standard JPA řeší nějak obecně, ale pro hibernate jsem musel provést následující věc. Je to poměrně častý problém řešený v několika diskusních threadech (link teď dohromady nedám, protože bych ho musel znovu hledat).
 
   Přikládám zdrojáky mého modelu, kde jsou enumerace použity a řešení pro Hibernate ORM. Důležité jsou třídy:
 
   Enum třídy: Gender a SkillLevel
 
   Helper classy pro Hibernate:

   EnumUserType>
   GenderUserType extends EnumUserType
   SkillLevelUserType extends EnumUserType
 
   které říkají Hibernate, jak se má k daným Enum hodnotám chovat při persistování a načítání. Vlastní definice v HBM XML je potom např. pro Goalkeepera, který používá Enumy takováto:
 

'-//Hibernate/Hibernate Mapping DTD 3.0//EN' 
'http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd'>














 
   Taky bych si to představoval jednodušší ;)
 
Novoj
 
--

--------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Tomas Hubalek napsal(a):

Zdar,

 

mam takovy dotaz. Chtel bych udelat JPA mapping (Hibernate, ale to 
snad neni podstatne) nasledujicich trid a nevim, jak to oannotovat.


 

 


public enum Group { A, B, C}

 


@Entity

public class Person {

   ...

  @?

  Set groups;

   ...

}

 

Pokud chci jenom jednu property, tak jde pouzit @Enumerated(), ale pro 
Set to nefunguje.


 


Mate nekdo nejaky tip? Nebo mam obetovat enum a udelat si UserType.

 


Tom

 

 

!DSPAM:144,45c1ef1d52101336712104! 




Re: CARDS: Postupy vytvareni subjektu a skupiny

2007-02-05 Thread Ing. Jan Novotný
Ehm, pokuste se prosím z CC odebrat java konferenci, která se tam omylem 
dostala při prvotním odeslání emailu. Takto vaši komunikaci čte několik 
tisíc lidí po republice, kteří jsou na Java konferenci přihlášení.


S pozdravem,
Honza Novotný

Jiri Mares napsal(a):

Uz jsem tam dodal i odpovednosti, nekde jsem nevedel, tak jsem dal otazniky a 
je otazka, kdo se dobrovolne prihlasi ...

Jiri Lavicka napsal(a):
  

Tak jsem to precet, nekterym bodum skutecne nerozumim a nevim, kdo má právo 
uvedené úlohy provádět a kdo to muze naridit.
J





Dobry den vsem,

pokusil jsem se nastinit kroky, ktere je nutne k vytvoreni skupiny a subjektu v 
clearingovem systemu CARDS EXCHANGE. Je
mi jasne, ze ne kazdy z vas bude rozumet kazdemu bodu, ale spis jde o to, abych 
na nic nezapomnel, prosim vas proto,
abyste se podivali na nasledujici odkazy

http://ids.csad.cz/twiki/bin/view/IDS/VytvoreniSkupinyCARDS
http://ids.csad.cz/twiki/bin/view/IDS/VytvoreniSubjektuCARDS

a pripadne mi sdelili vase pripominky.

Dekuji
--
Jiří Mareš (mailto:[EMAIL PROTECTED])
ČSAD SVT Praha, s.r.o. (http://www.svt.cz)
Czech Republic

  


  




Re: databáze

2007-02-07 Thread Ing. Jan Novotný

Zdravím,

   já jsem několikrát používal Apache Derby 
<http://db.apache.org/derby/> - tedy nyní Java DB 
<http://developers.sun.com/prodtech/javadb/>. Nevím kolik zabírá v 
paměti ale na disku je to pár mega (pro mé malé projekty od dvou do 
čtyřech megabytů). Používal jsem jí v kombinaci s Hibernate a nikdy jsem 
neměl problém.


Honza Novotný

--
--------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--



Pavel Nemec napsal(a):

Dobrý den,
pro jeden svůj projekt bych potřeboval použít nějakou velice malou databáze. 
Databáze bude součástí programu a není podstatné aby byla rychlá, ale spíše 
aby byla malá (jak do velikosti v paměti, tak potřebná velikost na disku).

Našel jsem několik kandidátů (všechny pod GPL licencí) a všechny v jave.
HSQL
DB4o

Pokud mátě někdo zkušenosti s databázemi, prosím podělte se. (mám na mysli 
zkušenosti s malými embeded databázemi ;) )


Pavel

!DSPAM:144,45c99615137891804284693!

  




Re: databáze

2007-02-07 Thread Ing. Jan Novotný
Naštěstí žijeme v době ORM jako je třeba Hibernate, takže pokud se 
šikovně navrhuje a programuje, není změna DB enginu žádná drastická operace.

Tím nechci shazovat vaši radu - jen protiargumentovat ;).

Novoj

--
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--

Ales Pavel napsal(a):

>Honza
>Taky bych se klonil k JavaDB, ovsem v Jave 6.0 je jen jako Early
>Access, tedy ne pro produkcni nasazeni. At uz to znamena cokoli. :-)

>Jinak pred nejakou dobou byl na root.cz serial o embedded databazich.

Lepsi je pouzit Firebird 2, pak se to cele da v pohode prehodit na 
centralni firebird server.. Znam ty stavy kdy se rika bude stacita 
pak najednou nestaci ;) a velikost je tu take zanedbatelna... tedy 
velikost samotne db.



Ales


!DSPAM:144,45c99d67166088586914631!





Re: luntbuild x continuum

2007-02-26 Thread Ing. Jan Novotný

Zdravím,

   asi před rokem a půl jsem používal Luntbuild - v současném 
zaměstnání Continuum. Zdá se mi, že Luntbuild nabízí větší možnosti 
customizace a kontroly nad CI a víc fíčur. V době, kdy jsme jej 
používali ještě neexistoval Maven 2, takže ani nevím, jestli ji 
Luntbuild už teď podporuje (Continnum ano). Druhou stranou mince je to, 
že je to někdy dost potíž Luntbuild donutit, aby dělal to co vy chcete. 
S množstvím fíčur taky přichází trochu obtížnější konfigurace.
   Continuum bych oproti tomu nazval lightweight CI. Je naprosto 
maximálně jednoduchý - podporuje Maven 2,1, Ant a Shell scripty. 
Zavádění projektů je velmi jednoduché - nemusíte psát žádné informace 
navíc (co může vezme si z POM). I zvenčí je krásně vidět, co Continuum 
vevnitř dělá a pokud se něco rozbije, jste schopní to sami jednoduše 
opravit. Takže jednou větou - Continuum vám nabízí takový ten základ, 
jednoduše a lehce použitelný, který se naučí ovládat a nastavovat každý 
průměrný uživatel během 10 minut.

   Obecně vzato jde o to, co od svého CI vlastně chcete ...

Honza Novotný

--
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Petr Burdik napsal(a):

Ahojte,
mohli byste mi prosim dat nekdo z vlastni zkusenosti radu ktery z tech 
dvou pouzit pro CI?


Pekny vecer
Pet

--Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

!DSPAM:144,45e34609123961802671257!



Re: Jednotkové testování JSF web UI

2007-03-06 Thread Ing. Jan Novotný

Zdravím, my jsme JSF (implementace MyFaces) testovali Seleniem a s úspěchem.
Problém byl akorát v tom, že si MyFaces vždycky generovaly dynamické ID u
jednotlivých komponent. Takže bylo nutné použít rozšíření Tomahawk, které
umožňuje ke komponentám definovat forceId, které vynucuje absolutní IDčka
(Selenium testy se chytaly právě na tyto idčka při assertech).

Honza Novotný


Re: Docasny Update v MS SQL ?!

2007-04-18 Thread Ing. Jan Novotný

Není update prováděný v transakci? Ve stejné transakci se potom selectem
získají ta modifikovaná data (nebo i v jiných - záleží na nastavení izolace
transakcí). No ale ta transakce není na konci commitnuta. Pak by mohlo dojít
k automatickému rollbacku (např. při vrácení connection zpátky do poolu).
Ale to fakt dost záleží na tom, jak je to tam udělané - a pravděpodobně by
se jednalo o systematickou a ne náhodnou chybu.

Honza N.

2007/4/18, V SOFT <[EMAIL PROTECTED]>:


Zdravím všetkých



Vytvoril som pre klienta web aplikáciu , databáza MS SQL , JDBC je  JTDS
.

Zákazník reklamuje pre mna dost nepochopitelnu chybu a to že keď

spraví UPDATE niektorých položiek v databáze a následne si ich dá znovu
načítať

je všetko OK t.j. sú zmenené, ale odstupom času, zvyčajne na druhý deň je
všetko ako pred UPDATOM

a to všetko sa že vraj nestane vždy, ale iba občas



mne sa takúto chybu samozrejme nepodarilo navodit



budem vďačný za akékoľvek vaše názory



dík Mráz









Re: Reuse tag souboru

2007-05-23 Thread Ing. Jan Novotný

Zdravím,

  tak zdrojáky už mám po ruce ;).

  JSP:

<%@ page language="java" contentType="text/html; charset=windows-1250" %>
<%@ taglib tagdir="/WEB-INF/tags/trtn" prefix="trtn" %>



  Tag1:

<%@ tag language="java" pageEncoding="windows-1250" %>
<%@ tag body-content="scriptless" %>
<%@ taglib uri="http://struts.apache.org/tags-logic"; prefix="logic" %>
<%@ taglib tagdir="/WEB-INF/tags/trtn" prefix="trtn" %>
<%@ attribute name="resultPage" required="true" rtexprvalue="true" type="
com.fg.commons.dao.PaginatedList" %>



  Tag2:

<%@ tag language="java" pageEncoding="windows-1250" %>
<%@ tag body-content="empty" %>
<%@ taglib uri="http://struts.apache.org/tags-bean"; prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html"; prefix="html" %>
<%@ attribute name="isOrdered" required="true" type="java.lang.String" %>
<%@ attribute name="orderingType" required="true" type="java.lang.String" %>
<%@ attribute name="columnName" required="true" type="java.lang.String" %>
<%@ attribute name="target" required="true" type="java.lang.String" %>
<%@ attribute name="title" required="true" type="java.lang.String" %>

BLA BLA

  Takhle mi to funguje.

Novoj

22.5.07, Rodina Novotných <[EMAIL PROTECTED]>:


Zdravím,

určitě by to mělo jít - lépe řečeno na projektu, na kterém dělám to
tak používám. Zítra bych mohl doprovodit své tvrzení i příkladem (teď
nemám po ruce zdrojáky). Každopádně Tag soubory nemám ve WEB-INF/tags,
ale v WEB-INF/tag/neco a v tag souborech si potom definuju použití dané
"rodiny" tagů přes atribut tagDir. Vše funguje ok a i IntelliJ Idea
napovídá, tak jak má.

Novoj

Jan Moravec napsal(a):
> Zdravim,
>
> Narazil jsem na drobny problem s JSP tag soubory. Jde o pripad, kdy chci
uvnitr jednoho tag souboru pouzit jiny tag (definovany v jinem tag souboru).
>
> Priklad:
>
> Soubor label.tag obsahuje:
>
> ---
> <%@ tag body-content="empty" pageEncoding="UTF-8" language="java" %>
>
> ...
>
> 
> ---
>
>
> e:i18n je tag definovany v Java tride (tj. takovy ten prvni existujici
zpusob tvorby tagu). S timto problem neni, tag ma namespace a je
zadeklarovany v tld a tudiz je v label.tag viditelny.
>
> et:tooltip je tag definovany v tag souboru tooltip.tag a jako takovy
neni nikde zadeklarovany (je pouze ulozen na standardnim miste tj. v
WEB-INF/tags). Problem s timto je, ze po pouziti e:label se mi ve
vygenerovanem HTML et:tooltip neexpanduje (tj. proste se tam jen zkopiruje
). IntelliJ u tag souboru label.tag hlasi, ze tag
et:tooltip nezna, cili nejsem az tak moc prekvapen. Pokud et:tooltip zavolam
z JSP a nikoli z tag souboru, neni problem.
>
> Otazka tedy je, jak v jednom tag souboru pouzit tag z jineho
_tag_souboru_. Jde to vubec?
>
> Diky,
> Honza
>
>
>


--
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--





--
--
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Plneni sestav

2007-05-23 Thread Ing. Jan Novotný

No pokud nechcete zanášet do projektu další knihovny zkuste java.util.Timer.
Jinak Quartz je dobrej a hojně používanej taky.

http://www.javapractices.com/Topic54.cjp

Novoj

23.5.07, Ales Dostal <[EMAIL PROTECTED]>:


Zdravim,
mam nekolik otazek :)
Potrebuji vytvorit aplikaci, ktera bude slouzit k plneni sestav z jinych
zdroju (Oracle, textove soubory, atd.) do MySQL.
Aplikace by mela byt desktopova (Swing). Server SJSAS 9 s pouzitim EJB3 a
vzdaleneho volani na klienta. (toto jiz vyreseno mam).
Nyni bych potreboval nasledujici:
V desktopove aplikaci mit nejaky planovac uloh, kde naplanuji, kdy se
budou dane ulohy pro plneni sestav spoustet (neco jako Crone).
Dale potrebuji v desktop aplikaci miti nejaky prehled o tom, ktera sestava
se zrovna plni.
Nejaky swing listener na sluzbu na serveru, ktera mi bude hlidat, co se
zrovna plni.

Momentalne nevim, jakym zpusobem postupovat.
Vim, ze existuje nejaky Timer pro EJB, ale nevim, jestli je to presne to,
co hledam. Na internetu jsem nenasel prilis materialu.
Dale nevim jak udelat dany posluchac do Swingu. Existuje EJB Driven
Message, ale zase nevim, jestli to slouzi k tomuto ucelu.
Pri davkovem plneni nevim, zda muzu pouzit JPA a TopLink.
Duvod je ten, ze se bude plnit treba milion radku a nektera data jsou
chybova, ktera se ulozi do error tabulky.
Pri davkovem zpracovani mi asi budou vadit automaticky rizene transakce.
Nechci kvuli jednomu radku rollbacknout celou davku.

Mam zakladni znalosti o EJB, ale tohle uz presahuje muj ramec znalosti a
navic na internetu jsem k tomuto ucelu moc informaci nenasel :(

Diky vsem za nakopnuti.





--
------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Timeout a JMS

2007-05-29 Thread Ing. Jan Novotný

No skoro bych si tipnul, že vám to celé jede v jedné transakci. JMS nemůže
zpracovat zprávu dříve, než je transakční kontext, ve kterém je zpráva
vytvořena commitnutý. Kdyby to tak šlo, tak při rollback situaci by tahle
operace nešla vrátit zpět. Důležité je tedy dostat vytváření JMS zpráv do
jiných transakčních kontextů - tedy použití "requiresNew" v případě, že vám
transakce řídí kontejner (teda myslím si, že by tohle mělo pomoct - nejsem
žádný J2EE expert).

Zkuste to, třebas to bude v tom.

Novoj

29.5.07, Ales Dostal <[EMAIL PROTECTED]>:


Zdravim,
tak jsem tak nejak probadal, jak udelat plneni. Naplanovat ulohu, spustit
a identifikovat o stavu.
Jenze, kdyz na zacatku plneni poslu do Topic zpravu o tom, ze se sestava
plni a na konci metody poslu zpravu o tom, ze je sestava naplnena,
na klienta se mi poslou obe zpravy az po dokonceni cele metody.
Pr:
Server:
public void napln(Timer timer) {
// send message to Topic
   // nejake plneni
   // send message to Topic
}

Klient:
Zacatek plneni 12:30:21
Konec plneni 12:30:21

Proste ceka, az dokonci celou metodu a pak vse odesle, ale ja bych
potreboval, aby se mi message do Topic poslali po sobe a pak cekali na
naplneni.
Jediny napad, na ktery jsem prisel byl, ze jsem to odeslani zprav hodil do
vlastniho threadu, ale nekde jsem cetl, ze vytvaret na serveru thready by se
nemelo.
Pr:
public void napln(Timer timer) {
// thread
zacatek.start();
   // nejake naplneni
   // thread
   konec.start();
}

Klient:
Zacatek plneni 12:30:21
Konec plneni 12:30:29

Zkousel jsem to pomoci nove EJB s anotaci PreConstruct a PreDestroy, ale
to nefunguje, protoze po vytvoreni se zavola PreConstruct a PreDestroy uz
nikoli, pri dalsim plneni, se nezavola jiz nic :(

Nevim, jestli pomoci threadu je to zrovna nejidealnejsi reseni. :(





--
--------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


Re: Timeout a JMS

2007-05-29 Thread Ing. Jan Novotný

No vážně nejsem přeborník v J2EE - co se týká chování JMS při použití
transakcí, doporučuji k přečtení následující stránky - váží se sice ke
starší verzi J2EE, ale základní koncepty budou stále stejné:

http://www.javaworld.com/javaworld/jw-02-2002/jw-0315-jms.html?page=2
http://java.sun.com/products/jms/tutorial/1_3_1-fcs/doc/advanced.html#1026538(kapitola
Using
JMS API Local Transactions)

Snad zareauje některý z větších J2EE guru ... dle všeho by jich mělo být na
tomhle mailing listu víc než dost.

Novoj

2007/5/29, Ales Dostal <[EMAIL PROTECTED]>:


Tak bohuzel bez uspechu. Zkousel jsem to pres vytvoreni nove transakce,
ale stejne ne :(
Pr:

@Resource(mappedName = "jms/TopicConnectionFactoryPlneni")
private TopicConnectionFactory connectionFactory;

@Resource(mappedName = "jms/TopicPlneni")
private Topic topic;

private Connection con = null;
private Destination dest = null;
private Session session = null;
private MessageProducer producer = null;
private ObjectMessage oMessage = null;

@PostConstruct
public void connect() {
try {
dest = (Destination) topic;
con = connectionFactory.createConnection();
session = con.createSession(false,
Session.AUTO_ACKNOWLEDGE);
producer = session.createProducer(dest);
oMessage = session.createObjectMessage();
} catch (Exception e) {}
}

@PreDestroy
public void close() {
try {
con.close();
} catch (Exception e) {}
}

public void start() {
Plneni p = getPlneni();
p.setProbiha(true);
try {
oMessage.setObject(p);
producer.send(oMessage);
} catch (JMSException ex) {
ex.printStackTrace();
}
}

@Timeout
public void spust(Timer timer) {
start();
// plneni
plneni();
end();
}

Zkousel jsem, vsechno mozne anotovat metodu start a end jako
@TransactionAttribute(value=TransactionAttributeType.REQUIRES_NEW). Ci
udelat pro start i end vlastni connection.

Uz jsem vazne bezradnej :(





--
--------------
Ing. Jan Novotný
@@
http://blog.novoj.net
Myšlenky dne otce Fura
--


  1   2   >