package org.springframework.cloud.cloudfoundry;
import java.util.List;
import java.util.Map;
import org.springframework.cloud.service.common.AmqpServiceInfo;
/**
*
* @author Ramnivas Laddad
*
*/
public class AmqpServiceInfoCreator extends CloudFoundryServiceInfoCreator<AmqpServiceInfo> {
public AmqpServiceInfoCreator() {
super(new Tags("rabbitmq"), AmqpServiceInfo.AMQP_SCHEME, AmqpServiceInfo.AMQPS_SCHEME);
}
@SuppressWarnings("unchecked")
public AmqpServiceInfo createServiceInfo(Map<String,Object> serviceData) {
Map<String,Object> credentials = getCredentials(serviceData);
String id = getId(serviceData);
String uri = getUriFromCredentials(credentials);
String managementUri = getStringFromCredentials(credentials, "http_api_uri");
if (credentials.containsKey("uris")) {
List<String> uris = (List<String>) credentials.get("uris");
List<String> managementUris = (List<String>) credentials.get("http_api_uris");
return new AmqpServiceInfo(id, uri, managementUri, uris, managementUris);
}
return new AmqpServiceInfo(id, uri, managementUri);
}
}