Re: JSF a URL

2006-10-23 Tema obsahu Mirek Stohr
Jenom bych chtel upozornit, pokud pouzijete ve faces-config.xml 
direktivu redirect, je potreba dat pozor na predavani request parametru 
(a stav managed beanu, pokud maji scope request).


Stalo me to nekolik horkych chvilek nez jsem si to ujasnil.

   Mirek


Milan Kratochvíl napsal(a):
Toto chovani se nastavuje ve faces-config.xml. Do prislusneho 
navigation-case staci pridat direktivu redirect/ a adresa by mela 
vypadat tak, jak predpokladate.


Milan Kratochvil

URBAN Leos wrote:

Dobrý den,

při pokusech s JSF jsem narazil na to, že zobrazená stránka neodpovídá 
tomu co je v URL prohlížeče.


Například.
Z index.jsp zavolám klasicky firstJsf.jsp, ten je zobrazen v URL 
dobre. V něm kliknu na buttom (commandButton), zpracuje se příslušná 
metoda backbeany a zobrazí secondJsf.jsp. V prohlížeči ale je pořád 
URL pro firstJSF.


Teď zase kliknu na commandButton Zpátky, vrátím se na firstJsf.jsp 
jenže v prohlížeči mám o krok zpátky secondJsf.jsp.


Jistě to má nějakou logiku ale já bych přesto byl rád kdyby nahoře 
bylo to co je zobrazeno a nepletlo to uživatele :-)


Jde to nějak?

Velmi děkuji,
Leoš






JSF a converter a currency

2006-10-17 Tema obsahu Mirek Stohr

Vazeni kolegove,

narazil jsem na nasledujici asi trivialni problem, se kterym si nevim 
rady: Mam JSF managed bean finance, ktery ma v sobe amount (BigDecimal) 
a amountUnit (string, obsahuje symbol meny, zadany uzivatelem, napr. 
Kc, $, apod., nejsou to ISO kody). Potrebuji tuto hodnotu zobrazit. 
Primocare jsem napsal:


h:outputText value=#{finance.amount}
  f:convertNumber type=currency 
currencySymbol=#{finance.amountUnit} /

/h:outputText

A vysledek mi penezni jednotku nezobrazi (je tam jenom velikost, tj. 
hodnota amount). Kdyz ale udelam


h:outputText value=#{finance.amount}
  f:convertNumber type=currency currencySymbol=Kc /
/h:outputText

Tak vysledek (ale chybne) vsude zobrazi Kc, kdyz zobrazim neco jako

h:outputText value=#{finance.amount}
  f:convertNumber pattern=###,##0.00 /
/h:outputText
h:outputText value= #{finance.amountUnit} /

tak vysledek dostanu (ale je to ohavny kod, navic v nekterych locale asi 
chybne formatovany).


V cem je problem? Podle javadoc by convertNumber v atributu 
currencySymbol melo vzit ValueExpression.


Dekuji za kazdou radu.

 Mirek


Re: JSF scope request, session

2006-10-10 Tema obsahu Mirek Stohr
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

2006-10-10 Tema obsahu Mirek Stohr
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







Re: JSF scope request, session

2006-10-10 Tema obsahu Mirek Stohr

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: Synchronizace persistentnich objektu

2006-10-09 Tema obsahu Mirek Stohr

Neslo, nepouzivam Hibernate :-))

 Mirek


Jakub Příkazský napsal(a):
A není možné tohle už nějak řešit na úrovni Hibernate? Dost bych se 
divil, že by H neměl podporu pro řešení tohoto problému.


Jakub

Mirek Stohr wrote:

Presne vasi situaci (malo velkych stromu) mam taky. Resim to, jak jsem 
jiz napsal, verzovanim, a verzi vlastni kazdy objekt ve stromu (resp., 
kazdy objekt u ktereho to dava smysl, tj. objekt, ktery mohu nejakym 
zpusobem editovat). V pripade zapisu do db se zvetsi verze nikoliv 
pouze objektu, ktery byl editovan, ale i objektu na stejne vetvi az po 
koren, cimz zajistim konzistenci stromu. Ma to nevyhodu ze muze byt 
odmitnut zapis naprosto nesouvisejicich zmen, ale pomer cteni/zapis v 
moji aplikaci je natolik velky, ze jsem zvolil tuto strategii (tj. 
zvolil jsem mirny pesimismus v optimisticke strategii :-))



Mirek


Lukas Barton napsal(a):


Honza wrote:


Dekuji za odpoved.

Optimisticke zamikani vypada docela slibne. Nicmene vezmneme 
nasledujici priklad. Objekty v mem systemu se radi do samostatnych 
stromu. Techto stromu bude docela malo v pomeru s tim jak jsou 
velike. Zamykat jenom podstromy by bylo dost slozite, takze budu 
muset zamykat koren. Pouziji-li optimisticky lock znamena to ze si 
dva uzivatele budou moci soucasne otevrit ten samy strom a pracovat 
v nem (pridavat/prohlizet/menit/mazat listy), ale zmeny se podari 
ulozit jenom tomu kdo jako prvni klikne save a commitne svoji 
transakci. Druhemu uzivateli by pak bylo sdeleno ze jeho zmeny nelze 
ulozit.


Z tohoto duvodu me prijde schudny jedine pesimisticky pristup. 
Nicmene stale premyslim jak to implementovat a jedine co me napada 
pridat do DB sloupecek ktery bude zamek identifikovat a tim se 
ridit. Dalsi problem vidim v trvanlivosti takovychto zamku a taky 
jak zajistim ze v jine session nedojde k nejake chybe a zamek se 
neuvolni. Je periodicke obnovovani zamku spravne reseni? 


Je to jedno z moznych reseni, ale jakekoliv pesimisticke zamky 
prinasi problemy - viz ten timeout zamku.


Zajimave je to popsano v clanku 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/concurev4M.asp 


Tam se doctete, co dal by mohlo pomoci:
- uzivatel vlastni svoje data (toto pouzivame ve 2,5 vrstve aplikaci 
taky, spolu s verzovanim)
- pouzivate navrhovy vzor business actions neboli postings (v 
podstate chytrejsi verzovani dat)
- omezte dobu po jakou muze uzivatel editovat sva data, bez ziskani 
nove verze
- zvetste granularitu moznosti editace (napr. povolte pouze jednu 
zmenu struktury ve stromu a po ni synchronizujte verze se serverem)



Do teto polozky by se moje aplikace dala zaradit.



