BCV solutions s.r.o.

Blog Programming

Tvorba komponent v JSF

Cílem tohoto článku je ukázat, jakým způsobem je možné vytvořit vlastní grafickou komponentu při práci s webovým frameworkem JSF a Facelets.

Používáme-li “čisté” JSF, je vytvoření vlastní komponenty poměrně složitou záležitostí. Framework Facelets nám umožňuje vytvořit snadno a rychle komponenty vlastní. Pravda, takto vytvářené komponenty nemohou být vždy tak komplexní, jako komponenty ostatní (tj. ty, které jsou naprogramovány pomocí Java tříd), na vyřešení spousty požadavků však bohatě stačí.

V tomto příspěvku si ukážeme, jak vyřešit následující úkol:

16. 7. 2010 •

Automatické testování Java aplikace pomocí nástrojů TestNG a Apache ANT (Unit testing)

Tento článek popisuje způsob automatického testování JAVA aplikací pomocí nástrojů TestNG a Apache ANT. Testovaná aplikace je napsána na platformě J2EE pomocí frameworku JBoss Seam.

Před časem jsem dostal za úkol vyřešit automatické spouštění unit testů pro aplikaci, kterou vyvíjíme. Jako vývojové prostředí používáme Eclipse. Samotné unit testy píšeme pomocí nástroje TestNG. Cílem tedy bylo vytvořit nástroj, který si stáhne aktuální verzi aplikace z SVN repository. Aplikaci zkompije a spustí testy. Tedy se jedná o tzv. unit testy.

Úkol jsem si nejprve rozdělil na několik dílčích částí:

12. 6. 2010 •

Automatické kopírování entitních objektů do DTO objektů

Před časem jsme vytvořili návrh aplikace, která mezi prezentační a aplikační vrstvou, namísto entitních objektů, přenáší tzv. DTO (Data Transfer Object) objekty. Základní výhodou tohoto přístupu předávání objektů je úplná nezávislost aplikační vrstvy na vrstvě prezentační. Při vývoji bylo nutné si co nejvíce usnadnit práci s kopírováním dat z entitního objektu do DTO objektu.

23. 5. 2010 •

J2EE – zabezpečení webové aplikace

Tento příspěvek popisuje, jak zabezpečit webovou aplikaci napsanou na platformě Java a běžící na aplikačním serveru GlassFish. Cílem bude zabránit přístupu na vybrané stránky těm uživatelům, kteří nemají přidělenou potřebnou roli.

1. Vytvoření databáze

  • vytvoříme databázi (v zásadě je jedno, jaký typ DB zvolíme, já použil MySQL)
  • tabulka User (Id: email, FK: Grouptable_email)
  • tabulka Grouptable (Id: email, Varchar: groupid)

2. Nastavení aplikačního serveru

  • otevřeme admin consoli

31. 3. 2010 •

Sun Certified Java Programmer

Tak jsem se zúčastnil mého prvního testu na certifikaci. A protože o tom tady píšu, tak je jasné, že jsem ho i udělal :-) Konkrétně šlo o Sun Certified Programmer for the Java Platform, Standard Edition 6 (CX-310-065).

Vzhledem k tomu, že jsem nevěděl do čeho jdu, tak jsem se snažil ve chvilkách volného času učit. Pro přípravu je bezvadná, i když často zbytečně podrobná, tato knížka http://www.amazon.com/SCJP-Certified-Programmer-Java-310-065/dp/0071591060/ref=sr_1_1?ie=UTF8&s=books&qid=1269886588&sr=1-1 Na konci každé kapitoly je seznam nejdůležitějších znalostí a hlavně ukázkové příklady.

29. 3. 2010 •

Sun-Oracle IdM: Zobrazení approval work items všech uživatelů

V administračním rozhraní Sun Identity Manageru (dále jen IdM) na záložce Work Items -> Approvals je možnost vylistovat a následně pracovat se schvalovacími work itemy všech schvalovatelů, tzn. těch, co mají přiřazenou administrační roli “Approver Administrator”.

V jednom projektu jsme ale museli řešit problém, jak na tomto formuláři přidat možnost pracovat se všemi schvalovacími položkami, tedy i s položkami, které patří obyčejným uživatelům.
Konkrétně jde o formulář “Work Item List”, který prezentuje data z pohledu “WorkItem List View”.

21. 2. 2010 •

Výčtový typ v jazyku Java

Od verze javy 5.0 jsou k dispozici výčtové typy, které přináší především zvýšení typové bezpečnosti.
Definice a použití jednoduchého výčtového typu je podobná jako v jazycích C/C++.
Například:

enum Color { RED, GREEN, BLUE }

Color color = Color.BLUE;
//...
switch (color) {
    case BLUE:
        //do something
        break;
    default:
        //do something
}

Na rozdíl od C nebo C++ je enum v javě mnohem mocnější. Výše uvedenou definici si lze představovat jako zkratku za

class Color {
    public static final Color RED   = new Color();

13. 12. 2009 •

Zabezpečený přístup k LDAPu pomocí JNDI.

V tomto příspěvku je nastíněno, jak lze pracovat s LDAPem v jazyku java. Protože se často přenáší citlivá data je zde ukázáno, jak se připojit přez ssh.

Předpokládáme, že je na LDAP serveru povolena možnost připojovaní přez protokol LDAPS na portu 636. Navíc klient musí mít ve své keystore uložen certifikát serveru nebo jeho certifikační autority.

To můžeme zajistit následujícím způsobem:

Příklad byl vyzkoušen na serveru OpenDS. Pro ostatní servery to bude podobně.

OpenDS ma keystore umístěnou v podadresáři config.
keytool -list -v -keystore config/keystore

12. 5. 2009 •