private Pset_Warranty getWarrantyWithWarrantyIdentifierContaining( List<Pset_Warranty> psetWarranties, String searchString) { Pset_Warranty laborWarranty = null; for (Pset_Warranty warranty : psetWarranties) { IfcPropertySingleValue warrantyId = warranty.getWarrantyIdentifier(); IfcSingleValueToCOBieString id = new IfcSingleValueToCOBieString(warrantyId); if (id.getValueString().toLowerCase().contains(searchString)) { laborWarranty = warranty; } } if (laborWarranty == null) { throw new UnsupportedOperationException( "No matches found for warranty with identifier containing " + searchString); } return laborWarranty; }
private void assignFromWarranty( WarrantyType warrantyType, Pset_Warranty warranty, TypeType newType, boolean assignOnlyOnNulls) { IfcPropertySingleValue duration = warranty.getWarrantyPeriod(); IfcPropertyReferenceValue guarantor = warranty.getPointOfContact(); IfcSingleValueToCOBieString durationStrings = null; IfcSingleValueToCOBieString warrantyDescription = null; try { durationStrings = new IfcSingleValueToCOBieString(duration); } catch (Exception ex) { } try { warrantyDescription = new IfcSingleValueToCOBieString(warranty.getWarrantyContent()); } catch (Exception ex) { } String durationValue = (durationStrings == null ? null : durationStrings.getValueString()); String durationUnit = (durationStrings == null ? null : durationStrings.getUnitString()); String guarantorEmail = ""; String existingDuration, existingGuarantor, existingDescription; String description = (warrantyDescription == null ? null : warrantyDescription.getValueString()); existingDescription = newType.getWarrantyDescription(); if ((guarantor != null) && (guarantor.getPropertyReference() != null) && (guarantor.getPropertyReference() instanceof IfcOrganization)) { guarantorEmail = COBieIfcUtility.getEmailFromOrganization( (IfcOrganization) guarantor.getPropertyReference()); } switch (warrantyType) { case LABOR: if (assignOnlyOnNulls) { existingDuration = newType.getWarrantyDurationLabor(); existingGuarantor = newType.getWarrantyGuarantorLabor(); if (COBieUtility.isNA(existingDuration)) { newType.setWarrantyDurationLabor(durationValue); } if (COBieUtility.isNA(existingGuarantor)) { newType.setWarrantyGuarantorLabor(guarantorEmail); } } else { newType.setWarrantyDurationLabor(durationValue); newType.setWarrantyGuarantorLabor(guarantorEmail); } break; case PARTS: if (assignOnlyOnNulls) { existingDuration = newType.getWarrantyDurationParts(); existingGuarantor = newType.getWarrantyGuarantorParts(); if (COBieUtility.isNA(existingDuration)) { newType.setWarrantyDurationParts(durationValue); } if (COBieUtility.isNA(existingGuarantor)) { newType.setWarrantyGuarantorParts(guarantorEmail); } } else { newType.setWarrantyDurationParts(durationValue); newType.setWarrantyGuarantorParts(guarantorEmail); } break; default: break; } if (assignOnlyOnNulls) { if (COBieUtility.isNA(newType.getWarrantyDurationUnit())) { newType.setDurationUnit(durationUnit); } if (COBieUtility.isNA(existingDescription)) { newType.setWarrantyDescription(existingDescription); } } else { newType.setDurationUnit(durationUnit); newType.setWarrantyDescription(description); } }