@Override protected Stream<Pair<PoolableElementView, Partition>> items() { return submission.getExperiments().stream().flatMap(experiment -> experiment.getRunPartitions().stream()).flatMap( rp -> rp.getPartition().getPool().getPoolDilutions().stream() .map(pd -> new Pair<>(pd.getPoolableElementView(), rp.getPartition()))); }
} else { experiment.setRunPartitions(experiment.getRunPartitions().stream().map(WhineyFunction.rethrow(from -> { RunPartition to = new RunPartition(); to.setExperiment(experiment); to.setPartition(containerService.getPartition(from.getPartition().getId())); to.setRun(runService.get(from.getRun().getId())); return to; })).collect( original.setTitle(experiment.getTitle()); original.getRunPartitions().forEach(rp -> rp.setExperiment(original)); Set<Kit> kits = new HashSet<>(); for (Kit k : experiment.getKits()) {
public static Experiment to(@Nonnull ExperimentDto dto) { Experiment to = new Experiment(); to.setId(dto.getId()); to.setAlias(dto.getAlias()); to.setDescription(dto.getDescription()); to.setLibrary(to(dto.getLibrary())); to.setInstrumentModel(to(dto.getInstrumentModel())); to.setRunPartitions(dto.getPartitions().stream().map(rpDto -> { RunPartition rpTo = new RunPartition(); rpTo.setExperiment(to); rpTo.setPartition(to(rpDto.getPartition())); rpTo.setRun(to(rpDto.getRun())); return rpTo; }).collect(Collectors.toList())); to.setStudy(to(dto.getStudy())); to.setTitle(dto.getTitle()); return to; }
public static ExperimentDto asDto(@Nonnull Experiment from) { ExperimentDto dto = new ExperimentDto(); dto.setId(from.getId()); dto.setAccession(from.getAccession()); dto.setAlias(from.getAlias()); dto.setDescription(from.getDescription()); dto.setName(from.getName()); dto.setInstrumentModel(asDto(from.getInstrumentModel())); dto.setLibrary(asDto(from.getLibrary(), false)); dto.setPartitions(from.getRunPartitions().stream() .map(entry -> new ExperimentDto.RunPartitionDto(asDto(entry.getRun()), asDto(entry.getPartition()))).collect(Collectors.toList())); dto.setStudy(asDto(from.getStudy())); dto.setTitle(from.getTitle()); return dto; }