@Override @Transactional public Institution convertFromString(String str) { if (str == null) return null; return IntactContext.getCurrentInstance().getDaoFactory().getInstitutionDao().getByShortLabel(str); }
@Override @Transactional public Institution convertFromString(String str) { if (str == null) return null; return IntactContext.getCurrentInstance().getDaoFactory().getInstitutionDao().getByShortLabel(str); }
/** * Finds an institution based on its properties. * * @param institution the object we are searching an AC for. * @return an AC or null if it couldn't be found. */ protected String findAcForInstitution( Institution institution ) { String ac = null; // try to fetch it first using the xref. If not, use the shortlabel Xref institutionXref = XrefUtils.getPsiMiIdentityXref( institution ); if ( institutionXref != null ) { Query query = getEntityManager().createQuery( "select distinct institution.ac from Institution institution " + "left join institution.xrefs as xref " + "where xref.primaryId = :primaryId" ); query.setParameter( "primaryId", institutionXref.getPrimaryId() ); ac = getFirstAcForQuery( query, institution ); } if ( ac == null ) { Institution fetchedInstitution = getDaoFactory().getInstitutionDao().getByShortLabel( institution.getShortLabel() ); if ( fetchedInstitution != null ) { ac = fetchedInstitution.getAc(); } } return ac; }
/** * Finds an institution based on its properties. * * @param institution the object we are searching an AC for. * @return an AC or null if it couldn't be found. */ protected String findAcForInstitution( Institution institution ) { String ac = null; // try to fetch it first using the xref. If not, use the shortlabel Xref institutionXref = XrefUtils.getPsiMiIdentityXref( institution ); if ( institutionXref != null ) { Query query = getEntityManager().createQuery( "select distinct institution.ac from Institution institution " + "left join institution.xrefs as xref " + "where xref.primaryId = :primaryId" ); query.setParameter( "primaryId", institutionXref.getPrimaryId() ); ac = getFirstAcForQuery( query, institution ); } if ( ac == null ) { Institution fetchedInstitution = getDaoFactory().getInstitutionDao().getByShortLabel( institution.getShortLabel() ); if ( fetchedInstitution != null ) { ac = fetchedInstitution.getAc(); } } return ac; }
@Transactional(propagation = Propagation.REQUIRES_NEW) public void persistInstitution(Institution candidateInstitution, boolean isDefault) { Institution institution = institutionDao.getByShortLabel(candidateInstitution.getShortLabel()); CvDatabase intact = daoFactory.getCvObjectDao(CvDatabase.class).getByIdentifier(CvDatabase.INTACT_MI_REF); CvXrefQualifier identity = daoFactory.getCvObjectDao(CvXrefQualifier.class).getByIdentifier(CvXrefQualifier.IDENTITY_MI_REF); if (identity == null && isAutoPersist()){ createCvIfMissing(CvXrefQualifier.class, CvXrefQualifier.IDENTITY_MI_REF, CvXrefQualifier.IDENTITY, null); } if (intact == null && isAutoPersist()){ createCvIfMissing(CvDatabase.class, CvDatabase.INTACT_MI_REF, CvDatabase.INTACT, null); } if (institution == null && isAutoPersist()) { if (log.isDebugEnabled()) log.debug("Persisting institution: "+candidateInstitution); corePersister.saveOrUpdate(candidateInstitution); } else if (isDefault) { if (institution == null) { institution = candidateInstitution; } configuration.setDefaultInstitution(institution); } }
@Transactional(propagation = Propagation.REQUIRES_NEW) public void persistInstitution(Institution candidateInstitution, boolean isDefault) { Institution institution = institutionDao.getByShortLabel(candidateInstitution.getShortLabel()); CvDatabase intact = daoFactory.getCvObjectDao(CvDatabase.class).getByIdentifier(CvDatabase.INTACT_MI_REF); CvXrefQualifier identity = daoFactory.getCvObjectDao(CvXrefQualifier.class).getByIdentifier(CvXrefQualifier.IDENTITY_MI_REF); if (identity == null && isAutoPersist()){ createCvIfMissing(CvXrefQualifier.class, CvXrefQualifier.IDENTITY_MI_REF, CvXrefQualifier.IDENTITY, null); } if (intact == null && isAutoPersist()){ createCvIfMissing(CvDatabase.class, CvDatabase.INTACT_MI_REF, CvDatabase.INTACT, null); } if (institution == null && isAutoPersist()) { if (log.isDebugEnabled()) log.debug("Persisting institution: "+candidateInstitution); corePersister.saveOrUpdate(candidateInstitution); } else if (isDefault) { if (institution == null) { institution = candidateInstitution; } configuration.setDefaultInstitution(institution); } }