Project

General

Profile

« Previous | Next » 

Revision 443f1bb1

Added by Niels Hoffmann almost 14 years ago

merging the last changes from SPRINT-Cichoriea1 into trunk

View differences:

.gitattributes
2839 2839
cdmlib-services/src/test/java/eu/etaxonomy/cdm/validation/ValidationTest.java -text
2840 2840
cdmlib-services/src/test/resources/dbscripts/001_cdm.ddl -text
2841 2841
cdmlib-services/src/test/resources/eu/etaxonomy/cdm/api/service/CommonServiceImplTest.xml -text
2842
cdmlib-services/src/test/resources/eu/etaxonomy/cdm/api/service/MediaDaoImplTest.xml -text
2842 2843
cdmlib-services/src/test/resources/eu/etaxonomy/cdm/api/service/OregonScientificDS6639-DSC_0307-small.jpg -text
2843 2844
cdmlib-services/src/test/resources/eu/etaxonomy/cdm/api/service/OregonScientificDS6639-DSC_0307-small.tif -text
2844 2845
cdmlib-services/src/test/resources/eu/etaxonomy/cdm/api/service/TaxonServiceImplTest.xml -text
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/occurrence/OccurrenceDaoHibernateImpl.java
6 6

  
7 7
package eu.etaxonomy.cdm.persistence.dao.hibernate.occurrence;
8 8

  
9
import java.util.ArrayList;
9 10
import java.util.List;
10 11
import java.util.Set;
12
import java.util.UUID;
11 13

  
12 14
import org.apache.log4j.Logger;
13 15
import org.hibernate.Criteria;
......
22 24
import org.hibernate.search.Search;
23 25
import org.springframework.stereotype.Repository;
24 26

  
27
import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
25 28
import eu.etaxonomy.cdm.model.media.Media;
26 29
import eu.etaxonomy.cdm.model.molecular.DnaSample;
27 30
import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
......
34 37
import eu.etaxonomy.cdm.model.occurrence.Observation;
35 38
import eu.etaxonomy.cdm.model.occurrence.Specimen;
36 39
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
37
import eu.etaxonomy.cdm.model.taxon.SynonymRelationship;
38 40
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
39 41
import eu.etaxonomy.cdm.model.view.AuditEvent;
40 42
import eu.etaxonomy.cdm.persistence.dao.hibernate.common.IdentifiableDaoBase;
......
266 268
		defaultBeanInitializer.initializeAll(results, propertyPaths);
267 269
		return results; 
268 270
	}
271

  
272
	@Override
273
	public List<UuidAndTitleCache<DerivedUnitBase>> getDerivedUnitBaseUuidAndTitleCache() {
274
		List<UuidAndTitleCache<DerivedUnitBase>> list = new ArrayList<UuidAndTitleCache<DerivedUnitBase>>();
275
		Session session = getSession();
276
		
277
		Query query = session.createQuery("select uuid, titleCache from " + type.getSimpleName() + " where NOT dtype = " + FieldObservation.class.getSimpleName());
278
		
279
		List<Object[]> result = query.list();
280
		
281
		for(Object[] object : result){
282
			list.add(new UuidAndTitleCache<DerivedUnitBase>(DerivedUnitBase.class, (UUID) object[0], (String) object[1]));
283
		}
284
		
285
		return list;
286
	}
287

  
288
	@Override
289
	public List<UuidAndTitleCache<FieldObservation>> getFieldObservationUuidAndTitleCache() {
290
		List<UuidAndTitleCache<FieldObservation>> list = new ArrayList<UuidAndTitleCache<FieldObservation>>();
291
		Session session = getSession();
292
		
293
		Query query = session.createQuery("select uuid, titleCache from " + type.getSimpleName() + " where dtype = " + FieldObservation.class.getSimpleName());
294
		
295
		List<Object[]> result = query.list();
296
		
297
		for(Object[] object : result){
298
			list.add(new UuidAndTitleCache<FieldObservation>(FieldObservation.class, (UUID) object[0], (String) object[1]));
299
		}
300
		
301
		return list;
302
	}
269 303
}
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/reference/ReferenceDaoHibernateImpl.java
125 125
		List<UuidAndTitleCache<ReferenceBase>> list = new ArrayList<UuidAndTitleCache<ReferenceBase>>();
