package org.agnitas.emm.springws.endpoint.recipient; import javax.annotation.Resource; import org.agnitas.emm.core.recipient.service.RecipientModel; import org.agnitas.emm.core.recipient.service.RecipientService; import org.agnitas.emm.springws.endpoint.Utils; import org.agnitas.emm.springws.jaxb.AddSubscriberRequest; import org.agnitas.emm.springws.jaxb.AddSubscriberResponse; import org.agnitas.emm.springws.jaxb.ObjectFactory; import org.springframework.ws.server.endpoint.AbstractMarshallingPayloadEndpoint; public class AddSubscriberEndpoint extends AbstractMarshallingPayloadEndpoint { @Resource private RecipientService recipientService; @Resource private ObjectFactory objectFactory; @Override protected Object invokeInternal(Object arg0) throws Exception { AddSubscriberRequest request = (AddSubscriberRequest) arg0; AddSubscriberResponse response = objectFactory.createAddSubscriberResponse(); RecipientModel model = new RecipientModel(); model.setCompanyId(Utils.getUserCompany()); model.setDoubleCheck(request.isDoubleCheck()); model.setKeyColumn(request.getKeyColumn()); model.setOverwrite(request.isOverwrite()); model.setParameters(Utils.toCaseInsensitiveMap(request.getParameters())); response.setCustomerID(recipientService.addSubscriber(model)); return response; } }