package at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import iaik.pki.store.truststore.TrustStoreProfile; import iaik.pki.store.truststore.TrustStoreTypes; import iaik.servertools.observer.NotificationData; import iaik.servertools.observer.Observer; import at.gv.egovernment.moa.spss.MOAApplicationException; import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; import at.gv.egovernment.moa.spss.server.config.TrustProfile; /** * An implementation of the TrustStoreProfile interface, using data * from the MOA configuration. * * @see iaik.pki.store.truststore.TrustStoreProfile * @author Patrick Peck * @version $Id$ */ public class TrustStoreProfileImpl implements TrustStoreProfile { /** The observers of this profile. */ private List observers = new ArrayList(); /** The type of the trust profile. */ private String type; /** The URI of the trust profile.*/ private String URI; /** * Create a new TrustStoreProfileImpl. * * @param config The MOA configuration data, from which trust store * configuration data is read. * @param trustProfileId The trust profile id on which this * TrustStoreProfile is based. * @throws MOAApplicationException The trustProfileId could not * be found in the MOA configuration. */ public TrustStoreProfileImpl( ConfigurationProvider config, String trustProfileId) throws MOAApplicationException { TrustProfile tp = (TrustProfile) config.getTrustProfile(trustProfileId); if (tp != null) { setURI(tp.getUri()); setType(TrustStoreTypes.DIRECTORY); } else { throw new MOAApplicationException( "2203", new Object[] { trustProfileId }); } } /** * @see iaik.pki.store.truststore.TrustStoreProfile#getType() */ public String getType() { return type; } /** * Sets the the trust store type. * * @param type The trust store type to set. */ protected void setType(String type) { this.type = type; } /** * @see iaik.pki.store.truststore.TrustStoreProfile#getURI() */ public String getURI() { return URI; } /** * Sets the trust store URI. * * @param URI The trust store URI to set. */ protected void setURI(String URI) { this.URI = URI; } // // Methods of iaik.utils.observer.Observable interface // /** * @see iaik.utils.observer.Observable#addObserver(Observer) */ public void addObserver(Observer observer) { observers.add(observer); } /** * @see iaik.utils.observer.Observable#removeObserver(Observer) */ public boolean removeObserver(Observer observer) { return observers.remove(observer); } /** * @see iaik.utils.observer.Observable#notify(NotificationData) */ public void notify(NotificationData notificationData) { for (Iterator iter = observers.iterator(); iter.hasNext();) { Observer observer = (Observer) iter.next(); observer.notify(notificationData); } } }