package org.agnitas.emm.springws.endpoint.recipient;
import java.util.Map;
import javax.annotation.Resource;
import org.agnitas.emm.core.recipient.service.RecipientService;
import org.agnitas.emm.springws.endpoint.Utils;
import org.agnitas.emm.springws.jaxb.GetSubscriberRequest;
import org.agnitas.emm.springws.jaxb.GetSubscriberResponse;
import org.agnitas.emm.springws.jaxb.ObjectFactory;
import org.springframework.ws.server.endpoint.AbstractMarshallingPayloadEndpoint;
public class GetSubscriberEndpoint extends AbstractMarshallingPayloadEndpoint {
@Resource
private RecipientService recipientService;
@Resource
private ObjectFactory objectFactory;
@Override
protected Object invokeInternal(Object arg0) throws Exception {
GetSubscriberRequest request = (GetSubscriberRequest) arg0;
GetSubscriberResponse response = objectFactory.createGetSubscriberResponse();
Map<String, Object> parameters = recipientService.getSubscriber(Utils.getUserCompany(), request.getCustomerID());
if (parameters != null && parameters.size() > 0) {
response.setParameters(Utils.toJaxbMap(parameters, objectFactory));
response.setCustomerID(request.getCustomerID());
} else {
response.setCustomerID(0);
}
return response;
}
}