/* * Copyright 2003 Federal Chancellery Austria * MOA-SPSS has been developed in a cooperation between BRZ, the Federal * Chancellery Austria - ICT staff unit, and Graz University of Technology. * * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by * the European Commission - subsequent versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * http://www.osor.eu/eupl/ * * Unless required by applicable law or agreed to in writing, software * distributed under the Licence is distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the Licence for the specific language governing permissions and * limitations under the Licence. * * This product combines work with different licenses. See the "NOTICE" text * file for details on the various modules and licenses. * The "NOTICE" text file is part of the distribution. Any derivative works * that you distribute must include a readable copy of the "NOTICE" text file. */ 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.pki.store.observer.NotificationData; import iaik.pki.store.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 trust profile identifier. */ private String id_; /** 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(String trustProfileId, String trustProfileUri) throws MOAApplicationException { id_ = trustProfileId; setURI(trustProfileUri); setType(TrustStoreTypes.DIRECTORY); } /** * 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. */ @Deprecated public TrustStoreProfileImpl( ConfigurationProvider config, String trustProfileId) throws MOAApplicationException { TrustProfile tp = (TrustProfile) config.getTrustProfile(trustProfileId); if (tp != null) { id_ = trustProfileId; 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.pki.store.observer.Observable interface // /** * @see iaik.pki.store.observer.Observable#addObserver(iaik.pki.store.observer.Observer) */ public void addObserver(Observer observer) { observers.add(observer); } /** * @see iaik.pki.store.observer.Observable#removeObserver(iaik.pki.store.observer.Observer) */ public boolean removeObserver(Observer observer) { return observers.remove(observer); } /** * @see iaik.pki.store.observer.Observable#notify(iaik.pki.store.observer.NotificationData) */ public void notify(NotificationData notificationData) { for (Iterator iter = observers.iterator(); iter.hasNext();) { Observer observer = (Observer) iter.next(); observer.notify(notificationData); } } /** * @see iaik.pki.store.truststore.TrustStoreProfile#getId() */ public String getId() { return id_; } }