private void validateChange(Library library, Library beforeChange) throws IOException { List<ValidationError> errors = new ArrayList<>(); validateConcentrationUnits(library.getConcentration(), library.getConcentrationUnits(), errors); validateVolumeUnits(library.getVolume(), library.getVolumeUnits(), errors); validateBarcodeUniqueness(library, beforeChange, libraryDao::getByBarcode, errors, "library"); validateDistributionFields(library.isDistributed(), library.getDistributionDate(), library.getDistributionRecipient(), library.getBox(), errors); validateUnboxableFields(library.isDiscarded(), library.isDistributed(), library.getBox(), errors); if (library.getSpikeIn() != null) { if (library.getSpikeInDilutionFactor() == null) { errors.add(new ValidationError("spikeInDilutionFactor", "Spike-in dilution factor must be specified")); } if (library.getSpikeInVolume() == null) { errors.add(new ValidationError("spikeInVolume", "Spike-in volume must be specified")); } } if (!errors.isEmpty()) { throw new ValidationException(errors); } }
dto.setConcentration(from.getConcentration().toString()); dto.setConcentrationUnits(from.getConcentrationUnits()); if (from.getLibrarySelectionType() != null) { dto.setLibrarySelectionTypeId(from.getLibrarySelectionType().getId());
target.setIdentificationBarcode(LimsUtils.nullifyStringIfBlank(source.getIdentificationBarcode())); target.setConcentration(source.getConcentration()); target.setConcentrationUnits(target.getConcentration() == null ? null : source.getConcentrationUnits()); target.setPlatformType(source.getPlatformType()); target.setAlias(source.getAlias());