package fi.arcusys.koku.tiva.soa;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.interceptor.Interceptors;
import javax.jws.WebService;
import javax.xml.datatype.XMLGregorianCalendar;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.arcusys.koku.tiva.service.ConsentServiceFacade;
/**
* Implementation of TIVA-Suostumus-processing operations, called from the TIVA-Suostumus Intalio process.
*
* @author Dmitry Kudinov (dmitry.kudinov@arcusys.fi)
* Aug 9, 2011
*/
@Stateless
@WebService(serviceName = "KokuSuostumusProcessingService", portName = "KokuSuostumusProcessingServicePort",
endpointInterface = "fi.arcusys.koku.tiva.soa.KokuSuostumusProcessingService",
targetNamespace = "http://soa.tiva.koku.arcusys.fi/")
@Interceptors(KokuSuostumusInterceptor.class)
public class KokuSuostumusProcessingServiceImpl implements KokuSuostumusProcessingService {
private static final Logger logger = LoggerFactory.getLogger(KokuSuostumusProcessingServiceImpl.class);
@EJB
private ConsentServiceFacade serviceFacade;
/**
* @param consentTemplate
* @return
*/
@Override
public Long createConsentTemplate(ConsentTemplateTO consentTemplate) {
return serviceFacade.createConsentTemplate(consentTemplate);
}
/**
* @param searchString
* @param limit
* @return
*/
@Override
public List<ConsentTemplateTO> getConsentTemplates(String searchString, int limit) {
return serviceFacade.getConsentTemplates(searchString, limit);
}
/**
* @param consentTemplateId
* @param senderUid
* @param receivers
* @return
*/
@Override
public Long requestForConsent(long consentTemplateId, String senderUid, final String targetPersonUid,
List<String> receivers, final ConsentReceipientsType type, final XMLGregorianCalendar replyTillDate, final XMLGregorianCalendar endDate, final Boolean isMandatory) {
return serviceFacade.requestForConsent(consentTemplateId, senderUid, targetPersonUid, receivers, type, replyTillDate, endDate, isMandatory, null);
}
/**
* @param consentId
* @param replierUid
* @param endDate
* @param comment
*/
@Override
public void giveConsent(long consentId, String replierUid,
final List<ActionPermittedTO> actions,
XMLGregorianCalendar endDate,
String comment) {
serviceFacade.giveConsent(consentId, replierUid, actions, endDate, comment);
}
/**
* @param consentId
* @param replierUid
* @param comment
*/
@Override
public void declineConsent(long consentId, String replierUid, String comment) {
serviceFacade.declineConsent(consentId, replierUid, comment);
}
/**
* @param consentId
* @param replierUid
* @param endDate
* @param comment
*/
@Override
public void updateConsent(long consentId, String replierUid, XMLGregorianCalendar endDate,
String comment) {
serviceFacade.updateConsent(consentId, replierUid, endDate, comment);
}
/**
* @param consentId
* @param replierUid
* @param comment
*/
@Override
public void revokeConsent(long consentId, String replierUid, String comment) {
serviceFacade.revokeConsent(consentId, replierUid, comment);
}
/**
* @param consentId
* @param userUid
* @return
*/
@Override
public ConsentForReplyTO getConsentForReply(long consentId, String userUid) {
return serviceFacade.getConsentForReply(consentId, userUid);
}
/**
* @param consentTemplateId
* @param senderUid
* @param consentType
* @param targetPersonUid
* @param receivers
* @return
*/
@Override
public Long writeConsentOnBehalf(long consentTemplateId, String senderUid,
ConsentCreateType consentType, String targetPersonUid, List<String> receivers, final XMLGregorianCalendar endDate,
final XMLGregorianCalendar givenDate,
final List<ActionPermittedTO> actions, final ConsentSourceInfo sourceInfo, final String comment) {
return serviceFacade.writeConsentOnBehalf(consentTemplateId, senderUid, consentType, targetPersonUid, receivers, endDate, givenDate, actions, sourceInfo, comment);
}
/**
* @param consentTemplateId
* @return
*/
@Override
public ConsentTemplateTO getConsentTemplateById(long consentTemplateId) {
return serviceFacade.getConsentTemplate(consentTemplateId);
}
}