Project

General

Profile

« Previous | Next » 

Revision dae88538

Added by Andreas Müller over 12 years ago

update taxon service (add some synonym delete functionality - still preliminary)

View differences:

cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonDaoHibernateImpl.java
1915 1915
			}
1916 1916
		}
1917 1917
		return 0;
1918
		
1919 1918
	}
1920 1919

  
1921 1920

  
1922
	public long deleteSynonymRelationships(Synonym syn) {
1921
	/* (non-Javadoc)
1922
	 * @see eu.etaxonomy.cdm.persistence.dao.taxon.ITaxonDao#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon)
1923
	 */
1924
	public long deleteSynonymRelationships(Synonym synonym, Taxon taxon) {
1923 1925
		
1924
		/*
1925
		 * DELETE RT
1926
FROM         RelTaxon AS RT INNER JOIN
1927
                      Taxon AS FaEuSyn ON RT.TaxonFk1 = FaEuSyn.TaxonId INNER JOIN
1928
                      Taxon AS ERMSAcc ON FaEuSyn.RankFk = ERMSAcc.RankFk AND FaEuSyn.FullName = ERMSAcc.FullName AND ISNULL(FaEuSyn.TaxonStatusFk, 0)
1929
                      <> ERMSAcc.TaxonStatusFk
1930
WHERE     (FaEuSyn.OriginalDB = N'FaEu') AND (ERMSAcc.OriginalDB = N'ERMS') AND (ERMSAcc.TaxonStatusFk = 1) AND (ERMSAcc.KingdomFk = 2) AND
1931
                      (RT.RelTaxonQualifierFk > 100)
1932
		 */
1926
		String hql = "delete SynonymRelationship sr where sr.relatedFrom = :syn ";
1927
		if (taxon != null){
1928
			hql += " and sr.relatedTo = :taxon";
1929
		}
1933 1930
		Session session = this.getSession();
1934
		Query q = session.createQuery("delete SynonymRelationship sr where sr.relatedFrom = :syn");
1935
		q.setParameter("syn", syn);
1931
		Query q = session.createQuery(hql);
1932
		
1933
		q.setParameter("syn", synonym);
1934
		if (taxon != null){
1935
			q.setParameter("taxon", taxon);
1936
		}
1936 1937
		return q.executeUpdate();
1937 1938
	}
1938 1939

  

Also available in: Unified diff