Project

General

Profile

« Previous | Next » 

Revision d0b3bdf9

Added by Katja Luther over 14 years ago

now updated is set and all tests are ok.

View differences:

.gitattributes
1878 1878
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/hibernate/CdmPostDataChangeObservableListener.java -text
1879 1879
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/hibernate/ICdmPostDataChangeObserver.java -text
1880 1880
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/hibernate/SaveEntityListener.java -text
1881
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/hibernate/SaveOrUpdateEntityListener.java -text
1881 1882
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/hibernate/UpdateEntityListener.java -text
1882 1883
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/query/GroupByCount.java -text
1883 1884
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/query/GroupByDate.java -text
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/hibernate/CacheStrategyGenerator.java
66 66
            }else if(TeamOrPersonBase.class.isAssignableFrom(entityClazz)){
67 67
            	TeamOrPersonBase teamOrPerson = (TeamOrPersonBase)entity;
68 68
            	String nomTitle = teamOrPerson.getNomenclaturalTitle();
69
            	if (teamOrPerson.isInstanceOf(Team.class)){
69
            	if (teamOrPerson instanceof Team){
70 70
            		Team team =CdmBase.deproxy(teamOrPerson, Team.class); 
71 71
            		team.setNomenclaturalTitle(nomTitle, team.isProtectedNomenclaturalTitleCache()); //nomTitle is not necessarily cached when it is created
72 72
            	}else{
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/hibernate/SaveOrUpdateEntityListener.java
1
package eu.etaxonomy.cdm.persistence.hibernate;
2

  
3
import org.hibernate.HibernateException;
4
import org.hibernate.event.SaveOrUpdateEvent;
5
import org.hibernate.event.SaveOrUpdateEventListener;
6
import org.joda.time.DateTime;
7
import org.springframework.security.Authentication;
8
import org.springframework.security.context.SecurityContextHolder;
9

  
10
import eu.etaxonomy.cdm.model.common.User;
11
import eu.etaxonomy.cdm.model.common.VersionableEntity;
12

  
13
public class SaveOrUpdateEntityListener implements SaveOrUpdateEventListener {
14

  
15
	public void onSaveOrUpdate(SaveOrUpdateEvent event)
16
			throws HibernateException {
17
		Object entity = event.getObject();
18
		if(entity != null && VersionableEntity.class.isAssignableFrom(entity.getClass())) {
19
			
20
			VersionableEntity versionableEntity = (VersionableEntity)entity;
21
			if (versionableEntity.getId()== 0){
22
				versionableEntity.setUpdated(new DateTime());
23
				SecurityContextHolder.setStrategyName(SecurityContextHolder.MODE_GLOBAL);
24
				Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
25
				if(authentication != null && authentication.getPrincipal() != null && authentication.getPrincipal() instanceof User) {
26
					User user = (User)authentication.getPrincipal();
27
					versionableEntity.setUpdatedBy(user);
28
				} 
29
			}
30
			
31
		}
32

  
33
	}
34

  
35
}
cdmlib-persistence/src/main/resources/eu/etaxonomy/cdm/hibernate.cfg.xml
188 188
	  <event type="save-update">
189 189
     		<listener class="eu.etaxonomy.cdm.persistence.hibernate.CacheStrategyGenerator"/>
190 190
     		<listener class="org.hibernate.event.def.DefaultSaveOrUpdateEventListener"/>
191
     		<!--  <listener class="eu.etaxonomy.cdm.persistence.hibernate.SaveOrUpdateEntityListener"/>-->
191
     		<listener class="eu.etaxonomy.cdm.persistence.hibernate.SaveOrUpdateEntityListener"/>
192 192
      </event>
193 193
      <event type="save">
194 194
          <listener class="eu.etaxonomy.cdm.persistence.hibernate.CacheStrategyGenerator"/>
cdmlib-persistence/src/test/java/eu/etaxonomy/cdm/persistence/hibernate/CacheStrategyGeneratorTest.java
14 14

  
15 15
import java.io.IOException;
16 16
import java.sql.SQLException;
17
import java.util.List;
17 18
import java.util.UUID;
18 19

  
19 20
import org.apache.log4j.Logger;
......
31 32
import eu.etaxonomy.cdm.model.agent.Person;
32 33
import eu.etaxonomy.cdm.model.agent.Team;
33 34
import eu.etaxonomy.cdm.model.name.BotanicalName;
35
import eu.etaxonomy.cdm.model.name.Rank;
36
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
34 37
import eu.etaxonomy.cdm.model.reference.IBook;
35 38
import eu.etaxonomy.cdm.model.reference.IGeneric;
36 39
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
......
109 112
		
110 113
		Assert.assertEquals(name, cdmEntityDaoBase.findByUuid(name.getUuid()));
111 114
		BotanicalName nameTest = (BotanicalName)cdmEntityDaoBase.findByUuid(name.getUuid());
112
		System.err.println(nameTest.getFullTitleCache());
115
		
113 116
		Assert.assertEquals(name2, cdmEntityDaoBase.findByUuid(name2.getUuid()));
114
		System.err.println(cdmEntityDaoBase.findByUuid(name2.getUuid()).getFullTitleCache());
117
		System.err.println("FulltitleCache: "+ cdmEntityDaoBase.findByUuid(name2.getUuid()).getFullTitleCache());
118
		System.err.println("updated: " + cdmEntityDaoBase.findByUuid(name2.getUuid()).getUpdated());
119
		BotanicalName name3 = BotanicalName.NewInstance(Rank.GENUS());
120
		name3.setFullTitleCache("Test: MyBook");
121
		name3.setTitleCache("Test");
122
		cdmEntityDaoBase.saveOrUpdate(name3);
123
		List<TaxonNameBase> taxa = cdmEntityDaoBase.findByTitle("Test");
124
		
125
		TaxonNameBase nameBase = taxa.get (0);
126
		BotanicalName botName = (BotanicalName)nameBase;
127
		
128
		System.err.println("created "+botName.getCreated());
129
		System.err.println("updated: " +botName.getUpdated());
115 130
//		BotanicalName name3 =  (BotanicalName)cdmEntityDaoBase.findByUuid(UUID.fromString("049a3963-c4ea-4047-8588-2f8f15352730"));
116 131
//		printDataSet(System.err, new String[]{"TaxonNameBase", "ReferenceBase"});
117 132
	}
cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/hibernate/CacheStrategyGeneratorTest.testOnSaveOrUpdateNames-result.xml
1 1
<?xml version='1.0' encoding='UTF-8'?>
2 2
<dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../dao/hibernate/dataset.xsd">
3
  <TAXONNAMEBASE DTYPE="BotanicalName" ID="1" UUID="a49a3963-c4ea-4047-8588-2f8f15352730" PROTECTEDTITLECACHE="false" TITLECACHE="Abies Mill." />
4
  <TAXONNAMEBASE DTYPE="BotanicalName" ID="2" UUID="05a438d6-065f-49ef-84db-c7dc2c259975"  TITLECACHE="Abies alba Mill." FULLTITLECACHE="Abies alba Mill., My Book: 44" AUTHORSHIPCACHE="Mill." GENUSORUNINOMIAL="Abies" NAMECACHE="Abies alba" />
5
  </dataset>
3
  <TAXONNAMEBASE DTYPE="BotanicalName" ID="1" UUID="a49a3963-c4ea-4047-8588-2f8f15352730" PROTECTEDTITLECACHE="false" TITLECACHE="Abies Mill."/>
4
  <TAXONNAMEBASE DTYPE="BotanicalName" ID="2" UUID="05a438d6-065f-49ef-84db-c7dc2c259975" TITLECACHE="Abies alba Mill." FULLTITLECACHE="Abies alba Mill., My Book: 44" AUTHORSHIPCACHE="Mill." GENUSORUNINOMIAL="Abies" NAMECACHE="Abies alba" />
5
 </dataset>
cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/hibernate/CacheStrategyGeneratorTest.xml
7 7
  <REFERENCE DTYPE="Book" ID="1" CREATED="2008-12-10 09:56:07.0" UUID="596b1325-be50-4b0a-9aa2-3ecd610215f2" UPDATED="2008-12-10 09:56:07.253" TITLECACHE="Lorem ipsum" PROTECTEDTITLECACHE="true" NOMENCLATURALLYRELEVANT="false" PARSINGPROBLEM="0" PROBLEMENDS="-1" PROBLEMSTARTS="-1"/>
8 8
  <REFERENCE_AUD REV="1000" REVTYPE="0" DTYPE="Book" ID="1" CREATED="2008-12-10 09:56:07.0" UUID="596b1325-be50-4b0a-9aa2-3ecd610215f2" UPDATED="2008-12-10 09:56:07.253" TITLECACHE="Lorem ipsum" PROTECTEDTITLECACHE="true" NOMENCLATURALLYRELEVANT="false" PARSINGPROBLEM="0" PROBLEMENDS="-1" PROBLEMSTARTS="-1"/>
9 9
  <TAXONNAMEBASE DTYPE="BotanicalName" ID="1" CREATED="2008-12-10 09:56:07.0" UUID="a49a3963-c4ea-4047-8588-2f8f15352730" UPDATED="2008-12-10 09:56:07.238" TITLECACHE="" PROTECTEDTITLECACHE="true" PARSINGPROBLEM="0" FULLTITLECACHE="" PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="" NAMECACHE="Aus" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false" BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" HOMOTYPICALGROUP_ID="1" RANK_ID="774" GENUSORUNINOMIAL="Aus" NOMENCLATURALREFERENCE_ID="1"/>
10
  <TAXONNAMEBASE DTYPE="BotanicalName" ID="2" CREATED="2008-12-10 09:56:07.0" UUID="05a438d6-065f-49ef-84db-c7dc2c259975" UPDATED="2008-12-10 09:56:07.253" TITLECACHE=" " PROTECTEDTITLECACHE="false" PARSINGPROBLEM="0" FULLTITLECACHE=" " PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="" NAMECACHE="Aus aus" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false" BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" HOMOTYPICALGROUP_ID="2" RANK_ID="765" GENUSORUNINOMIAL="Aus" SPECIFICEPITHET="aus"  NOMENCLATURALREFERENCE_ID="1"/>
10
  <TAXONNAMEBASE DTYPE="BotanicalName" ID="2" CREATED="2008-12-10 09:56:07.0" UUID="05a438d6-065f-49ef-84db-c7dc2c259975" UPDATED="2008-12-10 09:56:07.253" TITLECACHE="" PROTECTEDTITLECACHE="false" PARSINGPROBLEM="0" FULLTITLECACHE="" PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="" NAMECACHE="Aus aus" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false" BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" HOMOTYPICALGROUP_ID="2" RANK_ID="765" GENUSORUNINOMIAL="Aus" SPECIFICEPITHET="aus"  NOMENCLATURALREFERENCE_ID="1"/>
11 11
  <TAXONNAMEBASE_AUD DTYPE="BotanicalName" REV="1000" REVTYPE="0" ID="1" CREATED="2008-12-10 09:56:07.0" UUID="a49a3963-c4ea-4047-8588-2f8f15352730" UPDATED="2008-12-10 09:56:07.238" TITLECACHE="" PROTECTEDTITLECACHE="true" PARSINGPROBLEM="0" FULLTITLECACHE="" PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="" NAMECACHE="Aus" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false" BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" HOMOTYPICALGROUP_ID="1" RANK_ID="774" GENUSORUNINOMIAL="Aus" NOMENCLATURALREFERENCE_ID="1"/>
12 12
  <TAXONNAMEBASE_AUD DTYPE="BotanicalName" REV="1000" REVTYPE="0" ID="2" CREATED="2008-12-10 09:56:07.0" UUID="05a438d6-065f-49ef-84db-c7dc2c259975" UPDATED="2008-12-10 09:56:07.253" TITLECACHE=" " PROTECTEDTITLECACHE="true" PARSINGPROBLEM="0" FULLTITLECACHE=" " PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="" NAMECACHE="Aus aus" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false" BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" HOMOTYPICALGROUP_ID="2" RANK_ID="765" GENUSORUNINOMIAL="Aus" SPECIFICEPITHET="aus"  NOMENCLATURALREFERENCE_ID="1"/>
13 13
  
cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/hibernate/CdmDeleteListenerTest.testOnDelete-result.xml
1 1
<?xml version='1.0' encoding='UTF-8'?>
2 2
<dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../dao/hibernate/dataset.xsd">
3
  <HOMOTYPICALGROUP ID="1001" CREATED="2008-12-10 09:56:07.0" UUID="7b214eb9-a6ac-48e5-af02-bbea634d2a03" UPDATED="2008-12-10 09:56:07.238"/>
4
  <HOMOTYPICALGROUP ID="1002" CREATED="2008-12-10 09:56:07.0" UUID="6c241a4c-e5a0-4344-8e5e-a81f17b75973" UPDATED="2008-12-10 09:56:07.253"/>  
5
  <HOMOTYPICALGROUP_AUD ID="1001" REV="1000" REVTYPE="0" CREATED="2008-12-10 09:56:07.0" UUID="7b214eb9-a6ac-48e5-af02-bbea634d2a03" UPDATED="2008-12-10 09:56:07.238"/>
6
  <HOMOTYPICALGROUP_AUD ID="1002" REV="1000" REVTYPE="0" CREATED="2008-12-10 09:56:07.0" UUID="6c241a4c-e5a0-4344-8e5e-a81f17b75973" UPDATED="2008-12-10 09:56:07.253"/>  
7
  <REFERENCE DTYPE="Book" ID="1001" CREATED="2008-12-10 09:56:07.0" UUID="596b1325-be50-4b0a-9aa2-3ecd610215f2" UPDATED="2008-12-10 09:56:07.253" TITLECACHE="Lorem ipsum" PROTECTEDTITLECACHE="true" NOMENCLATURALLYRELEVANT="false" PARSINGPROBLEM="0" PROBLEMENDS="-1" PROBLEMSTARTS="-1"/>
8
  <REFERENCE_AUD REV="1000" REVTYPE="0" DTYPE="Book" ID="1001" CREATED="2008-12-10 09:56:07.0" UUID="596b1325-be50-4b0a-9aa2-3ecd610215f2" UPDATED="2008-12-10 09:56:07.253" TITLECACHE="Lorem ipsum" PROTECTEDTITLECACHE="true" NOMENCLATURALLYRELEVANT="false" PARSINGPROBLEM="0" PROBLEMENDS="-1" PROBLEMSTARTS="-1"/>
3
  <HOMOTYPICALGROUP ID="1001" CREATED="2008-12-10 09:56:07.0" UUID="7b214eb9-a6ac-48e5-af02-bbea634d2a03" />
4
  <HOMOTYPICALGROUP ID="1002" CREATED="2008-12-10 09:56:07.0" UUID="6c241a4c-e5a0-4344-8e5e-a81f17b75973" />  
5
  <HOMOTYPICALGROUP_AUD ID="1001" REV="1000" REVTYPE="0" CREATED="2008-12-10 09:56:07.0" UUID="7b214eb9-a6ac-48e5-af02-bbea634d2a03" />
6
  <HOMOTYPICALGROUP_AUD ID="1002" REV="1000" REVTYPE="0" CREATED="2008-12-10 09:56:07.0" UUID="6c241a4c-e5a0-4344-8e5e-a81f17b75973" />  
7
  <REFERENCE DTYPE="Book" ID="1001" CREATED="2008-12-10 09:56:07.0" UUID="596b1325-be50-4b0a-9aa2-3ecd610215f2" TITLECACHE="Lorem ipsum" PROTECTEDTITLECACHE="true" NOMENCLATURALLYRELEVANT="false" PARSINGPROBLEM="0" PROBLEMENDS="-1" PROBLEMSTARTS="-1"/>
8
  <REFERENCE_AUD REV="1000" REVTYPE="0" DTYPE="Book" ID="1001" CREATED="2008-12-10 09:56:07.0" UUID="596b1325-be50-4b0a-9aa2-3ecd610215f2" TITLECACHE="Lorem ipsum" PROTECTEDTITLECACHE="true" NOMENCLATURALLYRELEVANT="false" PARSINGPROBLEM="0" PROBLEMENDS="-1" PROBLEMSTARTS="-1"/>
9 9
  <TAXONNAMEBASE DTYPE="BotanicalName" ID="1001" CREATED="2008-12-10 09:56:07.0" UUID="a49a3963-c4ea-4047-8588-2f8f15352730" TITLECACHE="" PROTECTEDTITLECACHE="true" PARSINGPROBLEM="0" FULLTITLECACHE="" PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="" NAMECACHE="Aus" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false" BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" HOMOTYPICALGROUP_ID="1001" RANK_ID="774" GENUSORUNINOMIAL="Aus" NOMENCLATURALREFERENCE_ID="1001"/>
10 10
  <TAXONNAMEBASE DTYPE="BotanicalName" ID="1002" CREATED="2008-12-10 09:56:07.0" UUID="05a438d6-065f-49ef-84db-c7dc2c259975" TITLECACHE=" " PROTECTEDTITLECACHE="true" PARSINGPROBLEM="0" FULLTITLECACHE=" " PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="" NAMECACHE="Aus aus" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false" BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" HOMOTYPICALGROUP_ID="1002" RANK_ID="765" GENUSORUNINOMIAL="Aus" SPECIFICEPITHET="aus"  NOMENCLATURALREFERENCE_ID="1001"/>
11
  <TAXONNAMEBASE_AUD DTYPE="BotanicalName" REV="1000" REVTYPE="0" ID="1001" CREATED="2008-12-10 09:56:07.0" UUID="a49a3963-c4ea-4047-8588-2f8f15352730" UPDATED="2008-12-10 09:56:07.238" TITLECACHE="" PROTECTEDTITLECACHE="true" PARSINGPROBLEM="0" FULLTITLECACHE="" PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="" NAMECACHE="Aus" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false" BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" HOMOTYPICALGROUP_ID="1001" RANK_ID="774" GENUSORUNINOMIAL="Aus" NOMENCLATURALREFERENCE_ID="1001"/>
12
  <TAXONNAMEBASE_AUD DTYPE="BotanicalName" REV="1000" REVTYPE="0" ID="1002" CREATED="2008-12-10 09:56:07.0" UUID="05a438d6-065f-49ef-84db-c7dc2c259975" UPDATED="2008-12-10 09:56:07.253" TITLECACHE=" " PROTECTEDTITLECACHE="true" PARSINGPROBLEM="0" FULLTITLECACHE=" " PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="" NAMECACHE="Aus aus" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false" BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" HOMOTYPICALGROUP_ID="1002" RANK_ID="765" GENUSORUNINOMIAL="Aus" SPECIFICEPITHET="aus"  NOMENCLATURALREFERENCE_ID="1001"/>
11
  <TAXONNAMEBASE_AUD DTYPE="BotanicalName" REV="1000" REVTYPE="0" ID="1001" CREATED="2008-12-10 09:56:07.0" UUID="a49a3963-c4ea-4047-8588-2f8f15352730"  TITLECACHE="" PROTECTEDTITLECACHE="true" PARSINGPROBLEM="0" FULLTITLECACHE="" PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="" NAMECACHE="Aus" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false" BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" HOMOTYPICALGROUP_ID="1001" RANK_ID="774" GENUSORUNINOMIAL="Aus" NOMENCLATURALREFERENCE_ID="1001"/>
12
  <TAXONNAMEBASE_AUD DTYPE="BotanicalName" REV="1000" REVTYPE="0" ID="1002" CREATED="2008-12-10 09:56:07.0" UUID="05a438d6-065f-49ef-84db-c7dc2c259975" TITLECACHE=" " PROTECTEDTITLECACHE="true" PARSINGPROBLEM="0" FULLTITLECACHE=" " PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="" NAMECACHE="Aus aus" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false" BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" HOMOTYPICALGROUP_ID="1002" RANK_ID="765" GENUSORUNINOMIAL="Aus" SPECIFICEPITHET="aus"  NOMENCLATURALREFERENCE_ID="1001"/>
13 13
 </dataset>

Also available in: Unified diff