package org.atricore.idbus.kernel.main.provisioning.spi; import org.atricore.idbus.kernel.main.store.identity.IdentityStore; import java.util.Collection; import java.util.HashMap; import java.util.Map; /** * The identity connector provides information about a specific connection * * @author <a href=mailto:sgonzalez@atricore.org>Sebastian Gonzalez Oyuela</a> */ public class IdentityConnector { private String name; private String description; // If true, the connector can be used from multiple appliances. private String storeName; private boolean shared; private IdentityVault vault; private IdentityPartition identityPartition; private MediationPartition mediationPartition; private Map<String, IdentityResource> identityResources = new HashMap<String, IdentityResource>(); private ProvisioningTarget target; private ProvisioningEngine engine; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getStoreName() { return storeName; } public void setStoreName(String storeName) { this.storeName = storeName; } public boolean isShared() { return shared; } public void setShared(boolean shared) { this.shared = shared; } public IdentityStore getStore() { return identityPartition.getIdentityStore(); } public IdentityVault getVault() { return vault; } public void setVault(IdentityVault vault) { this.vault = vault; } public IdentityPartition getIdentityPartition() { return identityPartition; } public void setIdentityPartition(IdentityPartition identityPartition) { this.identityPartition = identityPartition; } public MediationPartition getMediationPartition() { return mediationPartition; } public void setMediationPartition(MediationPartition mediationPartition) { this.mediationPartition = mediationPartition; } public ProvisioningTarget getTarget() { return target; } public void setTarget(ProvisioningTarget target) { this.target = target; } public ProvisioningEngine getEngine() { return engine; } public void setEngine(ProvisioningEngine engine) { this.engine = engine; } public IdentityResource lookupResource(String oid) { return identityResources.get(oid); } public void registerResource(IdentityResource resource) { identityResources.put(resource.getOid(), resource); } public Collection<IdentityResource> getResources() { return identityResources.values(); } @Override public String toString() { return name + ">vault:" + (vault != null ? vault.getName() : "null") + ", partition:" + (identityPartition != null ? identityPartition.getName() : "null") + ", target:" + (target != null ? target.getName() : "null") + ", store:" + (getStore() != null ? getStore() : "null"); } }