package com.sequenceiq.cloudbreak.facade; import java.util.List; import javax.inject.Inject; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.core.convert.ConversionService; import org.springframework.core.convert.TypeDescriptor; import org.springframework.stereotype.Service; import com.sequenceiq.cloudbreak.api.model.CloudbreakEventsJson; import com.sequenceiq.cloudbreak.domain.CloudbreakEvent; import com.sequenceiq.cloudbreak.service.events.CloudbreakEventService; @Service public class DefaultCloudbreakEventsFacade implements CloudbreakEventsFacade { @Inject private CloudbreakEventService cloudbreakEventService; @Inject @Qualifier("conversionService") private ConversionService conversionService; @Override public List<CloudbreakEventsJson> retrieveEvents(String owner, Long since) { List<CloudbreakEvent> cloudbreakEvents = cloudbreakEventService.cloudbreakEvents(owner, since); return (List<CloudbreakEventsJson>) conversionService .convert(cloudbreakEvents, TypeDescriptor.forObject(cloudbreakEvents), TypeDescriptor.collection(List.class, TypeDescriptor.valueOf(CloudbreakEventsJson.class))); } }