Re: Proč není genericita v metodách Map jako get(), remove()?

2011-04-12 Thread Martin Beránek

Zdravím,

našel jsem celkem rozumné vysvětlení:

Restrikce se zavádějí proto, aby se něco nepokazilo.

Zavoláním get s jiným typem se nic nepokazí. Ještě trošku umělý příklad:

Map datumyNarozeni = ...
class Person {
String fullName
String login

hashCode {
return login.hashCode();
}

equals(Object o) {
return login.equals(o);
}
}

datumyNarozeni.put("michal",new Date());

odnekud mi prijde objekt Person p kde je login michal, pak muzu udelat:

datumyNarozeni.get(p) a dostanu to spravne datum

Martin

Dne 13.4.2011 07:44, Libor Jelinek napsal(a):

Dobrý den!
Studuju collection framework a mám k otázku rozhraní Map. To má uvedeno,
že je to pár key-value .

/java.util
Interface Map
Type Parameters:K - the type of keys maintained by this mapV - the type
of mapped values/

Proč tedy metoda jako *containsKey()* je deklarována jako
*containsKey(Object key)* a nikoli *containsKey(K key)*?

Dále např. proč je *V get(Object key)* a nikoli *V get(K key)*? Poč je
*V remove(Object key)* a nikoli *V remove(K key)*?

A to i v JDK7 - tedy dávno dávno po zavedení genericity. Možná to mi
něco nedochází jako začátečníkovi, ale pak mě to vrací k beztypovým
kolekcím z JDK4 a umožňuje pěkné čunárničky jako, že místo type error
dostanu jen null když jako jako klíč jasně označený v deklaraci jako
Integer můžu používat klidně String, Float, ale i ZipEntry - zkrátka
potomek Object, tedy cokoli:

import java.util.*;

public class MapPokus1 {
 public static void main(String[] args) {
 HashMap psc = new HashMap();
 psc.put(12000, "Praha 1");
 psc.put(28101, "Velim");

 System.out.println(psc.get(28101));// Velim
 System.out.println(psc.get(28101));// Velim
 System.out.println(psc.get("28101"));// žádná chyba jen
null !!!
 System.out.println(psc.get(3.14));// žádná chyba jen
null !!!
 System.out.println(psc.get(new ZipEntry("soub.txt") ));
// žádná chyba jen null !!!
 }
}

Díky
Libor



--
Martin Beránek
ICZ a.s., Pobočka Brno



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Proč není genericita v metodách Map jako get(), remove()?

2011-04-13 Thread Martin Beránek

Dne 13.4.2011 08:37, Ondřej Fafejta napsal(a):

2011/4/13 Martin Beránek:

Zdravím,

našel jsem celkem rozumné vysvětlení:

Restrikce se zavádějí proto, aby se něco nepokazilo.

Zavoláním get s jiným typem se nic nepokazí. Ještě trošku umělý příklad:

Map  datumyNarozeni = ...
class Person {
String fullName
String login

hashCode {
return login.hashCode();
}

equals(Object o) {
return login.equals(o);
}
}

datumyNarozeni.put("michal",new Date());

odnekud mi prijde objekt Person p kde je login michal, pak muzu udelat:

datumyNarozeni.get(p) a dostanu to spravne datum

Martin



tak tento příklad se mi hodně nelíbí. Takového programátora zatahat za uši ;-)
Nebudu koukat do implementace Person, jak je napsaný hashCode a equals ...
Určitě by každý normální programátor napsal toto:

datumyNarozeni.get(p.getLogin());


dobrá, opravuji svůj původní text z "trošku umělý příklad" na "hodně 
umělý příklad".


--
Martin



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Proč není genericita v metodách Map jako get(), remove()?

2011-04-13 Thread Martin Beránek
Tak sem na to asi došel, viz příklad v příloze. Ono to totiž takovou 
mapu zadefinovat pomocí generik vlastně nejde... nebo jde, ale její 
použití pak bude silně limitující.


Martin


Dne 13.4.2011 07:44, Libor Jelinek napsal(a):

Dobrý den!
Studuju collection framework a mám k otázku rozhraní Map. To má uvedeno,
že je to pár key-value .

/java.util
Interface Map
Type Parameters:K - the type of keys maintained by this mapV - the type
of mapped values/

Proč tedy metoda jako *containsKey()* je deklarována jako
*containsKey(Object key)* a nikoli *containsKey(K key)*?

Dále např. proč je *V get(Object key)* a nikoli *V get(K key)*? Poč je
*V remove(Object key)* a nikoli *V remove(K key)*?




--
Martin Beránek
ICZ a.s., Pobočka Brno
http://www.i.cz
public class Main {

	static class BadMap {

		void put(K key, V value) {
		}

		V get(K key) {
			return null;
		}

	}

	static class Foo {}

	static class ExtFoo extends Foo {}

	public static void main(String[] args) {
		BadMap map1 = new BadMap();
		BadMap map2 = new BadMap();
		readFromMap(map1);
		readFromMap(map2); // ERROR
		universalReadFromMap(map1);
		universalReadFromMap(map2);
		;

	}

	public static void readFromMap(BadMap m) {
		Foo f = new Foo();
		m.get(f);
	}

	public static void universalReadFromMap(BadMap m) {
		Foo f = new Foo();
		m.get(f); // ERROR
	}

}


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Proč není genericita v metodách Map jako get(), remove()?

2011-04-14 Thread Martin Beránek

Dne 14.4.2011 08:10, Oto Buchta napsal(a):

Dne 14. dubna 2011 7:10 Martin Beránek mailto:martin.bera...@i.cz>> napsal(a):

Tak sem na to asi došel, viz příklad v příloze. Ono to totiž takovou
mapu zadefinovat pomocí generik vlastně nejde... nebo jde, ale její
použití pak bude silně limitující.


Opět nic neočekávaného. Když si vytvořím mapu,
kde klíč je potomek, nemůžu přeci jako klíč použít předka.
To je princip generik,


Problém ale je, že jako klíč můžu použít jedině null, což je právě to 
limitující chování. Pokud se bavíme o metodě "universlReadFromMap" z 
mého příklad tak jediné co se přeloží je:


m.get(null);


Kdyby tedy Map,List,Set byly nadefinovány natvrdo s generiky, nešlo by 
psát _některé_ univerzální metody pro práci s nimi.


> Mám-li to dohnat do umělého extrému (nebudu testovat výsledek na
> null), tak jestli odchytnu NPE nebo ClassCast je vcelku jedno :-)

Tady jsem nepochopil co tím je myšleno. Prostě zadefinovat parametr get 
metody pomoci generika nam nic navic neprinasi (stav objektu se nijak 
pokazit nemuze) - pouze limituje při vytváření univerzálních algoritmů.


--
Martin Beránek
ICZ a.s., Pobočka Brno
http://www.i.cz



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Vytvoreni instance XML objektu z XSD definice

2011-04-20 Thread Martin Beránek
eclipse takovou funkcionalitu ve svem editoru poskytuje. pravým 
tlačítkem na soubor *.xsd => generate => xml file


martin

Dne 20.4.2011 10:08, Vladislav Krejčiřík napsal(a):

Ano, v podstate potrebuju funkcionalitu SoapUI, ktera na zaklade XSD mi
vyrobi XML message. Potreboval bych to udelat vsak v runtime, v kodu.


--
Martin Beránek
mailto:martin.bera...@i.cz
http://www.i.cz



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Java a zpracování videa

2011-05-12 Thread Martin Beránek

Dne 12.5.2011 22:06, Jaroslav Hurdes napsal(a):

Zdravím.

Nemáte někdo zkušenost z nějakou knihovnou pro javu, která zvládá práci
s video soubory a popřípadě i frame grabbery a kamerami. Konkrétně
potřebuji pouze z daného video zdroje získávat jednotlivé snímky pro
další zpracování + nastavení parametrů (frekvence, rozlišení, formát
dat). Jedinou knihovnu co znám je JMF, ale ta je v zásadě mrtvá. Máte
někdo s tímto zkušenosti. Díky za každé nasměrování.

Jaroslav Hurdes


nedávno jsem narazil v souvislosti s javou a videem na tuhle knihovnu

http://www.xuggle.com/xuggler/

ale osobní zkušenost nemám


--
Martin Beránek
http://www.i.cz



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Jak co nejlépe zareagovat na znullování objektu?

2011-06-09 Thread Martin Beránek

Dne 9.6.2011 09:15, Libor Jelinek napsal(a):

Dobrý den!
Chtěl bych probrat, jak by kdo řešil následující problém ochrany proti
NullPointerException pokud s jednou referenční proměnnou pracuje
současně více částí aplikace (více Swing formulářů nebo JPA perzisence a
JavaServer Faces web GUI současně apod.).

OrderItem item = new OrderItem();

/// V nějaké vrstvě se při vytváření položky nastaví nějaké hodnoty/
item.setPN(123);
item.setQty(2);

/// V jiné vrstvě uživatel smaže položku. Reference je na null./
item = null;

/// Další vrstva to neví a zavolá, což //skončí chybou NullPointerException/
item.getPN();//