Verzovanim si v podstate vyrabite situaci kdy:
- zapis neblokuje cteni
- cteni neblokuje zapis
Tj. MVCC, ktere v posledni dobe na urovni databaze zavedli/zavedou 
dalsi 3 produkty (MS SQL od verze 2005, DB2 na PC (verzi zpameti 
nevim a Informix (pristi verze). Tuto funkcionalitu uz delsi dobu ma 
Oracle (od verze 6 nebo 7), od uplneho zacatku Interbase (Firebird), 
PostreSQL a MySQL InnoDB.



 Lukas










Re: Synchronizace persistentnich objektu

2006-10-06 Tema obsahu Mirek Stohr
Presne vasi situaci (malo velkych stromu) mam taky. Resim to, jak jsem 
jiz napsal, verzovanim, a verzi vlastni kazdy objekt ve stromu (resp., 
kazdy objekt u ktereho to dava smysl, tj. objekt, ktery mohu nejakym 
zpusobem editovat). V pripade zapisu do db se zvetsi verze nikoliv pouze 
objektu, ktery byl editovan, ale i objektu na stejne vetvi az po koren, 
cimz zajistim konzistenci stromu. Ma to nevyhodu ze muze byt odmitnut 
zapis naprosto nesouvisejicich zmen, ale pomer cteni/zapis v moji 
aplikaci je natolik velky, ze jsem zvolil tuto strategii (tj. zvolil 
jsem mirny pesimismus v optimisticke strategii :-))



Mirek


Lukas Barton napsal(a):

Honza wrote:

Dekuji za odpoved.

Optimisticke zamikani vypada docela slibne. Nicmene vezmneme 
nasledujici priklad. Objekty v mem systemu se radi do samostatnych 
stromu. Techto stromu bude docela malo v pomeru s tim jak jsou velike. 
Zamykat jenom podstromy by bylo dost slozite, takze budu muset zamykat 
koren. Pouziji-li optimisticky lock znamena to ze si dva uzivatele 
budou moci soucasne otevrit ten samy strom a pracovat v nem 
(pridavat/prohlizet/menit/mazat listy), ale zmeny se podari ulozit 
jenom tomu kdo jako prvni klikne save a commitne svoji transakci. 
Druhemu uzivateli by pak bylo sdeleno ze jeho zmeny nelze ulozit.


Z tohoto duvodu me prijde schudny jedine pesimisticky pristup. Nicmene 
stale premyslim jak to implementovat a jedine co me napada pridat do 
DB sloupecek ktery bude zamek identifikovat a tim se ridit. Dalsi 
problem vidim v trvanlivosti takovychto zamku a taky jak zajistim ze v 
jine session nedojde k nejake chybe a zamek se neuvolni. Je periodicke 
obnovovani zamku spravne reseni? 
Je to jedno z moznych reseni, ale jakekoliv pesimisticke zamky prinasi 
problemy - viz ten timeout zamku.


Zajimave je to popsano v clanku 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/concurev4M.asp 


Tam se doctete, co dal by mohlo pomoci:
- uzivatel vlastni svoje data (toto pouzivame ve 2,5 vrstve aplikaci 
taky, spolu s verzovanim)
- pouzivate navrhovy vzor business actions neboli postings (v 
podstate chytrejsi verzovani dat)
- omezte dobu po jakou muze uzivatel editovat sva data, bez ziskani nove 
verze
- zvetste granularitu moznosti editace (napr. povolte pouze jednu zmenu 
struktury ve stromu a po ni synchronizujte verze se serverem)


Do teto polozky by se moje aplikace dala zaradit.



Verzovanim si v podstate vyrabite situaci kdy:
- zapis neblokuje cteni
- cteni neblokuje zapis
Tj. MVCC, ktere v posledni dobe na urovni databaze zavedli/zavedou dalsi 
3 produkty (MS SQL od verze 2005, DB2 na PC (verzi zpameti nevim a 
Informix (pristi verze). Tuto funkcionalitu uz delsi dobu ma Oracle (od 
verze 6 nebo 7), od uplneho zacatku Interbase (Firebird), PostreSQL a 
MySQL InnoDB.



 Lukas




Re: Synchronizace persistentnich objektu

2006-10-05 Tema obsahu Mirek Stohr
Prakticky stejny problem resim verzovanim objektu. Napsal jsem si k tomu 
drobnou knihovnicku, a vse bezi bez problemu.


Podotykam ale ze je to zpusob ktery zvysi zatez db a app. serveru, ale 
nastesti moje aplikace zatim s vykonem problemy nemely (a pokud mely, 
duvod nebyl ve vyse zminenem).


   Mirek


Honza napsal(a):

Zdravim,

muj dotaz se primo netyka Javy, ale spise navrhu aplikaci. Doufam ze 
neni prilis off-topic.


Jak se ve viceuzivatelskem prostredi resi sychronizace a zamykani 
persistetnich dat?


At uz pisu dvou nebo tri vrstvou aplikaci, vzdycky se nakonec potkam s 
problemem, kdy si jeden uzivatel vyzada nejaky objekt (ktery v DB 
reprezentovan nekolika zaznamy v ruznych tabulkach) a tento objekt 
upravuje nebo prohlizi.


V pripade, ze s timto objektem bude chtit pracovat i jiny uzivatel, tak 
mu musim zmeny na takovemto objektu zakazat (zamek uz vlastni jiny 
uzivatel).


Jedna se o klasickou situaci read/write zamku branici vzniku 
inkonzistentnich dat. Read zamek muze mit kdokoli. Write zamek muze mit 
jen jeden.


Napadlo me nekolik zpusobu reseni, ale zadny jsem si zatim nedokazal 
obhajit jako zivota schopny (na mapovani objektu DB-Java pouzivam 
vlastni knihovnu). Resi nektere opensource frameworky tuto problematiku? 
Resite ji vy ve svych aplikacich? Jak?


Predem velice dekuji za jakekoly ohlasy.

Honza




Re: RMI server - nabizene objekty

2006-10-05 Tema obsahu Mirek Stohr

Nepomohlo by java.rmi.registry.Registry.list() ?

 Mirek


Benda Lukas napsal(a):

Jak poznam ktere objekty mi RMI registr nabyzi na danem portu?

Jde mi o to, ze jsem vytvoril client a server. Server jsem spustil a 
client se k nemu neumi prihlasit. Ted nevim jestli je chyba na strane 
client, nebo na strane server. Jak poznam ze objekt serveru je v 
registru a je skutecne nabizen clientum?


Da se nekde zjistit seznam nabizenych objektu danym registrem?

Lukas benzin Benda ([EMAIL PROTECTED];  http://benzin.bloguje.cz)
Java a Delphi programator
PHP a JavaScript skrypter
Tvurce databazovych aplikaci
A cestinarsky ignorant



Re: Oddelovac desetin

2006-10-02 Tema obsahu Mirek Stohr
Osobne si myslim, ze nelze vzdy zpracovat jakykoliv vstup od uzivatele, 
tj. ze uzivatel nese odpovednost za spravnost sveho zadani. Proto pokud 
aplikace pouziva ceske locale (a uzivatel je na to upozornen), pak 
uzivatel musi zadavat desetinnou carku (jak je v ceskych locale 
definovano). Samozrejme je mozne uzivateli vyjit vstric a umoznit mu v 
uzivatelskem nastaveni zvolit jinou moznost.


Tj., shrnuto, obecne reseni na tento problem bych vubec nehledal, a 
postupoval dle vyse uvedeneho.


 Mirek



jeeff napsal(a):

Ahojte,

myslim, ze sa to da spravit nejak takto:

1. vyhadzat medzery ako pise aubi
2. zistit ci je tam len jedna ciarka a ziadna bodka - vtedy je to asi 
oddelenie desatinneho miesta - skonvertujem na bodku
3. ak su tam aj ciarky aj bodky, tak to co je posledne je oddelenie 
desatinneho miesta, cize to zmenim na . a ostatne odstranim


s takymto postupom by to mohlo fungovat bez ohladu na regionalne 
nastavenia. Ci to aj bude dobre riesenie, neviem posudit, kedze neviem 
ci sa vzdy zadavaju aj desatinne miesta. Toto urcite zliha na zapise 
100,000 Sk (akoze 10), pretoze si bude mysliet ze je to 100.000 (100 
Sk).


aubi wrote:

Resime problem se zadavanim cisel ve webove aplikaci. Vime zemi uzivatele a
Jak to resite vy?



Pokud v tom neni nic jineho nez zadavani, pak ja to resim tak, ze vyhazu
mezery a carku zmenim na tecku. Pokud ale pouzije anglicke oddelovace
tisicu (carka), tak je to neresitelne.

Pokud jde o vypis, ktery ma byt korektni, tak defaultne podle toho, co
nahlasi browser o preferenci jazyku, pripadne podle uzivatelskeho
nastaveni.

aubi

  



--
jeeff



Re: JSF vice na sobe zavislych listboxu

2006-09-27 Tema obsahu Mirek Stohr

Ted jenom hadam mozne priciny chyby:
1/ v prvnim selectOneMenu mate jako onchange JavaScript submit();, tj. 
vyvola se HTTP request, ale chybi nektery parametr, ktery si JSF interne 
predava (selectOneMenu je komponenta UISelectOne, a ta neimplementuje 
ActionSource, commandButton je UICommand, ktery ActionSource 
implementuje, takze tady je to zarizeno interne), diky tomu nemuze 
korektne probehnout cely zivotni cyklus.
2/ Nebylo v zjednoduseni opominuto ze SelectItem obsahuje i jine hodnoty 
nez stringy? Nemohou se tam dostat odnekud napriklad datumy, atd.? 
(vlastni neblaha zkusenost :-))
3/ Vas priklad je dozajista zjednoduseny, ale u druheho selectOneMenu 
vam chybi atribut value, tj. jak zjistujete vybranou hodnotu?
4/ Zkuste vypisovat chybova hlaseni pro kazdy prvek pomoci h:message 
for=select2 /, nekdy to pomuze lokalizovat zdroj chyby lepe.


Neslo by to cele vyresit elegantneji pomoci jednoho selectOneMenu, ktere 
by obsahovalo SelectItemGroup (ovoce, zelenina, napoje), a kazda 
tato SelectItemGroup by pak mela jednotlive polozky (pivo, limo, 
kava)?


  Mirek



Holoubek, Vaclav (EOT) napsal(a):

Dobry den,
Snažím se pomoci JSF naplnit vice listboxu, které se budou vzajemne ovlivnovat. 
Delam to na Websphere 6.0.
Nechova se mi to ale korektne a při zmene prvniho listboxu to hlasi tuto chybu 
(ale ne vzdy) :
0050 jsf   E com.sun.faces.context.FacesContextImpl addMessage 
Adding Message[sourceId=_id0:select2,summary=Validation Error: Value is not 
valid)

Nevite co delam spatne 

zde je ukazka
JSF stranka:
f:view
BODYh:form
	h:selectOneMenu id=select1 
	 onchange=submit() 
	 value=#{managedBean.druh}

f:selectItems value=#{managedBean.seznamDruhu}/
/h:selectOneMenu
BR
-
BR
h:selectOneMenu id=select2
f:selectItems value=#{managedBean.seznamZbozi}/
/h:selectOneMenu
BR
BR
	h:commandButton type=submit 
	   value=Submit 
	   action=#{managedBean.vystup}

/h:commandButton
/h:form
/BODY
/f:view

ManagedBean:
public class ManagedBean

{
private String aktDruh = ;
 
private SelectItem[] druhy =

{ new SelectItem(Napoje),
  new SelectItem(Ovoce),
  new SelectItem(Zelenina)};

private SelectItem[] napoje =
{ new SelectItem(Limo),
  new SelectItem(Pivo),
  new SelectItem(Kava)};
private SelectItem[] ovoce =
{ new SelectItem(Jablko),
  new SelectItem(Hruska),
  new SelectItem(Svestka)};
private SelectItem[] zelenina =
{ new SelectItem(Mrkev),
  new SelectItem(Celer),
  new SelectItem(Petrzel)};

public SelectItem[] getSeznamDruhu() {
return(druhy); 
	}

public SelectItem[] getSeznamZbozi() {
if(aktDruh.equals(Napoje))
return(napoje);
if(aktDruh.equals(Ovoce))
return(ovoce);
if(aktDruh.equals(Zelenina))
return(zelenina);
else return(zelenina);
}

public String getDruh() { return(aktDruh); }

public void setDruh(String zbozi) {
   this.aktDruh = zbozi;
}

public String vystup() {
  return(vystup);
}
}






Re: Optoklam na vikend

2006-09-14 Tema obsahu Mirek Stohr
Tak to me kdysi taky stalo nekolik krusnych chvil hledani chyby, nez 
jsem si precetl javadoc :-))


 Mirek


Rastislav Rehak napsal(a):

Skuste povedat co vam vrati vyraz :

Boolean.getBoolean( true )

Ak si myslite, ze true, tak si chodte pozriet dokumentaciu.

Bye Ra100





JSF a session attribute listener

2006-08-29 Tema obsahu Mirek Stohr

Vazeni kolegove,

potreboval bych pouzit v JSF aplikaci HttpSessionAttributeListener. 
Nemam problem s jeho vytvorenim a konfiguraci, ale nevim jestli JSF 
specifikace neco takoveho nevylucuje, jestli je tento objekt mozno 
pouzit a zustat pritom pure JSF 1.2 :-)) (tj. napr. na nejakem 
konkretnim app. serveru nenarazim, apod.)


Dekuji za odpovedi.

  Mirek


ldap realm over ssh

2006-08-03 Tema obsahu Mirek Stohr

Vazeni kolegove,

mam tady takovy konfiguracni problem s app. serverem (konkretne je to 
Sun Java System Application Server Platform Edition 9.0, build b48). EE 
aplikace na nem bezi, a je potreba aby se kontaktovali uzivatele. 
Databaze uzivatelu je pristupna z ldap, ovsem pristup do ldap je mozny 
pouze pres ssh, tj. je potreba nakonfigurovat ldapsRealm. V dokumentaci 
jsem naleznul pouze instrukce k ldapRealmu, ani po dlouhem trapeni 
Google nejsem o nic moudrejsi.


Zkusil jsem tedy primo pouzit ldapRealm, s nastavenim
directory: ldaps://myldap.mycompany.cz
base-dn: dc=mycompany, dc=cz
jaas-context: ldapRealm
importoval jsem patricny certifikat pomoci keytool do patricne serverove 
keystore, a vysledek je ze se nejde nalogovat, konkretne s vyhozenim


Login failed: javax.security.auth.login.LoginException: 
javax.naming.CommunicationException: anonymous bind failed: 
myldap.mycompany.cz:636 [Root exception is 
javax.net.ssl.SSLHandshakeException: 
sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to 
find valid certification path to requested target]


Vypada to jako by ldapRealm nedovedl najit certifikat v keystore. Proc 
ale netusim.


Nemate nejaky napad co jsem udelal spatne, ci napovedu jak zprovoznit (u 
vyse uvedeneho serveru) ldap over ssh?


Diky za napovedu predem.

 Mirek


Re: ldap realm over ssl

2006-08-03 Tema obsahu Mirek Stohr
Oh, ja bloud, samozrejme ssl, nikoliv ssh, tak to dopada kdyz clovek 
dela vice veci najednou a mluvi na nej :-)) Prominte.