126 126
		Session session = getSession();
127 127
		
128
		Query query = session.createQuery("select r.uuid, r.titleCache, ab.titleCache from " + type.getSimpleName() + " as r join r.authorTeam as ab ");//"select uuid, titleCache from " + type.getSimpleName());
128
		Query query = session.createQuery("select " +
129
				"r.uuid, r.titleCache, ab.titleCache from " + type.getSimpleName() + " as r left outer join r.authorTeam as ab ");//"select uuid, titleCache from " + type.getSimpleName());
129 130
		
130 131
		List<Object[]> result = query.list();
131 132
		
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/occurrence/IOccurrenceDao.java
10 10

  
11 11
import org.springframework.dao.DataAccessException;
12 12

  
13
import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
13 14
import eu.etaxonomy.cdm.model.media.Media;
14 15
import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
16
import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
15 17
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
18
import eu.etaxonomy.cdm.model.occurrence.FieldObservation;
16 19
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
17 20
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
18 21
import eu.etaxonomy.cdm.persistence.dao.BeanInitializer;
......
111 114
     * @return a List of derivation events
112 115
     */
113 116
	public List<DerivationEvent> getDerivationEvents(SpecimenOrObservationBase occurence, Integer pageSize, Integer pageNumber, List<String> propertyPaths);
117
	
118
	public List<UuidAndTitleCache<FieldObservation>> getFieldObservationUuidAndTitleCache();
119
	public List<UuidAndTitleCache<DerivedUnitBase>> getDerivedUnitBaseUuidAndTitleCache();
114 120
}
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/conversation/ConversationHolder.java
108 108
		
109 109
		try{
110 110
			
111
			logger.info("Starting new Synchronization in TransactionSynchronizationManager.");
111
			logger.info("Starting new Synchronization in TransactionSynchronizationManager");
112 112
			TransactionSynchronizationManager.initSynchronization();
113 113
			
114 114
			if(TransactionSynchronizationManager.hasResource(getSessionFactory())){
115 115
				TransactionSynchronizationManager.unbindResource(getSessionFactory());
116 116
			}
117 117
			
118
			logger.info("Binding Session to TransactionSynchronizationManager.");
118
			logger.info("Binding Session to TransactionSynchronizationManager: Session: " + getSessionHolder());
119 119
			TransactionSynchronizationManager.bindResource(getSessionFactory(), getSessionHolder());
120 120
			
121 121
		}catch(Exception e){
......
161 161
		}else{				
162 162
			transactionStatus = transactionManager.getTransaction(definition);
163 163
			
164
			logger.info("Transaction started: [" + transactionStatus + "]");
164
			logger.info("Transaction started: " + transactionStatus);
165 165
		}
166 166
		return transactionStatus;
167 167
	}
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IOccurrenceService.java
13 13
import java.util.List;
14 14

  
15 15
import eu.etaxonomy.cdm.api.service.pager.Pager;
16
import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
16 17
import eu.etaxonomy.cdm.model.location.WaterbodyOrCountry;
17 18
import eu.etaxonomy.cdm.model.media.Media;
18 19
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
19 20
import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
21
import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
20 22
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
23
import eu.etaxonomy.cdm.model.occurrence.FieldObservation;
21 24
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
25
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
22 26
import eu.etaxonomy.cdm.persistence.dao.BeanInitializer;
23 27
import eu.etaxonomy.cdm.persistence.query.OrderHint;
24 28

  
......
99 103
	 * @see <a href="http://lucene.apache.org/java/2_4_0/queryparsersyntax.html">Apache Lucene - Query Parser Syntax</a>
100 104
	 */
101 105
	public Pager<SpecimenOrObservationBase> search(Class<? extends SpecimenOrObservationBase> clazz, String query, Integer pageSize,Integer pageNumber, List<OrderHint> orderHints,List<String> propertyPaths);
106
	
107
	public List<UuidAndTitleCache<FieldObservation>> getFieldObservationUuidAndTitleCache();
108
	public List<UuidAndTitleCache<DerivedUnitBase>> getDerivedUnitBaseUuidAndTitleCache();