Jak k tomu co nejlépe přistoupit? Mě napadají tak dvě možnosti:
1. Do do getter metod přidat kontrolu na na null a v tom případě vrátit
např "-1".
2. Oznamovat si změny např. beanovským PropertyChangeListener, což by
ale hodně zkomplikovalo kód.

Budu rád za Vaše názory.
Libor


Nechápu jakým způsobem jste vlastně k tomuhle problému přišel. Pokud mám 
metodu která s objektem pracuje a pak si musím na začátku zkontrolovat, 
jestli mi někdo nepředal null. Ale v průběhu metody nejde nijak zvenku 
znullovat objekt, na který držím referenci.


--
Martin Beránek



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Jak co nejlépe zareagovat na znullování objektu?

2011-06-09 Thread Martin Beránek

Dne 9.6.2011 10:38, Libor Jelinek napsal(a):

Ano, těžko si to představit. Kompletní popis by byl rozsáhlý. Ale
stručně je to asi tak, že mám modul v NetBeans Platform, který poskytuje
POJO jiným modulům. V určitý moment se z POJO stanou JPA managed
entities. Odkazy, ale ale již existují např. z TableModelů Swingové
JTable a ještě ke všemu v jiném dalším třetím modulu. Navíc si řízení a
načítání modulů řídí NBP více méně podle sebe samo.

Jen výpis zrovna této NullPointerException je asi tak cca 90-100 volání
:-) V téhle "džungli" se pak můžou dít věci a to je pak debugging jak má
být :-)


sice vam neporadim, ale uz asi trosku chapu. ten NPE nevznikne primo 
volanim item.getPN(), ale az nekde uvnitr (zrejme jsou to nejake proxy???)


--
Martin Beránek



smime.p7s
Description: S/MIME Cryptographic Signature


java7 - je už "stable"?

2012-01-27 Thread Martin Beránek

Zdravím,

měl bych tu téma na diskuzi:

Myslíte že už dozrál čas začít používat javu 7 v produkčním nasazení. V 
posledním update (2) už žádný security bugfix nebyl a chyby co se 
opravují jsou spíše napříč verzemi. Co vy nato?


díky za reakce

--
Martin Beránek
ICZ a.s.


Re: java7 - je už "stable"?

2012-01-27 Thread Martin Beránek



Dne 27.1.2012 13:29, Lukas "lzap" Zapletal napsal(a):

No tak hlavne jste neuvedl, kterouze Javu mate na mysli.

Paklize stavite sve produkty na RHELu od Red Hatu,  muzete myslet OpenJDK.
Tam by byla moje odpoved - zatim ne.

http://red.ht/ynWghf

U "sunovske" Javy tezko rict. Historie ukazuje, ze nejstabilnejsi jsou
starsi verze s mnoha zaplatami, coz se tyka "sestky" take.

Nicmene to byste se mel spis ptat Vasich kvalitaku, nez nas ;-)


Díky za reakci. Stavíme to na "sunovske" jave bez "EE" - to jsem zapoměl 
dodat. V našem menším týmu si nehrajeme na vývojáře, testery, kvaliťáky, 
tak podobně. V testovacím prostředí naše aplikace na Java 7 jede, 
testama prochází. Asi hledám ujištění že nejsem první kdo to fakt začne 
používat ;), případně pokud jsou nějaké konkrétní důvody pro to nepřejít.


--
Martin Beránek
ICZ a.s.


Re: JSF a autorizacia

2012-02-12 Thread Martin Beránek

Zdravim,

JSF jsem sice opustil nekdy pri nastupu JSF2, ale i tak si myslim ze 
bych poradit dokazal. To zda k nejake funkcionalite ma nebo nema 
uzivatel pristup, bych ve "view" (jsf) resil na urovni komponent. Sada 
komponent Tomahawk (myfaces.apache.org) k tomu primo pouziva atributy 
enabledOnUserRole a visibleOnUserRole. Pricemz to v jake je uzivatel 
roli se zjisti z HttpServletRequest.isUserInRole(String). Takze pokud 
pouzivate nejakou standardni autentizaci kontejneru ktera vam spravne 
naplni Principal v HttpServletRequestu je o vse postarano. Nebo muzete 
pred vsechny stranky predradit filtr, ktery vrati vasi implementaci 
HttpServletRequestu.


Martin

Dne 11.2.2012 17:58, Ivan 596 napsal(a):

Zdravim,

chcem sa opytat na kontrolu pristupu v JSF 2, ale ani nie tak
"komponent" (je v podstate jedno ci sa uzivatel dostane k nejakej
stranke), ako skor kontrolu v kazdej action metode, ktora uklada /
vracia vysledky.
alebo sa nato pozeram spatne a skor sa kontroluje pristup ku komponentam ?

Na vysvetlenie: v Strutse ak boli tri urovne (uzivatel, zamestnanec,
admin) nastavilo sa pri prihlaseni session atribut a kazda napr.
zamestnanecka akcia (strutsovske execute metody) obsahovala

String zamId = (String)request.getSession().getAttribute("zamId");
if (zamId==null || zamId.length()<1) {
 return mapping.findForward("neopravnenyPristup");
}

V JSF 2 ale vyvolat session vyzaduje pomerne skaredy kod s ExternalContext-om,
je riesenim @ManagedProperty, cize injekcia nejakeho session beanu do
kazdeho beanu kde su metody spracovavajuce akciu?

Alebo sa nato pozeram principialne spatne a inak sa kontroluje pristup
v JSF 2 vo velkych aplikaciach?

este poznamenavam, ze bez EJB, ak vsetci pouzivate JSF prevazne s EJB,
tak by ma zaujimalo nakolko sa JSF vyuziva samostatne a ci je to skor
rarita...

diky moc,

ivan


--
Martin Beránek
ICZ a.s., Pobočka Brno
http://www.i.cz



smime.p7s
Description: Elektronický podpis S/MIME


Re: Transactional File I/O

2012-06-13 Thread Martin Beránek

Spíš off topic:

XADisk jsem zkoušel ale neuchodil - asi tomu bránili moje povrchní 
znalosti o distribuovaných transakcích, každopádně žádná legrace to asi 
nebude.


Nakonec jsem si udělal vlastní řešení - samozřejmě nijak univerzální. 
Identifikoval jsem si use-case použití filesystému a db dohromady a 
vyjmenoval si všechny stavy (konzistentní i nekonzistentní) ve kterých 
můžu skončit - bylo toho nakonec míň než jsem čekal a naprogramované 
jsem to měl zachvilku s tím, že: používám optimistický přístup, pokud se 
něco podělá jsou připravené postupy jak vše dostat do konzistentního stavu.


Dne 13.6.2012 14:14, Vaclav Stumbauer napsal(a):

Zdravim vas ve spolek,

rad bych zaclenil operace nad filesystemem
do globalni distribuovane transakce.

Primarne mi jde predevsim o soubory - zapis, prepis, mazani,
adresare me moc netrapi.

Nasel jsem
1) XADisk
2) JBoss TS transactional File I/O

Aplikaci mam aktualne nasazenou na jbossu - JBoss 5.1, s JBossTS 4.6.1,
zda se me ale, ze je to jen nejaka orizla verze JBossTS, co jde s JBossem -
FileIO v ni neni.

Zajimalo by me:
1) Mate zkusennosti s vyse uvedenymi nebo jinym resenim
2) Mate nejaky nazor ohledne toho, ktere z uvedenych reseni je lepsi?

diky

VS


--
Martin Beránek



smime.p7s
Description: Elektronický podpis S/MIME


Re: Oracle JDBC - chyba ORA-00911: invalid character

2013-01-16 Thread Martin Beránek
Středník bych tam v javě necpal
Dne 16.1.2013 11:15 "Dušan Rychnovský"  napsal(a):

> Dobrý den,
>
> posílám do Oracle DB pres JDBC driver tuto query:
>
> SELECT status FROM pfa_audit WHERE mid = '865091';
>
> tímto kódem:
>
> Statement statement = connection.createStatement();
> return statement.executeQuery(query);
>
> Nicméně v odpověď se mi vrací SQLException se zprávou ORA-00911: invalid
> character (na konci je ještě obdélníček).
>
> Když pošlu tu samou query přes sqlplus, zpracování proběhne korektně.
>
> Kde hledat chybu?
>
> Předem děkuji,
> Dušan Rychnovský
>
>


Re: ako ziskat mesto a stat z IP adresy z http requestu

2013-01-28 Thread Martin Beránek
Do googlu dej "Geoip"
Dne 28.1.2013 22:31 "Ivan Polak"  napsal(a):

> Ahojte,
>
> moze prosim niekto poradit ako je mozne z IP adresy z request-u ziskat
> lokalizaciu klienta - mesto a stat, pripadne dalsie informacie.
>
> dakujem
>
> Ivan
>


Re: Hibernate SELECT bez FROM tabuľky

2013-06-27 Thread Martin Beránek
Není moc jasné zadání, ale hql

>From detail d where d.master=:master order by d.order

Podle mě dělá co požadujete

Martin
Dne 27.6.2013 15:36 "Rastislav Siekel"  napsal(a):

