use of org.springframework.ws.server.endpoint.annotation.PayloadRoot in project OpenClinica by OpenClinica.
the class StudyEndpoint method getStudyMetadata.
/**
* if NAMESPACE_URI_V1:getStudyListRequest execute this method
*
* @return
* @throws Exception
*/
@PayloadRoot(localPart = "getMetadataRequest", namespace = NAMESPACE_URI_V1)
public Source getStudyMetadata(@XPathParam("//study:studyMetadata") NodeList studyNodeList) throws Exception {
ResourceBundleProvider.updateLocale(new Locale("en_US"));
Element studyRefElement = (Element) studyNodeList.item(0);
//StudyMetadataRequestBean studyMetadataRequestBean = unMarshallRequest(studyRefElement);
BaseStudyDefinitionBean studyMetadataRequestBean = unMarshallRequest(studyRefElement);
DataBinder dataBinder = new DataBinder((studyMetadataRequestBean));
Errors errors = dataBinder.getBindingResult();
StudyMetadataRequestValidator studyMetadataRequestValidator = new StudyMetadataRequestValidator(dataSource);
studyMetadataRequestValidator.validate((studyMetadataRequestBean), errors);
if (!errors.hasErrors()) {
return new DOMSource(mapSuccessConfirmation(getStudy(studyMetadataRequestBean), messages.getMessage("studyEndpoint.success", null, "Success", locale)));
} else {
return new DOMSource(mapConfirmation(messages.getMessage("studyEndpoint.fail", null, "Fail", locale), errors));
}
}
use of org.springframework.ws.server.endpoint.annotation.PayloadRoot in project OpenClinica by OpenClinica.
the class StudyEventDefinitionEndpoint method getStudyList.
/**
* if NAMESPACE_URI_V1:getStudyListRequest execute this method
*
* @return
* @throws Exception
*/
@PayloadRoot(localPart = "listAllRequest", namespace = NAMESPACE_URI_V1)
public Source getStudyList(@XPathParam("//sed:studyEventDefinitionListAll") NodeList studyNodeList) throws Exception {
ResourceBundleProvider.updateLocale(new Locale("en_US"));
Element studyRefElement = (Element) studyNodeList.item(0);
// StudyEventDefinitionRequestBean studyEventDefinitionRequestBean = unMarshallRequest(studyRefElement);
BaseStudyDefinitionBean studyEventDefinitionRequestBean = unMarshallRequest(studyRefElement);
DataBinder dataBinder = new DataBinder((studyEventDefinitionRequestBean));
Errors errors = dataBinder.getBindingResult();
StudyEventDefinitionRequestValidator studyEventDefinitionRequestValidator = new StudyEventDefinitionRequestValidator(dataSource);
studyEventDefinitionRequestValidator.validate((studyEventDefinitionRequestBean), errors);
if (!errors.hasErrors()) {
return new DOMSource(mapConfirmation(getStudy(studyEventDefinitionRequestBean), messages.getMessage("studyEventDefinitionEndpoint.success", null, "Success", locale)));
} else {
return new DOMSource(mapFailConfirmation(messages.getMessage("studyEventDefinitionEndpoint.fail", null, "Fail", locale), errors));
}
}
use of org.springframework.ws.server.endpoint.annotation.PayloadRoot in project OpenClinica by OpenClinica.
the class StudySubjectEndpoint method isStudySubject.
/**
* Use this method to find if studysubject exists by study/site/subject lable.
*
* @param requestElement
* @return studySubjectOID
* @throws Exception
*/
@PayloadRoot(localPart = "isStudySubjectRequest", namespace = NAMESPACE_URI_V1)
public Source isStudySubject(@XPathParam("//studySubject:studySubject") NodeList subject) throws Exception {
ResourceBundleProvider.updateLocale(locale);
Element subjectElement = (Element) subject.item(0);
// Element studyElement = (Element) study.item(0);
//,studyElement);
SubjectStudyDefinitionBean subjectStudyBean = unMarshallToSubjectStudy(subjectElement);
DataBinder dataBinder = new DataBinder((subjectStudyBean));
Errors errors = dataBinder.getBindingResult();
SubjectTransferValidator subjectTransferValidator = new SubjectTransferValidator(dataSource);
subjectTransferValidator.validateIsSubjectExists((subjectStudyBean), errors);
if (subjectStudyBean.getSubjectOIDId() == null) {
//case for core misfunction
errors.reject("studySubjectEndpoint.fail");
}
if (!errors.hasErrors()) {
return new DOMSource(mapConfirmation(messages.getMessage("studySubjectEndpoint.success", null, "Success", locale), subjectStudyBean.getSubjectOIDId(), errors, "subjectOID"));
} else {
return new DOMSource(mapConfirmation(messages.getMessage("studySubjectEndpoint.fail", null, "Fail", locale), null, errors));
}
}
use of org.springframework.ws.server.endpoint.annotation.PayloadRoot in project OpenClinica by OpenClinica.
the class StudySubjectEndpoint method createStudySubject.
/**
* Use this method to create new study subjects in OpenClinica.
*
* @param subject
* @return Source
* @throws Exception
*/
@PayloadRoot(localPart = "createRequest", namespace = NAMESPACE_URI_V1)
public Source createStudySubject(@XPathParam("//studySubject:studySubject") NodeList subject) throws Exception {
Errors errors = null;
try {
ResourceBundleProvider.updateLocale(locale);
Element subjectElement = (Element) subject.item(0);
SubjectTransferBean subjectTransferBean = unMarshallToSubjectTransfer(subjectElement);
DataBinder dataBinder = new DataBinder((subjectTransferBean));
errors = dataBinder.getBindingResult();
subjectTransferBean.setOwner(getUserAccount());
SubjectTransferValidator subjectTransferValidator = new SubjectTransferValidator(dataSource);
subjectTransferValidator.validate((subjectTransferBean), errors);
if (!errors.hasErrors()) {
String label = create(subjectTransferBean);
return new DOMSource(mapConfirmation(messages.getMessage("studySubjectEndpoint.success", null, "Success", locale), label, errors));
} else {
return new DOMSource(mapConfirmation(messages.getMessage("studySubjectEndpoint.fail", null, "Fail", locale), null, errors));
}
} catch (NullPointerException npe) {
npe.printStackTrace();
return new DOMSource(mapConfirmation(messages.getMessage("studySubjectEndpoint.fail", null, "Null Pointer Exception", locale), null, errors));
} catch (Exception e) {
List<String> error_messages = new ArrayList<String>();
error_messages.add(e.getMessage());
return new DOMSource(mapConfirmation(messages.getMessage("studySubjectEndpoint.fail", null, "Fail", locale), null, errors, "label", error_messages));
}
}
Aggregations