protected void fixPubmedReferenceAsIdentityToPrimaryRef(Xref xref) { if (CvDatabase.PUBMED_MI_REF.equals(xref.getCvDatabase().getIdentifier()) && CvXrefQualifier.IDENTITY_MI_REF.equals(xref.getCvXrefQualifier().getIdentifier())) { CvXrefQualifier primaryRef = CvObjectUtils.createCvObject(xref.getOwner(), CvXrefQualifier.class, CvXrefQualifier.PRIMARY_REFERENCE_MI_REF, CvXrefQualifier.PRIMARY_REFERENCE); xref.setCvXrefQualifier(primaryRef); final ConverterMessage converterMessage = new ConverterMessage(MessageLevel.WARN, "Incorrect cross refernece to Pubmed that had qualifier 'identity'. Changed to 'primary-reference", ConverterContext.getInstance().getLocation().getCurrentLocation()); converterMessage.setAutoFixed(true); ConverterContext.getInstance().getReport().getMessages().add(converterMessage); } }
protected void traverseXref(Xref xref, IntactVisitor... visitors) { if (xref == null) return; for (IntactVisitor visitor : visitors) { visitor.visitXref(xref); } // check if this element has been traversed already, to avoid cyclic recursion if (recursionChecker.isAlreadyTraversed(xref)) { return; } traverse(xref.getCvXrefQualifier(), visitors); traverse(xref.getCvDatabase(), visitors); traverse(xref.getOwner(), visitors); }
protected void traverseXref(Xref xref, IntactVisitor... visitors) { if (xref == null) return; for (IntactVisitor visitor : visitors) { visitor.visitXref(xref); } // check if this element has been traversed already, to avoid cyclic recursion if (recursionChecker.isAlreadyTraversed(xref)) { return; } traverse(xref.getCvXrefQualifier(), visitors); traverse(xref.getCvDatabase(), visitors); traverse(xref.getOwner(), visitors); }
@Override protected void saveOrUpdateAttributes( T intactObject ) throws PersisterException { if ( intactObject == null ) { throw new NullPointerException( "intactObject" ); } InstitutionPersister institutionPersister = InstitutionPersister.getInstance(); institutionPersister.saveOrUpdate( intactObject.getOwner() ); CvObjectPersister cvPersister = CvObjectPersister.getInstance(); for ( Xref xref : intactObject.getXrefs() ) { cvPersister.saveOrUpdate( xref.getCvDatabase() ); if ( xref.getCvXrefQualifier() != null ) { cvPersister.saveOrUpdate( xref.getCvXrefQualifier() ); } institutionPersister.saveOrUpdate( xref.getOwner() ); } for ( Alias alias : intactObject.getAliases() ) { if ( alias.getCvAliasType() != null ) { cvPersister.saveOrUpdate( alias.getCvAliasType() ); } institutionPersister.saveOrUpdate( alias.getOwner() ); } for ( Annotation annotation : intactObject.getAnnotations() ) { if ( annotation.getCvTopic() != null ) { cvPersister.saveOrUpdate( annotation.getCvTopic() ); } institutionPersister.saveOrUpdate( annotation.getOwner() ); } }
xref.setOwner(institutionPersister.syncIfTransient(xref.getOwner()));