>  Otočiť to na vyhľadávanie "detail JOIN master" by v tomto prípade nešlo.
> Výsledok má byť zoznam mastrov (filtrovaný na ďalšie podmienky) s tým, že
> sú zadané podmienky aj na posledný detail.
>
> Principiálne hľadám, či je možné v Hibernate spraviť SELECT * FROM(
> SELECT...)
>
>
> Rastislav "Bedo" Siekel
>
>
> --
> Ing. Rastislav Siekel
> Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia
> E-mail :  
> Tel : 041/562 54 91
> Fax : 041/562 54 97
> Mobil : 0905 34 00 20
>
>
>
>  On 27. 6. 2013 15:11, ŠVARC Jiří wrote:
>
>  Nevím jestli jsem dobře porozuměl, ale nešlo by to realizovat vyhledáním
> v seznamu detailů s kritériem odkazu na mastera,  nastavením řazení a
>  query.setMaxResults(1)?
>
> ** **
>
> *ing. Jiří Švarc**
> *Programmer Analyst
>
>  
>
> *Asseco Central Europe, a.s.**
> *Solutions for Demanding Business
>
> Budějovická 778/3a, 140 00 Praha 4
> Czech Republic
> Mobile: +420 737 944 536
> jiri.sv...@asseco-ce.com
> www.asseco-ce.com
>
> ** **
>
> *From:* konference-boun...@java.cz 
> [mailto:konference-boun...@java.cz]
> *On Behalf Of *Rastislav Siekel
> *Sent:* Thursday, June 27, 2013 2:57 PM
> *To:* Java
> *Subject:* Hibernate SELECT bez FROM tabuľky
>
> ** **
>
> Zdravím vospolok,
>
> chcel by som sa spýtať, či niekto neriešil nasledujúci problém:
>
> V Oracle mám tabuľky master a detail. Mám master a chcem k nemu nájsť 
> *posledný
> *detail, čo spravím v SQL takto:
>
> ... AND detail_id =
> (
> SELECT * FROM
> (
> SELECT detail_id
> FROM detail
> ORDER BY detail_time DESC
> )
> WHERE rownum = 1
> )
> ...
>
>
> Tu som narazil na problém, že Hibernate pomocou Criteria API asi nevie
> spraviť "SELECT FROM (...) WHERE ...".
> Aj DetachedCriteria, aj Criteria si vyžadujú Entitu (DTO), nad ktorou
> pripravia SQL príkaz. Je nejaká možnosť ako toto obísť?
>
> Vďaka,
> Rastislav "Bedo" Siekel
>
> ** **
>  --
>
> Ing. Rastislav Siekel
> Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia
> E-mail :  
> Tel : 041/562 54 91
> Fax : 041/562 54 97
> Mobil : 0905 34 00 20
>
>
> 
>
>
>


jaky security framework?

2007-07-09 Thread Martin Beránek

Zdravím konferenci,

potřeboval bych doporučit něco jako security framework. Chtěl bych 
určité metody oběktů zabezpečit na uživatelské role. něco jako:


public void someMethod() {
Security.checkRole("admin","poweruser");
...
...
...
}

kde by Security.checkRole mohlo vyhodit nějakou SecurityException.

koukal sem na jaas, ale tam se mi nelibi že jakmile to jednou zapnu, 
aplikuje se to všude.


díky za návrhy

--
Martin Beránek



smime.p7s
Description: S/MIME Cryptographic Signature


Re: jaky security framework?

2007-07-09 Thread Martin Beránek
Jasne... ale budu to psat cele od zacatku. Spise jestli uz neni neco 
hotoveho (at uz je to postavne na aspektech nebo ne) - a to se stale 
bavime pouze o overeni "user in role". Ale cela ta maskarada okolo jako 
je security context je vec o neco slozitejsi.


Tomas Hubalek napsal(a):
To co chcete se da naprosto perfektne udelat pomoc AOP. 


Proste metode priradite aspekt, ktery to vynuti.



--
Martin Beránek




smime.p7s
Description: S/MIME Cryptographic Signature


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

2007-08-23 Thread Martin Beránek
Zdravím,

Dne Thursday 23 of August 2007 14:41:32 Michal Palička napsal(a):
> Jeste me napadlo:
>
> Tech zavislosti ve vasem POMu nemusi byt zase az tak moc.
> MAVEN podporuje tzv. tranzitivni zavislosti.
>
> Pokud tedy napr. do vaseho POMu pridate Hibernate,
> doplni MAVEN automaticky (na pozadi) take vsechny zavislosti teto
> knihovny (cglib, antlr, asm, ehcache atd.).
>
> mp.

to je sice pravda, ale řekl bych, že tranzitivních závislostí by se nemělo 
zneužívat: přestože třeba hibernate závisí na common-collections a budu je 
tedy mít v classpath, tak pokud začnu common-collections přímo používat ve 
svém projektu, měl bych je do pom souboru přidat. Nejenže to potom odráží 
logickou strukturu kódu, ale vyhnu se problémům až třeba hibernate nahradím 
nečím jiným a commons-collections vypadnou ze stromu závislostí.

-- 
Martin Beránek


spring v jetty nebo jetty ve springu

2007-10-03 Thread Martin Beránek
zdravím,

prozkoumávám spring a zatím se nenalezl odpověď na tuto otázku:

Předpokládám aplikaci, která se skládá z databáze, hibernate, webu (jsf) a 
dalších serverů (vlastní servery, povětšinou request-response povahy, 
komunikující na různých protokolech).

Prvotně mi přišlo blízké postavit aplikaci tak, že pouze nahodím spring 
context a ten spustí jetty a další servery. Tady ale příchází problém v 
integraci JSF do jetty, protože takto spuštěný kontext neumí session/request 
scope... a přicházím tak o výhodu integrace JSF a springu.

Druhé řešení by asi bylo jednoduší... a to spustit Jetty (nebo třeba Tomcat), 
v něm spustit WebApplicationContext. Na tomto řešení se mi ale zase moc 
nelíbí, že ty moje další servery jsou spouštěny z nějakého servletu.

Dále rozdělení celé aplikace na web a "ten zbytek" taky není nejvhodnější 
kvůli hibernate (dvě instance hibernate ve dvou různých VM přistupují k jedné 
databázi).

Jak to řešíte vy??

-- 
Martin Beránek


Re: spring v jetty nebo jetty ve springu

2007-10-03 Thread Martin Beránek
Dne Wednesday 03 of October 2007 14:33:29 Michal Palička napsal(a):
> Dalsi server (non-HTTP) spoustim v ramci aplikacniho kontextu Springu.

... a tento aplikační kontext je spuštěn z jetty, chápu to tedy správně? Jak 
velké aplikace jste takto provozoval? Nějaké problémy?

-- 
Martin Beránek


spring & hibernate & transakce

2007-11-06 Thread Martin Beránek
Zdravím,

začínám se springem. Vždy, když jsem používal Hibernate, řídil sem transakce 
aplikačně přes session.beginTransaction(), session.getTransaction.comit() 
respektive rollback(). V tom bych chtěl pokračovat a řekl bych že se mi to i 
daří. Ale nechápu, proč spring vyžaduje za běhu "jta.jar" - rád mám věci pod 
kontrolou. Lze se této - podle mě nadbytečné závislosti - zbavit (jedná se o 
standalone aplikaci).

konfigurace:











${db.dialect}
thread

org.hibernate.cache.NoCacheProvider


    


-- 
Martin Beránek


Re: spring & hibernate & transakce

2007-11-07 Thread Martin Beránek
Dne Tuesday 06 of November 2007 18:06:29 Roman Pichlik napsal(a):
> Ta zavislost tam neni zavlecena transakcnim modulem, nybrz tridou
> org.springframework.orm.hibernate3.LocalSessionFactoryBean. Jinak bych
> vam doporucoval ridit transakce Springem, prece jenom je to pohodlnejsi
> a vice odolne chybam a casto se opakujicimu kodu...

diky za reakci - budu o tom uvazovat.

jeste jedna otazka k transakcim: spring reference manual jsem samozrejme 
prochazel (stejne tak pasaze o transakcich v knize Spring in Action), ale 
tato pasaz se mi zda asi nejvic tajemna. Jake jsou tedy moznosti rizeni 
transakci ve standalone aplikaci?

predpokladam:

hibernate (jdbc) transaction
jta???

diky

>
> Martin Beránek napsal(a):
> > Zdravím,
> >
> > začínám se springem. Vždy, když jsem používal Hibernate, řídil sem
> > transakce aplikačně přes session.beginTransaction(),
> > session.getTransaction.comit() respektive rollback(). V tom bych chtěl
> > pokračovat a řekl bych že se mi to i daří. Ale nechápu, proč spring
> > vyžaduje za běhu "jta.jar" - rád mám věci pod kontrolou. Lze se této -
> > podle mě nadbytečné závislosti - zbavit (jedná se o standalone aplikaci).
> >
> > konfigurace:
> > 
> > 
> > 
> > 
> > 
> > 
> >
> >  > class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
> > 
> > 
> > 
> > ${db.dialect}
> >  > key="hibernate.current_session_context_class">thread  > key="hibernate.cache.provider_class">
> > org.hibernate.cache.NoCacheProvider
> > 
> > 
> > 
> > 



-- 
Martin Beránek


Re: pracovní příležitost

2007-11-07 Thread Martin Beránek
zdravim,

Dne Wednesday 07 of November 2007 10:19:15 Ondřej Ludvík napsal(a):
> Jinak si nemyslim, ze je neco zleho na pracovni nabidce

