package de.rwth.idsg.bikeman.ixsi.processor.subscription.request; import de.rwth.idsg.bikeman.ixsi.store.ConsumptionStore; import de.rwth.idsg.bikeman.ixsi.processor.api.SubscriptionRequestProcessor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import xjc.schema.ixsi.ConsumptionSubscriptionStatusRequestType; import xjc.schema.ixsi.ConsumptionSubscriptionStatusResponseType; import xjc.schema.ixsi.ErrorType; import java.util.List; /** * @author Sevket Goekay <goekay@dbis.rwth-aachen.de> * @since 18.11.2014 */ @Component public class ConsumptionSubscriptionStatusRequestProcessor implements SubscriptionRequestProcessor<ConsumptionSubscriptionStatusRequestType, ConsumptionSubscriptionStatusResponseType> { @Autowired private ConsumptionStore consumptionStore; @Override public Class<ConsumptionSubscriptionStatusRequestType> getProcessingClass() { return ConsumptionSubscriptionStatusRequestType.class; } @Override public ConsumptionSubscriptionStatusResponseType process(ConsumptionSubscriptionStatusRequestType request, String systemId) { List<String> bookingIds = consumptionStore.getSubscriptions(systemId); return new ConsumptionSubscriptionStatusResponseType().withBookingID(bookingIds); } // ------------------------------------------------------------------------- // Error handling // ------------------------------------------------------------------------- @Override public ConsumptionSubscriptionStatusResponseType buildError(ErrorType e) { return new ConsumptionSubscriptionStatusResponseType().withError(e); } }