package org.cloudfoundry.community.servicebroker.datalifecycle.service;
import java.util.ArrayList;
import java.util.Collection;
import org.cloudfoundry.community.servicebroker.datalifecycle.model.BindingEntity;
import org.cloudfoundry.community.servicebroker.datalifecycle.repo.BindingRepository;
import org.cloudfoundry.community.servicebroker.model.ServiceInstanceBinding;
import org.springframework.beans.factory.annotation.Autowired;
public class LCServiceInstanceBindingManager {
@Autowired
private BindingRepository repo;
public LCServiceInstanceBindingManager(BindingRepository repo) {
this.repo = repo;
}
public Collection<ServiceInstanceBinding> getBindings() {
Collection<ServiceInstanceBinding> bindings = new ArrayList<ServiceInstanceBinding>();
repo.findAll().forEach(t -> bindings.add(convert(t)));
return bindings;
}
public ServiceInstanceBinding getBinding(String bindingId) {
return convert(repo.findOne(bindingId));
}
public ServiceInstanceBinding removeBinding(String bindingId) {
BindingEntity binding = repo.findOne(bindingId);
if (null != binding) {
repo.delete(bindingId);
}
return convert(binding);
}
public void saveBinding(ServiceInstanceBinding binding) {
repo.save(new BindingEntity(binding));
}
private ServiceInstanceBinding convert(BindingEntity binding) {
return null == binding ? null : new ServiceInstanceBinding(
binding.getBindingId(), binding.getServiceInstanceId(), null,
binding.getDrainUrl(), binding.getAppGuid());
}
}