je to proste "jenom" SPAM.

Ten kdo hledá práci, ví kam se má podívat - na internetu je mnoho míst k tomu 
určených (dokonce jsou i taková, která se specializují na "lidi od IT").

-- 
Martin Beránek


Re: Konstruktor genericke tridy

2007-11-22 Thread Martin Beránek
Dne Thursday 22 of November 2007 11:33:08 Martin Kuba napsal(a):
> Petr Gola napsal(a):
> > Řekl bych, že new T() nefunguje, protože T je dostupný jen pro
> > kompilaci. Je to sice ukecanější - je třeba předávat ještě "T.class",
> > ale je to navíc informace, která přežije kompilaci :)
>
> Tak tak, třída MyClass existuje jen jednou, takže
> v souboru MyClass.class nemůže být informace, o jaké T se jedná.
> Nezbývá, než si předat informaci o třídě T jako parametr.
>
> Makub

dalším spůsobem jak získat Class je tenhle (musí být voláno uvnitř třídy 
MyClass):

(Class) ((ParameterizedType) 
getClass().getGenericSuperclass()).getActualTypeArguments()[0];

mým zdrojem bylo tohle: http://www.hibernate.org/328.html#A6

-- 
Martin Beránek
ICZ a.s.
http://www.i.cz


Re: Netbeans jako jednoduchý XML editor?

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

za vyzkouseni by taky mohl stat XMLmind (http://www.xmlmind.com/xmleditor/)

-- 
Martin Beránek
ICZ a.s., Pobočka Brno
mailto:[EMAIL PROTECTED]
http://www.i.cz


hibernate: anotace pri Map

2008-03-04 Thread Martin Beránek
Zdravím,

nevím jak mám zapsat následující mapování pomocí anotací







jde o situaci kdy perzistetní objekt má několik identifikátorů v různých 
jmenných prostorech

děkuji za nakopnutí správným směrem

-- 
Martin Beránek


Re: hibernate: anotace pri Map

2008-03-04 Thread Martin Beránek
Dne Tuesday 04 of March 2008 13:36:01 Martin Beránek napsal(a):
> Zdravím,
>
> nevím jak mám zapsat následující mapování pomocí anotací
>
> 
> 
> 
> 
> 

inu odpovim si sam. pomoci jpa anotaci to nejde, je treba pouzit hibernate 
anotace

@org.hibernate.annotations.CollectionOfElements(fetch=FetchType.EAGER)
@JoinTable(name = "patient_idents", [EMAIL PROTECTED](name="patid")})
@Column(name = "ident",nullable = false) 
@org.hibernate.annotations.MapKey([EMAIL PROTECTED](name="nspace")})
public Map getIdents() {
...
}

-- 
Martin Beránek
ICZ a.s., Pobočka Brno
Londýnské náměstí 2/856, 639 00 Brno
Tel.: +420 244 100 333
Fax.: +420 244 100 344
mailto:[EMAIL PROTECTED]
http://www.i.cz


hibernate criteria: jak obejit korelovany poddotaz

2008-03-12 Thread Martin Beránek
Zdravím,

už nad tím sedím pěkně dlouho a nemůžu se dobrat k výsledku.

Mám dvě entity Parent(id,name) a Child(id,name,parent) ve vztahu 1:N (rodič, 
potomek).

Běžně používám dotazy typu:
Criteria c = session.createCriteria(Child.class);
c.add(Restrictions.eq("name","a"));
c.createAlias("parent","parent");
c.add(Restrictions.eq("parent.name","b"));

Ale teď potřebuji přidat podmínku na nějakou jinou instanci Child (vpodstatě 
by to šlo pomocí korelovaného poddotazu, ale tomu bych se rád vyhnul) která 
bude opět innerjoinovana s parent, tedy něco jako:

Vyber takové Child se jménem "aaa", jejichž rodič má Child se jménem "bbb".

A tohle zapsat pomocí criteria api...

díky za pomoc


-- 
Martin Beránek


Re: verze javac, ktera vyprodukovala .class soubory

2008-04-21 Thread Martin Beránek
co takhle dekompilovat a porovnat?

Martin

Dne Monday 21 of April 2008 10:44:46 Pavel Kolesnikov napsal(a):
> On 21/04/2008, Oto Buchta <[EMAIL PROTECTED]> wrote:
> > Hmmm. A proc potrebujes vytvaret binarne identicky .class, kdyz ho mas?
> > cp nestaci? :-)
>
> Protoze mam veliký převeliký nepořádek ve verzích (což ja samozřejmě moje
> chyba, které šlo předcházet, ale už se to tak zkrátka stalo).
>
> Jinými slovy, to, co hledám, není .class, ale správná revize
> odpovídajícího zdrojáku.
> Blbá situace, co? :-)
>
> Pavel


Re: ant: projekt na více jar souborů

2008-05-12 Thread Martin Beránek
Dne Monday 12 of May 2008 15:18:26 [EMAIL PROTECTED] napsal(a):
> Mám projekt v eclipse. V něm tři adresáře se zdrojovými kódy. Chtěl bych z
> každého tohoto adresáře pomocí antu vytvořit jeden jar soubor. Můj problém
> je, že všechny .class soubory jsou uloženy v adresáři ./bin . Asi by bylo
> dobré je překládat každý do jiného adresáře, ale nevím jak to udělat, aby s
> tím zase eclipse neměl problém. Navíc s antem nemám mnoho zkušeností. Chtěl
> bych se proto zeptat, jaký je nejlepší postup, co dělám špatně, případně na
> odkaz na nějaký příklad. Děkuji mnohokrát.

Předem doporučuji psát ANT skripty tak, aby šli spouštět nezávisle na eclipse 
(takže nespoléhat, že eclipse vše automaticky builduje do nějakého adresáře).

Varování zaznělo, nyní rada: nastavení projektu, položka "Java Build Path", 
záložka "Source" zaškrtněte dole položku "Allow output folders for source 
folders". Pak můžete pro každou zdrojovou složku nastavit jinou složku pro 
buildování.

-- 
Martin Beránek


hibernate: composite unique u map

2008-05-28 Thread Martin Beránek
zdravím konferenci,

narazil jsem na následující problém. Mám mapování uvnitř třídy Person:







Takže Person má mapu svých identifikátorů v různých namespace. Potřeboval bych
ještě přidat omezení "unique" na sloupce namespace + identifier (tedy aby dvě 
osoby
nemohly mít stejný identifikátor ve stejném jmenném prostoru).

Jak třídy tak schéma databáze se generuje z hbm.xml, takže bych to rád nějak 
přidal sem.

díky za rady

-- 
Martin Beránek
mailto:[EMAIL PROTECTED]


Re: pouzitie discriminator v Hibernate

2008-06-10 Thread Martin Beránek
Myslím že by mělo fungovat

session.createCritera(A.class).list()

přičemž výsledek bude List

Dne Tuesday 10 of June 2008 15:45:59 Ivan Polak napsal(a):
> Zdravim konferenciu,
>
> na pouzitie discriminator-a v Hibernate mam jednu zvlastnu poziadavku. mam
> tabulku ktora ma stlpec typ. k tejto tabulke patri abstract trieda, nech sa
> vola A. a mam 8 tried ktore su potomkami tejto abstract triedy a kazda ma
> svoj vlastny typ, povedzme "1" az "8" (discriminator-value), ktory sa
> korektne zapisuje pomocou hibernate do tohoto stlpca typ. v jednom pripade
> ale chcem pomocou kriterii vytiahnut zakladne (bazove) objekty typu A. mam
> pocit ze to nepojde lebo z nich nemoze byt instancia. nemate niekto napad
> ako toto vyriesit ? dakujem!
>
> Ivan
>
> ________
> Message sent using Webmail 2.7.9



-- 
Martin Beránek


Re: pouzitie discriminator v Hibernate

2008-06-10 Thread Martin Beránek
Dne Tuesday 10 of June 2008 15:58:27 Ivan Polak napsal(a):
> no praveze to nejako nefunguje: vypisuje to chybu:
>
> .Object with id: 4667772 was not of the specified subclass: sk..A
> (Discriminator: 1   ); nested exception is
> org.hibernate.WrongClassException: Object with id: 4667772 was not of the
> specified subclass: sk.x.A (Discriminator: 1   )

tak z toho nejsem 2x moudry ^^^

jinak teď jsem vyzkoušel:

for (Object o : session.createCriteria(Object.class).list()) {
System.out.println(o.getClass().getSimpleName());
}

a vrátilo to pěkný seznam všech možných entit...

-- 
Martin Beránek


generic instanceof

2008-06-12 Thread Martin Beránek
Zdravím konferenci,

narazil sem na zajímavý problém - nemůžu vygooglit řešení... navíc po přečtení 
tohoto: http://www.ibm.com/developerworks/java/library/j-jtp01255.html si 
nejsem jistý jestli řešení existuje, takže:

mám abstraktní třídu A. V této třídě načítám pluginy (přes Class.forName) - 
rozhraní pro pluginy mám definované jako:

interface Plugin {
boolean execute(T param);
}

V třídě A bych před zavoláním execute potřeboval ověřit, že:

plugin instanceof Plugin