102 109
}
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/OccurrenceServiceImpl.java
22 22
import eu.etaxonomy.cdm.api.service.pager.Pager;
23 23
import eu.etaxonomy.cdm.api.service.pager.impl.DefaultPagerImpl;
24 24
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
25
import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
25 26
import eu.etaxonomy.cdm.model.location.WaterbodyOrCountry;
26 27
import eu.etaxonomy.cdm.model.media.Media;
27 28
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
28 29
import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
30
import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
29 31
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
32
import eu.etaxonomy.cdm.model.occurrence.FieldObservation;
30 33
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
31 34
import eu.etaxonomy.cdm.persistence.dao.common.IDefinedTermDao;
32 35
import eu.etaxonomy.cdm.persistence.dao.occurrence.IOccurrenceDao;
......
126 129
			results = dao.list(type,determinedAs, pageSize, start, orderHints,propertyPaths);
127 130
		}
128 131
		return new DefaultPagerImpl<SpecimenOrObservationBase>(pageNumber, numberOfResults, pageSize, results);	}
132

  
133
	@Override
134
	public List<UuidAndTitleCache<DerivedUnitBase>> getDerivedUnitBaseUuidAndTitleCache() {
135
		return dao.getDerivedUnitBaseUuidAndTitleCache();
136
	}
137

  
138
	@Override
139
	public List<UuidAndTitleCache<FieldObservation>> getFieldObservationUuidAndTitleCache() {
140
		return dao.getFieldObservationUuidAndTitleCache();
141
	}
129 142
}
cdmlib-services/src/test/resources/eu/etaxonomy/cdm/api/service/MediaDaoImplTest.xml
1
<?xml version='1.0' encoding='UTF-8'?>
2
<dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../dataset.xsd">
3
  <HOMOTYPICALGROUP ID="1" CREATED="2008-12-10 09:56:07.0" UUID="7b214eb9-a6ac-48e5-af02-bbea634d2a03" UPDATED="2008-12-10 09:56:07.238"/>
4
  <MEDIAKEY_TAXON MEDIAKEY_FK="1" TAXON_FK="1"/>
5
  <MEDIAKEY_TAXON MEDIAKEY_FK="2" TAXON_FK="1"/>
6
  <LANGUAGESTRING ID="1" CREATED="2008-12-10 09:56:07.0" UUID="b1428d5e-0fbe-4f39-bdc2-2cd0cebf9a80" UPDATED="2008-12-10 09:56:07.253" LANGUAGE_ID="406" TEXT="Etiam hendrerit nisi at orci facilisis auctor."/>
7
  <LANGUAGESTRING ID="2" CREATED="2008-12-10 09:56:07.0" UUID="3b7a3164-c5b5-47a9-8592-f853ac0fd677" UPDATED="2008-12-10 09:56:07.253" LANGUAGE_ID="406" TEXT="Suspendisse pharetra tempus mi."/>
8
  <LANGUAGESTRING ID="3" CREATED="2008-12-10 09:56:07.0" UUID="a96ec6c7-e4c2-441c-8241-0604614081f3" UPDATED="2008-12-10 09:56:07.253" LANGUAGE_ID="406" TEXT="Donec auctor mauris ut neque."/>
9
  <MEDIA ID="1" DTYPE="MediaKey" CREATED="2008-12-10 09:56:07.0" PROTECTEDTITLECACHE="false" UUID="2d357cac-5aba-477e-a8f6-2988f63e8b5b" UPDATED="2008-12-10 09:56:07.253"/>
10
  <MEDIA ID="2" DTYPE="MediaKey" CREATED="2008-12-10 09:56:07.0" PROTECTEDTITLECACHE="false" UUID="3522bd38-72e7-4d31-8216-240c0b4b3636" UPDATED="2008-12-10 09:56:07.253"/>
11
  <MEDIA ID="3" DTYPE="MediaKey" CREATED="2008-12-10 09:56:07.0" PROTECTEDTITLECACHE="false" UUID="5c2313fc-9be2-4595-ba23-7e0dd5b46694" UPDATED="2008-12-10 09:56:07.253"/>
12
  <MEDIAKEY_NAMEDAREA MEDIA_ID="1" GEOGRAPHICALSCOPE_ID="1977"/>
13
  <MEDIAKEY_NAMEDAREA MEDIA_ID="1" GEOGRAPHICALSCOPE_ID="942"/>