Kus kodu poslat nemuzu, protoze chci pouzit v EE aplikaci (kterou tvori 
ejb vrstva, jsf vrstva starajicici se o klientske rozhrani a par dalsich 
vecicek) declarative security, tj. abych pouhym nastavenim deployment 
descriptoru (plus dodanim jsf stranek typu login.jsp, loginerror.jsp, 
atd.) dosahnul toho, aby se do aplikace uzivatele museli nalogovat, dle 
sve user-group meli pravo delat jenom neco, atd. Takze musim na app. 
serveru zprovoznit nastaveni patricneho realmu, ktery pak vyuziju, tj. 
cely muj dotaz je konfiguracni, nikoliv programatorsky.


Snad to moc nepletu, presne vyjadrovani mi nejak moc nejde :-))

   Mirek


Burdik Petr napsal(a):

Ahojte Mirku,
ssl ci tls jste myslel, vidte? Neplette si ssh a ssl. Dalsi veci je,
muzete poslat kus kodu kde se na to connectujete? Mam kus kodu kde jsem
to vyresil.

Preju pekny den
Pet

Mirek Stohr wrote:

Vazeni kolegove,

mam tady takovy konfiguracni problem s app. serverem (konkretne je to
Sun Java System Application Server Platform Edition 9.0, build b48).
EE aplikace na nem bezi, a je potreba aby se kontaktovali uzivatele.
Databaze uzivatelu je pristupna z ldap, ovsem pristup do ldap je mozny
pouze pres ssh, tj. je potreba nakonfigurovat ldapsRealm. V
dokumentaci jsem naleznul pouze instrukce k ldapRealmu, ani po dlouhem
trapeni Google nejsem o nic moudrejsi.

Zkusil jsem tedy primo pouzit ldapRealm, s nastavenim
directory: ldaps://myldap.mycompany.cz
base-dn: dc=mycompany, dc=cz
jaas-context: ldapRealm
importoval jsem patricny certifikat pomoci keytool do patricne
serverove keystore, a vysledek je ze se nejde nalogovat, konkretne s
vyhozenim

Login failed: javax.security.auth.login.LoginException:
javax.naming.CommunicationException: anonymous bind failed:
myldap.mycompany.cz:636 [Root exception is
javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to
find valid certification path to requested target]

Vypada to jako by ldapRealm nedovedl najit certifikat v keystore. Proc
ale netusim.

Nemate nejaky napad co jsem udelal spatne, ci napovedu jak zprovoznit
(u vyse uvedeneho serveru) ldap over ssh?

Diky za napovedu predem.

 Mirek





Re: pls help - sql statement

2006-07-31 Tema obsahu Mirek Stohr
Osobne se domnivam, ze chyba je v radku, kde volas znovu 
statement.execute(delete ...), aniz jsi ukoncil praci s ResultSetem, 
ktery jsi dostal predchazejicim executeQuery. Zkus to rozdelit na dva 
statementy, pripadne nejdrive nacist, a az pak mazat.


Je ale mozne ze pisu naproste nesmysly, nezkousel jsem s tim 
experimentovat a strilim od boku.


Mirek


[EMAIL PROTECTED] napsal(a):

Dobry den,
byl bych velice vdecen za radu jelikoz uz nevim co stim.
Mam cvs soubor, ze ktereho dostavam jazykove verze a ty ukladam do databaze (
DB2 )
kazdy zaznam v souboru ma svoje id. Ja ty zaznamy vypisuji cyklem a v tom cyklu
volam nize uvedeny kod, ktery overi jestli existuje nejaky zaznam s konkretnim
id uz v databazi a pokud ano, tak jej smaze a nasledne vlozi jazykove verze.
Problem mam prave v casti ktera zjistuje jestli nejaky uz existuje a kdyztak jej
maze. Porad at to zkousim jak chci, pokud zaznam existuje dostavam error:
java.sql.SQLException: Cursor state not valid.

A nevim co stim.
Omlouvam se za lama dotaz. Je mi jasny, ze chyba je mezi zidli a klavesnici.
Predem diky za radu.

Class.forName(com.ibm.as400.access.AS400JDBCDriver);
// register driver
java.sql.DriverManager.registerDriver (new
com.ibm.as400.access.AS400JDBCDriver());
// create connection
Connection con = DriverManager.getConnection(jdbc:as400/ip, user, pass);
// create statement
Statement statement = con.createStatement();
// enable making safety query
statement.setEscapeProcessing(true);
// check if some item with current id exist in table
ResultSet r = statement.executeQuery(SELECT COUNT(text_id) AS c FROM
LIB.HTML_TEXT WHERE text_id=' + id + ');

// if item is exist remove it
while ( r.next() )
{
if ( Integer.parseInt(r.getString(c))  0 )
{
 statement.execute(DELETE FROM LIB.HTML_TEXT WHERE text_id=' + id + '
);
}
}

// crete query for german version
String sql1 = INSERT INTO LIB.HTML_TEXT (text_id, text_language, html_text,
app_s)  + VALUES ('+id+', 'GER', '+ger+', 1);
// create query for english version
String sql2 = INSERT INTO LIB.HTML_TEXT (text_id, text_language, html_text,
app_s)  + VALUES ('+id+', 'EN', '+en+', 1);
// create query for french version
String sql3 = INSERT INTO LIB.HTML_TEXT (text_id, text_language, html_text,
app_s)  + VALUES ('+id+', 'FR', '+fr+', 1);

//execute queries and dump messages
if ( statement.execute(sql1) == true )
{
System.out.println(id +  sql1 item has been inserted);
}
if ( statement.execute(sql2) == true )
{
System.out.println(id +  sql2 item has been inserted);
}
if ( statement.execute(sql3) == true )
{
System.out.println(id +  sql3 item has been inserted);
}
con.close();


Zdenek Kasparek



This message was sent using IMP, the Internet Messaging Program.



Re: Zamedzenie viacnasobnemu vykonaniu metody

2006-07-27 Tema obsahu Mirek Stohr
Ja to resil pres ulozen objektu nakupniho kosiku do session uzivatele, 
plus synchronized metoda aby ji nemohl volat dokud nedobehla. Pokud ma 
dve okna prohlizece, jsou to dve session, takze problem nevznikne -- 
nakupni kosiky ma taky dva, a stornuje kazdy zvlast. A session listener 
v metode  sessionDestroyed() kosik automaticky vysype, pokud v nem tedy 
neco je. Pokud padne cely server kvuli OutOfMemoryError, tak to pravd. 
bude vetsi problem a bude se to muset resit rucne. Funguje to zatim 
celkem dobre :-))


Mirek


Tomas Hubalek napsal(a):
Co takhle to resit jako constraint/trigger v databazi? Jde prece o to, 
aby data sedele, tj. abych mel bud nakup a nebo zaznam o stornu. Pokud 
mate spravne integritni omezeni v databazi, nemela by se vam takovato 
vec stat.


Tom

jeeff napsal(a):

Ahojte,

vo web rozhrani riesim ako zamedzit viacnasobnemu zavolaniu nejakej 
metody.


Priklad:

majme metodu pre stornovanie nakupu pri ktorom sa vracia suma za nakup 
na ucet nakupujuceho. Je to spravene ako staticka metoda:


public class NakupyDB
{
  public static boolean stornoNakup(NakupBean nakup)
  {
 //najskor skontrolujme ci uz nahodou nie je stornovany
 if (nakupBean.isStornovany()) return false;
 //vratime sumu na ucet
 
 //nastavime ze je to stornovane
 nakupBean.setStornovany(true);
 //uloz nakup do DB
 
 return true;
  }
}

Tato metoda je volana z JSP stranky po kliknuti na prislusnu linku. 
Chcem zamedzit tomu, ze nakupujuci 2x klikne na linku, pripadne si 
otvori stranku v 2 oknach a naraz klikne 2x. V tom pripade by sa mu 
suma za nakup mohla vratila viac krat - ak by prvy thread presiel za 
test if (nakupBean.isStornovany()) return(false); a potom sa web 
server prepol do druheho threadu a ten by sa tiez dostal za tento test.


Ako najjednoduchsie riesenie sa mi zda spravit celu metodu ako 
synchronized. Nie je z nej volany ziadny iny synchronized blok, takze 
by teoreticky nemalo dojst k deadlocku. Neviem ci by sa ale zamok 
spravne odomkol, keby doslo k nejakemu divnemu stavu, napr. Out Of 
Memmory alebo nieco podobne.


Padol tu aj navrh o napisani filtra, ktory by neumoznil viac krat 
sucasne (pre daneho navstevnika) zavolat rovnake URL.


Akym sposobom taketo situacie riesite vy?






Re: jsf a errorpage

2006-07-26 Tema obsahu Mirek Stohr

Odpovidam si sam (po delsim trapeni Google):
viz.:
http://forum.java.sun.com/thread.jspa?forumID=427threadID=481177
http://forum.java.sun.com/thread.jspa?threadID=510112messageID=4283555

Pokud jsem to dobre pochopil, tak situace se ma tak, ze pokud jde o 
chybu uvnitr action metody nejakeho jsf managed beanu, je treba ji resit 
tam, tj. mit neco jako


public String doMyAction(){
  try{
// neco provadim
  } catch(MyException ex){
// zpracovavam ocekavany vyjimecny stav
  } catch(Exception ex){
return error;
  }
}

a ve faces-config.xml mit direktivu
navigation-rule
  navigation-case
from-outcomeerror/from-outcome
to-view-id/errorpage.faces/to-view-id
  /navigation-case
/navigation-rule

Pokud ale dojde k vyhozeni exception uvnitr get/set metody, uvnitr 
konstruktoru, atd., je situace otevrena a vypada to ze tvurci 
specifikace JSF na to jaksi pozapomneli, ci patricna cast JSF 
specifikace je silne nejasna a nikdo tomu nerozumi (diskuze vedou vzdy 
do ztracena, tj. neni nabidnuto zadne rozumne obecne fungujici reseni).


Toz tak. Snad je to nekomu napomocne. Jak to resite vy?

Mirek


Mirek Stohr napsal(a):

Vazeni kolegove,

zkusil jsem si na web aplikaci (EJB3, JSF 1.2, glassfish app. server) 
jak mi beha errorpage, a vysledkem bylo me prekvapeni, ze mi vubec 
nebeha, resp. dostanu defaultni errorpage generovanou serverem. Pri 
nastavovani jsem postupoval presne podle 
http://wiki.apache.org/myfaces/Handling_Server_Errors, tj.


web.xml:
  error-page
error-code500/error-code
location/errorpage.faces/location
  /error-page
  error-page
exception-typejava.lang.Throwable/exception-type
location/errorpage.faces/location
  /error-page

errorpage.faces:

f:view
  f:verbatimh1Interní chyba/h1/f:verbatim
  f:verbatim
V systému aplikace došlo k interní chybě. Prosím, upozorněte
mě. Děkuji.
  /f:verbatim
  f:verbatimh4Chybové hlášení/h4/f:verbatim
  h:outputText value=#{errorBean.errorMessage} /
