1 package cz.frantovo.jaas.sql;
3 import com.sun.appserv.security.AppservRealm;
4 import com.sun.enterprise.security.auth.realm.BadRealmException;
5 import com.sun.enterprise.security.auth.realm.NoSuchRealmException;
6 import java.util.Properties;
10 * @author Ing. František Kučera (frantovo.cz)
12 public abstract class ParametrizovanýRealm extends AppservRealm {
15 protected void init(Properties parametry) throws BadRealmException, NoSuchRealmException {
16 super.init(parametry);
17 getProperties().putAll(parametry);
22 public synchronized void setProperty(String název, String hodnota) {
23 super.setProperty(název, hodnota);
26 } catch (BadRealmException e) {
27 throw new IllegalArgumentException("Tento parametr nelze nastavit: " + název + " = " + hodnota, e);
32 * @param názevParametru který hledáme
33 * @param popis pokud dojde k výjimce, tento popis se v ní objeví
34 * @return hodnota parametru nebo…
35 * @throws BadRealmException … pokud byl parametr nulový nebo po měl oříznutí nulovou délku
37 protected String najdiParametr(String názevParametru, String popis) throws BadRealmException {
38 String hodnotaParametru = getProperty(názevParametru);
40 if (hodnotaParametru == null || hodnotaParametru.trim().length() < 1) {
41 throw new BadRealmException("Chybí " + popis + " – parametr: " + názevParametru);
43 return hodnotaParametru;
47 protected abstract void parametrizuj() throws BadRealmException;