/* * Atricore IDBus * * Copyright (c) 2009, Atricore Inc. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.atricore.idbus.kernel.main.mediation.channel; import org.atricore.idbus.kernel.main.federation.AccountLinkEmitter; import org.atricore.idbus.kernel.main.federation.AccountLinkLifecycle; import org.atricore.idbus.kernel.main.federation.IdentityMapper; import org.atricore.idbus.kernel.main.federation.metadata.CircleOfTrust; import org.atricore.idbus.kernel.main.federation.metadata.CircleOfTrustMemberDescriptor; import org.atricore.idbus.kernel.main.federation.metadata.MetadataEntry; import org.atricore.idbus.kernel.main.mediation.AbstractChannel; import org.atricore.idbus.kernel.main.mediation.IdentityMediationUnitContainer; import org.atricore.idbus.kernel.main.mediation.claim.ClaimChannel; import org.atricore.idbus.kernel.main.mediation.provider.FederatedLocalProvider; import org.atricore.idbus.kernel.main.mediation.provider.FederatedProvider; import org.atricore.idbus.kernel.main.mediation.provider.StatefulProvider; import java.util.Set; /** * * @author <a href="mailto:gbrigand@josso.org">Gianluca Brigandi</a> * @version $Id: AbstractFederationChannel.java 1359 2009-07-19 16:57:57Z sgonzalez $ */ public abstract class AbstractFederationChannel extends AbstractChannel implements FederationChannel { private String serviceType; private CircleOfTrust cot; private CircleOfTrustMemberDescriptor member; private MetadataEntry metadata; private transient FederatedLocalProvider provider; private transient FederatedProvider targetProvider; // This is the same as the targetProvider, when the targetProvider has a value. private transient Set<FederatedProvider> trustedProviders; private transient AccountLinkLifecycle accountLinkLifecycle; private transient AccountLinkEmitter accountLinkEmitter; private transient IdentityMapper identityMapper; public String getServiceType() { return serviceType; } public void setConfiguration(String serviceType) { this.serviceType = serviceType; } public CircleOfTrust getCircleOfTrust() { return cot; } public void setCircleOfTrust(CircleOfTrust cot) { this.cot = cot; } public CircleOfTrustMemberDescriptor getMember() { return member; } public void setMember(CircleOfTrustMemberDescriptor member) { this.member = member; } public MetadataEntry getMetadata() { return metadata; } public void setMetadata(MetadataEntry metadata) { this.metadata = metadata; } public String getRole() { return provider.getRole(); } public FederatedProvider getTargetProvider() { return targetProvider; } public void setTargetProvider(FederatedProvider targetProvider) { this.targetProvider = targetProvider; } public StatefulProvider getProvider() { return provider; } public void setFederatedProvider(FederatedLocalProvider provider) { this.provider = provider; } public FederatedLocalProvider getFederatedProvider() { return provider; } public AccountLinkLifecycle getAccountLinkLifecycle() { return accountLinkLifecycle; } public void setAccountLinkLifecycle(AccountLinkLifecycle accountLinkLifecycle) { this.accountLinkLifecycle = accountLinkLifecycle; } public AccountLinkEmitter getAccountLinkEmitter() { return accountLinkEmitter; } public void setAccountLinkEmitter(AccountLinkEmitter accountLinkEmitter) { this.accountLinkEmitter = accountLinkEmitter; } public IdentityMapper getIdentityMapper() { return identityMapper; } public void setIdentityMapper(IdentityMapper identityMapper) { this.identityMapper = identityMapper; } public Set<FederatedProvider> getTrustedProviders() { return trustedProviders; } public void setTrustedProviders(Set<FederatedProvider> trustedProviders) { this.trustedProviders = trustedProviders; } @Override public IdentityMediationUnitContainer getUnitContainer() { return provider.getUnitContainer(); } @Override public void setUnitContainer(IdentityMediationUnitContainer identityMediationUnitContainer) { // Fedeeration channesl use mediation engine from parent providers throw new UnsupportedOperationException("Set mediation engine in provider!"); } @Override public String toString() { return super.toString() + "[cot=" + (cot != null ? cot.getName() : null) + ",alias=" + (member !=null ? member.getAlias() : null )+ "," + ",provider=" + (provider !=null ? provider.getName() : null) + ",targetProvider="+ (targetProvider != null ? targetProvider.getName():null) +"]"; } }