public static ims.nursing.assessment.domain.objects.EatingComponent extractEatingComponent( ims.domain.ILightweightDomainFactory domainFactory, ims.coe.vo.AssessmentEatingAndDrinking valueObject, HashMap domMap) { if (null == valueObject) { return null; } Integer id = valueObject.getID_AssessmentComponent(); ims.nursing.assessment.domain.objects.EatingComponent domainObject = null; if (null == id) { if (domMap.get(valueObject) != null) { return (ims.nursing.assessment.domain.objects.EatingComponent) domMap.get(valueObject); } // ims.coe.vo.AssessmentEatingAndDrinking ID_EatingComponent field is unknown domainObject = new ims.nursing.assessment.domain.objects.EatingComponent(); domMap.put(valueObject, domainObject); } else { String key = (valueObject.getClass().getName() + "__" + valueObject.getID_AssessmentComponent()); if (domMap.get(key) != null) { return (ims.nursing.assessment.domain.objects.EatingComponent) domMap.get(key); } domainObject = (ims.nursing.assessment.domain.objects.EatingComponent) domainFactory.getDomainObject( ims.nursing.assessment.domain.objects.EatingComponent.class, id); // TODO: Not sure how this should be handled. Effectively it must be a staleobject exception, // but maybe should be handled as that further up. if (domainObject == null) return null; domMap.put(key, domainObject); } domainObject.setVersion(valueObject.getVersion_AssessmentComponent()); ims.nursing.vo.lookups.NutritionalMethodCollection collection1 = valueObject.getNutritionalMethod(); java.util.List domainNutritionalMethod = domainObject.getNutritionalMethod(); ; int collection1Size = 0; if (collection1 == null) { domainNutritionalMethod = new java.util.ArrayList(0); } else { collection1Size = collection1.size(); } for (int i = 0; i < collection1Size; i++) { int instanceId = collection1.get(i).getID(); ims.domain.lookups.LookupInstanceRef dom = new ims.domain.lookups.LookupInstanceRef(domainFactory.getLookupInstance(instanceId)); int domIdx = domainNutritionalMethod.indexOf(dom); if (domIdx == -1) { domainNutritionalMethod.add(i, dom); } else if (i != domIdx && i < domainNutritionalMethod.size()) { Object tmp = domainNutritionalMethod.get(i); domainNutritionalMethod.set(i, domainNutritionalMethod.get(domIdx)); domainNutritionalMethod.set(domIdx, tmp); } } // Remove all ones in domList where index > voCollection.size() as these should // now represent the ones removed from the VO collection. No longer referenced. int j1 = domainNutritionalMethod.size(); while (j1 > collection1Size) { domainNutritionalMethod.remove(j1 - 1); j1 = domainNutritionalMethod.size(); } domainObject.setNutritionalMethod(domainNutritionalMethod); domainObject.setOralAssessment( ims.nursing.vo.domain.OralAssessmentAssembler.extractEatingOralAssessmentSet( domainFactory, valueObject.getOralAssessment(), domainObject.getOralAssessment(), domMap)); // create LookupInstance from vo LookupType ims.domain.lookups.LookupInstance value3 = null; if (null != valueObject.getDifficultiesWithSwallowing()) { value3 = domainFactory.getLookupInstance(valueObject.getDifficultiesWithSwallowing().getID()); } domainObject.setDifficultiesWithSwallowing(value3); domainObject.setSwallowing( ims.coe.vo.domain.SwallowingAssessmentAssembler.extractEatingSwallowingDetailsSet( domainFactory, valueObject.getSwallowing(), domainObject.getSwallowing(), domMap)); domainObject.setManualDexterity( ims.coe.vo.domain.ManualDexterityAssembler.extractEatingManualDexteritySet( domainFactory, valueObject.getManualDexterity(), domainObject.getManualDexterity(), domMap)); // create LookupInstance from vo LookupType ims.domain.lookups.LookupInstance value6 = null; if (null != valueObject.getDescribeAppetite()) { value6 = domainFactory.getLookupInstance(valueObject.getDescribeAppetite().getID()); } domainObject.setDescribeAppetite(value6); // create LookupInstance from vo LookupType ims.domain.lookups.LookupInstance value7 = null; if (null != valueObject.getAnySpecialDiet()) { value7 = domainFactory.getLookupInstance(valueObject.getAnySpecialDiet().getID()); } domainObject.setAnySpecialDiet(value7); // create LookupInstance from vo LookupType ims.domain.lookups.LookupInstance value8 = null; if (null != valueObject.getSpecialDiet()) { value8 = domainFactory.getLookupInstance(valueObject.getSpecialDiet().getID()); } domainObject.setSpecialDiet(value8); // This is to overcome a bug in both Sybase and Oracle which prevents them from storing an empty // string correctly // Sybase stores it as a single space, Oracle stores it as NULL. This fix will make them // consistent at least. if (valueObject.getFoodPatientLikes() != null && valueObject.getFoodPatientLikes().equals("")) { valueObject.setFoodPatientLikes(null); } domainObject.setFoodPatientLikes(valueObject.getFoodPatientLikes()); // This is to overcome a bug in both Sybase and Oracle which prevents them from storing an empty // string correctly // Sybase stores it as a single space, Oracle stores it as NULL. This fix will make them // consistent at least. if (valueObject.getFoodPatientDislikes() != null && valueObject.getFoodPatientDislikes().equals("")) { valueObject.setFoodPatientDislikes(null); } domainObject.setFoodPatientDislikes(valueObject.getFoodPatientDislikes()); // This is to overcome a bug in both Sybase and Oracle which prevents them from storing an empty // string correctly // Sybase stores it as a single space, Oracle stores it as NULL. This fix will make them // consistent at least. if (valueObject.getFoodPatientFavourite() != null && valueObject.getFoodPatientFavourite().equals("")) { valueObject.setFoodPatientFavourite(null); } domainObject.setFoodPatientFavourite(valueObject.getFoodPatientFavourite()); // create LookupInstance from vo LookupType ims.domain.lookups.LookupInstance value12 = null; if (null != valueObject.getRequireAssistance()) { value12 = domainFactory.getLookupInstance(valueObject.getRequireAssistance().getID()); } domainObject.setRequireAssistance(value12); domainObject.setMiniNutritionalAssessment( ims.nursing.vo.domain.MiniNutritionalAssessmentAssembler.extractMiniNutritionalAssessment( domainFactory, valueObject.getMiniNutritionalAssessment(), domMap)); domainObject.setMNAScore(valueObject.getMNAScore()); domainObject.setIsComplete(valueObject.getIsComplete()); domainObject.setAssessmentInfo( ims.nursing.vo.domain.AssessmentInfoAssembler.extractAssessmentInfoList( domainFactory, valueObject.getAssessmentInfo(), domainObject.getAssessmentInfo(), domMap)); domainObject.setCopy(valueObject.getCopy()); // create LookupInstance from vo LookupType ims.domain.lookups.LookupInstance value18 = null; if (null != valueObject.getComponentType()) { value18 = domainFactory.getLookupInstance(valueObject.getComponentType().getID()); } domainObject.setComponentType(value18); domainObject.setCarePlanTemplate( ims.nursing.vo.domain.CarePlanTemplateAssembler.extractCarePlanTemplateSet( domainFactory, valueObject.getCarePlanTemplate(), domainObject.getCarePlanTemplate(), domMap)); domainObject.setCarePlans( ims.nursing.vo.domain.CarePlanAssembler.extractCarePlanSet( domainFactory, valueObject.getCarePlans(), domainObject.getCarePlans(), domMap)); return domainObject; }
/** * Update the ValueObject with the Domain Object. * * @param map DomainObjectMap of DomainObjects to already created ValueObjects. * @param valueObject to be updated * @param domainObject ims.nursing.assessment.domain.objects.EatingComponent */ public static ims.coe.vo.AssessmentEatingAndDrinking insert( DomainObjectMap map, ims.coe.vo.AssessmentEatingAndDrinking valueObject, ims.nursing.assessment.domain.objects.EatingComponent domainObject) { if (null == domainObject) { return valueObject; } if (null == map) { map = new DomainObjectMap(); } valueObject.setID_AssessmentComponent(domainObject.getId()); valueObject.setIsRIE(domainObject.getIsRIE()); // If this is a recordedInError record, and the domainObject // value isIncludeRecord has not been set, then we return null and // not the value object if (valueObject.getIsRIE() != null && valueObject.getIsRIE().booleanValue() == true && !domainObject.isIncludeRecord()) return null; // If this is not a recordedInError record, and the domainObject // value isIncludeRecord has been set, then we return null and // not the value object if ((valueObject.getIsRIE() == null || valueObject.getIsRIE().booleanValue() == false) && domainObject.isIncludeRecord()) return null; // NutritionalMethod java.util.List listNutritionalMethod = domainObject.getNutritionalMethod(); ims.nursing.vo.lookups.NutritionalMethodCollection NutritionalMethod = new ims.nursing.vo.lookups.NutritionalMethodCollection(); for (java.util.Iterator iterator = listNutritionalMethod.iterator(); iterator.hasNext(); ) { ims.framework.utils.ImagePath img = null; ims.framework.utils.Color color = null; ims.domain.lookups.LookupInstance instance = (ims.domain.lookups.LookupInstance) iterator.next(); if (instance.getImage() != null) { img = new ims.framework.utils.ImagePath( instance.getImage().getImageId(), instance.getImage().getImagePath()); } else { img = null; } color = instance.getColor(); if (color != null) color.getValue(); ims.nursing.vo.lookups.NutritionalMethod voInstance = new ims.nursing.vo.lookups.NutritionalMethod( instance.getId(), instance.getText(), instance.isActive(), null, img, color); ims.nursing.vo.lookups.NutritionalMethod parentVoInstance = voInstance; ims.domain.lookups.LookupInstance parent = instance.getParent(); while (parent != null) { if (parent.getImage() != null) { img = new ims.framework.utils.ImagePath( parent.getImage().getImageId(), parent.getImage().getImagePath()); } else { img = null; } color = parent.getColor(); if (color != null) color.getValue(); parentVoInstance.setParent( new ims.nursing.vo.lookups.NutritionalMethod( parent.getId(), parent.getText(), parent.isActive(), null, img, color)); parentVoInstance = parentVoInstance.getParent(); parent = parent.getParent(); } NutritionalMethod.add(voInstance); } valueObject.setNutritionalMethod(NutritionalMethod); // OralAssessment valueObject.setOralAssessment( ims.nursing.vo.domain.OralAssessmentAssembler .createOralAssessmentCollectionFromEatingOralAssessment( map, domainObject.getOralAssessment())); // DifficultiesWithSwallowing ims.domain.lookups.LookupInstance instance3 = domainObject.getDifficultiesWithSwallowing(); if (null != instance3) { ims.framework.utils.ImagePath img = null; ims.framework.utils.Color color = null; img = null; if (instance3.getImage() != null) { img = new ims.framework.utils.ImagePath( instance3.getImage().getImageId(), instance3.getImage().getImagePath()); } color = instance3.getColor(); if (color != null) color.getValue(); ims.core.vo.lookups.YesNoUnknown voLookup3 = new ims.core.vo.lookups.YesNoUnknown( instance3.getId(), instance3.getText(), instance3.isActive(), null, img, color); ims.core.vo.lookups.YesNoUnknown parentVoLookup3 = voLookup3; ims.domain.lookups.LookupInstance parent3 = instance3.getParent(); while (parent3 != null) { if (parent3.getImage() != null) { img = new ims.framework.utils.ImagePath( parent3.getImage().getImageId(), parent3.getImage().getImagePath()); } else { img = null; } color = parent3.getColor(); if (color != null) color.getValue(); parentVoLookup3.setParent( new ims.core.vo.lookups.YesNoUnknown( parent3.getId(), parent3.getText(), parent3.isActive(), null, img, color)); parentVoLookup3 = parentVoLookup3.getParent(); parent3 = parent3.getParent(); } valueObject.setDifficultiesWithSwallowing(voLookup3); } // Swallowing valueObject.setSwallowing( ims.coe.vo.domain.SwallowingAssessmentAssembler .createSwallowingAssessmentCollectionFromEatingSwallowingDetails( map, domainObject.getSwallowing())); // ManualDexterity valueObject.setManualDexterity( ims.coe.vo.domain.ManualDexterityAssembler .createManualDexterityCollectionFromEatingManualDexterity( map, domainObject.getManualDexterity())); // DescribeAppetite ims.domain.lookups.LookupInstance instance6 = domainObject.getDescribeAppetite(); if (null != instance6) { ims.framework.utils.ImagePath img = null; ims.framework.utils.Color color = null; img = null; if (instance6.getImage() != null) { img = new ims.framework.utils.ImagePath( instance6.getImage().getImageId(), instance6.getImage().getImagePath()); } color = instance6.getColor(); if (color != null) color.getValue(); ims.coe.vo.lookups.DescribeAppetite voLookup6 = new ims.coe.vo.lookups.DescribeAppetite( instance6.getId(), instance6.getText(), instance6.isActive(), null, img, color); ims.coe.vo.lookups.DescribeAppetite parentVoLookup6 = voLookup6; ims.domain.lookups.LookupInstance parent6 = instance6.getParent(); while (parent6 != null) { if (parent6.getImage() != null) { img = new ims.framework.utils.ImagePath( parent6.getImage().getImageId(), parent6.getImage().getImagePath()); } else { img = null; } color = parent6.getColor(); if (color != null) color.getValue(); parentVoLookup6.setParent( new ims.coe.vo.lookups.DescribeAppetite( parent6.getId(), parent6.getText(), parent6.isActive(), null, img, color)); parentVoLookup6 = parentVoLookup6.getParent(); parent6 = parent6.getParent(); } valueObject.setDescribeAppetite(voLookup6); } // AnySpecialDiet ims.domain.lookups.LookupInstance instance7 = domainObject.getAnySpecialDiet(); if (null != instance7) { ims.framework.utils.ImagePath img = null; ims.framework.utils.Color color = null; img = null; if (instance7.getImage() != null) { img = new ims.framework.utils.ImagePath( instance7.getImage().getImageId(), instance7.getImage().getImagePath()); } color = instance7.getColor(); if (color != null) color.getValue(); ims.core.vo.lookups.YesNoUnknown voLookup7 = new ims.core.vo.lookups.YesNoUnknown( instance7.getId(), instance7.getText(), instance7.isActive(), null, img, color); ims.core.vo.lookups.YesNoUnknown parentVoLookup7 = voLookup7; ims.domain.lookups.LookupInstance parent7 = instance7.getParent(); while (parent7 != null) { if (parent7.getImage() != null) { img = new ims.framework.utils.ImagePath( parent7.getImage().getImageId(), parent7.getImage().getImagePath()); } else { img = null; } color = parent7.getColor(); if (color != null) color.getValue(); parentVoLookup7.setParent( new ims.core.vo.lookups.YesNoUnknown( parent7.getId(), parent7.getText(), parent7.isActive(), null, img, color)); parentVoLookup7 = parentVoLookup7.getParent(); parent7 = parent7.getParent(); } valueObject.setAnySpecialDiet(voLookup7); } // SpecialDiet ims.domain.lookups.LookupInstance instance8 = domainObject.getSpecialDiet(); if (null != instance8) { ims.framework.utils.ImagePath img = null; ims.framework.utils.Color color = null; img = null; if (instance8.getImage() != null) { img = new ims.framework.utils.ImagePath( instance8.getImage().getImageId(), instance8.getImage().getImagePath()); } color = instance8.getColor(); if (color != null) color.getValue(); ims.nursing.vo.lookups.SpecialDiet voLookup8 = new ims.nursing.vo.lookups.SpecialDiet( instance8.getId(), instance8.getText(), instance8.isActive(), null, img, color); ims.nursing.vo.lookups.SpecialDiet parentVoLookup8 = voLookup8; ims.domain.lookups.LookupInstance parent8 = instance8.getParent(); while (parent8 != null) { if (parent8.getImage() != null) { img = new ims.framework.utils.ImagePath( parent8.getImage().getImageId(), parent8.getImage().getImagePath()); } else { img = null; } color = parent8.getColor(); if (color != null) color.getValue(); parentVoLookup8.setParent( new ims.nursing.vo.lookups.SpecialDiet( parent8.getId(), parent8.getText(), parent8.isActive(), null, img, color)); parentVoLookup8 = parentVoLookup8.getParent(); parent8 = parent8.getParent(); } valueObject.setSpecialDiet(voLookup8); } // FoodPatientLikes valueObject.setFoodPatientLikes(domainObject.getFoodPatientLikes()); // FoodPatientDislikes valueObject.setFoodPatientDislikes(domainObject.getFoodPatientDislikes()); // FoodPatientFavourite valueObject.setFoodPatientFavourite(domainObject.getFoodPatientFavourite()); // RequireAssistance ims.domain.lookups.LookupInstance instance12 = domainObject.getRequireAssistance(); if (null != instance12) { ims.framework.utils.ImagePath img = null; ims.framework.utils.Color color = null; img = null; if (instance12.getImage() != null) { img = new ims.framework.utils.ImagePath( instance12.getImage().getImageId(), instance12.getImage().getImagePath()); } color = instance12.getColor(); if (color != null) color.getValue(); ims.core.vo.lookups.YesNoUnknown voLookup12 = new ims.core.vo.lookups.YesNoUnknown( instance12.getId(), instance12.getText(), instance12.isActive(), null, img, color); ims.core.vo.lookups.YesNoUnknown parentVoLookup12 = voLookup12; ims.domain.lookups.LookupInstance parent12 = instance12.getParent(); while (parent12 != null) { if (parent12.getImage() != null) { img = new ims.framework.utils.ImagePath( parent12.getImage().getImageId(), parent12.getImage().getImagePath()); } else { img = null; } color = parent12.getColor(); if (color != null) color.getValue(); parentVoLookup12.setParent( new ims.core.vo.lookups.YesNoUnknown( parent12.getId(), parent12.getText(), parent12.isActive(), null, img, color)); parentVoLookup12 = parentVoLookup12.getParent(); parent12 = parent12.getParent(); } valueObject.setRequireAssistance(voLookup12); } // MiniNutritionalAssessment valueObject.setMiniNutritionalAssessment( ims.nursing.vo.domain.MiniNutritionalAssessmentAssembler.create( map, domainObject.getMiniNutritionalAssessment())); // MNAScore valueObject.setMNAScore(domainObject.getMNAScore()); // isComplete valueObject.setIsComplete(domainObject.isIsComplete()); // AssessmentInfo valueObject.setAssessmentInfo( ims.nursing.vo.domain.AssessmentInfoAssembler .createAssessmentInfoCollectionFromAssessmentInfo( map, domainObject.getAssessmentInfo())); // Copy valueObject.setCopy(domainObject.isCopy()); // ComponentType ims.domain.lookups.LookupInstance instance18 = domainObject.getComponentType(); if (null != instance18) { ims.framework.utils.ImagePath img = null; ims.framework.utils.Color color = null; img = null; if (instance18.getImage() != null) { img = new ims.framework.utils.ImagePath( instance18.getImage().getImageId(), instance18.getImage().getImagePath()); } color = instance18.getColor(); if (color != null) color.getValue(); ims.nursing.vo.lookups.AssessmentComponentType voLookup18 = new ims.nursing.vo.lookups.AssessmentComponentType( instance18.getId(), instance18.getText(), instance18.isActive(), null, img, color); ims.nursing.vo.lookups.AssessmentComponentType parentVoLookup18 = voLookup18; ims.domain.lookups.LookupInstance parent18 = instance18.getParent(); while (parent18 != null) { if (parent18.getImage() != null) { img = new ims.framework.utils.ImagePath( parent18.getImage().getImageId(), parent18.getImage().getImagePath()); } else { img = null; } color = parent18.getColor(); if (color != null) color.getValue(); parentVoLookup18.setParent( new ims.nursing.vo.lookups.AssessmentComponentType( parent18.getId(), parent18.getText(), parent18.isActive(), null, img, color)); parentVoLookup18 = parentVoLookup18.getParent(); parent18 = parent18.getParent(); } valueObject.setComponentType(voLookup18); } // CarePlanTemplate valueObject.setCarePlanTemplate( ims.nursing.vo.domain.CarePlanTemplateAssembler .createCarePlanTemplateCollectionFromCarePlanTemplate( map, domainObject.getCarePlanTemplate())); // CarePlans valueObject.setCarePlans( ims.nursing.vo.domain.CarePlanAssembler.createCarePlanCollectionFromCarePlan( map, domainObject.getCarePlans())); return valueObject; }