/** * Saves a {@code gene} for the provided {@code patient}. * * @param docX the {@link XWikiDocument} for patient * @param gene a gene to be saved * @param context the {@link XWikiContext} object */ private void saveGene( @Nonnull final XWikiDocument docX, @Nonnull final Gene gene, @Nonnull final XWikiContext context) { try { final BaseObject xwikiObject = docX.newXObject(Gene.GENE_CLASS, context); setXWikiObjectProperty(INTERNAL_GENE_KEY, gene.getId(), xwikiObject, context); String status = gene.getStatus(); // setting status to default 'candidate' if not defined yet setXWikiObjectProperty(INTERNAL_STATUS_KEY, StringUtils.isNotBlank(status) ? status : INTERNAL_CANDIDATE_VALUE, xwikiObject, context); setXWikiObjectProperty(INTERNAL_STRATEGY_KEY, gene.getStrategy(), xwikiObject, context); setXWikiObjectProperty(INTERNAL_COMMENTS_KEY, gene.getComment(), xwikiObject, context); } catch (final XWikiException e) { this.logger.error("Failed to save a specific gene: [{}]", e.getMessage()); } }
break; case "comments": value = gene.getComment(); break; default: