Re: Chytre knihy o swingu
Toto je moja oblubena prezentacia o desktop patternoch : http://developers.sun.com/learning/javaoneonline/2006/desktop/TS-1074.html Velmi poucne aj ked je to len reklama na JGoodies. Citát Benda Lukas [EMAIL PROTECTED]: V tomhle ohledu zustavam zcela verny springu. A proto pouzivam i Spring-RCP. Builduji si to sam, vzdycky tak jednou za mesic (stahnu z SVN a spustim mavena, uplne jednoduche :)). Zatim jsem se dostal do faze, ve ktere mi u zchodi komplet cele GUI a jeste dodelavam server. Data Bindig, je resen jako formularove modely. Nakonec vsechno ukladam pres Spring + Hibernate, ale samozrejme by nebylo problem pouzit Spring JPA. Ze startu mi sice chvili trvalo, nez jsem se do toho dostal. Spoustu veci je nutno pochopit ze zdrojaku, ale kdyz je pochopite, tak to uz jde jak po masle. Takze ja doporucuju Spring RCP Lukas benzin Benda ([EMAIL PROTECTED]; http://benzin.bloguje.cz) Java a Delphi programator PHP a JavaScript skrypter Tvurce databazovych aplikaci A cestinarsky ignorant Ahoj, odpovídám na zprávu z pátku, 06. října 2006, kterou URBAN Leos napsal(a) v 15:41:00: Já jsem přesně v tom stejném stavu. Postupně stále zkouším nové a nové postupy, ale žere to dost čas. Ono navíc není řečeno, že i kdyby taková kniha byla a popisovala tam nějaký konkrétní postup, že by ten postup byl nejlepší. Zatím jsem se uchýlil k Hibernate, JPA, JGoodies databinding a občas ještě něco navíc. Však zde napište, co považujete za nejlepší a třeba se najde někdo, kdo navrhne něco lepšího a pro ty další to bude tip, co zase naopak zkusit. --- Původní zpráva --- Odesilatel: URBAN Leos [EMAIL PROTECTED] Předmět: Chytre knihy o swingu Datum: 6. října 2006, 15:41:00 (GMT +0200) Přílohy: none msgid:[EMAIL PROTECTED] U Ahoj, U neprimo odkazuji na prispevek Lukase B. s prosbou zda mi nekdo nemuze U doporucit podobne chytre knihy pro Swing? U Nejlepe neco kde by byla rozebrana nejaka aplikace pro praci s daty U (umyslne nepisu databazi protoze bych radsi EJB3 ale to bych asi chtel moc). U Ja jsem stale ve stavu kdy to sice napisu ale na konci mam pocit ze se U to melo delat nejak jinak :-((( U Diky a hezky vikend, U Leos Ja bych spis doporucil knihy o RCP. Dobre jsou: **Eclipse Rich Client Platform: Designing, Coding, and Packaging Java(TM) Applications* Konec původní zprávy
OT: Prednasky o NetBeans a Jave
Ahoj, Sun Microsystems porada spolu s CVUT nove pasmo prednasek o NetBeans a o Jave: http://java.cz/detail.do?articleId=2517 Budou prednaset zamestnanci Prazskeho vyvojoveho centra Sunu. Prednasky jsou v cestine a prvni bude jiz tuto stredu, 11. rijna od 18:00 v poslucharne 135 na FEL CVUT v Dejvicich. Tema je Vývojový proces softwarového produktu na příkladu NetBeans IDE. Pokud vas nezajimaji zrovna NetBeans, cekaji nas take prednasky o Hotspotu, concurrency API, vyvoji Swingovych aplikaci a nektera dalsi zajimava temata. Upozornuji, ze tyto prednasky bezi paralelne s CZJUG, jedna se tedy o jine pasmo prednasek. -Roman
Re: Chytre knihy o swingu
Tomáš Procházka napsal(a): Však zde napište, co považujete za nejlepší a třeba se najde někdo, kdo navrhne něco lepšího a pro ty další to bude tip, co zase naopak zkusit. Abych nezůstal dlužen odpověď. Já doteď dělal pokusné aplikace bez frameworku ručně a bez designeru za použití JGoodies Layoutu. Data načítám přes vyhledávací formulář (Query by example) z JBOSS AS / EJB3 přes session beanu, která z dodaných položek generuje EJBQL dotaz. Uložena jsou klasicky do kolekce. Zobrazena jsou ve formě tabulky (momentálně mám je v kurzu JXTable) a dají se třídit, filtrovat a zvýrazňovat (Swingx Highlighter a Filters), detailní operace se dělají v samostatném detailovém formuláři nebo záložce . Změny se promítají do AS okamžitě (není offline režim). Vlastní databinding dělám ručně - metody currentObjectToFields() fieldsToCurrentObject() - ale mám někde i verzi JGoodies Databinding, také bez problému. Formulářové prvky standard nebo ze swingx. Na reportování používám JasperReport. Teď jsem stáhl ten Spring Rich Client a chci se podívat na něj. Jinak děkuji všem co poradili nějaký Swing zdroj či tip. Leoš
Re: OT: Ako a kde ukladat zakaznicke customizacie vo VCS?
On Friday 06 October 2006 15:28, Karel Tejnora wrote: Branch pro kazdeho zakaznika a pak patchem proti head a build pres ant. Branch dost casto nestaci, protoze pri fixu bugy ve zdrojaku je pak nutne portovat do vsechn branchi... Velmi se osvedcilo pouziti klasickych preprocesoru, takze #ifdefine zakaznik1 ... #endif -- Oto 'tapik' Buchta, [EMAIL PROTECTED] http://www.buchtovi.cz __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __
zaheslovany zip
Dobry den, musim v Jave vytvorit zaheslovany zip-subor. Na Internete som snasla, ze musim pouzit AES cryptovanie a kniznicu Bouncy Castle, ale stale sa neviem dopracovat k nejakemu vysledku. Riesil uz niekto podobny problem? Dakujem Radovana Straube __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
JSF scope request, session
Zdravím konferenci! Řeším problém, zda ukládat JSF Beany jako request nebo session. Je požadováno, aby mohlo být otevřených více stejných formulářů najednou. Např. V jednom okně vytvářím nového uživatele a v druhém mám náhled na jiného uživatele. Pokud bych měl bean uložen v session, tak se navzájem přepisují data a to je nežádoucí ;-). Pokud bych měl používat request, tak musím předávat hromadu hidden parametrů ručně a hrozí, že na něco zapomenu. Je možné v JSF používat vícenásobnou session? Na googlu jsem našel docela zajímavý odkaz k tomuto tématu: http://www.theserverside.com/discussions/thread.tss?thread_id=27557 Díky Fafi
Re: zaheslovany zip
Radovana Straube wrote: Dobry den, musim v Jave vytvorit zaheslovany zip-subor. Na Internete som snasla, ze musim pouzit AES cryptovanie a kniznicu Bouncy Castle, ale stale sa neviem dopracovat k nejakemu vysledku. Riesil uz niekto podobny problem? odporucam si najst java interfas nad ziplib alebo zziplib. samotne AES a bouncycastle to totiz neriesi, kedze sifrovanie zip suborov sa riesi na urovni zip file formatu interne (cize sifruju sa jednotlive fajly v zip subore a nie cely zip subor ako taky) otis -- Juraj Lutter| /\ ASCII Ribbon Campaign otis (at) wilbury.sk| \/ - NO HTML/RTF in e-mail http://www.wilbury.sk/ | /\ - NO Word docs in e-mail
RE: JSF scope request, session
Rôzne okná nemusia zdieľať jednu session. Napr. v MS IE pokiaľ dáš otvoriť nové okno cez CTRL+N, zdieľa session. Pokiaľ sa spustí nový IE, má vlastnú session (ešte závisí na nastavení IE - viď reuse windows). Myslím, že FF má pre každé okno vlastnú session vždy. Čiže záleží na tom, či je to aplikácia pre intranet a vtedy si môžeš dať také podmienky, že pri použití MS IE a CTRL+N negarantujete správanie aplikácie... Rastislav Bedo Siekel -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Roman Strobl Sent: 10. októbra 2006 12:06 To: Java Subject: Re: JSF scope request, session Videl jsem ted prezentaci od Gavina Kinga a tento problem resi framework Seam, ale jeste jsem ho nepouzival. -Roman Ondřej Fafejta KYBERIE wrote: Zdravím konferenci! Řeším problém, zda ukládat JSF Beany jako request nebo session. Je požadováno, aby mohlo být otevřených více stejných formulářů najednou. Např. V jednom okně vytvářím nového uživatele a v druhém mám náhled na jiného uživatele. Pokud bych měl bean uložen v session, tak se navzájem přepisují data a to je nežádoucí ;-). Pokud bych měl používat request, tak musím předávat hromadu hidden parametrů ručně a hrozí, že na něco zapomenu. Je možné v JSF používat vícenásobnou session? Na googlu jsem našel docela zajímavý odkaz k tomuto tématu: http://www.theserverside.com/discussions/thread.tss?thread_id=27557 Díky Fafi
Re: JSF scope request, session
Jednoznacne pripad od pripadu, ve vasem pripade s uzivateli v ruznych oknech to chce scope request (jiz bylo zmineno, nektere prohlizece v novem okne otevrou novou session). A ta hromada hidden parametru, to jako proc? JSF umoznuje ziskavat primo objekty, a hidden parametry prakticky nepotrebujete. Anebo nerozumim specificke situaci, to je taky mozne. Mirek Ondřej Fafejta KYBERIE napsal(a): Zdravím konferenci! Řeším problém, zda ukládat JSF Beany jako request nebo session. Je požadováno, aby mohlo být otevřených více stejných formulářů najednou. Např. V jednom okně vytvářím nového uživatele a v druhém mám náhled na jiného uživatele. Pokud bych měl bean uložen v session, tak se navzájem přepisují data a to je nežádoucí ;-). Pokud bych měl používat request, tak musím předávat hromadu hidden parametrů ručně a hrozí, že na něco zapomenu. Je možné v JSF používat vícenásobnou session? Na googlu jsem našel docela zajímavý odkaz k tomuto tématu: http://www.theserverside.com/discussions/thread.tss?thread_id=27557 Díky Fafi
Re: JSF scope request, session
Ahoj, podivejte se na tuto prezentaci od Gavina Kinga (dostupna jako video): http://www2.java.no/web/show.do?page=92articleid=4566 Resi tam takoveto problemy a navic pomoci Seamu vyresite i problem s Back buttonem (co se stane kdyz user klikne na tlacitko Back) a Refresh buttonem (nechteny repost pri stisku tlacitka refresh). Seam umi udrzovat konverzaci s klientem, a to s konkretnim tabem prohlizece, nezavisle na tom jaky browser pouzivate. Promenne pak ulozite na server v ramci konverzace, pripadne muzete i na klientu, pokud chcete mit moznost failover (ale to uz je spis pro armadu a tak :) -Roman Ondřej Fafejta KYBERIE wrote: Děkuji za odpovědi! Trochu ten příklad ještě zesložitím, abych zdůvodnil, proč nechci používat request beany. Mějme otevřená dvě okna na vytvoření nového uživatele. Pro vytvoření nového uživatele se používá WIZARD, který obsahuje např. 3 kroky. 1. Zadání údajů k uživateli (jméno, příjmení ...) 2. Zadání hlavní adresy 3. Zobrazení souhrnu před uložením Pokud bych používal request beany, tak ve WIZARDu v kroku 2 musím přenést všechna pole z kroku 1. V kroku 3 musím přenést všechna pole z kroku 2 i 1. Proto jsem psal o zadávání hromady hidden parametrů. Fafi Mirek Stohr wrote: Jednoznacne pripad od pripadu, ve vasem pripade s uzivateli v ruznych oknech to chce scope request (jiz bylo zmineno, nektere prohlizece v novem okne otevrou novou session). A ta hromada hidden parametru, to jako proc? JSF umoznuje ziskavat primo objekty, a hidden parametry prakticky nepotrebujete. Anebo nerozumim specificke situaci, to je taky mozne. Mirek
Re: JSF scope request, session
Aha, ted uz tomu rozumim. To chce uz slozitejsi reseni. Byl tady zminovan Seam, snad pomuze. Mirek Ondřej Fafejta KYBERIE napsal(a): Děkuji za odpovědi! Trochu ten příklad ještě zesložitím, abych zdůvodnil, proč nechci používat request beany. Mějme otevřená dvě okna na vytvoření nového uživatele. Pro vytvoření nového uživatele se používá WIZARD, který obsahuje např. 3 kroky. 1. Zadání údajů k uživateli (jméno, příjmení ...) 2. Zadání hlavní adresy 3. Zobrazení souhrnu před uložením Pokud bych používal request beany, tak ve WIZARDu v kroku 2 musím přenést všechna pole z kroku 1. V kroku 3 musím přenést všechna pole z kroku 2 i 1. Proto jsem psal o zadávání hromady hidden parametrů. Fafi Mirek Stohr wrote: Jednoznacne pripad od pripadu, ve vasem pripade s uzivateli v ruznych oknech to chce scope request (jiz bylo zmineno, nektere prohlizece v novem okne otevrou novou session). A ta hromada hidden parametru, to jako proc? JSF umoznuje ziskavat primo objekty, a hidden parametry prakticky nepotrebujete. Anebo nerozumim specificke situaci, to je taky mozne. Mirek
OT: JBoss support
Title: Message Ahoj, neviete niekto o firme, ktorá by dokázala robiť platený support pre JBoss? Najlepšie v SK alebo CZ. Alebo to nikto nepotrebuje? Alebo to zákazník rieši cez vás ako dodávateľov aplikácií? Dajte vedieť, pls. Rastislav "Bedo" Siekel Ing. Rastislav SiekelProsoft s.r.o., Kuzmányho 8, 010 01 Žilina, SlovakiaE-mail : [EMAIL PROTECTED] Tel : 041/562 54 91 Fax : 041/562 54 97Mobil : 0905 34 00 20
Re: JSF scope request, session
Ahoj, session je v tomto pripade uplne OK, jedine co potrebujes zabezpecit, aby ten objekt bol v session vzdy pod inym menom (v kazdom okne). Meno pod ktorym je objekt v session si mozes prenasat ako hidden parameter. Toto by neslo pouzit? Je to pomerne jednoduche, pri vytvoreni si vygenerujes novy identifikator objektu v session a potom ho len prenasas ako hidden parameter. Ondřej Fafejta KYBERIE wrote: Děkuji za odpovědi! Trochu ten příklad ještě zesložitím, abych zdůvodnil, proč nechci používat request beany. Mějme otevřená dvě okna na vytvoření nového uživatele. Pro vytvoření nového uživatele se používá WIZARD, který obsahuje např. 3 kroky. 1. Zadání údajů k uživateli (jméno, příjmení ...) 2. Zadání hlavní adresy 3. Zobrazení souhrnu před uložením Pokud bych používal request beany, tak ve WIZARDu v kroku 2 musím přenést všechna pole z kroku 1. V kroku 3 musím přenést všechna pole z kroku 2 i 1. Proto jsem psal o zadávání hromady hidden parametrů. Fafi Mirek Stohr wrote: Jednoznacne pripad od pripadu, ve vasem pripade s uzivateli v ruznych oknech to chce scope request (jiz bylo zmineno, nektere prohlizece v novem okne otevrou novou session). A ta "hromada hidden parametru", to jako proc? JSF umoznuje ziskavat primo objekty, a hidden parametry prakticky nepotrebujete. Anebo nerozumim specificke situaci, to je taky mozne. Mirek -- jeeff
Re: JSF scope request, session
Dobry napad. Neslo by pouzit primo session id? Mirek jeeff napsal(a): Ahoj, session je v tomto pripade uplne OK, jedine co potrebujes zabezpecit, aby ten objekt bol v session vzdy pod inym menom (v kazdom okne). Meno pod ktorym je objekt v session si mozes prenasat ako hidden parameter. Toto by neslo pouzit? Je to pomerne jednoduche, pri vytvoreni si vygenerujes novy identifikator objektu v session a potom ho len prenasas ako hidden parameter. Ondřej Fafejta KYBERIE wrote: Děkuji za odpovědi! Trochu ten příklad ještě zesložitím, abych zdůvodnil, proč nechci používat request beany. Mějme otevřená dvě okna na vytvoření nového uživatele. Pro vytvoření nového uživatele se používá WIZARD, který obsahuje např. 3 kroky. 1. Zadání údajů k uživateli (jméno, příjmení ...) 2. Zadání hlavní adresy 3. Zobrazení souhrnu před uložením Pokud bych používal request beany, tak ve WIZARDu v kroku 2 musím přenést všechna pole z kroku 1. V kroku 3 musím přenést všechna pole z kroku 2 i 1. Proto jsem psal o zadávání hromady hidden parametrů. Fafi Mirek Stohr wrote: Jednoznacne pripad od pripadu, ve vasem pripade s uzivateli v ruznych oknech to chce scope request (jiz bylo zmineno, nektere prohlizece v novem okne otevrou novou session). A ta hromada hidden parametru, to jako proc? JSF umoznuje ziskavat primo objekty, a hidden parametry prakticky nepotrebujete. Anebo nerozumim specificke situaci, to je taky mozne. Mirek -- jeeff
Re: JSF scope request, session
Dobry napad. Neslo by pouzit primo session id? no to by praveze nic neriesilo, my riesime situaciu, ked session je rovnaka a v tom pripade aj session id by bolo rovnake ;-) Mirek jeeff napsal(a): Ahoj, session je v tomto pripade uplne OK, jedine co potrebujes zabezpecit, aby ten objekt bol v session vzdy pod inym menom (v kazdom okne). Meno pod ktorym je objekt v session si mozes prenasat ako hidden parameter. Toto by neslo pouzit? Je to pomerne jednoduche, pri vytvoreni si vygenerujes novy identifikator objektu v session a potom ho len prenasas ako hidden parameter. -- jeeff
Re: SQL SUM Statement - Performace tuning
Ing. Radek Žuja napsal(a): Na to jak urychlit takovýto select, znám pouze 2 způsoby. 1 . Vytvořit agregační tabulku, která se bude plnit v triggerch a sumovat to v ní jak potřebuji Souhlasím, případně může být zajímavé použití materialized view jak v jednom příspěvku doporučoval Robert 2. Vytvořit index, který bude obsahovat sloupec co sumuji a zároveň všechyn sloupce dle kterých vybírám nebo groupuji. Potom se použije index scan a ne ful table scan. Index scan je rychlejší, (předpokládám že sloupců v indexu je MNOHEM méně než sloupců v tabulce, jinak to nemá smysl = je menší než tabulka a jeho scan je proto rychlejší) Indexem samozřejmě zvětšíte objem databáze + přidáte nějakou režii na jeho aktualizaci při každé změně. Použitím triggeru vytvářejícího agregaci nad base tabulkuu zase snižujete propustnot víceuživatelské změny dat v base tabulce, ale objem dat v agregaci bude výrazně menší než objem indexu. Tady už si tak jistý nejsem. Jsem přesvědčen, že v tomto konkrétním případě Oracle udělá full table scan bez ohledu na jakýkoliv index. Tedy pokud se jedná o sum přes všechny řádky. Podrobné zdůvodnění včetně výpočtů je v dokumentaci k Oracle.Viz.třeba http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96533/optimops.htm#44852 nebo http://relief.incad.cz/oracle9/server.920/a96533/optimops.htm#44852 Ale ozývám se proto, že to třeba špatně chápu a zajímalo by mě jak to je opravdu s optimizerem v Oracle v tomto případě. Pavel -- Pavel Vedral -- Nez mi poslete prilohu .doc, .xls nebo .ppt, prectete si, prosim, WWW stranku uvedenou na poslednim radku signatury: http://www.gnu.org/philosophy/no-word-attachments.cs.html
Re: SQL SUM Statement - Performace tuning
Přiznám se že nepracuji s Oracle ale se Sybase. Jsem si když jsem odpovídal poznámky o platformě nevšiml Myslel jsem že optimizátory by v tomto případě měli pracovat podobně(tedy pokud můžu scanovat index, který je menší než tabulka, udělám to). Pokud máte Oracel Server nainstalovaný není nic jednouššího, než to vyzkoušet na malinkém vzorku dat a zjistit si plan. Pokud jsem vás v tomto případě navedl špatným směrem tak se omlouvám. lkuu zase snižujete propustnot víceuživatelské změny dat v base tabulce, ale objem dat v agregaci bude výrazně menší než objem indexu. Tady už si tak jistý nejsem. Jsem přesvědčen, že v tomto konkrétním případě Oracle udělá full table scan bez ohledu na jakýkoliv index. Tedy pokud se jedná o sum přes všechny řádky. Podrobné zdůvodnění včetně výpočtů je v dokumentaci k Oracle.Viz.třeba http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96533/optimops.htm#44852 nebo http://relief.incad.cz/oracle9/server.920/a96533/optimops.htm#44852 Ale ozývám se proto, že to třeba špatně chápu a zajímalo by mě jak to je opravdu s optimizerem v Oracle v tomto případě. Pavel
Re: JSF scope request, session
On Tuesday 10 October 2006 13:06, Arnošt Havelka wrote: dovolil bych si malou korekci: u FF je to presne naopak -- ma vzdy jen jednu jedinou session pro vsechny okna. pred casem nas to pekne vypeklo :-) To preci neni o sdileni relace, ale o sdileni Susenek. A ano, vlaknujici prohlizece budou pravdepodobne sdilet vsechny susenky vsech typu, forkujici ci izolovane (links,lynx,...) jiste nebudou sdilet ty docasne. Holt jenom prepis URL funguje vsude. -- Oto 'tapik' Buchta, [EMAIL PROTECTED] http://www.buchtovi.cz __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __
RE: OT: JBoss support
Vďaka, hneď to idem skúsiť... Rastislav Bedo Siekel -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Oto 'tapik' Buchta Sent: 10. októbra 2006 16:32 To: Java Subject: Re: OT: JBoss support On Tuesday 10 October 2006 13:30, Rastislav Siekel wrote: Ahoj, neviete niekto o firme, ktorá by dokázala robiť platený support pre JBoss? Najlepšie v SK alebo CZ. Alebo to nikto nepotrebuje? Alebo to zákazník rieši cez vás ako dodávateľov aplikácií? Dajte vedieť, pls. Tady bych se obratil asi primo na RedHaty, kdyz uz ten JBoss sezrali a otevreli si u nas tu pobocku... Minimalne by meli vedet, kdo ten support dela... -- Oto 'tapik' Buchta, [EMAIL PROTECTED] http://www.buchtovi.cz __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __
Re: JSF scope request, session
jo jo, mas pravdu. my v cookies mame jen identifikaci session, tak se mi to trochu slilo :-( Arny Oto 'tapik' Buchta napsal(a): On Tuesday 10 October 2006 13:06, Arnošt Havelka wrote: dovolil bych si malou korekci: u FF je to presne naopak -- ma vzdy jen jednu jedinou session pro vsechny okna. pred casem nas to pekne vypeklo :-) To preci neni o sdileni relace, ale o sdileni Susenek. A ano, vlaknujici prohlizece budou pravdepodobne sdilet vsechny susenky vsech typu, forkujici ci izolovane (links,lynx,...) jiste nebudou sdilet ty docasne. Holt jenom prepis URL funguje vsude.
Re: SQL SUM Statement - Performace tuning
On Tue, 10 Oct 2006 15:59:45 +0200, Ing. Radek Žuja wrote Přiznám se že nepracuji s Oracle ale se Sybase. Jsem si když jsem odpovídal poznámky o platformě nevšiml Myslel jsem že optimizátory by v tomto případě měli pracovat podobně(tedy pokud můžu scanovat index, který je menší než tabulka, udělám to). Pokud máte Oracel Server nainstalovaný není nic jednouššího, než to vyzkoušet na malinkém vzorku dat a zjistit si plan. Pokud jsem vás v tomto případě navedl špatným směrem tak se omlouvám. Execution plan ani jinak vypadat nemuze, k vypoctu jsou potreba data z cele tabulky tak ji celou musi precist. Ciste hypoteticky by mohl pouzitim indexu necist hodnoty NULL a 0 Jeste by mohlo pomoci vertical partitioning - tj. dat sloupec, pres ktery se dela SUM do zvlastni partition. Takze bude stacit precist daleko mene stranek. Lukas PS: s execution plany jsem si v posledni dobe docela hral, protoze v aplikaci, kterou vyvijim, je zpracovani dotazu nad velkou mnozinou dat jedna z kritickych casti. A aplikace musi bezet nad ruznymi databazemi (Oracle, DB na PC, DB2 na AS/400, Interbase, Firebird, MS SQL Server, Informix, PostgreSQL). Prisel jsem na nasledujici zajimava pozorovani, ktera plati pro nekrete servery: - pri prilis slozitem dotazu, se indexy prestanou pouzivat - typicky je nastaven nejaky limit, ktery lze zvetsit - kdyz jsou data prilis mala, tak se pouzije table scan, coz muze mit zajimave dusledky - viz http://www.archaebacteria.net/?p=17 - ruzne databaze pouzivaji pro stejne dotazy ruzne indexy - a vysledna rychlost je potom dost rozdilna - na stejnych datech i o nekolik radu - nektere databaze maji problem s pouzitim indexu, kdyz je v WHERE podmince OR - nektere databaze stavi temporary tabulky a indexy, takze opakovane spousteni stejnych dotazu je rychlejsi - nektere databaze umoznuji sledovat pouziti indexu a jsou schopny doporucit zruseni/pridani indexu
Re: SQL SUM Statement - Performace tuning
On 10/10/06, Ing. Radek Žuja [EMAIL PROTECTED] wrote: Přiznám se že nepracuji s Oracle ale se Sybase. Jsem si když jsem odpovídal poznámky o platformě nevšiml Myslel jsem že optimizátory by v tomto případě měli pracovat podobně(tedy pokud můžu scanovat index, který je menší než tabulka, udělám to). No ale pri sum nepouzije oracle index vzdy. Kdyz je index (a suma) nad sloupcem ktery je not null tak index pouzije, kdyz je na sloupcem ktery null muze obsahovat tak vzdy udela full table scan bez ohledu na to jestli tam ma index, dokonce neakceptuje ani hint kdy mu clovek predhodi aby ten index pouzil (Oracle 9.2.0.7). Jinak jestli je to tak nutny optimalizovat tak opravdu pomuze leda partitioning podle toho sloupce a pak aby ten dotaz byl paralelizovanej, ale delat tohle kvuli jednomu dotrazu neni rozumne protoze vam to muze mit dopad (negativni) treba na vsechny ostatni dotazy. Tomu reseni s triggerem a agregacni tabulkou se nema cenu vyhybat to je naprosto ciste reseni rychle na vytvoreni, jedina slabina je pri velkem paralelnim meneni dotcenych zaznamu to vam to muze snizit odezvu. Ale to jsme se jiz dostali hodne daleko od javy. -- Stanislav Ošmera Work: +44 (0)2075 980 364 Cell: +44 (0)7914 635 412 private email: [EMAIL PROTECTED] work email: [EMAIL PROTECTED] Skype: sosmera ICQ:149634231
Re: OT: Ako a kde ukladat zakaznicke customizacie vo VCS?
Asi je to otazka poctu zakazniku, firemni politiky a schopnosti daneho zarizeni. Ale ja resim, vse pomoci parametru, tudiz, aplikace umi vzdy vse jen je nutno ji nastavit tak aby to delala. Je sice pravda, ze odmazani kusu kodu, nebo prepsani je casove mene narocne, ale vetsinou tu upravu casem chce i nekdo jiny a hlavne nemusim pro kazdeho zakaznika delat zvlast kompilaci. Ty parametry jsou v XML souboru nastavene pres spring. Mam i zarizeni (ctecka carovych kodu), ktera ma ruzna omezeni a tam se bohuzel musim uchylovat prave k specialnimu programu pro kazdeho zakaznika, ale musim rict ze mi to velmi nevyhovuje. Nejhorsi je kdyz prijdu k novemu potencialnimu zakaznikovi a predvadim mu schopnosti onoho zarizeni a pri predvadeni nejake Cool funkce zjistim, ze ta je ve verzi pro jineho zakaznika nez mam prave nahrano v ctecce, to by mne vzdycky mohl cert urvat. Lukas benzin Benda ([EMAIL PROTECTED]; http://benzin.bloguje.cz) Java a Delphi programator PHP a JavaScript skrypter Tvurce databazovych aplikaci A cestinarsky ignorant Zdravim! Moja otazka sa netyka priamo javy, preto som ju oznacil OT, ale s vyvojom velmi uzko suvisi a mnohi z vas tento problem riesili a verim ze aj vyriesili. Mame projekt, ktory obsahuje niekolko standalone javovskych modulov, t.j. standalone aplikacii, web aplikaciu a nejaky core, ktory je poskytovany modulom ako kniznica (jar). Problem je, ze aplikaciu je potrebne pre jednotlivych zakaznikov customizovat. Zakaznikov nie je velke mnozstvo (radove jednotky), ale pre kazdeho z nich sa robia upravy, ktore su len pre neho. Tieto customizacie su od loga a farbiciek v css webovej aplikacie, cez defaultne jazykove mutacie, samostatne schemy v DB az po upravy zdrojoveho kodu, ked napr. pre zakaznika X mozu byt baliky (v zmysle java packages) A, B.A a B.B, pre zakaznika Y to mozu byt B.B a C, etc. Problem je, ako udrziavat jednotlive customizacie vo VCS (konkretne pouzivame Subversion). Customizacie by mali byt dostatocne oddelene od core, ale zaroven by malo byt co mozno najjednoduchsie checkoutovat, buildovat, instalovat a testovat verziu pre kazdeho zo zakaznikov. Takze otazka je: Ako oddelujete zakaznicke customizacie od produktu a ako ich v pripade potreby na projekt aplikujete? Vdaka za rady a napady. J.
Re: Chytre knihy o swingu
A pro layouty a skiny se vyuziva prevazne JGoodies. Takze asi tak. Paklize chcete vytvorit jeden formular s daty, pak ma smysl uvazovat o prime vazbe JGoodies + JTA, nebo Hibernate. Ale kdyz chcete delat vetsi apliakci je dle meho lepsi pouvazovat o nejakem RCP at uz NetBeans, Eclipse nebo prave Spring. Ja mam ve svych TODO zacit studovat JFace Data Binding. Knizka o nem zadna neni, ale popis na http://wiki.eclipse.org/index.php/JFace_Data_Binding vypada docela dobre. V poctu tutorialu, knizek a manualu ma Eclipse obrovsky naskok, zatim. Jen tak by mne zajimalo, kolik lidi v konferenci pouziva Eclipse RCP? (pripadne dalsi RCP). Lukas
Re: Chytre knihy o swingu
Za tohle fakt dík, to vypadá zajímavě, i když velice podobné slidy jsou přímo na webu JGoodies, ale bez toho pokecu kolem. --- Původní zpráva --- Odesilatel: Rastislav Rehak [EMAIL PROTECTED] Předmět: Chytre knihy o swingu Datum: 10. října 2006, 08:02:37 (GMT +0200) Přílohy: none msgid:[EMAIL PROTECTED] R Toto je moja oblubena prezentacia o desktop patternoch : R http://developers.sun.com/learning/javaoneonline/2006/desktop/TS-1074.html R Velmi poucne aj ked je to len reklama na JGoodies. Konec původní zprávy -- - Tomáš Procházka E-mail: [EMAIL PROTECTED] WWW: http://atom.sf.cz ICQ: 87147320 -
Re: Chytre knihy o swingu
To bude asi určeno, ale pro SWT, že? --- Původní zpráva --- Odesilatel: lukas [EMAIL PROTECTED] Předmět: Chytre knihy o swingu Datum: 10. října 2006, 18:44:16 (GMT +0200) Přílohy: none msgid:[EMAIL PROTECTED] l Ja mam ve svych TODO zacit studovat JFace Data Binding. l Knizka o nem zadna neni, ale popis na l http://wiki.eclipse.org/index.php/JFace_Data_Binding vypada docela dobre. l V poctu tutorialu, knizek a manualu ma Eclipse obrovsky naskok, zatim. Konec původní zprávy -- - Tomáš Procházka E-mail: [EMAIL PROTECTED] WWW: http://atom.sf.cz ICQ: 87147320 -
Re: Chytre knihy o swingu
Ahoj, odpovídám na zprávu z úterka, 10. října 2006, kterou Benda Lukas napsal(a) v 18:21:45: No, součástí JGoodies je i Validation framework, který přesně takové křížky umí, ale přijde mi to docela složité. Respektive trochu moc upsané. Samotný JGoodies taky dokáže zcela řídit, kdy má změna ve formuláři promítnout do datového modelu, takže to Spring asi prostě jen převzal. I když možná to zjednodušil ;-) Tam se ty formuláře konfigurují jak? Je nato nějaké XML nebo anotace? V případě JGoodies musím sám napsat třídu zajišťující validaci, sám pro každý formulář provést mapování, atd. U toho validátoru jsem přišel na zajímavou věc. Buďto lze docílit toho, aby se nevyplněné položky modře podsvítily nebo jde chybně vyplněné označit právě tím křížkem, ale nejde to zkombinovat, nechápu proč. O to podsvícení nebo zvýraznění se starají dva různé handlery a nelze použít oba. Leda si napsat vlastní handler. Docela mě to překvapilo. --- Původní zpráva --- Odesilatel: Benda Lukas [EMAIL PROTECTED] Předmět: Chytre knihy o swingu Datum: 10. října 2006, 18:21:45 (GMT +0200) Přílohy: none msgid:[EMAIL PROTECTED] B No nechci rikat ze by to bylo snazsi, to uz je otazka jak rozsahle si B prajete vlastnosti vaseho formulare. Protoze Spring je obecne postaven B na filozofii, vytvorime spojovaci prostredi pro jiz existujici skvele B projekty a obcas pridame nejakou funkcnost navic. Obdobne pracuje i B Spring RCP. Tudiz integruje do sebe JGoodies, takze jste minimalne B schopny stejne jednoduse binding udelat. B No je pravda, ze jsem se JGoodies nikdy nezabyval do detailu, takze B nevim jak presne funguje. B Mne ale na tomto uchvacuje (nevim jak je to v JGoodies, takze netvrdim B ze on to nemam), to ze vytvari FormObject, ktery je caschovany, takze se B zmeny do skutecne ziveho objektu (spojeneho s databazi) zapisi az pro B provedeni akce ulozeni. Samozrejme pred touto akci je mozno provest B kontrolu dat, stejne tak jako po vlozeni muzete reagovat nejakou dalsi B akci. Dal ma docela propracovane pravidla pro vyplnovani formularu. B Takze napriklad pri vkladani noveho clena organizace mam ve wizardu B nastavene policka tak, ze rodne cislo musi byt validni a musi byt B vyplneno jmeno a prijmeni, jinak je na spatne vyplenem policku krizek, B ze je policko neplatne a uzivatel nemuze pokracovat ve vkladani. B Dalsi super vlastnosti je moznost vazby siwng koponenty (nebo komponent) B na tridu parametru. Takze kdyz napriklad vkladam dejme tomu adresu B (adresu ma stejnou okres, organizace, kraj, kontaktni osoba, clen - je B to furt ten samy formular), tak proste navazu na class Adressa formular B s polickama ulice, obec, posta, psc, telefon a pak pouze zadam B formBuilder.add(adressa); a cely formular se mi vlozi do panelu jak uz B je predpripraven. B Ma to samozrejme spustu dalsich moznosti. Super provazani s wizardrama, B ktere vlastne pouzivam uz casteji nez dialogy. Dobra podpora B Master/Detail/Detail/Detail . B Tak bych to rekl takhle kdyz umite Spring, je to super pro EE aplikace, B a kdyz uz ho znate a chapete jeho logiku, tak proc ho nevyuzit i pro SE B aplikace? Ja napriklad celou dobu vyvyjel dekstopovku a najednou se B ukazalo, ze bude zakaznik potrebovat mit vice klientu a jenom jednu B aplikaci. Takze vsechno co jsem udelal, ze jsem aplikaci roztrhl a do B popisovace vlozil pet radku s popisem pripojeni k RMI a uz mam tri B vrstvou aplikaci (samozrejme bez optimalizaci). Bezproblemova i18n a B sprava obrazku. B A pro layouty a skiny se vyuziva prevazne JGoodies. Takze asi tak. B Paklize chcete vytvorit jeden formular s daty, pak ma smysl uvazovat o B prime vazbe JGoodies + JTA, nebo Hibernate. Ale kdyz chcete delat vetsi B apliakci je dle meho lepsi pouvazovat o nejakem RCP at uz NetBeans, B Eclipse nebo prave Spring. Ahoj, odpovídám na zprávu z pondělka, 09. října 2006, kterou Benda Lukas napsal(a) v 11:39:58: Docela rád bych na tohle viděl nějakou ukázku :-( Já tady před nějakým týdnem přesně popsal ve zprávě s předmětem DB - formulář (hibernate,JGoodies Binding,cglib). Alespoň kdyby jste mi mohl říct, zda je vámi používaný postup, tedy Spring PRC ve výsledku jednodušší než to, co jsem popsal já. Nebo v čem je výhoda. --- Původní zpráva --- Odesilatel: Benda Lukas [EMAIL PROTECTED] Předmět: Chytre knihy o swingu Datum: 9. října 2006, 11:39:58 (GMT +0200) Přílohy: none msgid:[EMAIL PROTECTED] B V tomhle ohledu zustavam zcela verny springu. A proto pouzivam i B Spring-RCP. Builduji si to sam, vzdycky tak jednou za mesic (stahnu z B SVN a spustim mavena, uplne jednoduche :)). B Zatim jsem se dostal do faze, ve ktere mi u zchodi komplet cele GUI a B jeste dodelavam server. Data Bindig, je resen jako formularove modely. B Nakonec vsechno ukladam pres Spring + Hibernate, ale samozrejme by B nebylo
Re: Chytre knihy o swingu
Jako halvni rozdil mezi Spring RCP a JGoodies bych videl, ze JGoodies je zameren jen na formulare, kdezto Spring na beh cele aplikace. Kdyz se jedna o formulare, tak tam se vytvareji vcelku jednoduse. Skracene. setFormObject(object); formBuilder.add("polozka1"); formBuilder.add("polozka2"); formBuilder.add("polozka3"); formBuilder.add("polozka4"); formBuilder.add("polozka5"); formBuilder.getForm(); A muzete si zvolit ruzne alyouty, GridBag, TableBag. To uz je na vas. Pokud mam formularovy objekt treba takovy: String polozka1; -- Zobrazi se jako policko do ktereho se da vlozit libovolny text Integer polozka2; -- Zobrazi se jako policko do ktereho se da vlozit jenom cislo Enum polozka3; -- Zobrazi se jako rozbalovaci seznam s moznostmi z vyctu. S tim, ze lozkalizovane nazvy polozek vezme ze zdroje zprav. Date polozka4; -- Zobrazi se jako NachoCalendar (mozne je i calendar z JGoodies, ale tam je obecne problem s lokalizaci), popripade jakykoli jiny kalendar kdyz si na to udelas data binder Selectable polozka5; -- No a tady tohle se zobrazi podle toho jaky databinder vytvoris a cim ty data nacpes. Takze nekdy to mam jako List, nekdy jako ComboBox to uz je na tobe. Proste podedis z ComboBoxBinder a naplnis ten objekt datama jake potrebujes. Co se tyce toho validatoru, tak tam je to postavene na modulu springu validator. Takze to ma ty vlastnosti. Samozrejme ze validator musis povetsinou napsat sam. Nekdy se to da udelat jenom s pomoci regularnich vyrazu, nekdy je to potreba sprogramovat jako funkci. Treba validator pro wizarda, ktery chce Jmeno, Prijmeni a rodne cislo, s tim ze vsechno ve smysluplnem tvaru (ve jmene treba neni mezera, nebo cislo atp., rodne cislo ma nalezitosti rodneho cisla), jsem udelal takto: /** Rules for creating new member of organization * @return rules for creating member */ private final Rules createMemberRules() { return new Rules(NewMember.class) { protected void initRules() { add("rodneCislo", getRodneCisloValueConstraint()); add("firstName", getNameValueConstraint()); add("secondName", getNameValueConstraint()); } }; } /** Methode which make contrains for new name * @return complex contrains. Requird, max length and regexp */ private final Constraint getNameValueConstraint() { return all(new Constraint[] {required(), maxLength(MAX_NAME_LENGTH), regexp("\\D*", "alphabetic")}); } /** Methode which return contrains for new Rodne cislo * @return coplex contrains and complex regexp */ private final Constraint getRodneCisloValueConstraint() { String regexpMesice31 = "([05][13578](([012]\\d)|(30)|(31)))"; String regexpMesice30 = "([05][469](([012]\\d)|(30)))"; String regexpMesic2 = "((([02468][048])|([13579][26]))" + "([05]2(([01]\\d)|(2\\d" + "|" + "(\\d{2}[05]2(([01]\\d)|(2[0-8])))"; String regexpMesic11 = "([16]1(([012]\\d)|(30)))"; String regexpMesic12 = "([16]2(([012]\\d)|(30)}(31)))"; String regexpMesice = "(" + regexpMesice31 + "|" + regexpMesice30 + "|" + regexpMesic11 + "|" + regexpMesic12 + ")"; String regexpRodneCislo = "((" + regexpMesic2 + ")|(\\d{2}" + regexpMesice + "))/\\d{3,4}"; return all(new Constraint[] {required(), maxLength(MAX_RODNECISLO_LENGTH), regexp(regexpRodneCislo)}); } Ten regularni vyraz pro rodne cislo by mozna sel napsat i jednoduseji, ale ja zase v regularech nejsem tak sbehli. Kazdopadne az na delitelnost jedenacti (ktera fakt nevim jak se v regularu dela) kontroluje vsechno (vcetne prestupnych roku a ctyrech cifer na konci po roku 53). Ahoj, odpovídám na zprávu z úterka, 10. října 2006, kterou Benda Lukas napsal(a) v 18:21:45: No, součástí JGoodies je i Validation framework, který přesně takové křížky umí, ale přijde mi to docela složité. Respektive trochu moc upsané. Samotný JGoodies taky dokáže zcela řídit, kdy má změna ve formuláři promítnout do datového modelu, takže to Spring asi prostě jen převzal. I když možná to zjednodušil ;-) Tam se ty formuláře konfigurují jak? Je nato nějaké XML nebo anotace? V případě JGoodies musím sám napsat třídu zajišťující validaci, sám pro každý formulář provést mapování, atd. U toho validátoru jsem přišel na zajímavou věc. Buďto lze docílit toho, aby se nevyplněné položky modře podsvítily nebo jde chybně vyplněné označit právě tím křížkem, ale nejde to zkombinovat, nechápu proč. O to podsvícení nebo zvýraznění se starají dva různé handlery a nelze použít oba. Leda si napsat vlastní handler. Docela mě to překvapilo. --- Původní zpráva --- Odesilatel: Benda Lukas [EMAIL PROTECTED] Předmět: Chytre knihy o swingu Datum: 10. října 2006, 18:21:45 (GMT +0200) Přílohy: none msgid:[EMAIL PROTECTED] B No nechci rikat ze by to bylo snazsi, to uz je otazka jak
Re: Chytre knihy o swingu
Díky za informace, je to nesmírně zajímavé. Maličko je problém v tom, že pro tvorbu formulářů používám Matisse, takže namapování musím provést až pak dodatečně. Rozhodně mě ale Spring zajímá. Jinak je řeč o tomto, že? http://spring-rich-c.sourceforge.net/ Víte ještě o nějakém dobrém zdroji ukázek? --- Původní zpráva --- Odesilatel: Benda Lukas [EMAIL PROTECTED] Předmět: Chytre knihy o swingu Datum: 10. října 2006, 22:16:54 (GMT +0200) Přílohy: Zpráva.html msgid:[EMAIL PROTECTED] Jako halvni rozdil mezi Spring RCP a JGoodies bych videl, ze JGoodies je zameren jen na formulare, kdezto Spring na beh cele aplikace. Kdyz se jedna o formulare, tak tam se vytvareji vcelku jednoduse. Skracene. setFormObject(object); formBuilder.add("polozka1"); formBuilder.add("polozka2"); formBuilder.add("polozka3"); formBuilder.add("polozka4"); formBuilder.add("polozka5"); formBuilder.getForm(); A muzete si zvolit ruzne alyouty, GridBag, TableBag. To uz je na vas. Pokud mam formularovy objekt treba takovy: String polozka1; -- Zobrazi se jako policko do ktereho se da vlozit libovolny text Integer polozka2; -- Zobrazi se jako policko do ktereho se da vlozit jenom cislo Enum polozka3; -- Zobrazi se jako rozbalovaci seznam s moznostmi z vyctu. S tim, ze lozkalizovane nazvy polozek vezme ze zdroje zprav. Date polozka4; -- Zobrazi se jako NachoCalendar (mozne je i calendar z JGoodies, ale tam je obecne problem s lokalizaci), popripade jakykoli jiny kalendar kdyz si na to udelas data binder Selectable polozka5; -- No a tady tohle se zobrazi podle toho jaky databinder vytvoris a cim ty data nacpes. Takze nekdy to mam jako List, nekdy jako ComboBox to uz je na tobe. Proste podedis z ComboBoxBinder a naplnis ten objekt datama jake potrebujes. Co se tyce toho validatoru, tak tam je to postavene na modulu springu validator. Takze to ma ty vlastnosti. Samozrejme ze validator musis povetsinou napsat sam. Nekdy se to da udelat jenom s pomoci regularnich vyrazu, nekdy je to potreba sprogramovat jako funkci. Treba validator pro wizarda, ktery chce Jmeno, Prijmeni a rodne cislo, s tim ze vsechno ve smysluplnem tvaru (ve jmene treba neni mezera, nebo cislo atp., rodne cislo ma nalezitosti rodneho cisla), jsem udelal takto: /** Rules for creating new member of organization * @return rules for creating member */ private final Rules createMemberRules() { return new Rules(NewMember.class) { protected void initRules() { add("rodneCislo", getRodneCisloValueConstraint()); add("firstName", getNameValueConstraint()); add("secondName", getNameValueConstraint()); } }; } /** Methode which make contrains for new name * @return complex contrains. Requird, max length and regexp */ private final Constraint getNameValueConstraint() { return all(new Constraint[] {required(), maxLength(MAX_NAME_LENGTH), regexp("\\D*", "alphabetic")}); } /** Methode which return contrains for new Rodne cislo * @return coplex contrains and complex regexp */ private final Constraint getRodneCisloValueConstraint() { String regexpMesice31 = "([05][13578](([012]\\d)|(30)|(31)))"; String regexpMesice30 = "([05][469](([012]\\d)|(30)))"; String regexpMesic2 = "((([02468][048])|([13579][26]))" + "([05]2(([01]\\d)|(2\\d" + "|" + "(\\d{2}[05]2(([01]\\d)|(2[0-8])))"; String regexpMesic11 = "([16]1(([012]\\d)|(30)))"; String regexpMesic12 = "([16]2(([012]\\d)|(30)}(31)))"; String regexpMesice = "(" + regexpMesice31 + "|" + regexpMesice30 + "|" + regexpMesic11 + "|" + regexpMesic12 + ")"; String regexpRodneCislo = "((" + regexpMesic2 + ")|(\\d{2}" + regexpMesice + "))/\\d{3,4}"; return all(new Constraint[] {required(), maxLength(MAX_RODNECISLO_LENGTH), regexp(regexpRodneCislo)}); } Ten regularni vyraz pro rodne cislo by mozna sel napsat i jednoduseji, ale ja zase v regularech nejsem tak sbehli. Kazdopadne az na delitelnost jedenacti (ktera fakt nevim jak se v regularu dela) kontroluje vsechno (vcetne prestupnych roku a ctyrech cifer na konci po roku 53). Ahoj, odpovídám na zprávu z úterka, 10. října 2006, kterou Benda Lukas napsal(a) v 18:21:45: No, součástí JGoodies je i Validation framework, který přesně takové křížky umí, ale přijde mi to docela složité. Respektive trochu moc upsané. Samotný JGoodies taky dokáže zcela řídit, kdy má změna ve formuláři promítnout do datového modelu, takže to Spring asi prostě jen převzal. I když možná to zjednodušil ;-) Tam se ty formuláře konfigurují jak? Je nato nějaké XML nebo anotace? V případě JGoodies musím sám napsat třídu zajišťující validaci, sám pro každý formulář provést mapování, atd. U toho validátoru jsem přišel na zajímavou věc. Buďto lze docílit toho, aby se nevyplněné položky modře podsvítily nebo jde chybně vyplněné označit právě tím křížkem, ale nejde to zkombinovat, nechápu proč. O to podsvícení nebo zvýraznění se starají dva
Re: Chytre knihy o swingu
No spring ma moznost pouzit externi editory pro tvorbu formu. JJ presne o tom. No nejlepsi je projit diskusi. Protoze je projekt hodne mlady, tak k nemu dokumentace jeste moc neni. Ale je tam kompletni tutorial jak vytvorit aplikaci. Díky za informace, je to nesmírně zajímavé. Maličko je problém v tom, že pro tvorbu formulářů používám Matisse, takže namapování musím provést až pak dodatečně. Rozhodně mě ale Spring zajímá. Jinak je řeč o tomto, že? http://spring-rich-c.sourceforge.net/ Víte ještě o nějakém dobrém zdroji ukázek? --- Původní zpráva --- Odesilatel: Benda Lukas [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] Předmět: Chytre knihy o swingu Datum: 10. října 2006, 22:16:54 (GMT +0200) Přílohy: Zpráva.html msgid:[EMAIL PROTECTED] Jako halvni rozdil mezi Spring RCP a JGoodies bych videl, ze JGoodies je zameren jen na formulare, kdezto Spring na beh cele aplikace. Kdyz se jedna o formulare, tak tam se vytvareji vcelku jednoduse. Skracene. setFormObject(object); formBuilder.add(polozka1); formBuilder.add(polozka2); formBuilder.add(polozka3); formBuilder.add(polozka4); formBuilder.add(polozka5); formBuilder.getForm(); A muzete si zvolit ruzne alyouty, GridBag, TableBag. To uz je na vas. Pokud mam formularovy objekt treba takovy: String polozka1; -- Zobrazi se jako policko do ktereho se da vlozit libovolny text Integer polozka2; -- Zobrazi se jako policko do ktereho se da vlozit jenom cislo Enum polozka3; -- Zobrazi se jako rozbalovaci seznam s moznostmi z vyctu. S tim, ze lozkalizovane nazvy polozek vezme ze zdroje zprav. Date polozka4; -- Zobrazi se jako NachoCalendar (mozne je i calendar z JGoodies, ale tam je obecne problem s lokalizaci), popripade jakykoli jiny kalendar kdyz si na to udelas data binder Selectable polozka5; -- No a tady tohle se zobrazi podle toho jaky databinder vytvoris a cim ty data nacpes. Takze nekdy to mam jako List, nekdy jako ComboBox to uz je na tobe. Proste podedis z ComboBoxBinder a naplnis ten objekt datama jake potrebujes. Co se tyce toho validatoru, tak tam je to postavene na modulu springu validator. Takze to ma ty vlastnosti. Samozrejme ze validator musis povetsinou napsat sam. Nekdy se to da udelat jenom s pomoci regularnich vyrazu, nekdy je to potreba sprogramovat jako funkci. Treba validator pro wizarda, ktery chce Jmeno, Prijmeni a rodne cislo, s tim ze vsechno ve smysluplnem tvaru (ve jmene treba neni mezera, nebo cislo atp., rodne cislo ma nalezitosti rodneho cisla), jsem udelal takto: /** Rules for creating new member of organization * @return rules for creating member */ private final Rules createMemberRules() { return new Rules(NewMember.class) { protected void initRules() { add(rodneCislo, getRodneCisloValueConstraint()); add(firstName, getNameValueConstraint()); add(secondName, getNameValueConstraint()); } }; } /** Methode which make contrains for new name * @return complex contrains. Requird, max length and regexp */ private final Constraint getNameValueConstraint() { return all(new Constraint[] {required(), maxLength(MAX_NAME_LENGTH), regexp(\\D*, alphabetic)}); } /** Methode which return contrains for new Rodne cislo * @return coplex contrains and complex regexp */ private final Constraint getRodneCisloValueConstraint() { String regexpMesice31 = ([05][13578](([012]\\d)|(30)|(31))); String regexpMesice30 = ([05][469](([012]\\d)|(30))); String regexpMesic2 = ((([02468][048])|([13579][26])) + ([05]2(([01]\\d)|(2\\d + | + (\\d{2}[05]2(([01]\\d)|(2[0-8]))); String regexpMesic11 = ([16]1(([012]\\d)|(30))); String regexpMesic12 = ([16]2(([012]\\d)|(30)}(31))); String regexpMesice = ( + regexpMesice31 + | + regexpMesice30 + | + regexpMesic11 + | + regexpMesic12 + ); String regexpRodneCislo = (( + regexpMesic2 + )|(\\d{2} + regexpMesice + ))/\\d{3,4}; return all(new Constraint[] {required(), maxLength(MAX_RODNECISLO_LENGTH), regexp(regexpRodneCislo)}); } Ten regularni vyraz pro rodne cislo by mozna sel napsat i jednoduseji, ale ja zase v regularech nejsem tak sbehli. Kazdopadne az na delitelnost jedenacti (ktera fakt nevim jak se v regularu dela) kontroluje vsechno (vcetne prestupnych roku a ctyrech cifer na konci po roku 53). Ahoj, odpovídám na zprávu z úterka, 10. října 2006, kterou Benda Lukas napsal(a) v 18:21:45: No, součástí JGoodies je i Validation framework, který přesně takové křížky umí, ale přijde mi to docela složité. Respektive trochu moc upsané. Samotný JGoodies taky dokáže zcela řídit, kdy má změna ve formuláři promítnout do datového modelu, takže to Spring asi