Project

General

Profile

« Previous | Next » 

Revision 9dc896c9

Added by Andreas Müller almost 7 years ago

fix #6368 rename table and class TaxonNameBase

View differences:

cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/name/TaxonNameDaoHibernateImpl.java
41 41
import eu.etaxonomy.cdm.model.name.NameRelationshipType;
42 42
import eu.etaxonomy.cdm.model.name.Rank;
43 43
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
44
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
44
import eu.etaxonomy.cdm.model.name.TaxonName;
45 45
import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
46 46
import eu.etaxonomy.cdm.model.name.TypeDesignationStatusBase;
47 47
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
......
60 60
 */
61 61
@Repository
62 62
@Qualifier("taxonNameDaoHibernateImpl")
63
public class TaxonNameDaoHibernateImpl extends IdentifiableDaoBase<TaxonNameBase> implements ITaxonNameDao {
63
public class TaxonNameDaoHibernateImpl extends IdentifiableDaoBase<TaxonName> implements ITaxonNameDao {
64 64

  
65 65
    private static final Logger logger = Logger.getLogger(TaxonNameDaoHibernateImpl.class);
66 66

  
......
72 72
    private IHomotypicalGroupDao homotypicalGroupDao;
73 73

  
74 74
    public TaxonNameDaoHibernateImpl() {
75
        super(TaxonNameBase.class);
75
        super(TaxonName.class);
76 76
        indexedClasses = new Class[1];
77
        indexedClasses[0] = TaxonNameBase.class;
77
        indexedClasses[0] = TaxonName.class;
78 78
    }
79 79

  
80 80
    @Override
......
106 106
    @Override
107 107
    public int countNames(String queryString) {
108 108
        checkNotInPriorView("TaxonNameDaoHibernateImpl.countNames(String queryString)");
109
        Criteria criteria = getSession().createCriteria(TaxonNameBase.class);
109
        Criteria criteria = getSession().createCriteria(TaxonName.class);
110 110

  
111 111
        if (queryString != null) {
112 112
            criteria.add(Restrictions.ilike("nameCache", queryString));
......
139 139
    public int countNames(String genusOrUninomial, String infraGenericEpithet,	String specificEpithet, String infraSpecificEpithet, Rank rank) {
140 140
        AuditEvent auditEvent = getAuditEventFromContext();
141 141
        if(auditEvent.equals(AuditEvent.CURRENT_VIEW)) {
142
            Criteria criteria = getSession().createCriteria(TaxonNameBase.class);
142
            Criteria criteria = getSession().createCriteria(TaxonName.class);
143 143

  
144 144
            /**
145 145
             * Given HHH-2951 - "Restrictions.eq when passed null, should create a NullRestriction"
......
176 176
            criteria.setProjection(Projections.rowCount());
177 177
            return ((Number)criteria.uniqueResult()).intValue();
178 178
        } else {
179
            AuditQuery query = getAuditReader().createQuery().forEntitiesAtRevision(TaxonNameBase.class,auditEvent.getRevisionNumber());
179
            AuditQuery query = getAuditReader().createQuery().forEntitiesAtRevision(TaxonName.class,auditEvent.getRevisionNumber());
180 180

  
181 181
            if(genusOrUninomial != null) {
182 182
                query.add(AuditEntity.property("genusOrUninomial").eq(genusOrUninomial));
......
212 212
    }
213 213

  
214 214
    @Override
215
    public int countNameRelationships(TaxonNameBase name, NameRelationship.Direction direction, NameRelationshipType type) {
215
    public int countNameRelationships(TaxonName name, NameRelationship.Direction direction, NameRelationshipType type) {
216 216

  
217 217
        AuditEvent auditEvent = getAuditEventFromContext();
218 218
        if(auditEvent.equals(AuditEvent.CURRENT_VIEW)) {
......
240 240

  
241 241

  
242 242
    @Override
243
    public int countTypeDesignations(TaxonNameBase name, SpecimenTypeDesignationStatus status) {
244
        checkNotInPriorView("countTypeDesignations(TaxonNameBase name, SpecimenTypeDesignationStatus status)");
243
    public int countTypeDesignations(TaxonName name, SpecimenTypeDesignationStatus status) {
244
        checkNotInPriorView("countTypeDesignations(TaxonName name, SpecimenTypeDesignationStatus status)");
245 245
        Query query = null;
246 246
        if(status == null) {
247 247
            query = getSession().createQuery("select count(designation) from TypeDesignationBase designation join designation.typifiedNames name where name = :name");
......
301 301
    }
302 302

  
303 303
    @Override
304
    public List<NameRelationship> getNameRelationships(TaxonNameBase name, NameRelationship.Direction direction,
304
    public List<NameRelationship> getNameRelationships(TaxonName name, NameRelationship.Direction direction,
305 305
            NameRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints,
306 306
            List<String> propertyPaths) {
307 307

  
......
352 352
    }
353 353

  
354 354
    @Override
355
    public List<TypeDesignationBase> getTypeDesignations(TaxonNameBase name, TypeDesignationStatusBase status, Integer pageSize, Integer pageNumber,	List<String> propertyPaths){
355
    public List<TypeDesignationBase> getTypeDesignations(TaxonName name, TypeDesignationStatusBase status, Integer pageSize, Integer pageNumber,	List<String> propertyPaths){
356 356
        return getTypeDesignations(name, null, status, pageSize, pageNumber, propertyPaths);
357 357
    }
358 358

  
359 359
    @Override
360
    public <T extends TypeDesignationBase> List<T> getTypeDesignations(TaxonNameBase name,
360
    public <T extends TypeDesignationBase> List<T> getTypeDesignations(TaxonName name,
361 361
                Class<T> type,
362 362
                TypeDesignationStatusBase status, Integer pageSize, Integer pageNumber,
363 363
                List<String> propertyPaths){
364
        checkNotInPriorView("getTypeDesignations(TaxonNameBase name,TypeDesignationStatusBase status, Integer pageSize, Integer pageNumber,	List<String> propertyPaths)");
364
        checkNotInPriorView("getTypeDesignations(TaxonName name,TypeDesignationStatusBase status, Integer pageSize, Integer pageNumber,	List<String> propertyPaths)");
365 365
        Query query = null;
366 366
        String queryString = "select designation from TypeDesignationBase designation join designation.typifiedNames name where name = :name";
367 367

  
......
395 395
    }
396 396

  
397 397

  
398
    public List<TaxonNameBase<?,?>> searchNames(String queryString, MatchMode matchMode, Integer pageSize, Integer pageNumber) {
398
    public List<TaxonName<?,?>> searchNames(String queryString, MatchMode matchMode, Integer pageSize, Integer pageNumber) {
399 399
        checkNotInPriorView("TaxonNameDaoHibernateImpl.searchNames(String queryString, Integer pageSize, Integer pageNumber)");
400
        Criteria criteria = getSession().createCriteria(TaxonNameBase.class);
400
        Criteria criteria = getSession().createCriteria(TaxonName.class);
401 401

  
402 402
        if (queryString != null) {
403 403
            criteria.add(Restrictions.ilike("nameCache", queryString));
......
410 410
                criteria.setFirstResult(0);
411 411
            }
412 412
        }
413
        List<TaxonNameBase<?,?>> results = criteria.list();
413
        List<TaxonName<?,?>> results = criteria.list();
414 414
        return results;
415 415
    }
416 416

  
417 417

  
418 418
    @Override
419
    public List<TaxonNameBase<?,?>> searchNames(String queryString, Integer pageSize, Integer pageNumber) {
419
    public List<TaxonName<?,?>> searchNames(String queryString, Integer pageSize, Integer pageNumber) {
420 420
        return searchNames(queryString, MatchMode.BEGINNING, pageSize, pageNumber);
421 421
    }
422 422

  
423 423

  
424 424
    @Override
425
    public List<TaxonNameBase> searchNames(String genusOrUninomial,String infraGenericEpithet, String specificEpithet,	String infraSpecificEpithet, Rank rank, Integer pageSize,Integer pageNumber, List<OrderHint> orderHints,
425
    public List<TaxonName> searchNames(String genusOrUninomial,String infraGenericEpithet, String specificEpithet,	String infraSpecificEpithet, Rank rank, Integer pageSize,Integer pageNumber, List<OrderHint> orderHints,
426 426
            List<String> propertyPaths) {
427 427
        AuditEvent auditEvent = getAuditEventFromContext();
428 428
        if(auditEvent.equals(AuditEvent.CURRENT_VIEW)) {
429
            Criteria criteria = getSession().createCriteria(TaxonNameBase.class);
429
            Criteria criteria = getSession().createCriteria(TaxonName.class);
430 430

  
431 431
            /**
432 432
             * Given HHH-2951 - "Restrictions.eq when passed null, should create a NullRestriction"
......
471 471

  
472 472
            addOrder(criteria, orderHints);
473 473

  
474
            List<TaxonNameBase> results = criteria.list();
474
            List<TaxonName> results = criteria.list();
475 475
            defaultBeanInitializer.initializeAll(results, propertyPaths);
476 476
            return results;
477 477
        } else {
478
            AuditQuery query = getAuditReader().createQuery().forEntitiesAtRevision(TaxonNameBase.class,auditEvent.getRevisionNumber());
478
            AuditQuery query = getAuditReader().createQuery().forEntitiesAtRevision(TaxonName.class,auditEvent.getRevisionNumber());
479 479

  
480 480
            if(genusOrUninomial != null) {
481 481
                query.add(AuditEntity.property("genusOrUninomial").eq(genusOrUninomial));
......
514 514
                }
515 515
            }
516 516

  
517
            List<TaxonNameBase> results = query.getResultList();
517
            List<TaxonName> results = query.getResultList();
518 518
            defaultBeanInitializer.initializeAll(results, propertyPaths);
519 519
            return results;
520 520
        }
521 521
    }
522 522

  
523 523
    @Override
524
    public List<? extends TaxonNameBase<?,?>> findByName(boolean doIncludeAuthors,
524
    public List<? extends TaxonName<?,?>> findByName(boolean doIncludeAuthors,
525 525
            String queryString, MatchMode matchmode, Integer pageSize,
526 526
            Integer pageNumber, List<Criterion> criteria, List<String> propertyPaths) {
527 527

  
......
564 564
        }
565 565

  
566 566
        @SuppressWarnings("unchecked")
567
        List<? extends TaxonNameBase<?,?>> results = crit.list();
567
        List<? extends TaxonName<?,?>> results = crit.list();
568 568
        defaultBeanInitializer.initializeAll(results, propertyPaths);
569 569

  
570 570
        return results;
571 571
    }
572 572

  
573 573
    @Override
574
    public List<? extends TaxonNameBase<?,?>> findByTitle(String queryString,
574
    public List<? extends TaxonName<?,?>> findByTitle(String queryString,
575 575
            MatchMode matchmode, Integer pageSize, Integer pageNumber, List<Criterion> criteria, List<String> propertyPaths) {
576 576

  
577 577
        Criteria crit = getSession().createCriteria(type);
......
594 594
            }
595 595
        }
596 596

  
597
        List<? extends TaxonNameBase<?,?>> results = crit.list();
597
        List<? extends TaxonName<?,?>> results = crit.list();
598 598
        defaultBeanInitializer.initializeAll(results, propertyPaths);
599 599

  
600 600
        return results;
......
602 602

  
603 603

  
604 604
    @Override
605
    public TaxonNameBase<?,?> findByUuid(UUID uuid, List<Criterion> criteria, List<String> propertyPaths) {
605
    public TaxonName findByUuid(UUID uuid, List<Criterion> criteria, List<String> propertyPaths) {
606 606

  
607 607
        Criteria crit = getSession().createCriteria(type);
608 608

  
......
619 619
        }
620 620
        crit.addOrder(Order.asc("uuid"));
621 621

  
622
        List<? extends TaxonNameBase<?,?>> results = crit.list();
622
        List<? extends TaxonName<?,?>> results = crit.list();
623 623
        if (results.size() == 1) {
624 624
            defaultBeanInitializer.initializeAll(results, propertyPaths);
625
            TaxonNameBase<?, ?> taxonName = results.iterator().next();
625
            TaxonName<?, ?> taxonName = results.iterator().next();
626 626
            return taxonName;
627 627
        } else if (results.size() > 1) {
628 628
            logger.error("Multiple results for UUID: " + uuid);
......
701 701
    public Integer countByName(String queryString, MatchMode matchmode, List<Criterion> criteria) {
702 702
        //TODO improve performance
703 703
        boolean includeAuthors = false;
704
        List<? extends TaxonNameBase<?,?>> results = findByName(
704
        List<? extends TaxonName<?,?>> results = findByName(
705 705
                includeAuthors,queryString, matchmode, null, null, criteria, null);
706 706
        return results.size();
707 707

  
......
709 709

  
710 710
    @Override
711 711
    public List<UuidAndTitleCache> getUuidAndTitleCacheOfNames(Integer limit, String pattern) {
712
        String queryString = "SELECT uuid, id, fullTitleCache FROM TaxonNameBase LIMIT " + limit;
712
        String queryString = "SELECT uuid, id, fullTitleCache FROM TaxonName LIMIT " + limit;
713 713

  
714 714
        @SuppressWarnings("unchecked")
715 715
        List<Object[]> result = getSession().createSQLQuery(queryString).list();
......
735 735
    }
736 736

  
737 737
    @Override
738
    public long countByName(Class<? extends TaxonNameBase> clazz,String queryString, MatchMode matchmode, List<Criterion> criteria) {
738
    public long countByName(Class<? extends TaxonName> clazz,String queryString, MatchMode matchmode, List<Criterion> criteria) {
739 739
        return super.countByParam(clazz, "nameCache", queryString, matchmode, criteria);
740 740
    }
741 741

  
742 742
    @Override
743
    public List<TaxonNameBase> findByName(Class<? extends TaxonNameBase> clazz,	String queryString, MatchMode matchmode, List<Criterion> criteria,Integer pageSize, Integer pageNumber, List<OrderHint> orderHints,	List<String> propertyPaths) {
743
    public List<TaxonName> findByName(Class<? extends TaxonName> clazz,	String queryString, MatchMode matchmode, List<Criterion> criteria,Integer pageSize, Integer pageNumber, List<OrderHint> orderHints,	List<String> propertyPaths) {
744 744
        return super.findByParam(clazz, "nameCache", queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
745 745
    }
746 746

  
747 747
    @Override
748
    public UUID delete (TaxonNameBase persistentObject){
748
    public UUID delete (TaxonName persistentObject){
749 749
        Set<TaxonBase> taxonBases = persistentObject.getTaxonBases();
750 750

  
751 751
        if (persistentObject == null){
......
791 791
        }
792 792

  
793 793
        @SuppressWarnings("unchecked")
794
        List<? extends TaxonNameBase<?,?>> results = criteria.list();
794
        List<? extends TaxonName<?,?>> results = criteria.list();
795 795
        if (results.size() == 1) {
796 796
            defaultBeanInitializer.initializeAll(results, null);
797
            TaxonNameBase<?, ?> taxonName = results.iterator().next();
797
            TaxonName<?, ?> taxonName = results.iterator().next();
798 798
            if (taxonName.isZoological()) {
799 799
                IZoologicalName zoologicalName = taxonName;
800 800
                return zoologicalName;
......
814 814
    	String sql= "SELECT"
815 815
    			+ "  (SELECT famName.namecache FROM TaxonNode famNode"
816 816
    			+ "  LEFT OUTER JOIN TaxonBase famTax ON famNode.taxon_id = famTax.id"
817
    			+ " LEFT OUTER JOIN TaxonNameBase famName ON famTax.name_id = famName.id"
817
    			+ " LEFT OUTER JOIN TaxonName famName ON famTax.name_id = famName.id"
818 818
    			+ " WHERE famName.rank_id = 795 AND famNode.treeIndex = SUBSTRING(tn.treeIndex, 1, length(famNode.treeIndex))"
819 819
    			+ "	) as famName, "
820 820
    			+ " (SELECT famName.namecache FROM TaxonNode famNode "
821 821
    			+ " LEFT OUTER JOIN TaxonBase famTax ON famNode.taxon_id = famTax.id "
822
    			+ " LEFT OUTER JOIN TaxonNameBase famName ON famTax.name_id = famName.id "
822
    			+ " LEFT OUTER JOIN TaxonName famName ON famTax.name_id = famName.id "
823 823
    			+ " WHERE famName.rank_id = 795 AND famNode.treeIndex = SUBSTRING(tnAcc.treeIndex, 1, length(famNode.treeIndex))"
824 824
    			+ "	) as accFamName,tb.DTYPE, tb.id as TaxonID ,tb.titleCache taxonTitle,  tnb.rank_id as RankID, tnb.id as NameID,"
825 825
    			+ " tnb.namecache as name, tnb.titleCache as nameAuthor, tnb.fullTitleCache nameAndNomRef,"
826 826
    			+ "	r.titleCache as nomRef, r.abbrevTitle nomRefAbbrevTitle, r.title nomRefTitle, r.datepublished_start nomRefPublishedStart, r.datepublished_end nomRefPublishedEnd, r.pages nomRefPages, inRef.abbrevTitle inRefAbbrevTitle,tnb.nomenclaturalmicroreference as detail,"
827 827
    			+ "	nameType.namecache nameType, nameType.titleCache nameTypeAuthor, nameType.fullTitleCache nameTypeFullTitle, nameTypeRef.titleCache nameTypeRef, inRef.seriespart as inRefSeries, inRef.datepublished_start inRefPublishedStart, inRef.datepublished_end inRefPublishedEnd, inRef.volume as inRefVolume"
828 828
    			+ " FROM TaxonBase tb"
829
    			+ " LEFT OUTER JOIN TaxonNameBase tnb ON tb.name_id = tnb.id"
829
    			+ " LEFT OUTER JOIN TaxonName tnb ON tb.name_id = tnb.id"
830 830
    			+ "	LEFT OUTER JOIN Reference r ON tnb.nomenclaturalreference_id = r.id"
831 831
    			+ "	LEFT OUTER JOIN TaxonNode tn ON tn.taxon_id = tb.id"
832
    			+ "	LEFT OUTER JOIN TaxonNameBase_TypeDesignationBase typeMN ON typeMN.TaxonNameBase_id = tnb.id"
832
    			+ "	LEFT OUTER JOIN TaxonName_TypeDesignationBase typeMN ON typeMN.TaxonName_id = tnb.id"
833 833
    			+ " LEFT OUTER JOIN TypeDesignationBase tdb ON tdb.id = typeMN.typedesignations_id"
834
    			+ "	LEFT OUTER JOIN TaxonNameBase nameType ON tdb.typename_id = nameType.id"
834
    			+ "	LEFT OUTER JOIN TaxonName nameType ON tdb.typename_id = nameType.id"
835 835
    			+ "	LEFT OUTER JOIN Reference nameTypeRef ON nameType.nomenclaturalreference_id = nameTypeRef.id"
836 836
    			+ "		LEFT OUTER JOIN Reference inRef ON inRef.id = r.inreference_id"
837 837
    			+ "	LEFT OUTER JOIN TaxonBase accT ON accT.id = tb.acceptedTaxon_id"

Also available in: Unified diff