public CancerImagingEventVo saveCancerImagingEventVo(CancerImagingEventVo voImagingEvent) throws StaleObjectException, UniqueKeyViolationException { if (!voImagingEvent.isValidated()) { throw new DomainRuntimeException("This CancerImagingEventVo has not been validated"); } DomainFactory factory = getDomainFactory(); CancerImagingEvent domCancerImagingEvent = CancerImagingEventVoAssembler.extractCancerImagingEvent(factory, voImagingEvent); domCancerImagingEvent.setKeywords(Keywords.setupKeyWords(domCancerImagingEvent.getKeywords(), domCancerImagingEvent.getImagingEventName())); try { factory.save(domCancerImagingEvent); } catch(UnqViolationUncheckedException e) { //check which constraint was violated (name/taxononmy map) //name CancerImagingEvent cie = CancerImagingEvent.getCancerImagingEventFromImagingEventName(factory, voImagingEvent.getImagingEventName()); if (cie != null && cie.getId() != null && !(cie.getId().equals(voImagingEvent.getID_CancerImagingEvent()))) { throw new UniqueKeyViolationException("Cancer Imaging Event record called \"" + voImagingEvent.getImagingEventName() + "\" already exists. Duplicates not allowed.", e); } //taxonomy map String dupMessage = Keywords.checkDuplicateTaxonomy(factory, domCancerImagingEvent, voImagingEvent.getTaxonomyMap(), "getCancerImagingEvent"); if(dupMessage != null) throw new UniqueKeyViolationException(dupMessage); throw (e); } return CancerImagingEventVoAssembler.create(domCancerImagingEvent); }
/** * Given an IGenericItemInfo interface, returns an ICciFull interface, based on the given CciType * @param IGenericItemInfo * @param CciType * @return ICciFull * @author mmccarthy */ public ICciFull getCci(IGenericItemInfo cci, CciType cciType) { DomainFactory factory = getDomainFactory(); if (cci.getIGenericItemInfoID()!=null) { if (cciType.equals(CciType.ALLERGEN)) { return AllergenDetailsAssembler.create((Allergen)factory.getDomainObject(Allergen.class, cci.getIGenericItemInfoID())); } else if (cciType.equals(CciType.MEDICATION)) { return MedicationFullVoAssembler.create((Medication)factory.getDomainObject(Medication.class, cci.getIGenericItemInfoID()));//WDEV-11921 } else if (cciType.equals(CciType.DIAGNOSIS)) { return DiagnosisVoAssembler.create((Diagnosis)factory.getDomainObject(Diagnosis.class, cci.getIGenericItemInfoID())); } else if (cciType.equals(CciType.PROBLEM)) { return ProblemConfigVoAssembler.create((ClinicalProblem)factory.getDomainObject(ClinicalProblem.class, cci.getIGenericItemInfoID())); } else if (cciType.equals(CciType.PROCEDURE)) { return ProcedureVoAssembler.create((Procedure)factory.getDomainObject(Procedure.class, cci.getIGenericItemInfoID())); } else if (cciType.equals(CciType.CANCERIMAGE)) { return CancerImagingEventVoAssembler.create((CancerImagingEvent)factory.getDomainObject(CancerImagingEvent.class, cci.getIGenericItemInfoID())); } else if (cciType.equals(CciType.VACCINE)) { return VaccineVoAssembler.create((Vaccine) factory.getDomainObject(Vaccine.class, cci.getIGenericItemInfoID())); } else if(cciType.equals(CciType.PRESENTING_ISSUE)) { return PresentingComplaintVoAssembler.create((PresentingComplaint) factory.getDomainObject(PresentingComplaint.class, cci.getIGenericItemInfoID())); } else if(cciType.equals(CciType.TREATMENT_INTERVENTION)) //WDEV-17060 { return TreatmentInterventionVoAssembler.create((TreatmentIntervention) factory.getDomainObject(TreatmentIntervention.class, cci.getIGenericItemInfoID())); } else { throw new DomainRuntimeException("Unknown CCI type in 'getCci' = " + cciType.toString()); } } else return null; }
public CancerImagingEventVo getImagingEventByName(String name) { DomainFactory factory = getDomainFactory(); CancerImagingEvent domCIE = CancerImagingEvent.getCancerImagingEventFromImagingEventName(factory, name); return CancerImagingEventVoAssembler.create(domCIE); }