tedy že plugin typově sedí k dané implementaci. Například:

"class Plugin1 implements Plugin" půjde zavolat z "class B extends 
A" ale ne z "class C extends A"

dále poznamenám že v abstraktní třídě A mám k dispozici proměnnou typu 
Class

-- 
Martin Beránek


Re: generic instanceof

2008-06-13 Thread Martin Beránek
Díky všem,

tušení, že to nepůjde lehce jsem měl ;)

zřejmě půjdu cestou jakou navrhoval Tomáš Záluský, tedy

interface Plugin {
boolean execute(T param);
Class getParamType();
}

další variantou je chytat ClassCastException při volaní execute, ale to by asi 
mohlo způsobovat výkonnostní problémy - co vy nato?


-- 
Martin Beránek


Re: generic instanceof

2008-06-16 Thread Martin Beránek
díky, to je přesně to co jsem hledal

Dne Monday 16 of June 2008 11:30:24 Martin Kuba napsal(a):
>   Tomáš Záluský napsal(a):
> > To je dobré! :-)
> >
> >> getGenericSuperclass().getActualTypeArguments()
>
> Ještě jsem si přes víkend uvědomil, že to půjde i s použitím
> interface, protože existuje i
>
> getGenericInterfaces().getActualTypeArguments()
>
> takže tady je nová verze s interface:
>
> package cz.makub.generika;
>
> import java.lang.reflect.ParameterizedType;
> import java.lang.reflect.Type;
>
> /**
>   * Created by IntelliJ IDEA.
>   *
>   * @author Martin Kuba [EMAIL PROTECTED]
>   */
> public class Beranek {
>
>  public static interface Plugin {
>  boolean execute(V param);
>  }
>
>  public static abstract class A {
>
>  public void uzijPlugin(String name) {
>  try {
>  System.out.println("");
>  System.out.println("plugin: " + name);
>  Class tClass = (Class) ((ParameterizedType)
> getClass().getGenericSuperclass()).getActualTypeArguments()[0];
> System.out.println("A<" + tClass.getName() + ">");
>
>  Class c = Class.forName(name);
>  Type[] genericInterfaces = c.getGenericInterfaces();
>  for (Type genericInterface : genericInterfaces) {
>  if (genericInterface instanceof ParameterizedType) {
>  Type type = ((ParameterizedType)
> genericInterface).getRawType(); if (type.equals(Plugin.class)) {
>  Class vClass = (Class) ((ParameterizedType)
> genericInterface).getActualTypeArguments()[0]; System.out.println("Plugin<"
> + vClass.getName() + ">"); if (tClass.equals(vClass)) {
>  System.out.println("jde to");
>  } else {
>  System.out.println("nejde to");
>  }
>  }
>  }
>  }
>  } catch (ClassNotFoundException e) {
>  e.printStackTrace();
>  }
>
>  }
>  }
>
>
>  public static class PotomekAStringovy extends A {
>  }
>
>  public static class PluginStringovy implements Plugin {
>  public boolean execute(String param) {
>  return false;
>  }
>  }
>
>  public static class PluginIntegerovy implements Plugin {
>  public boolean execute(Integer param) {
>      return false;
>  }
>  }
>
>  public static void main(String[] args) {
>  PotomekAStringovy pas = new PotomekAStringovy();
>  pas.uzijPlugin("cz.makub.generika.Beranek$PluginStringovy");
>  pas.uzijPlugin("cz.makub.generika.Beranek$PluginIntegerovy");
>  }
> }
>
>
> Makub



-- 
Martin Beránek


hibernate criteria pro map

2008-07-29 Thread Martin Beránek
Zdravím,

bádám nad tím už druhý den a k výsledku jsem se nepropracoval. Mám následující 
mapování:


  
  
  


což přes hbm2java vyrobí property

Map idents;

potřeboval bych hledat podle dvojice nspace+ident, ale přes kritéria netuším 
jak - aliasy nějak nezabírají

v hql by to vypadalo následovně

from Entity as e where e.idents['somenspace'] = 'something'

nevíte někdo jak nato??? díky

        
-- 
Martin Beránek


Re: POJO2dbtables

2008-08-27 Thread Martin Beránek
Dne Wednesday 27 of August 2008 12:23:22 Jakub Bednář napsal(a):
> Moje idea byla updatovat db schema a pote vlastni db podle zmen v pojo
> objektech.

však o tom se tu mluví ;) podívejte na

http://docs.jboss.org/tools/2.1.0.Beta1/hibernatetools/html_single/index.html#d0e1991

a můžete použít třeba "annotationconfiguration" - bez nějakých metadat se 
stejně neobejdete

-- 
Martin Beránek


Re: Oracle, Hibernate, ... - zavolání funkce na výslednou query

2008-10-16 Thread Martin Beránek
Dne Thursday 16 of October 2008 08:56:59 Robert Vojta napsal(a):
> 2008/10/15 Tomas Vojtech <[EMAIL PROTECTED]>:
>
> Ahoj,
>
> > do dialectu lze zaregistrovat dodatecnou fci. Staci se podivat treba do
> > SQLServerDialect.
>
> to samozřejmě lze, ale já potřebuji něco jiného. Jak zaregistrovat
> funkci, jak ji zavolat, to všechno vím. Ale já potřebuji donutit
> Hibernate, aby výslednou nativní query Oracle obalil funkcí, něco jako
> ...
>
>  z: SELECT * FROM ...
>  do: SELECT CREATE_CSV("SELECT * FROM ...") FROM DUAL
>
> ... tak, aby si funkce Oraclu sama spustila dotaz, vzala data,
> vytvořila CSV a vrátila ho zpět. Stále platí, že tu query není možné
> vytvořit ručně z důvodu obrovské složitosti a času (odpadá použití
> named query). Pokud to nepůjde, tak nic jiného nezbyde, ale jako
> dočasné řešení bych chtěl Hibernate nějak donutit, aby tu výslednou
> query ještě transformoval a až potom odeslal.

nejprve sem koukal na SqlProjection, ale to asi nepomuze (nebo tedy roznodne s 
tim neudelate presne to co jste psal)

co takhle zkusit napsat vlastni dialect - dival jsem se na metodu 
Dialect.transformSelectString. Jako lepsi metodu uvadeji pouziti Interceptoru 
a metody onPrepareStatement.


-- 
Martin Beránek


Re: JSP procházení kolekce

2008-10-16 Thread Martin Beránek
Dne Thursday 16 of October 2008 13:53:40 Petr Musil napsal(a):
> Nemuze to byt treba tim, ze class soubory jsou zkompilovany do verze
> 1.4? Zkuste zkontrolovat hodnotu -target pro javac.

Asi to bude tim, ale ne uplne tak jak jste napsal. Jestli si to dobre 
pamatuji, tak tomcat nepotrebuje pro beh JDK, tudiz se spoleha na svuj 
vnitrni kompilator - to bude asi ten problem.

-- 
Martin Beránek


Re: JSP procházení kolekce

2008-10-16 Thread Martin Beránek
Dne Thursday 16 of October 2008 14:10:03 Jakub Příkazský napsal(a):
> Martin Beránek napsal(a):
> > Dne Thursday 16 of October 2008 13:53:40 Petr Musil napsal(a):
> >> Nemuze to byt treba tim, ze class soubory jsou zkompilovany do verze
> >> 1.4? Zkuste zkontrolovat hodnotu -target pro javac.
> >
> > Asi to bude tim, ale ne uplne tak jak jste napsal. Jestli si to dobre
> > pamatuji, tak tomcat nepotrebuje pro beh JDK, tudiz se spoleha na svuj
> > vnitrni kompilator - to bude asi ten problem.
>
> Dobrý den,
>
> projekt mám určitě nastavený na kompilaci pro Java 1.5. Nenapadlo mě, že
> Tomcat nepoužívá javovský compiler.
> Vyzkouším verzi 5.5.20, zda se chyba objeví.

myslím že posun o minor číslo nic nezmůže... možná bych zkusil tomcat 6

ale jak u 5.5 tak u 6 je napsáno že se používá JDT

viz. http://tomcat.apache.org/tomcat-5.5-doc/jasper-howto.html

>
> děkuji
>
> Jakub Příkazský



-- 
Martin Beránek
ICZ a.s., Pobočka Brno
Londýnské náměstí 2/856, 639 00 Brno
Tel.: +420 244 100 333
Fax.: +420 244 100 344
mailto:[EMAIL PROTECTED]
http://www.i.cz


log4j vystup do souboru podle threadu

2009-01-28 Thread Martin Beránek
zdravím,

máme aplikaci v které běží několik vláken, které dělají různé činnosti. Chtěl 
bych log z každého vlákna a všech vláken, které vytvoří šel při logování do 
oddělených souborů. Ideálně pokud bych pro každé vlákno (threadgroup) měl 
samostatný log4.xml.

díky za náměty a rady

-- 
Martin Beránek


Re: log4j vystup do souboru podle threadu

2009-01-28 Thread Martin Beránek
Dne Wednesday 28 of January 2009 15:05:35 Jiří Mareš napsal(a):
> Ahoj,
>
> kdysi jsem se tim zaobiral (je to tak rok) a jedine co jsme vymysleli, je
> do NDC (ci MDC) si ulozit jmeno vlakna, toto pak pomoci konfigurace
> zapisovat do log souboru. Vznikne pouze jeden log soubor, ktery se ovsem
> podle jmena vlakna da rozdelit na vice souboru ...


