Пример #1
0
  private void mergeTranslatedData(Experiment originalExperiment, Experiment translatedExperiment) {
    originalExperiment.getArrayDesigns().addAll(translatedExperiment.getArrayDesigns());
    originalExperiment.setDate(translatedExperiment.getDate());
    originalExperiment.setDescription(translatedExperiment.getDescription());
    mergeFactors(originalExperiment, translatedExperiment);
    originalExperiment
        .getExperimentDesignTypes()
        .addAll(translatedExperiment.getExperimentDesignTypes());
    originalExperiment.getNormalizationTypes().addAll(translatedExperiment.getNormalizationTypes());
    originalExperiment.getPublications().addAll(translatedExperiment.getPublications());
    originalExperiment
        .getQualityControlTypes()
        .addAll(translatedExperiment.getQualityControlTypes());
    originalExperiment.getReplicateTypes().addAll(translatedExperiment.getReplicateTypes());
    mergeExperimentContacts(originalExperiment, translatedExperiment);

    originalExperiment.getHybridizations().addAll(translatedExperiment.getHybridizations());
    this.projectDao.save(originalExperiment.getHybridizations());

    for (final LabeledExtract le : translatedExperiment.getLabeledExtracts()) {
      le.setExperiment(originalExperiment);
      originalExperiment.getLabeledExtracts().add(le);
    }
    this.projectDao.save(originalExperiment.getLabeledExtracts());
    for (final Extract e : translatedExperiment.getExtracts()) {
      e.setExperiment(originalExperiment);
      originalExperiment.getExtracts().add(e);
    }
    this.projectDao.save(originalExperiment.getExtracts());
    for (final Sample s : translatedExperiment.getSamples()) {
      s.setExperiment(originalExperiment);
      originalExperiment.getSamples().add(s);
    }
    this.projectDao.save(originalExperiment.getSamples());
    for (final Source s : translatedExperiment.getSources()) {
      s.setExperiment(originalExperiment);
      originalExperiment.getSources().add(s);
    }
    this.projectDao.save(originalExperiment.getSources());
  }