/f:view

Kde by mohla byt chyba, resp. jak se pro vyse uvedenou spec. lisi 
nastaveni errorpage pro zobrazovani internich chyb aplikace? Doposud 
jsem naivne myslel ze nijak. Diky.


Mirek






Re: jsf a errorpage

2006-07-26 Tema obsahu Mirek Stohr
To je zajimave, protoze tento postup jsem zkousel jako prvni (viz. muj 
orig. prispevek) a nefungoval, dostaval jsem defaultni stranku s vypisem 
chyby (jako by errorpage.jsf neexistovala). Jake mate presne verze JSF, 
kde to provozujete?


 Mirek


Jaroslav Hurdes napsal(a):
U nas to resime jednotne, a to tak, ze vsude vyhazujeme vyjimku 
FacesException (i v akcich) a ve web.xml mame pridano


error-page
 error-code500/error-code
 location/common/errorView.jsf/location
/error-page

Toto nam zajisti, ze chyba projde do nasi errorView a chybu zobrazime 
podle nasi predstavy. V zasade by to melo fungovat s jakoukoli 
RuntimeException.


Jaroslav Hurdes

Mirek Stohr wrote:


Odpovidam si sam (po delsim trapeni Google):
viz.:
http://forum.java.sun.com/thread.jspa?forumID=427threadID=481177
http://forum.java.sun.com/thread.jspa?threadID=510112messageID=4283555

Pokud jsem to dobre pochopil, tak situace se ma tak, ze pokud jde o 
chybu uvnitr action metody nejakeho jsf managed beanu, je treba ji 
resit tam, tj. mit neco jako


public String doMyAction(){
  try{
// neco provadim
  } catch(MyException ex){
// zpracovavam ocekavany vyjimecny stav
  } catch(Exception ex){
return error;
  }
}

a ve faces-config.xml mit direktivu
navigation-rule
  navigation-case
from-outcomeerror/from-outcome
to-view-id/errorpage.faces/to-view-id
  /navigation-case
/navigation-rule

Pokud ale dojde k vyhozeni exception uvnitr get/set metody, uvnitr 
konstruktoru, atd., je situace otevrena a vypada to ze tvurci 
specifikace JSF na to jaksi pozapomneli, ci patricna cast JSF 
specifikace je silne nejasna a nikdo tomu nerozumi (diskuze vedou vzdy 
do ztracena, tj. neni nabidnuto zadne rozumne obecne fungujici reseni).


Toz tak. Snad je to nekomu napomocne. Jak to resite vy?

Mirek


Mirek Stohr napsal(a):


Vazeni kolegove,

zkusil jsem si na web aplikaci (EJB3, JSF 1.2, glassfish app. server) 
jak mi beha errorpage, a vysledkem bylo me prekvapeni, ze mi vubec 
nebeha, resp. dostanu defaultni errorpage generovanou serverem. Pri 
nastavovani jsem postupoval presne podle 
http://wiki.apache.org/myfaces/Handling_Server_Errors, tj.


web.xml:
  error-page
error-code500/error-code
location/errorpage.faces/location
  /error-page
  error-page
exception-typejava.lang.Throwable/exception-type
location/errorpage.faces/location
  /error-page

errorpage.faces:

f:view
  f:verbatimh1Interní chyba/h1/f:verbatim
  f:verbatim
V systému aplikace došlo k interní chybě. Prosím, upozorněte
mě. Děkuji.
  /f:verbatim
  f:verbatimh4Chybové hlášení/h4/f:verbatim
  h:outputText value=#{errorBean.errorMessage} /
/f:view

Kde by mohla byt chyba, resp. jak se pro vyse uvedenou spec. lisi 
nastaveni errorpage pro zobrazovani internich chyb aplikace? Doposud 
jsem naivne myslel ze nijak. Diky.


Mirek













jsf a errorpage

2006-07-25 Tema obsahu Mirek Stohr

Vazeni kolegove,

zkusil jsem si na web aplikaci (EJB3, JSF 1.2, glassfish app. server) 
jak mi beha errorpage, a vysledkem bylo me prekvapeni, ze mi vubec 
nebeha, resp. dostanu defaultni errorpage generovanou serverem. Pri 
nastavovani jsem postupoval presne podle 
http://wiki.apache.org/myfaces/Handling_Server_Errors, tj.


web.xml:
  error-page
error-code500/error-code
location/errorpage.faces/location
  /error-page
  error-page
exception-typejava.lang.Throwable/exception-type
location/errorpage.faces/location
  /error-page

errorpage.faces:

f:view
  f:verbatimh1Interní chyba/h1/f:verbatim
  f:verbatim
V systému aplikace došlo k interní chybě. Prosím, upozorněte
mě. Děkuji.
  /f:verbatim
  f:verbatimh4Chybové hlášení/h4/f:verbatim
  h:outputText value=#{errorBean.errorMessage} /
/f:view

Kde by mohla byt chyba, resp. jak se pro vyse uvedenou spec. lisi 
nastaveni errorpage pro zobrazovani internich chyb aplikace? Doposud 
jsem naivne myslel ze nijak. Diky.


Mirek



JSF EL

2006-06-20 Tema obsahu Mirek Stohr

Vazeni kolegove,

mam nasledujici problem: Class, jehoz nektere atributy chci zobrazovat 
na JSF strankach, ma asi nasledujici tvar:


public class MyClass{
// spousta vynechana

public String getClassAttribute(){
// vynechano
}

public MapString,String getClassProperties(){
//  vynechano
}
}

No a na JSF strance bych potreboval zobrazit properties tohoto classu 
(vraci je jako Map), ale nikoliv vsechny, ale jednu konkretni, jejiz 
klic znam. Tj. neco jako


myClass.getClassProperties().get(key_name);

Doposud jsem v JSF EL nenasel zpusob, jak to udelat, jedine co me 
napadlo je napsat wrapper, ktery bude mit metodu


public String getKeyNameProperty(){
myClass.getClassProperties().get(key_name);
}

a pak jej volat napr.

h:outputText value=#{myClassWrapper.keyNameProperty} /

Coz je ale dost otravne, pokud to musite delat pro vic classu, navic ony 
klice se mohou dodatecne menit.


Doufam, ze jsem se vyjadril dostatecne presne. Nevite o nejakem lepsim 
reseni?


Diky predem.

   Mirek


Re: textarea size

2006-06-19 Tema obsahu Mirek Stohr
html element textarea ma primo atributy cols (pocet sloupcu v jednotce 
prumerne sirky znaku) a rows (pocet radku).


Pokud textarea generujete pomoci jsf tagu h:inputTextarea ..., tak ten 
ma analogicky pojmenovane atributy.


 Mirek


[EMAIL PROTECTED] napsal(a):


hi all,
da sa nejako pomocou html, javascriptu, ... povedat, aby sirka tagu 
textarea bola napr. na 30 znakov a nie aby sa prisposobovalo najdlhsiemu 
textu v option?


Marian Stevlik (Michal)
IS programmer / developer

GAMO a.s.
Kyjevske nam. 6
974 04 Banska Bystrica
web: www.gamo.sk
mail: [EMAIL PROTECTED]
tel: +421 48 4372098, 4137935, 4372111
gsm: +421 905 462010
icq: 38493645
skype: majklbb


Re: Exception handling - teorie vs praxe

2006-06-14 Tema obsahu Mirek Stohr
Ja ja, svata pravda, to o tech parametrech metody, a o logovani 
podstatnych vs. nepodstatnych vyjimek. Do kamene tesat :-))



   Mirek

Jiří Melichna napsal(a):

Dobry den,

vicenasobny zapis vyjimky je lepsi pro analyzu a podle me nevadi ani v 
provozu beznemu dohledovemu systemu jako je napr. HP OpenView, ktery log 
monitoruje. Dulezite je spise zvazit, jaka vyjimka se loguje a jakym 
zpusobem.
Casto dostanu k analyze provozni log, kde je videt, ze k nejake vyjimce 
doslo, ale malo kdy vyvojari pri zapisu do logu pridaji informace, jak 
byla metoda volana - napr. hlavni parametry. Mimochodem, i z pohledu 
vypisu parametru je velmi zadouci o vyjimce zapsat info tam, kde 
vznikla. Hledani a simulace chyby se tak dosti protahuje. Vinu na casto 
mizernem logovani nese trochu i casto pouzivany log4j. Vyvojar ma hodne 
debug informaci, ale zapomina, ze v provoznim prostredi se tento level 
az na vyjimky nepouziva. Casto pak dojde na prekvapeni a vyvojar se 
pidi, co delal uzivatel, ale to se nikdy nedovi, protoze log dostane ze 
supportu po dvou dnech...


Dale se casto zamyslim, zda a jak patri do logu business vyjimka - 
napr. pri bezne pouzivanem prikladu s bankovnim uctem, bych v beznem 
logu urcite videl info o tom, ze se nekdo snazi vybrat vice, nez ma na 
uctu. Podle me toto do standardniho logu pro dohled nad systemem nepari, 
a takovato vyjimka by se mela osetrit a zaznamenat jinak (napr. do 
nejakeho auditniho subsystemu). Krome toho, jak jsem psal vyse, by casto 
vyvojari vyjimku zalogovali pokud mozno bez informace o cisle uctu a o 
castce, kterou se snazil nekdo vybrat :-).

melichnj



 Původní zpráva 
Od: Stanislav Ošmera [EMAIL PROTECTED]
Předmět: Re: Exception handling - teorie vs praxe
Datum: 13.6.2006 18:34:31

Rozhodne se nezabyvejte tim ze vam nejaka vyjimka zaloguje vicekrat.
Az vam z testovaciho strediska poslou popis chyby a log, tak budete
jeste radi ze budete presne vedet kudy vyjimka bezela a kdy. Kdyz
zalogujete pri vzniku tak nevite kdo ji kde sezral a jak na ni
reagoval. Kdyz zalogujete az pri odchyceni tak zase nevite kde se
poradne ta vyjimka vlastne vzala (mohla propadnout sakra dlouhym
retezcem)

A jak pise Leos, pri spolupraci vice firem je dulezity mit v logu ze
ta vyjimka k vam pribehla z casti aplikace ktera neni vase.

--
Stanislav Ošmera









Re: Exception handling - teorie vs praxe

2006-06-13 Tema obsahu Mirek Stohr
Jedna z cest jak zabranit vicenasobnemu logovani je dusledne priradit 
kazde vyjimce jedinecne id a kontrolovat v log manageru, jestli toto id 
jiz bylo zpracovano nebo ne.


Jestli vam toto pomuze, nevim, ale cesta to je.

Otazka je, jestli logovat v okamziku vytvoreni a ne v okamziku 
zachyceni je spravna cesta, jak poskladat funkcni slozitou aplikaci. 
Toto je ale jenom namet na diskuzi, odpoved neznam (a asi ani 
jednoznacna neexistuje).


  Mirek

