protected void traverseAlias(Alias alias, IntactVisitor... visitors) { if (alias == null) return; for (IntactVisitor visitor : visitors) { visitor.visitAlias(alias); } // check if this element has been traversed already, to avoid cyclic recursion if (recursionChecker.isAlreadyTraversed(alias)) { return; } traverse(alias.getCvAliasType(), visitors); traverse(alias.getOwner(), visitors); }
protected void traverseAlias(Alias alias, IntactVisitor... visitors) { if (alias == null) return; for (IntactVisitor visitor : visitors) { visitor.visitAlias(alias); } // check if this element has been traversed already, to avoid cyclic recursion if (recursionChecker.isAlreadyTraversed(alias)) { return; } traverse(alias.getCvAliasType(), visitors); traverse(alias.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() ); } }
alias.setOwner(institutionPersister.syncIfTransient(alias.getOwner()));