private void applyChanges(LibraryTemplate target, LibraryTemplate source) { target.setAlias(source.getAlias()); target.setPlatformType(source.getPlatformType()); target.setLibraryType(source.getLibraryType()); target.setLibrarySelectionType(source.getLibrarySelectionType()); target.setLibraryStrategyType(source.getLibraryStrategyType()); target.setKitDescriptor(source.getKitDescriptor()); target.setIndexFamily(source.getIndexFamily()); target.setDefaultVolume(source.getDefaultVolume()); target.setProjects(source.getProjects()); if (target instanceof DetailedLibraryTemplate) { DetailedLibraryTemplate dSource = (DetailedLibraryTemplate) source; DetailedLibraryTemplate dTarget = (DetailedLibraryTemplate) target; dTarget.setLibraryDesign(dSource.getLibraryDesign()); dTarget.setLibraryDesignCode(dSource.getLibraryDesignCode()); } }
public static LibraryTemplateDto asDto(@Nonnull LibraryTemplate from) { LibraryTemplateDto dto = null; if (from instanceof DetailedLibraryTemplate) { dto = asDetailedLibraryTemplateDto((DetailedLibraryTemplate) from); } else { dto = new LibraryTemplateDto(); } dto.setId(from.getId()); dto.setAlias(from.getAlias()); dto.setProjectIds(from.getProjects().stream().map(Project::getId).collect(Collectors.toList())); dto.setDefaultVolume(from.getDefaultVolume()); dto.setPlatformType(from.getPlatformType() != null ? from.getPlatformType().name() : null); dto.setLibraryTypeId(from.getLibraryType() != null ? from.getLibraryType().getId() : null); dto.setSelectionTypeId(from.getLibrarySelectionType() != null ? from.getLibrarySelectionType().getId() : null); dto.setStrategyTypeId(from.getLibraryStrategyType() != null ? from.getLibraryStrategyType().getId() : null); dto.setKitDescriptorId(from.getKitDescriptor() != null ? from.getKitDescriptor().getId() : null); dto.setIndexFamilyId(from.getIndexFamily() != null ? from.getIndexFamily().getId() : null); if (from.getIndexFamily() != null) { if (from.getIndexOnes() != null) { dto.setIndexOneIds(from.getIndexOnes().entrySet().stream() .collect(Collectors.toMap(Entry::getKey, entry -> entry.getValue().getId()))); } if (from.getIndexTwos() != null) { dto.setIndexTwoIds(from.getIndexTwos().entrySet().stream() .collect(Collectors.toMap(Entry::getKey, entry -> entry.getValue().getId()))); } } return dto; }
@Override public String getDeleteDescription() { // return getAlias() + " (" + getProjects().getAlias() + ")"; return getAlias(); }
@Override public void update(LibraryTemplate oldLibraryTemplate) throws IOException { authorizationManager.throwIfUnauthenticated(); LibraryTemplate updatedLibraryTemplate = get(oldLibraryTemplate.getId()); applyChanges(updatedLibraryTemplate, oldLibraryTemplate); libraryTemplateStore.update(updatedLibraryTemplate); }