Tomas Hubalek napsal(a):
Podle me je mozne vyjimku logovat dvakrat a to jednou jako log.warn() v 
miste vzniku a jednou jako log.error nebo log.fatal v miste zachyceni. 
Neprijdete o ni, a mobil vam bude pipat, az to bude opravdu vazne ;-)


Tom

Lubos Vrba napsal(a):

Ahoj *,
mam jednu otazku ohledne exception handlingu. V designu projektu mame 
napsano, ze bysme meli nase Exceptions logovat v okamziku vytvoreni a 
ne v okamziku odchyceni.
To nam pusobi radu problemu, pokud se chceme vyhnout double logovani 
teze vyjimky.


Pri hledani proc to tak ma byt jsme narazili na dve veci:
1. tym vyvojaru je mlady a nezkuseny, tudiz je mozne, ze by vyjimku 
chytil a zahodil bez toho aby ji zalogoval.
2. aplikace je volana z produktu 3. stran, pres WS a pokud se vyhodi v 
nasi aplikaci vyjimka je treba aby jsme ji i zalogovali. V pripade 
chyby database dedime vyjimku z Runtime exception


Podle meho nazoru lze oba pripady urcite obejit, 1. je absolutni 
nonsence a 2. zde je otazka zda pouzivame spravne Runtime chyby a zda 
lze tento problem resit jinak.


Chtel bych znat vas nazor.

Diky,
L.





Re: JSP - prace s cestami

2006-06-06 Tema obsahu Mirek Stohr

Netusim, jestli to pomuze, ale resenim by bylo xml soubory cist pres

classLoader.getResourceAsStream(xmlfilename)

a zbytek nechat na classLoaderu, ktery by ale musel mit na sve classpath 
i vami pouzivane xml soubory.


 Mirek


[EMAIL PROTECTED] napsal(a):

Dobry den,
mam problem se kterym si nevim rady jak resit. Google nepomaha, asi se blbe
ptam. Problem je nasledujici.

Mam webovy projekt ve kterem se hodne pracuje s xml souborama.
Napsal jsem si knihovny, ktere v JSP nacitam pres javaBeany hlavne proto,
protoze muzu vyuzit scope parametr, ktery je v tomto pripade dulezity.
Nicmene resim jak zajistit rozumne zjistovani cest k xml souborum.
Mam napsanou knihovnu, ktera mi zpracovava obsah xml souboru. Nebo mam knihovnu
vytvarejici connect na databazi a potrebuju z properties souboru nacist
pristupove udaje.
Knihovnu pro praci s XML inicializuji v JSP pres useBean, ale potrebuji, aby
proparsovany obsah se vykonal v konstruktoru. Konstruktoru nemuzu ale predat
parametr, jinak by to neslo pres usebean. setProperty to taky neresi. Nechci v
kazde knihovne psat ty cesty rucne. Jednak protoze ty cesty se meni. Jina
cesta, kdyz knihovnu pouzivam jako java aplikaci, jina cesta kdyz to volam z
JSP jako web project na mem develop prostredi a jina na serveru. Taky jak jsem
rikal, to pracuje s ruznymi soubory na ruznych mistech. Chtel bych to mit nekde
rozumne na jednom miste nebo neda se nejak zjistovat z nejakeho objektu fyzicky
kde je soubor na disku?

Dekuju za jakoukoliv pomoc a omluvte lama dotaz.


This message was sent using IMP, the Internet Messaging Program.



Re: EJB3 a Netbeans 5.0 a 5.5

2006-05-25 Tema obsahu Mirek Stohr
Dekuji za obsahlou napovedu, vyzkousim jenom co budu mit chvilku na 
samostudium.



  Mirek




URBAN Leos napsal(a):

Zdravím,
neporadím s Netbeans 5.5 (i když jsem je také zkoušel) ale já to pod 5.0 
(s cílovým AS JBOSS) dělám takto:
Založím projekt X-EAR, který obsahuje jen v META-INF soubor 
application.xml. Tento projekt má v build.xml napsáno, které jiné 
projekty musí dokopírovat a že se má přejmenovat.


target name=-post-jar
property name=ear_name value=Performance/
delete file=../${ear_name}-EAR/dist/${ear_name}-EAR.jar /
copy file=../${ear_name}-EBS/dist/${ear_name}-EBS.jar todir=dist/
copy file=../${ear_name}-SBI/dist/${ear_name}-SBI.jar todir=dist/
copy file=../${ear_name}-SBS/dist/${ear_name}-SBS.jar todir=dist/
ear earfile=dist/${ear_name}.ear apxml=src/META-INF/application.xml 
fileset dir=dist
include name=*.jar/
/fileset
fileset dir=dist
include name=*.war/
/fileset
/ear
/target

A pak založím projekty X-EBS (Entity Beans), X-SBI (Session Beans 
Interfaces), X-SBS (Session Beans) ev. X-WAR.

Tyto projekty mají pro úspěšný překlad nastaveny knihovny s J2EE5,
Vám samozřejmě stačí jen X-SBS a X-SBI.
Jednotlivé projekty mají mezi sebou vazby, používají se mezi sebou. SBI 
používá EBS, SBS používá SBI a EBS.


Funguje s JBOSS bez problémů.

SBI a SBS jsou oddělené, abych klientovi mohl jednoduše podsunout jenom 
interfacy bez implementačních tříd (bezpečnost). Jinak by to klidně 
mohlo být v jednom JARu.


Sunovský server jsem zkoušel, moc se mi líbilo ovládání (a AS jako 
takový) ale co se týká EJB3 tak mne velmi zarazilo, že při definici 
vazeb to vyžadovalo do kódu entity beany přidat TopLink anotace, což 
jsem prostě nezkousnul. Kromě toho to fungovalo blbě s Postgresem (který 
to tedy ani oficiálně neumělo).


Leoš






Re: EJB3 a Netbeans 5.0 a 5.5

2006-05-25 Tema obsahu Mirek Stohr
Takze vysledek, presne podle vaseho navodu, je ten samy co pred tim. 
Mohl by jste mi prozradit co pouzivate za knihovny JavaEE 5?


Mirek


Mirek Stohr napsal(a):
Dekuji za obsahlou napovedu, vyzkousim jenom co budu mit chvilku na 
samostudium.



  Mirek




URBAN Leos napsal(a):

Zdravím,
neporadím s Netbeans 5.5 (i když jsem je také zkoušel) ale já to pod 
5.0 (s cílovým AS JBOSS) dělám takto:
Založím projekt X-EAR, který obsahuje jen v META-INF soubor 
application.xml. Tento projekt má v build.xml napsáno, které jiné 
projekty musí dokopírovat a že se má přejmenovat.


target name=-post-jar
property name=ear_name value=Performance/
delete file=../${ear_name}-EAR/dist/${ear_name}-EAR.jar /
copy file=../${ear_name}-EBS/dist/${ear_name}-EBS.jar todir=dist/
copy file=../${ear_name}-SBI/dist/${ear_name}-SBI.jar todir=dist/
copy file=../${ear_name}-SBS/dist/${ear_name}-SBS.jar todir=dist/
ear earfile=dist/${ear_name}.ear 
apxml=src/META-INF/application.xml 

fileset dir=dist
include name=*.jar/
/fileset
fileset dir=dist
include name=*.war/
/fileset
/ear
/target

A pak založím projekty X-EBS (Entity Beans), X-SBI (Session Beans 
Interfaces), X-SBS (Session Beans) ev. X-WAR.

Tyto projekty mají pro úspěšný překlad nastaveny knihovny s J2EE5,
Vám samozřejmě stačí jen X-SBS a X-SBI.
Jednotlivé projekty mají mezi sebou vazby, používají se mezi sebou. 
SBI používá EBS, SBS používá SBI a EBS.


Funguje s JBOSS bez problémů.

SBI a SBS jsou oddělené, abych klientovi mohl jednoduše podsunout 
jenom interfacy bez implementačních tříd (bezpečnost). Jinak by to 
klidně mohlo být v jednom JARu.


Sunovský server jsem zkoušel, moc se mi líbilo ovládání (a AS jako 
takový) ale co se týká EJB3 tak mne velmi zarazilo, že při definici 
vazeb to vyžadovalo do kódu entity beany přidat TopLink anotace, což 
jsem prostě nezkousnul. Kromě toho to fungovalo blbě s Postgresem 
(který to tedy ani oficiálně neumělo).


Leoš









Re: EJB3 a Netbeans 5.0 a 5.5

2006-05-25 Tema obsahu Mirek Stohr
Pokud dobre rozumim projektu Glassfish, SunApp server 9.0 je 
distribuci projektu Glassfish, ktery mam nainstalovany a bezi. Deploy 
probehne v poradku, jenom se do jsf beanu nedostane instance ejb, tj. 
neprobehne dependency injection.


Mohl by jste mi poslat nejaky hodne jednoduchy priklad, vcetne klienta 
(na privatni mail, ne do konference)? Dekuji.


Mirek


Ondřej Fafejta KYBERIE napsal(a):

Mirek Stohr wrote:

Takze vysledek, presne podle vaseho navodu, je ten samy co pred tim.
Mohl by jste mi prozradit co pouzivate za knihovny JavaEE 5?

Mirek

Zdravím!

Na JavaEE5 od sunu je dobré použít glassfish.
https://glassfish.dev.java.net/public/downloadsindex.html

My to používáme zatím pouze pro EJB3.
Píšu to v netbeans 5.0 a žádné problémy s tím nemám.
Projekt je normálně jako General/ Java application.

Knihovny, které používám na straně klienta jsou tyto:
lib/javaee.jar
lib/appserv-rt.jar (tento soubor je potřeba k vůli junit testům).

Výsledný jar, který kopíruju do autodeploy neobsahuje žádné knihovny.
Vše má aplikační server v sobě.

Zatím jsem nezkoušel napojit EJB statelessbeany na JSF.

Fafi





Re: EJB3 a Netbeans 5.0 a 5.5

2006-05-25 Tema obsahu Mirek Stohr
Mate pravdu, do vysledneho .ear souboru jsem stejne zadne knihovny 
nepribaloval, takze moje otazka na knihovny u prekladace byla naprosto 
mimo.
Netbeans 5.5 generoval soubory sun-application.xml a sun-web.xml, ktere 
ale mely trivialni obsah (prvni obsahloval pouze tag sun-application / 
a druhy informaci o context-root atd.). Presto jsem je zkusil 
pribalit, ve vysledku se nic nezmenilo. Jak vypada vas application.xml?


Jsem z toho jelen, danek i srnec :-))

Dekuji za rady, a mohl by jste mi pripadne poslat (na privatni mail, ne 
pres konferenci) hodne jednoduchy priklad, vc. klienta? Dekuji.


   Mirek


URBAN Leos napsal(a):
Takze vysledek, presne podle vaseho navodu, je ten samy co pred tim. 
Mohl by jste mi prozradit co pouzivate za knihovny JavaEE 5?