14
  <MEDIAKEY_NAMEDAREA MEDIA_ID="1" GEOGRAPHICALSCOPE_ID="951"/>
15
  <MEDIAKEY_NAMEDAREA MEDIA_ID="2" GEOGRAPHICALSCOPE_ID="1975"/>
16
  <MEDIAKEY_NAMEDAREA MEDIA_ID="2" GEOGRAPHICALSCOPE_ID="1851"/>
17
  <MEDIAKEY_NAMEDAREA MEDIA_ID="3" GEOGRAPHICALSCOPE_ID="1974"/>
18
  <MEDIAKEY_NAMEDAREA MEDIA_ID="3" GEOGRAPHICALSCOPE_ID="941"/>
19
  <MEDIAKEY_NAMEDAREA MEDIA_ID="3" GEOGRAPHICALSCOPE_ID="950"/>
20
  <MEDIA_LANGUAGESTRING MEDIA_ID="1" TITLE_ID="1" TITLE_MAPKEY_ID="406"/>
21
  <MEDIA_LANGUAGESTRING MEDIA_ID="2" TITLE_ID="2" TITLE_MAPKEY_ID="406"/>
22
  <MEDIA_LANGUAGESTRING MEDIA_ID="3" TITLE_ID="3" TITLE_MAPKEY_ID="406"/>
23
  <REFERENCE DTYPE="WebPage" ID="1" CREATED="2008-12-10 09:56:07.0" UUID="ad4322b7-4b05-48af-be70-f113e46c545e" UPDATED="2008-12-10 09:56:07.253" TITLECACHE="cate-sphingidae.org" PROTECTEDTITLECACHE="true" NOMENCLATURALLYRELEVANT="false" PARSINGPROBLEM="0" PROBLEMENDS="-1" PROBLEMSTARTS="-1"/>
24
  <REFERENCE DTYPE="Book" ID="2" 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="true" PARSINGPROBLEM="0" PROBLEMENDS="-1" PROBLEMSTARTS="-1"/>
25
  <TAXONBASE DTYPE="Taxon" ID="1" SEC_ID="1" CREATED="2008-12-10 09:56:07.0" UUID="54e767ee-894e-4540-a758-f906ecb4e2d9" UPDATED="2008-12-10 09:56:07.253" TITLECACHE="Sphingidae Linnaeus, 1758 sec. cate-sphingidae.org" PROTECTEDTITLECACHE="true" DOUBTFUL="false" USENAMECACHE="false" TAXONSTATUSUNKNOWN="false" TAXONOMICCHILDRENCOUNT="204" TAXONNAME_FK="1"/>
26
  <TAXONNAMEBASE DTYPE="ZoologicalName" ID="1" CREATED="2008-12-10 09:56:07.0" UUID="9640a158-2bdb-4cbc-bff6-8f77e781f86b" UPDATED="2008-12-10 09:56:07.238" TITLECACHE="Sphingidae Linnaeus, 1758" PROTECTEDTITLECACHE="true" PARSINGPROBLEM="0" FULLTITLECACHE="" PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="Linnaeus, 1758" NAMECACHE="Sphingidae" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false"  BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" HOMOTYPICALGROUP_ID="1" RANK_ID="782" GENUSORUNINOMIAL="Sphingidae" NOMENCLATURALREFERENCE_ID="2"/>
27
</dataset>
eclipse-plugin/META-INF/MANIFEST.MF
103 103
   org.springframework.orm.hibernate3,
104 104
   eu.etaxonomy.cdm.persistence.hibernate,
105 105
   javax.sql",
106
 eu.etaxonomy.cdm.api.facade,
106 107
 eu.etaxonomy.cdm.api.service;
107 108
  uses:="eu.etaxonomy.cdm.persistence.dao.name,
108 109
   eu.etaxonomy.cdm.persistence.view,
......
459 460
 junit.framework,
460 461
 org.apache.commons.collections,
461 462
 org.apache.commons.io,
463
 org.apache.commons.lang,
462 464
 org.apache.log4j;uses:="org.apache.log4j.or,org.apache.log4j.spi,org.apache.log4j.helpers",
463 465
 org.apache.log4j.chainsaw;
464 466
  uses:="javax.swing.event,

Also available in: Unified diff