}
if (md.getRa().getOutboundRa().getAuthMechanisms() == null)
{
md.getRa().getOutboundRa().setAuthMechanisms(new ArrayList<AuthenticationMechanismMetaData>());
}
AuthenticationMechanismMetaData ammd = new AuthenticationMechanismMetaData();
ammd.setAuthenticationMechanismType(authenticationmechanism.authMechanism());
String credentialInterfaceClass = null;
if (authenticationmechanism.credentialInterface().equals(CredentialInterface.GenericCredential))
{
credentialInterfaceClass = "javax.resource.spi.security.GenericCredential";
}
else if (authenticationmechanism.credentialInterface().equals(CredentialInterface.GSSCredential))
{
credentialInterfaceClass = "org.ietf.jgss.GSSCredential";
}
else if (authenticationmechanism.credentialInterface().equals(CredentialInterface.PasswordCredential))
{
credentialInterfaceClass = "javax.resource.spi.security.PasswordCredential";
}
ammd.setCredentialInterfaceClass(credentialInterfaceClass);
String[] description = authenticationmechanism.description();
if (description != null)
{
if (ammd.getDescriptions() == null)
{
DescriptionsImpl descsImpl = new DescriptionsImpl();
ammd.setDescriptions(descsImpl);
}
for (String desc : description)
{
DescriptionImpl descImpl = new DescriptionImpl();
descImpl.setDescription(desc);
((DescriptionsImpl)ammd.getDescriptions()).add(descImpl);
}
}
md.getRa().getOutboundRa().getAuthMechanisms().add(ammd);