Mohl, ale bude Vam to k nicemu, jsou to knihovny implementace EJB3 z 
JBOSSu, klicove jsou jboss-ejb3.jar a jboss-ejb3x.jar. Abych rekl pravdu 
tak jich tam mam navic asi i vic nez v realu je pro preklad potreba.


Ale jak uz psal pan Fafejta - ty knihovny jsou nutne jen pro preklad. 
Zadne se nepridavaji do vysledneho EARu (ani vnorenych JARu).


Jeste si matne vzpominam - Sun si tam pridaval dovnitr nejake vlastni 
soubory, ktere byly tusim uvozeny sun nebo tak nejak.
Neco jako treba u JBOSSu je mozne pridat jboss-web.xml a v nem 
specifikovat napriklad bezpecnostni role.


Kouknete v te 5.5 co v tech souborech je - mozna to tam ten SunAppServer 
vyzaduje a bez toho to nejede.


Leos



EJB3 a Netbeans 5.0 a 5.5

2006-05-24 Tema obsahu Mirek Stohr

Vazeni kolegove,

v ramci pripravy sama sebe na EJB3 jsem provedl nasledujici experiment:

1/ Vytvoril jsem si projekt v Netbeans 5.0 (s naimportovanou knihovnou 
javaee.jar obsahujici Java EE 1.5), ktery byl sice oznacen jako java 
aplication ale svou strukturou vyhovoval Java EE 1.5. Zkompiloval, 
poskladal do patricneho earu, deployoval na Sun app. server 9.0 -- a 
nefunguje (viz. nize).
2/ Pokud jsem ale na tentyz projekt pouzil Netbeans 5.5 (tentokrat jiz 
byl projekt vytvoren jako Java Enterprise Application), zkompiloval, 
poskladal, deployoval na tentyz server ... a funguje. JDK je tataz 
(1.5.04), Sun app. server je tentyz.


Tj., co nechapu, co dela Netbeans 5.5 navic? Tj., presneji, co krome 
kompilace musim provest abych ziskal fungujici EE aplikaci vyhovujici 
specifikaci Java EE 1.5?


Pozn.: Projekt je nejjednodussi mozny: session stateless ejb HelloBean 
(s interface HelloLocal), ten je volan z jsf managed beanu asi takto:


@EJB
private HelloLocal hbean;

private String response;

public String sayHello(){
response = hbean.sayHello(mirek); //(*)
return ok;
}

na radku oznacenem (*) se v pripade 1 vyhodi NullPointerException.

HelloBean a HelloLocal ma v obou pripadech stejny kod. ear package je v 
obou pripadech co do struktury totez. Stejne application.xml, stejne 
web.xml, stejne faces-config.xml. Aplikace nejsou na serveru ve stejnou 
dobu obe dve, vzdy jenom jedna z nich. Kompilace se vzdy provadi se 
-source 1.5 -target 1.5. Deployment probehne v obou pripadech bez problemu.


Diky za objasneni ci napovedu.

  Mirek




Re: rozdiel dvoch datumov java.sql.Date

2006-05-18 Tema obsahu Mirek Stohr
Nedavno jsem resil prakticky totez. java.sql.Date rozsiruje 
java.util.Date, tj. ma metodu getTime(), ktera vraci pocet milisekund od 
1.1.1970. No a rozdil deleno poctem milisekund za den plus nejake ty 
veci kolem :-))


  Mirek


Ivan Polák napsal(a):

Ahoj,

 

Potreboval by som vypocitat pocet dni medzi dvoma datumami, ktore su 
typu java.sql.Date. Neviete nahodou niekto poradit ako na to.


 


Dakujem

 


Ivan





JSF a HTML tag

2006-04-26 Tema obsahu Mirek Stohr

Vazeni kolegove,

narazil jsem na nasledujici problem: webova aplikace naprogramovana v 
jsf, na strance se vstupem se zadava stringova polozka unit. Do teto 
polozky uzivatel nekdy zapise kousek HTML kodu (typicky msup3/sup).


Na strance vysledku je pro zobrazeni teto polozky neco jako

h:outputText value=#{myBean.unit} /

a v browseru se mi zobrazi presne to, co uzivatel zadal, tj. 
msup3/sup, misto m^3.


Jak toto vyresit? Nechce se mi delat specialni rozbalovaci policko se 
vsemi moznymi jednotkami ktere prichazeji v uvahu. Nehlede k tomu, ze 
analogicky muze dojit k zobrazovani kusu HTML kodu nacitanych napr. v 
popiskach zbozi z db, apod.


Diky za napovedu.

 Mirek


Re: JSF a HTML tag

2006-04-26 Tema obsahu Mirek Stohr

Diky, ma escape, to bude asi ono.

  Mirek

Burdik Petr napsal(a):

mrkni na h:outputText jestli nema neco jako escapeXML nebo escapeHTML.

Pet

Mirek Stohr wrote:

Vazeni kolegove,

narazil jsem na nasledujici problem: webova aplikace naprogramovana v 
jsf, na strance se vstupem se zadava stringova polozka unit. Do teto 
polozky uzivatel nekdy zapise kousek HTML kodu (typicky msup3/sup).


Na strance vysledku je pro zobrazeni teto polozky neco jako

h:outputText value=#{myBean.unit} /

a v browseru se mi zobrazi presne to, co uzivatel zadal, tj. 
msup3/sup, misto m^3.


Jak toto vyresit? Nechce se mi delat specialni rozbalovaci policko se 
vsemi moznymi jednotkami ktere prichazeji v uvahu. Nehlede k tomu, ze 
analogicky muze dojit k zobrazovani kusu HTML kodu nacitanych napr. v 
popiskach zbozi z db, apod.


Diky za napovedu.

 Mirek





Re: Změna URL

2006-04-18 Tema obsahu Mirek Stohr

Muzes lepe specifikovat otazku?

Pokud mas URL jako string, staci tam ty parametry pridat prostym + :-)) 
Ale to asi neni to na co se ptas, ze.


 Mirek


Martin Majer napsal(a):

Ahoj,
mám URL třeba http://www.adresa.cz/view/test a potřeboval bych ho nějak 
změnit na http://www.adresa.cz/view?show=test. Jak se to dá udělat? 
Pomocí servlet filtrů?




Re: Why I Hate Frameworks

2006-04-14 Tema obsahu Mirek Stohr

Oh jak bolestne pravdive! Diky za vyborny clanek, doporucuji ostatnim.

   Mirek


Martin Kuba napsal(a):

Nádherný článek :-)
http://discuss.joelonsoftware.com/default.asp?joel.3.219431.12

Makub




Re: Spolupráce aplikací

2006-04-12 Tema obsahu Mirek Stohr
Pokud vase aplikace na app. serveru vyuzivaji technologii EJB, nejcistsi 
a nejjednodussi reseni je vyuziti remote interface techto EJB. Pak 
dokonce nemusite mit tentyz app. server pro aplikace.


Vice viz. napr. Java EE tutorial od Sunu.

Mirek


Jakub Příkazský napsal(a):

Zdravím,

potřebuji poradit s následujícím problémem. Chci provozovat více 
aplikací (app1,...,appN) v aplikačním serveru. Jak co nejčistším 
(nejsystémovějším) a nejefektivnějším způsobem zajistím jejich vzájemnou 
spolupráci?
Příklad aplikace app1 obsahuje např. komponentu (objekt, několik objektů 
nebo obecně jakákoliv data), která jsou využívána další aplikací 
(aplikacemi). Dokážu si představit, že způsobů, jak problém řešit je 
více např. pomocí databáze, ale to není co hledám. Dalším může být i 
webová služba, které se budou aplikace dotazovat.
Moje úvahy se ubírají směrem k RMI/RPC a tak by mě zajímalo, zda jsou mé 
úvahy správné, případně zda máte někdo podobnou zkušenost.


díky Jakub





Re: posilani mailu z javy

2006-04-06 Tema obsahu Mirek Stohr
Nezkoumal jsem vas kod ale napadlo mne jestli vubec smtp.seznam.cz je 
spravny server pro posilani posty:


$ dig seznam.cz mx

;  DiG 9.3.1  seznam.cz mx
;; global options:  printcmd
;; Got answer:
;; -HEADER- opcode: QUERY, status: NOERROR, id: 8571
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 4

;; QUESTION SECTION:
;seznam.cz. IN  MX

;; ANSWER SECTION:
seznam.cz.  426 IN  MX  20 mx2.seznam.cz.
seznam.cz.  426 IN  MX  10 mx1.seznam.cz.

;; AUTHORITY SECTION:
seznam.cz.  8137IN  NS  ns.seznam.cz.
seznam.cz.  8137IN  NS  ms.seznam.cz.

;; ADDITIONAL SECTION:
mx1.seznam.cz.  426 IN  A   212.80.76.26
mx1.seznam.cz.  426 IN  A   212.80.76.44
mx1.seznam.cz.  426 IN  A   212.80.76.45
mx2.seznam.cz.  426 IN  A   212.80.76.42

Z toho mi vyplyva, ze pokud chcete poslat mail na adresu 
[EMAIL PROTECTED], musite kontaktovat server mx1.seznam.cz, v pripade ze 
neodpovi zalozni je mx2.seznam.cz. Neni toto reseni vaseho problemu?


 Mirek



[EMAIL PROTECTED] napsal(a):

Snažím se odeslat mail z javovského programu, ale zatím bezůspěšně. Všechny
pokusy připojit se na seznam končí
Unknown SMTP host: smtp.seznam.cz

Zde (viz dole)  jsem naše kód,  který by měl snad  fungovat , ale
nefunguje, stejně jako všechny předchozí pokusy. Netušíte prosím někdo
nějaký háček ?
Díky. J.N.