na NDC sem samozřejmě koukal, ale docela by i stačilo (když bych částečně 
slevil ze svých nároků). Ale největším problémem je to vytváření dalších 
vláken... to totiž nemám tak uplně pod kontrolou (jedním z vláken je jetty, 
dalším HL7 server,...).

-- 
Martin Beránek
ICZ a.s., Pobočka Brno
Londýnské náměstí 2/856, 639 00 Brno
Tel.: +420 244 100 333
Fax.: +420 244 100 344
mailto:martin.bera...@i.cz
http://www.i.cz


Re: Kedy dojde k odstraneniu objektu?

2009-02-25 Thread Martin Beránek

Filip Jirsák napsal(a):

Dobré odpoledne,
tohle je právě častý omyl. Ve specifikaci (JavaDoc) je řečeno, že
metoda proběhne *maximálně* jednou:

The finalize method is never invoked more than once by a Java virtual
machine for any given object.


teď jsem ještě čirou náhodou objevil

System.runFinalizersOnExit(boolean)

na což by se asi dalo spolehnout...

--
Martin Beránek
ICZ a.s., Pobočka Brno
Londýnské náměstí 2/856, 639 00 Brno
Tel.: +420 244 100 333
Fax.: +420 244 100 344
mailto:martin.bera...@i.cz
http://www.i.cz


prekresleni jscrollpane

2009-03-12 Thread Martin Beránek

zdravím,

se swingem začínám takže možná trochu začátečnický dotaz.

hlavní část aplikace (japplet) je okno kde je jscrollpane a v něm nejaký 
canvas (udelal jsem jako potomka jpanel) na který kreslím.


v tom canvasu překrývám metodu getPreferredSize() a vracím nějaké 
rozměry - které se ale v průběhu běhu aplikace mění. A to je ten 
problém. Vykreslím třeba velký obrázek, ale scrollbary se obnoví až po 
změně velikosti apletu.


jak se tohle má správně řešit?

--
Martin Beránek
ICZ a.s., Pobočka Brno
Londýnské náměstí 2/856, 639 00 Brno
Tel.: +420 244 100 333
Fax.: +420 244 100 344
mailto:martin.bera...@i.cz
http://www.i.cz


Re: prekresleni jscrollpane

2009-03-13 Thread Martin Beránek

díky za snahu

hlava nezklamala... funguje to

Tomáš Zvěřina napsal(a):
Uplne presne z hlavy nevim a hledat se mi to nechce ... ale sem dobrak, 
tak vas nakopnu :-)


Prosta zmena getPrefferedSize nikoho nezajima. Musite zavolat 
"invalidate" ... nebo "revalidate" ... neco takoveho. Tim date svemu 
parentovi najevo, ze jste se zmenil a je vam tesno. On si to prebere a 
prekresli se.


2009/3/12 Martin Beránek mailto:martin.bera...@i.cz>>

zdravím,

se swingem začínám takže možná trochu začátečnický dotaz.

hlavní část aplikace (japplet) je okno kde je jscrollpane a v něm
nejaký canvas (udelal jsem jako potomka jpanel) na který kreslím.

v tom canvasu překrývám metodu getPreferredSize() a vracím nějaké
rozměry - které se ale v průběhu běhu aplikace mění. A to je ten
problém. Vykreslím třeba velký obrázek, ale scrollbary se obnoví až
po změně velikosti apletu.

jak se tohle má správně řešit?

-- 
Martin Beránek

ICZ a.s., Pobočka Brno
Londýnské náměstí 2/856, 639 00 Brno
Tel.: +420 244 100 333
Fax.: +420 244 100 344
mailto:martin.bera...@i.cz <mailto:martin.bera...@i.cz>
http://www.i.cz




--
S pozdravem,

  Tomas Zverina

Multimedia atelier s.r.o.
Na Dolinách 4
147 00 Praha 4
IČO: 25127071
tel.: 241 433 120
http://www.m-atelier.cz/   http://www.lincovery.com/   
 http://lincovery.m-atelier.cz/


Společnost Multimedia atelier s.r.o. je zapsána u rejstříkového soudu v
Praze, oddíl C, vložka 51961.



--
Martin Beránek
ICZ a.s., Pobočka Brno
Londýnské náměstí 2/856, 639 00 Brno
Tel.: +420 244 100 333
Fax.: +420 244 100 344
mailto:martin.bera...@i.cz
http://www.i.cz



smime.p7s
Description: S/MIME Cryptographic Signature


Přídání metod do pojo

2009-04-07 Thread Martin Beránek
Zdravím,

řeším následující problém:

mám pojo (nositel dat) a potřebuji do ní přidat další getMetodu

class Person {
private String login;
public String getLogin() {
return this.login;
}
}

potřeboval bych přidat metodu, např:

boolean isEnabled() {
return true; //tím chci říct, že dopředu vím co má metoda vrátit
}

Třídu jako takovou měnit nechci. Jako metodu to potřebuju kvůli tomu, že
to je objekt který se zobrazuje v JSF tabulce.

Zkoumal jsem jestli se pro to dají použít commons.binutils, ale ty
zřejmě umí vytvářet jenom uplně nové pojo.

díky za rady

-- 
Martin Beránek
ICZ a.s., Pobočka Brno
Londýnské náměstí 2/856, 639 00 Brno
Tel.: +420 244 100 333
Fax.: +420 244 100 344
mailto:martin.bera...@i.cz
http://www.i.cz



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Přídání metod do pojo

2009-04-08 Thread Martin Beránek
díky za tip, vypadá to nadějně a na použití asi nejjednodušeji (oproti
např. asm)

pokud to dotáhnu do úspěšnéno konce o výdledek se podělím

martin

