package edu.harvard.iq.dataverse.authorization.providers.echo; import edu.harvard.iq.dataverse.authorization.AuthenticationProvider; import edu.harvard.iq.dataverse.authorization.AuthenticationProviderDisplayInfo; import edu.harvard.iq.dataverse.authorization.exceptions.AuthorizationSetupException; import edu.harvard.iq.dataverse.authorization.providers.AuthenticationProviderFactory; import edu.harvard.iq.dataverse.authorization.providers.AuthenticationProviderRow; /** * * @author michael */ public class EchoAuthenticationProviderFactory implements AuthenticationProviderFactory { @Override public String getAlias() { return "Echo"; } @Override public String getInfo() { return "A proof-of-concept provider that approved everyone,"; } @Override public AuthenticationProvider buildProvider(AuthenticationProviderRow aRow) throws AuthorizationSetupException { String rawData = aRow.getFactoryData(); String[] data = {"",""}; if ( rawData != null ) { data = aRow.getFactoryData().split(",",-1); } try { return new EchoAuthenticationProvider(aRow.getId(), data[0], data[1], new AuthenticationProviderDisplayInfo(aRow.getId(), aRow.getTitle(), aRow.getSubtitle())); } catch (ArrayIndexOutOfBoundsException e ) { throw new AuthorizationSetupException("Can't create Echo prov. Raw data: '" + rawData +"'", e); } } }