http://forum.java.sun.com/thread.jspa?threadID=615715tstart=0



   ---  
   --   
   Without SSL connection, Normal SMTP  
   ---  
    
  import java.util.Properties;  
  import javax.mail.*;  
  import javax.mail.internet.*; 
  import javax.activation.*;
  import java.io.UnsupportedEncodingException;  
  import java.security.*;   
  import java.util.Properties;  
  import javax.mail.*;  
  import javax.mail.internet.InternetAddress;   
  import javax.mail.internet.MimeUtility;   
  public class AttachExample {  
 public static void main (String args[]) throws Exception   
 {  
System.getProperties().put(proxySet,true);  
System.getProperties().put(socksProxyPort,1080);   // ip
   adresa a port proxy  
System.getProperties().put(socksProxyHost,192.168.155.1);   
Properties props = System.getProperties();  

String from = [EMAIL PROTECTED];  
String to = [EMAIL PROTECTED];   
String filename = AttachExample.java; 


 // Get system properties   
final String username = USERNAME; // jmeno a heslo z  
   mailoveho uctu   
final String password = PASSWORD; 

props.put(mail.user, username);   
props.put(mail.host, smtp.seznam.cz);   
props.put(mail.debug, true);
props.put(mail.store.protocol, pop3);   
props.put(mail.transport.protocol, smtp);   


Session session = Session.getDefaultInstance(props, 
 new Authenticator(){   

JSF selectOneRadio a jeho pocatecni hodnota

2006-03-23 Tema obsahu Mirek Stohr

Vazeni kolegove,

narazil jsem na nasledujici problemek: Mam JSF konstrukci:

h:selectOneRadio value=#{editContentBean.habit}
 f:selectItems value=#{habitValuesBean.habitValues} /
/h:selectOneRadio

jejimz ucelem je zobrazit dva radio buttony, jeden pro true, druhy pro 
false (je mozno vybrat prave jeden, true nebo false). Hodnoty 
nastavene v f:selectItems ... jsou takoveto:


SelectItem(Boolean.TRUE, rb.getString(false-name));
SelectItem(Boolean.FALSE, rb.getString(true-name));

kde rb je resource bundle obsahujici popisky jednotlivych moznosti pro 
promennou habit. Managed bean editContentBean ma Boolean promennou 
habit, kterou takto nastavuji.


Problem je s pocatecni hodnotou -- v konstruktoru ji nastavim defaultne 
na FALSE, a pri prvnim pristupu na stranku bych chtel videt, jak je 
radio button pro false oznaceny. Ale nevidim. V cem je problem?


Komponenty ale spolupracuji, pokud manualne vyberu treba false, pak 
managed bean tuto hodnotu dostane a dal s ni pracuje.


Pouzivam MyFaces implementaci JSF, v JBoss 4.0.3.

Pozn: Pouzit selectBooleanCheckbox nemuzu, kvuli popiskum (true ma jinou 
popisku nez false). Vse jsem maximalne zestrucnil, doufam ze ne na ukor 
smysluplnosti.


Dekuji za kazdou napovedu.

Mirek


Re: Cteni ze socketu

2006-03-23 Tema obsahu Mirek Stohr
Neco asi podobneho jsem pred casem resil, pokud si dobre vypominam 
reseni bylo jednak si podrobne precist javadoc k socket.getInputStream():

 kopirovano z javadoc ***
Under abnormal conditions the underlying connection may be broken 
by the remote host or the network software (for example a connection 
reset in the case of TCP connections). When a broken connection is 
detected by the network software the following applies to the returned 
input stream:


* The network software may discard bytes that are buffered by 
the socket. Bytes that aren't discarded by the network software can be 
read using read.
* If there are no bytes buffered on the socket, or all buffered 
bytes have been consumed by read, then all subsequent calls to read will 
throw an IOException.
* If there are no bytes buffered on the socket, and the socket 
has not been closed using close, then available will return 0.

**
A taky bylo potreba pro socket nastavit jeho timeout, aby necekal vecne 
pokud druha strana potichu chcipne. Timeout socketu se nastavuje v 
jeho metode connect(SocketAddress, int).


  Mirek



Tomas Hubalek napsal(a):

Zdar,

mam takovy dotaz na java.net.Socket. Mam aplikaci, ktera posloucha na 
nejakem portu, pokud prijde pozadavek, tak otevre Socket a prijima 
pozadavky. Je tam nejaky InputStream, pres ktery ze ze Socketu cte. 
Dokud chodi data, tak se zpracovavaji a jakmile prestanou, socket se 
ukonci.


Neco jako

in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while ((data = in.readLine()) != null) {
... zpracovavam data...

}

Mam totaz: Muze se stat, ze kdyz klient (co posila dtaa do socketu) 
zdechne, tak ze mi to zustane zamrznute v readLine() ? Cekal bych 
nejakou IOException


Diky za jakekoliv info
Tom



Re: EJB3 a objemna data v objektu

2006-03-03 Tema obsahu Mirek Stohr
Presne toto jsem pred casem resil (taktez obrazky z db, ale v J2EE 1.4).
Vytvoril jsem si nakonec dve entity: ImageEnvelope (obsahuje vsechny
informace o obrazku, mimo jeho binarnich dat) a ImageData (obsahuje
prave jenom data). Vzajemne jsou svazany svymi id (ImageEnvelope zna id
ImageData, ImageData zna id ImageEnvelope). Pokud klient chtel napr.
rozmery obrazku, jeho mime-type, apod., dostaval to z ImageEnvelope, a
jenom pokud chtel binarni data, dostal ImageData.

Snad je to ze strucneho popisu jasne a moc jsem to nezamotal :-))

Tusim se tento design pattern jmenuje zastupce.

Mirek



Martin Bednar wrote:
 Muzu se zeptat jak se resi nasledujici problem ?
 Mam EJB3 entitu ktera nese informace o grafickych objektech.
 Zjednodusene vypada takto.
 
 class GraphicsResource {
private Integer id;
private String name;
private ResourceType type;
private Date inserted;
private Date lastModified;
private String description;
...
...
private byte[] icon;
private byte[] thumbnail;
private byte[] fullSizeImage;

get...();
set...();  }
 
 jenze property icon,thumbnail,fullSizeImage (specialne samozrejme
 fullSizeImage) jsou pomerne velke a pri vetsine operaci s objektem
 nepotrebne.
 Da se tato situace nejak transparentne resit ?
 
 nakonec jsem skoncil u toho ze jsem tridu pozmenil tak ze misto byte[]
 propert jsem zavedl
 private ListGraphicsResourceImage images;  //Anotacema deklarovana
 jako LAZY kolekce
 
 a pridal
 enum GraphicsResourceImageType{ ICON, THUMBNAIL, FULLSIZE};
 class GraphicsResourceImage{
GraphicsResourceImageType type;
byte[] image;
 }
 
 
 No a pak mam v DAO objetu metody;
 
 loadGraphicsResource(Integer id);
 loadGraphicsResourceWithThumbnail(Integer id);
 loadGraphicsResourceWithIcon(Integer id);
 loadGraphicsResourcewithFullSizeImage(Integer id);
 
 A podle toho ze tak zhruba tusim co bude klient s objektem provadet tak
 si ho loadnu v prislusnem stavu.
 No a popravde receno se mi to ani trochu nelibi, nicmene jsem zadny
 elegantni pattern na toto tema na netu nenasel (nebo  jsem  spatne
 hledal ?) tak by me zajimalo jak z tohodle ven.
 respektive nasel jsem cosi o transparetnim dohravani lazy objektu v
 Hibernate Wiki, ale je to uzce svazane s Hibernate a pro EJB3
 (implementace JBoss) dle meho nepouzitelne.
 
 Diky Bedy
 
 
 


Sun App. server a longvarchar

2006-02-06 Tema obsahu Mirek Stohr
Jiz jednou jsem zasilal, ale do konference nedorazilo, ted konference
snad znovu funguje tak posilam znovu (problem mezitim nijak nevyresen,
Google mlci).

Vazeni kolegove,

ted jsem narazil na opravdu prapodivne chovani CMP EJB provozovaneho na
Sun Java System Application Serveru (verze 8.1_02). Konkretne se jedna o
toto:
CMP EJB myCmpBean ma property myCmpProp typu String, ktera ale muze byt
dlouha, proto ji v db (MySQL) odpovida sloupec typu TEXT (maximalni
delka 65535 znaku). Vse funguje jak ma pokud ale myCmpProp neni delsi
nez cca 20 znaku, pak pri kazdem ulozeni nove hodnoty je _zkracena_ o
posledni znak. Cteni je bez problemu.

Nevite v cem je chyba? Jedinou zminku v dokumentaci jsem nasel u
sun-ejb-mapping.xml, kde je uvedeno, ze prislusny element defaultne musi
mit fetched-withnone//fetched-with, nikoliv
fetched-withdefault//fetched-with, jak je u stringu do 255 znaku
(tj. db VARCHAR). Ale jakekoli zmeny tohoto elementu nevedou ke zmene,
tj. vyse uvedene se deje stale.

Diky za napovedu.

   Mirek



Re: JDBC a uzavření aktivního spjení

2006-01-26 Tema obsahu Mirek Stohr
A proc pred nastavenim connection na null nezavolate

connection.close();

v okamziku, kdy je to potreba, tj. po ukonceni posledniho prikazu? A az
pote by jste predal objekt connection do gc.

   Mirek


Petr Zajíc wrote:
 Zdravím,
 
 řešil někdo podobný problém?
 
 Mám JDBC connection, který (přes ODBC-JDBC) vytvoří statement a ukládá ve
 smyčce data do souboru MDB pomocí sady instrukcí
 
 stmtMDB.executeUpdate...
 
 načež nastaví connection na null a skončí. Problém je v tom, že vždy právě
 poslední ze sady příkazů se neprovede. Pokud dám před zavřením connection
 Thread.sleep(2000) tak se provede i poslední příkaz. Evidentně to tedy
 souvisí s dobou zpracování dotazu. Nedá se to řešit nějak elegantněji?
 
 Petr Zajíc
 
 



jsf a html div element

2006-01-26 Tema obsahu Mirek Stohr
Vazeni kolegove,

mam nasledujici problem: Na jsf strance mam konstrukci

div class=tabulka
h:dataTable var=a values=#{listingBean.elementsOfA}
rendered=#{!empty listingBean.elementsOfA}


/h:dataTable
/div

tj. h:dataTable element vytvori HTML tabulku obsahujici nejaky vypis.
Pokud je vypis prazdny, tabulka se vubec nevytvori. Spousta tagu je tam
vynechana pro strucnost.

OK, vsechno fungovalo jak melo dokud si grafik neusmyslel, ze tabulku
musi obkrouzit jak vyse naznaceno HTML elementem div, aby ji mohl
priradit nejake specialni pozadi a dat kolem ramecek. Tento ramecek je
az mimo tabulku, je trochu vetsi.

Ale v pripade, ze se tabulka vubec nevykresluje (viz. vyse), tam zustane
prazdny ramecek, coz hezky nevypada. Jak toto zaridit? Pokud to cele
oblozim h:panelGroup rendered=.../h:panelGroup, element
div/div se mi vyhodi az ven, takze resenim to neni. Resenim by bylo
generovat div s pomoci jsf tagu, ale ten jsem nenasel.

Diky za kazdou napovedu.

   Mirek


Re: jsf a html div element

2006-01-26 Tema obsahu Mirek Stohr
Dekuji za odpoved. Toto jsem potreboval vedet.

   Mirek


Pavel Réder wrote:
 Ale v pripade, ze se tabulka vubec nevykresluje (viz. vyse), tam zustane
 prazdny ramecek, coz hezky nevypada. Jak toto zaridit? Pokud to cele
 oblozim h:panelGroup rendered=.../h:panelGroup, element
 div/div se mi vyhodi az ven, takze resenim to neni. Resenim by bylo
 generovat div s pomoci jsf tagu, ale ten jsem nenasel.
 
 
 On tam proste neni. Ale je v Tomahawku (rozsireni MyFaces):
 http://myfaces.apache.org/tlddoc/tomahawk/t/div.html
 
 Pavel
 



JSF converter

2006-01-11 Tema obsahu Mirek Stohr
Vazeni kolegove,

potykam se s nasledujicim problemem v JSF converteru, ktery prevadi muj
vlastni objekt (GroupType) na string. Konkretne v metode

public String getAsString(javax.faces.context.FacesContext
_facesContext, javax.faces.component.UIComponent _uIComponent, Object
_obj) {

Locale loc = _facesContext.getExternalContext().getRequestLocale();
//  vraci cs, presne jak je nastaveno 
ResourceBundle rb =
ResourceBundle.getBundle(mypackage.GroupTypeRB, loc);
//  vraci mypackage.GroupTypeRB, nikoliv mypackage.GroupTypeRB_cs
//  jak bych cekal, ten pritom existuje
GroupType type = (GroupType)_obj;
String msg = rb.getString(type.getRBKey());
//  vrati msg z mypackage.GroupTypeRB, pochopitelne
return msg;
  }


Nevite, kde delam chybu, tj. proc ResourceBundle.getBundle(basename,
locale) vraci resource pro defaultni locale, kterym je us, nikoliv pro
locale cs, jak mam na strance nastaveno (a converter to vi)?

Pozn.: SunOne 8.1, JDK 1.5

Dekuji za kazdou napovedu.

Mirek


Re: Kniha na JSP

2006-01-03 Tema obsahu Mirek Stohr
Tutorial: Sunovsky J2EE tutorial
(http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html), tuším
kapitoly 12 a výše.

Knihy: Web development with JSP (Fields,Kolb, Bayern) a JSP Tag
libraries (Shachor, Chace, Rydin), oboje Manning. Popisuji sice starsi
verze JSP, ale pro uvedeni do problematiky naprosto dostacuji i dnes. Na
www.manning.com jsou i nejake kapitoly na ukazku, tusim.

Mirek


Zdenek Kubovec wrote:
 Ahoj vsichni,
 prosim poradte nejakou dobrou knihu ci tutorial na JSP.
 Diky Zdenek
 
 



Re: NetBeans spustenie webapp s parametrom

2005-10-25 Tema obsahu Mirek Stohr
project properties, polozka run.

Mirek


[EMAIL PROTECTED] wrote:
 
 Hi all
 Co mam a kde to mam napisat v NetBeans 4.1 aby sa mi spustila moja
 webapp pre debugovanie s parametrom t.j.:
 ...index.jsp?param1=aaaparam2=bbb...
 
 Marian Stevlik
 IS programmer
 
 GAMO a.s.
 Kyjevske nam. 6
 974 04 Banska Bystrica
 mail: [EMAIL PROTECTED]
 tel: +421 48 4372098, 4137935, 4372111
 gsm: +421 905 462010
 icq: 38493645


Re: NetBeans spustenie webapp s parametrom

2005-10-25 Tema obsahu Mirek Stohr
Tak to bohuzel asi nepomohu, mne to bezi OK. Rozdil ve verzi JDK by to
zpusobovat asi nemel. Zkuste potrapit Google ...

Mirek


[EMAIL PROTECTED] wrote:
 
 Tak to opravdu netusim, kde mate chybu. Co je to za projekt? Jaky app.
 server pouzivate? Jake presne parametry nastavujete?

 Ja mam Netbeans 4.1 (jdk 1.5), deploy na interni Tomcat 5.5.7 a presne
 nastaveni relative URL mam index.jsp?parameter1=aaparameter2=bb,
 ktere mi na strance index.jsp nastavi HttpServletRequest parametery
 parameter1 na hodnotu aa, parameter2 na hodnotu bb.

   Mirek
 
 Jednoduch projekt, tiez pouzivam NetBeans 4.1 (jdk 1.4.2_9), tiez
 interny Tomcat 5.5.7,
 ale bezat to nechce :(
 Ked vsak zavolam z IE
 http://127.0.0.1:8084/myapp/index.jsp?param1=aaparam2=bb, tak ti
 atributy sa nacitaju,
 len pri debugovani ich tam nedostanem :(
 
 Marian Stevlik
 IS programmer
 
 GAMO a.s.
 Kyjevske nam. 6
 974 04 Banska Bystrica
 mail: [EMAIL PROTECTED]
 tel: +421 48 4372098, 4137935, 4372111
 gsm: +421 905 462010
 icq: 38493645


Re: konfiguracia

2005-10-20 Tema obsahu Mirek Stohr
Napadly me dve reseni:
1/ napsat specialni kratky instalacni program, ktery provede
a) precte ze stavajiciho .war konfiguraci
b) precte z noveho .war (ktery je doposud nekde jinde) konfiguraci
c) srovna, a uploadne ten spravny
2/ dat kofiguraci nekam do databaze (mate-li ji), ci na ldap server, ci
tak podobne -- pak vas problem prakticky odpada, jedina konfigurace
ktera je potreba je pro pristup ke kofiguracnim udajum a to se moc casto
asi menit nebude.

  Mirek


Radovana Straube wrote:
 Dobry den,
 
 Nasa firma vyvinula produkt, ktory priebezne
 zakaznikom updatujeme. U niektorych zakaznikov mame
 pristup na server, niektorym posielame iba war subory
 a zakaznik ich sam updatuje. Kazdy war subor obsahuje
 specificky konfiguracny subor pre toho-ktoreho
 zakaznika. Niekedy sa stane, ze si zakaznik sam zmeni
 konfiguraciu a ked mu posleme update, tak sa
 konfiguracny subor premaze. A potom dostavame
 telefonaty, ze nic nefunguje.
 
 Tento problem by sme chceli nejak elegantne vyriesit. 
 Zatial sme rozmyslali nad dvomi moznostami, ale ani
 jedno nie je idealne:
 1. spravit war subor, ktory bude obsahovat iba
 konfiguraciu. Ale konfiguraky obsahuje zvacsa citlive
 data, a nemali by byt zvonka pristupne.
 2. Ulozit konfiguraky niekde na file system, ale z
 toho by asi niektori paranoicki administratori neboli
 nadseni, ze im nejaka aplikacia pristupuje k suborom
 mimo svojho adresara.
 
 Za pripadne riesenia vopred dakujem
 Radovana Straube
 
 
   
   
 __ 
 Yahoo! Mail - PC Magazine Editors' Choice 2005 
 http://mail.yahoo.com
 


Re: kniha o EJB

2005-10-12 Tema obsahu Mirek Stohr
Nejlepsi, co jsem nasel pro skutecne zaklady EJB, je Java J2EE tutorial
(http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html), jsou to
kapitoly tusim 23-32.

Podotykam ze se jedna opravdu o zaklady EJB, takove veci jak z EJB
poskladat funkcni aplikaci tam moc rozebirane nejsou.

K tomu je dobre mit vhodne vyvojove prostredi ktere alespon ze zacatku
ohlida ruzne veci za vas, resp. formou nejake napovedy vam rekne na co
jste jeste zapomnel, nebo tak neco. Ja pouzivam Netbeans 4.1, plna
spokojenost (dela to co potrebuju).


   Mirek


Pavel Kubal wrote:
 Zdravim, uz nejakou dobu patram po dobre knize o EJB. Na ceskem trhu asi nic
 kvalitniho nebude. Mozna vubec nic, tak jsem se chtel zeptat jestli nekdo
 nemuzete doporucit knihu pro zaklady EJB.
 
 
 
 S pozdravem
 Pavel Kubal
 UNICORN a.s.
 http://www.unicorn.cz
 tel. : 728 102 328
 
 


Re: Job Queue

2005-10-05 Tema obsahu Mirek Stohr
Pokud nemuzete pouzit java 1.5, zkuste se podivat na
http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html.

Velmi dobre zkusenosti.

   Mirek

Filip Jirsák wrote:
 Zdravím,
 pokud používáte Java 5, porozhlédněte se po balíku
 java.util.concurrent, konkrétně třeba třída
 java.util.concurrent.ThreadPoolExecutor by mohla být to pravé. Pro
 Javu 2 tip nemám - jen přejděte na pětku :-)
 Filip Jirsák
 
 2005/10/5, Tomas Hubalek [EMAIL PROTECTED]:
 