Roman Pichlík napsal(a):
> ja bych jeste dal konkretni tip, co to udelat pomoci Cglibu
> (http://cglib.sourceforge.net/), ten udela za runtime potomka te tridy
> se stejnym rozhranim, pridat tam tu metodu bude trivka
> 
> 
> 2009/4/7 Zdenek Tronicek :
>> Dobry den,
>>
>> k tomu co je nize bych doplnil bytecode instrumentation. Asi bych to ovsem
>> resil tak, ze vytvareni instanci bych presunul do tovarni metody, ktera by
>> vracela instanci anonymniho potomka Person. Ten by mel metodu isEnabled.
>>
>> Z.T.
>> --
>> Zdenek Tronicek
>> Department of Computer Science and Engineering
>> Prague   tel: +420 2 2435 7410
>> http://cs.felk.cvut.cz/~tronicek
>>
>>
>> Quoting Jiří Mareš :
>>
>>> Ahoj Martine,
>>>
>>> AspectJ, pripadne vlastni byte-code manipulace (asm, javassist).
>>>
>>> S pozdravem
>>>
>>> Martin Beránek napsal(a):
>>>> Zdravím,
>>>>
>>>> řeším následující problém:
>>>>
>>>> mám pojo (nositel dat) a potřebuji do ní přidat další getMetodu
>>>>
>>>> class Person {
>>>>private String login;
>>>>public String getLogin() {
>>>>return this.login;
>>>>}
>>>> }
>>>>
>>>> potřeboval bych přidat metodu, např:
>>>>
>>>> boolean isEnabled() {
>>>>return true; //tím chci říct, že dopředu vím co má metoda vrátit
>>>> }
>>>>
>>>> Třídu jako takovou měnit nechci. Jako metodu to potřebuju kvůli tomu, že
>>>> to je objekt který se zobrazuje v JSF tabulce.
>>>>
>>>> Zkoumal jsem jestli se pro to dají použít commons.binutils, ale ty
>>>> zřejmě umí vytvářet jenom uplně nové pojo.
>>>>
>>>> díky za rady
>>>>
>>> --
>>> Jiří Mareš (mailto:jiri.ma...@svt.cz)
>>> ČSAD SVT Praha, s.r.o. (http://www.svt.cz)
>>> Czech Republic
>>>
>>>
>>
>>
> 
> 
> 


-- 
Martin Beránek
ICZ a.s., Pobočka Brno
Londýnské náměstí 2/856, 639 00 Brno
Tel.: +420 244 100 333
Fax.: +420 244 100 344
mailto:martin.bera...@i.cz
http://www.i.cz



smime.p7s
Description: S/MIME Cryptographic Signature


jak udelat icmp ping

2009-06-23 Thread Martin Beránek
zdravím,

z aplikace potřebuji ověřit dostupnost nějakého stroje. Vzhledem k tomu, že je 
to informace primárně pro uživatele, rozhodli jsme, že ping je tou
správnou volbou.

Klasické InetAddress.isReachable ale nakonec dělá pouze tcpecho na port 7 
(protoze aplikace nemá dostatečná oprávnění - musela by běžet pod rootem).

Víte o nějaké knihovně, která třeba multiplatformě obaluje volání externího 
ping programu? (na linuxu má ping suid). Případně nějaké jiné řešení - ale
chci opravdu ICMP PING.

díky

-- 
Martin Beránek



smime.p7s
Description: S/MIME Cryptographic Signature


Re: jak udelat icmp ping

2009-06-23 Thread Martin Beránek
Ján Valkovič napsal(a):
> Zdravim,
> toto nepomoze? http://www.savarese.org/software/rocksaw/
> 
> ya

diky

na prvni pohled vypada zajimave, jenom se bojim, ze budu mit porad problem s 
opravnenim na urovni OS (provest icmp ping). vyzkousim.

> 
> Dňa Ut, 2009-06-23 o 11:19 +0200, Martin Beránek napísal:
>> zdravím,
>>
>> z aplikace potřebuji ověřit dostupnost nějakého stroje. Vzhledem k tomu, že 
>> je to informace primárně pro uživatele, rozhodli jsme, že ping je tou
>> správnou volbou.
>>
>> Klasické InetAddress.isReachable ale nakonec dělá pouze tcpecho na port 7 
>> (protoze aplikace nemá dostatečná oprávnění - musela by běžet pod rootem).
>>
>> Víte o nějaké knihovně, která třeba multiplatformě obaluje volání externího 
>> ping programu? (na linuxu má ping suid). Případně nějaké jiné řešení - ale
>> chci opravdu ICMP PING.
>>
>> díky
>>
> 
> 


-- 
Martin Beránek
ICZ a.s., Pobočka Brno
Londýnské náměstí 2/856, 639 00 Brno
Tel.: +420 244 100 333
Fax.: +420 244 100 344
mailto:martin.bera...@i.cz
http://www.i.cz



smime.p7s
Description: S/MIME Cryptographic Signature


Re: jak udelat icmp ping

2009-06-23 Thread Martin Beránek
Juraj Lutter napsal(a):
> Martin Beránek wrote:
>> Ján Valkovič napsal(a):
>>> Zdravim,
>>> toto nepomoze? http://www.savarese.org/software/rocksaw/
>>>
>>> ya
>>
>> diky
> 
> Len pre info, ICMP PING (spravne: ICMP ECHO REQUEST) sa da generovat
> jedine pomocou AF_PACKET (cize tzv. raw) socketu, ktory ma (standardne)
> povoleny vytvarat len superuser.
> 
> Jednotlive distribucie roznych UNIX a UNIX-like systemov (Solaris, BSD,
> Linux, HPUX, ine..) mozu ale mat (napr. pomocou capabilities,
> privileges, trusted extensions) povolene vytvaranie raw socketov aj pre
> non-root pouzivatelov.

Ano mouzou. O tomhle mam prehled. Software ktery pisu mam byt nasaditelny i 
radoby beznym uzivatelem a opravdu nestojim o reseni problemu s
konfiguraci SELinuxu a podobnych. Software by mel bezet na 
Windows/Linux/Solaris a tak sem si rikal, ze treba nekdo si uz dal tu praci a 
"ojavoval"
volani externiho programu ping, ktery lze ve standardu spustit snad vsude a uz 
na distribucni urovni jsou vyresena prava pro spusteni.

Pokud vylozene nekdo nezna takove reseni, asi bych to uzavrel. Diky

> 
> 
> 


-- 
Martin Beránek



smime.p7s
Description: S/MIME Cryptographic Signature


hibernate: one2one inverse

2009-08-11 Thread Martin Beránek
Zdravím,

narazil jsem na následující problém:

Mám entitu Storage, která uchovává nastavení a stav logického úložného 
prostoru. Tahle entita je velmi často updatována (co sekundu) kvůli položce
"used", což je velikost zaplnění. To však úplně zablokovalo její editaci z 
webového rozhraní (entita je verzována).

Napadlo mě vytvořit novou entitu StorageUsed a tam tuhle property vytáhnout. To 
zřejmě bude fungovat, ale nedaří se mi rozumným způsobem zapsat
mapování do hbm.xml (java entity generujeme). Vztah one2one se má "simulovat" 
přes mane-to-one s unique="true", ale tohle neumí inverse, takže pak mi
vazbu "drží" Storage a ne StorageUsed. Chtěl bych, aby vazbu držela StorageUsed 
už kvůli jednoduchému update ze současného stavu (systém je v provozu)
a taky z logiky věci.

Nějaké nápady? Díky za pomoc

--
Martin Beránek
ICZ a.s.



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Parsing XML

2009-08-27 Thread Martin Beránek
tester tester napsal(a):
> Ahoj vsetkych,
> 
> kedze som s komplexnejsimi XML nepracoval ra by som sa spytal ako mozno 
> sparsovat takuto vec :
> 
> 
> y
> 0
> 1540
> 0
> 
> 1
> 
> 
> 
> SDS
> NOT LONDON
> 
> 
> GBP
> 1540
> 0
> 0
> 1540
> 1540
> 1
> 
> 
> 0
> NO
> NO
> 056
> 1
> 87
> AAA
> 
> 1
> 
> 00700
> NO
> y
> 2
> S
> 
> 
> NO
> NO
> YES
> 1
> NO
> 
> 
> je to cast xml ktore dostavam od servru.
> Problem s ktorym sa borim je ze existuje niekolko elementov  ktore sa 
> nachadzaju rozhadzane po celom elemente a nijako medzi sebou nesuvisia inymi 
> slovami su ineho typu. 
> 
> Vie ma niekto nakopnut spravnym smerom ako sa s touto hlupostou vysporiadat ?
> 
> A.

mate DTD? pokud ano, problem s parsovanim zrejme nebude (da se pocitat s 
nejakou pevnou strukturou).

vas priklad mi navozuje dojem, ze to xml se skada dost dynamicky a atribut type 
u elementu item urcuje co lze cekat vevnitr. pokud soubory nebudou
nejak velke, klidne bych pouzil DOM (dom4j) a sel na to rekurzivne s 
"pretezovanim" ktere si ale budete muset udelat sam podle toho co je u elementu
item v atributu type. tedy neco jako (pseudokod):

void parseItem(Element e) {
 switch(e.type)
"arrayOfFares" : parseArrayOfFares();
"farePrice" : parseFarePrice();
}

ale zalezi co z toho vlastne chcete dostat, pokud chcete jenom konkretni 
atributy, pouzijte xpath


-- 
Martin Beránek
ICZ a.s., Pobočka Brno
Londýnské náměstí 2/856, 639 00 Brno
Tel.: +420 244 100 333
Fax.: +420 244 100 344
mailto:martin.bera...@i.cz
http://www.i.cz



smime.p7s
Description: S/MIME Cryptographic Signature


Re: releasovanie free/komercnej verzie aplikacii

2009-11-04 Thread Martin Beránek
Dne St 4. listopadu 2009 14:50:45 Lukáš Marek napsal(a):
> Ahoj,
> 
> zkusil bych se inspirovat nějakým standardem pro modulární Java aplikace jako 
> je např OSGi (http://cs.wikipedia.org/wiki/OSGi_Service_Platform).
> 
> Pokud je aplikace nějak rozumně modulární, můžete to udělat tak, že vytvoříte 
> několik modulů:
> - API placené funkcionality stejné pro obě verze
> - implementaci
> - dummy implementaci pro free verzi
> 
> No a pak už jen distribuujete příslušné moduly podle toho o jakou jde verzi.
> 

toto se mi jeví jako dobrý nápad, použil bych to v kombinaci s isFullVersion()

dummy implementace by mohla jenom vyhazovat vyjimky a aby to nepadalo, tak se 
to bude predem chekovat pres isFullVersion

pri pokusu o prolomeni to stejne nebude fungovat, ale bude to pekne padat

-- 
Martin Beránek


Re: automatické odesílání formuláře

2009-11-13 Thread Martin Beránek
Dne Pá 13. listopadu 2009 11:06:29 tomasjur...@email.cz napsal(a):
> Dobrý den
> 
> vytváříme jednoduchou web aplikaci ve které si přihlášený student může 
> spustit test (např z Matematiky, ČJ, Přírodovedy). Jedná se o obyčejný HTML 
> formulář, který po vyplnění a zaškrtání odpovědí student odešle na server k 
> automatickému vyhodnocení.
> 
> Čas testu musí být časově omezen. Po stanovené době se musí test automaticky 
> ukončit a odeslat na server ke zpracování . 
> 
> Toto chování jsem nejprve implementoval pomocí JavaScriptu:
> 
>1. Po spuštění testu se na klientský PC uloží cookie obsahující čas 
> ukončení testu.
>2. V pravidelném časovém intervalu se kontroluje aktuální čas s časem 
> uloženým v cookie. ( používá window.setInterval() )
>3. Formulář se odešle pokud je aktuální čas větší než čas v cookie.
> 
> 
> Řešení se ukázalo jako nespolehlivé. Existuje nějaká možnost jak toto chování 
> řídit na straně serveru?
> Aplikace je napsaná v Jave na Spring 2.5
> 

jak už tu psal Martin Kuba, bez JS se neobejdete. Jenom to cookie mě připadá 
jako komplikace.

Pro tento případ si dokážu představit, že pokud si uživatel vypne javascript a 
tím pádem nestihne odeslat formulář včas, můžou se mu začít strhávat body za 
pozdní odeslání.

-- 
Martin Beránek
mailto:martin.bera...@i.cz
http://www.i.cz


Re: Urceni MIME TYPE dokumentu nacteneho v poli bytu

2009-11-20 Thread Martin Beránek
zdravím

záleží co se snažíte použít za nástroj, po minutě na googlu jsem našel třeba 
tohle

http://jmimemagic.sourceforge.net

podle API to umi pracovat i s polem, ale nevím jak dokonalý je to nástroj.

Podívejte se na přehled http://www.rgagnon.com/javadetails/java-0487.html

Dne Pá 20. listopadu 2009 10:51:22 Jaroslav Hurdes napsal(a):
> Zdravim, vsechny. Nemate nekdo zkusenost, jak urcit mime type dokumentu, 
> ktery mam nacteny v poli bytu. Vsechny funkce pracuji se soubory. Nechci 
> ukladat obsah pole do docasneho souboru jenom pro to abych urcil mime 
> type. Nemate nekdo nejaky napad jak na to. Diky Jaroslav Hurdes
> 

-- 
Martin Beránek
ICZ a.s., Pobočka Brno
mailto:martin.bera...@i.cz
http://www.i.cz


Re: JSF2 f:validateRegex vlastni error message

2010-03-12 Thread Martin Beránek

Zdravim

vypada to ze f:validateRegex neumoznuje definici vlastni message. podle 
me mate 2 moznosti:


1) udelat vlastni Validator a zaregistrovat ho (bud pres faces-config 
nebo anotace - ale jsf2 zatim nepouzivam tak nevim) a pak se na nej 
odkazat pres f:validator


2) pouzit primo validator atribut u h:inputText

mezi temito dvema pristupy bych se rozhodnul na zaklade potreby 
znovupouzitelnosti


Martin

Dne 12.3.2010 10:49, Petr Prikryl napsal(a):

Ahoj,
potreboval bych definovat error message pokud se nematchne email
pattern. Zkusil jsem toto:


  


Bohuzel dostanu takto:
Regex pattern of '@.+\.[a-z]+' not matched


Pokud se snazim validovat napriklad cislo implicitne pomoci:
 
 

tak je to ok message z bundle.

musim tedy tu converter message definovat jinak? Chtel bych to resit
deklarativne jako PSC.

Diky
PP



--
Martin Beránek
ICZ a.s., Pobočka Brno
mailto:martin.bera...@i.cz
http://www.i.cz


Re: Vyber web frameworku ( following Eclipse RAP )

2010-03-29 Thread Martin Beránek

Ahoj,

poradit ti neumim, ale nazvat JSF prasenim javy do html je imho uplne 
mimo. Je to komponentovy framework a zadny mix ala skriplety se tu nekona.


martin

Dne 29.3.2010 12:55, Dusan Zatkovsky napsal(a):

Ahoj.

Ako clovek web aplikaciami takmer nedotknuty stojim pred problemom vyberu
spravnej technologie.

* kratka verzia:

Hladam GWT-like framework co vie generovat ako javascript tak ciste html
stranky.

* dlhsia verzia:

Momentalne som v stave, ze tusim cosi o jsp, jsf, gwt a ajax-e obecne. 
Mam za
sebou participaciu na jednom malom jsf projekte.

Hladam framework(y), nad ktorym by som bol co najmenej bolestne schopny:

a.  stavat jednoduche webove aplikacie ( napr. primitivny next-next 
wizard
so zadavanim hodnot do policok )

b.  ... ale mozno aj zlozitejsie veci ( typu gmail a spol )

V principe mi ide o to vyhnut sa sposobu vyvoja prasenim javy do html ( 
jsp,
jsf ) a priblizit to vyvoju desktop aplikacii ( panely, layoyty, 
tlacitka,
tabulky ), ale s moznostou generovat aj ciste html ( logicky len 
podmnozinu
featur ). Nemusi to byt all in one riesenie, moze ist o viac 
frameworkov (
jeden na html, druhy na js ).



Diky.



Re: nahrada za BASE64Encoder

2007-04-03 Thread Martin Beránek

pouzivam

http://jakarta.apache.org/commons/codec/

--

Martin Beranek

Petr Burdik napsal(a):

Ahojte,
pouzivam javu 1.6 a kdyz kompiluji novy projekt, hlasi mi kompilator:

[INFO]/home/pet/work/svn/itsynapse20/trunk/src/main/java/net/itbridge/itsynapse2/security/adapters/acegisecurity/ShaITS2PasswordEncoder.java:[47,57] 
sun.misc.BASE64Encoder is Sun proprietary API and may be removed in a 
future release


nevite prosim jakou tridou mohu ten BASE64Encoder nahradit?

Pekny den
Pet

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


smime.p7s
Description: S/MIME Cryptographic Signature


jak začít s JCA

2007-04-05 Thread Martin Beránek

Zdravím,

i po přečtení patřičných částí v JCA specification 
(http://java.sun.com/j2ee/connector/downloads/index.html) a také v 
publikaci "J2EE Connector Architecture and Enterprise Application 
Integration" nejsem schopen napsat nějaký jednoduchý JCA konektor (s 
vlastním API, ne CCI).


Nemáte někdo (třeba ze svých začátků) napsaný jednoduchý SAMPLE konektor 
(nejlépe s inbound connection)? Nebo odkaz na výrobu něčeho podobného? 
(googlu jsem se samozřejmě ptal).


díky

Martin Beránek


smime.p7s
Description: S/MIME Cryptographic Signature


Re: jak začít s JCA

2007-04-18 Thread Martin Beránek
Zdravím,

díky za nasměrování na tu publikaci. Dále jsem shledal užitečným tento
článeček:

http://www.theserverside.com/tt/articles/article.tss?l=J2EE1_4

Ale mám tu jeden problém:

Potřeboval bych něco jako "outbound connection", ale jít na to přes
Connection Management je podlě mě kanón na vrabce - pooling spojení je
mi nanic. Stačí mi abych mohl v EJB zavolat getConnection(host, port) a
to prostě vytvořilo nové spojení (po zavolaní close() by se zase zavřelo).

Je nějaká rozumná možnost jak obejít pooling a přímo z EJB navazovat
TCP/IP spojení?

ps: Samozřejmě že pro příchozí spojení budu používat inbound-connection
tak jak je v JCA 1.5

díky

--
Martin Beránek


Pavel Mikovec napsal(a):
> Martin Beránek napsal(a):
>> Zdravím,
>>
>> i po přečtení patřičných částí v JCA specification
>> (http://java.sun.com/j2ee/connector/downloads/index.html) a také v
>> publikaci "J2EE Connector Architecture and Enterprise Application
>> Integration" nejsem schopen napsat nějaký jednoduchý JCA konektor (s
>> vlastním API, ne CCI).
>>
>> Nemáte někdo (třeba ze svých začátků) napsaný jednoduchý SAMPLE
>> konektor (nejlépe s inbound connection)? Nebo odkaz na výrobu něčeho
>> podobného? (googlu jsem se samozřejmě ptal).
>>
>> díky
>>
>> Martin Beránek
> 
> Zdravím,
> 
> jednoduchý příklad na JCA lze najít v knize "Mastering Enterprise
> JavaBeans Third Edition", 17. kapitola, která je volně ke stažení na
> http://www.theserverside.com/tt/books/wiley/masteringEJB/index.tss
> (popř. "Mastering Enterprise JavaBeans 3.0", 15. kapitola, na
> http://www.theserverside.com/tt/books/wiley/masteringEJB3/index.tss).
> 
> Pavel Mikovec


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Free open source Java editor a konvertová ni do PDF

2007-04-27 Thread Martin Beránek

zkusil bych XMLmind XML Editor, umi ve wysiwyg editovat DocBook

Jaroslav Horálek napsal(a):
Dobrý den, 
zákazník chce aby mohl v jave (jdk 1.3) vytvořit a naformátovat text. Poté

tento text, opět pomocí javy zkonvertovat do pdf. Nevíte jaký free java
editor (komponentu) použít a pak následně do jakého formátu ho uložit. A
nakonec čím to zkonvertovat do pdf...

Díky a pěkný den přeje Jarek


--
Martin Beránek



smime.p7s
Description: S/MIME Cryptographic Signature


Správa vláken

2007-06-05 Thread Martin Beránek

Zdravím,

řeším následující problém:

Je server který příjmá data ukládá je do adresáře jako soubory - pro 
každé příchozí spojení je vytvořeno samostatné "klientské" vlákno.


Dále v systému běží jedno "čistící vlákno", které promázává přijatá data.

Podmínkou je, že čistící vlákno nesmí vykonávat svou činnost, pokud běží 
nějaké klientské vlákno - a naopak - nesmí se spustit klientské vlákno, 
dokud čisticí vykonává sou činnost.


Jaký druh zámků je na toto vhodný?

díky

--
Martin Beránek



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Správa vláken

2007-06-06 Thread Martin Beránek

Zdravím,

myslím že tohle je přesně ono. Měl bych si pořádně projít tyhle nové 
věci v Java5.


Filip Jirsák napsal(a):
read-write zámek. Read zámek může držet libovolné množství objektů 
současně, write zámek může držet jen jeden objekt, a navíc v takovém 
okamžiku nesmí nikdo držet read zámek. V Javě 5 je na to přímo interface 
java.util.concurrent.locks.ReadWriteLock a jeho implementace.


--
Martin Beránek




smime.p7s
Description: S/MIME Cryptographic Signature