Přeskočit na hlavní obsah

Příspěvky

Zobrazují se příspěvky z leden, 2008

Acegi - logujeme loginy

Používáte-li pro správu přístupu k vaší webové aplikaci framework Acegi, možná se vám bude hodit zaznamenávat uživatelské přístupy (platné loginy) někam do databáze. Zde je jeden ze způsobů jak se s tímto problémem vypořádat. Následující přiklad používá Hibernate a databázi Oracle. Nejdříve si připravím vlastní metodu pro zápis do databáze v DAO. Umístím ji do třídy cz.mujpackage.dao.UserDao, která rozšiřuje org.springframework.orm.hibernate3.support.HibernateDaoSupport a poskytuje metody pro správu uživatelů, rolí, apod. Pro zvýšení výkonu použiji v Hibernate SQLQuery namísto vytváření instance třídy modelu a jejího ukládání pomocí metody save(...). /** * Adds log entry to table AUTH_LOG (Oracle database form - pk_sequence has to be configured) * @param aName username * @param aRemoteAddress remote address of request */ public void logAuthenticationSuccess(final String aName, final String aRemoteAddress) { final HibernateCallback callback = new HibernateCallback() { public Ob…

Jak na Excel 5 - knihovna JExcelApi

Konečně se v našem seriálu dostáváme k čistě javovým implemtacím Excelového formátu. Začneme knihovnou Java Excel API (JExcelApi), kterou vytvořil Andy Khan a uvolnil pod licencí GNU LGPL. Co tato knihovna umí zajímavého? vytváření a čtení XLS souborůformátování buněkpráci se vzorcivkládání PNG obrázkůkopírování grafů (vytváření nových podporováno není) Knihovna není nijak rozsáhlá, takže se dá v API pohodlně orientovat. Zajímavější pro vás může být informace, co mi na této knihovně vadí. Tady jsou mé připomínky: odlišný přístup k dokumentům při čtení a při zápisu (třídy Workbook a WritableWorkbook nemají ani společný interface)práce s čisly podporuje pouze typ double, osobně bych uvítal např. i BigDecimalchybí jakákoliv podpora pro makra (ani při kopírování nezůstanou zachována)nepodporuje automatickou šířku sloupce (Auto Fit Selection)nelze nastavit typ buňky (viz příklad - vložím vzorec jehož výsledkem je text, ale JExcelApi si při čtení myslí, že to je číslo)tvar vzorců neodpov…

OpenOffice.org - spojení obsahu buněk

Tak se po prosincové dovolené vracím k počítači a první záznam v novém roce se nebude zabývat Javou, ale OpenOffice.org. V konferenci users@cs.openoffice.org se řešilo, jak poskládat dohromady hodnoty buněk ze sloupce Calcu do jednoho stringu s oddělovačem mezi hodnotami. První nápad, který se objevil bylo využití klasické funkce CONCATENATE: =CONCATENATE(A1;"oddelovac";A2;"oddelovac";A3) Už toto může být dost náročné při více hodnotách ve sloupci. Ale v konferenci přibyl požadavek na ošetření prázdných buněk, které nemají být ve výsledném seznamu. Nový kód byl: =CONCATENATE(IF(NOT(A1="");CONCATENATE(A1;",");"");IF(NOT(A2="");CONCATENATE(A2;",");"");IF(NOT(A3="");CONCATENATE(A3;",");"")) Tady už se v tom začíná člověk ztrácet navíc nám za poslední hodnotou zůstává oddělovač. Tak vylepšíme: =LEFT(CONCATENATE(IF(NOT(A1="");CONCATENATE(A1;",");"");…