Zdar,

potreboval bych poradi, jestli neexistuje nejaka knihovna ci framework
pro praci s joby ve fronte.

Proste potrebuji, aby, kdyz si uzivatel zada nejaky dlouhotrvajici job
ke zpracovani, aby se zaradil do fronty, az na nej prijde rada, aby se
vykonal, pokud skonci s chybou, aby se neco stalo, po skonceni aby se
poslal email tomu, kdo si to zadal. Omezeni na dobu zpracovani a
multithreading by nebyl k zahozeni, ale neni podminkou.

Verim, ze na to urcite uz bude nejake hotove udelatko, ale nic jsem
nevygooglil. Asi bych preferoval reseni bez aplikacniho serveru.

Diky za tip
Tom

 
 
 
 --
 Filip Jirsák
 [EMAIL PROTECTED]



Re: Head First Design Patterns

2005-09-30 Tema obsahu Mirek Stohr
Ohledne dovozu zahranicni literatury doporucuji k prostudovani stranku
http://www.ms.mff.cuni.cz/%7Emalej9am/doc/knihy/#JGN (nejsem jejim
autorem, jenom kvituji s povdekem jeji existenci :-))

  Mirek


Jiří Hradil wrote:
 Ideon-zajimave, zajimave, po prepoctu ze vcerejsiho kurzovniho listku
 to z liber na koruny vychazi docela rozumne, provize jen nekolik malo
 procent. Ale uz nevim, jak to je s postovnym, z Amazonu jsem radeji
 kupoval knihy po 3-4, protoze po jedne by to stalo podstatne vic...
 Jinak co se tyce letecke prepravy Amazonu (tak alespon byla zduvodnena
 vysoka cena za postovne), pokud si pamatuju, tak konkretni objednavku
 mi Amazon.co.uk posilal ze skladu  v Nemecku pekne po silnici :)
 
 Jirka Hradil
 
 
 2005/9/30, [EMAIL PROTECTED] [EMAIL PROTECTED]:
 
Knihy z Amazonu za koruny:

www.ideon.cz





  Róbert Gál
  [EMAIL PROTECTED]Komu:Java 
 konference@java.cz
  Odeslal: Kopie:
  konference-bounc Předmět: Re: Head First Design 
 Patterns
  [EMAIL PROTECTED]


  30.09.2005 13:04
  Odpovězte prosím
  uživateli Java





ak sme uz pri tom: kde si objednavate knihy?
existuje nejaky cesky obchod, cez ktory by sa dali 'importovat' knihy z
amaozn.com (bez postovneho a platit trebars v hotovosti)? (visa kartu
nemam..)
ci preferujete PDF knihy? ;-)

[EMAIL PROTECTED] wrote:


zpusobi nejspis, ze sednu a u Amazonu to objednam (coz by sama tahle
zprava jiste nezpusobila).