Project

General

Profile

« Previous | Next » 

Revision b606df4d

Added by Andreas Müller almost 11 years ago

first version of abbreviated title cache generation for references : #1551

View differences:

cdmlib-model/src/main/java/eu/etaxonomy/cdm/strategy/cache/reference/GenericDefaultCacheStrategy.java
65 65
	
66 66

  
67 67
	@Override
68
	protected String getNomRefTitleWithoutYearAndAuthor(T genericReference){
68
	protected String getTitleWithoutYearAndAuthor(T genericReference, boolean isAbbrev){
69 69
		if (genericReference == null){
70 70
			return null;
71 71
		}
72 72
		//TODO
73
		String titelAbbrev = CdmUtils.Nz(genericReference.getTitle()).trim();
73
		String titel = CdmUtils.getPreferredNonEmptyString(genericReference.getTitle(), genericReference.getAbbrevTitle(), isAbbrev, true);
74 74
		String edition = CdmUtils.Nz(genericReference.getEdition());
75 75
		//TODO
76 76
		String series = CdmUtils.Nz(genericReference.getSeries()).trim(); //nomenclaturalReference.getSeries();
......
81 81
		Integer len;
82 82
		String lastChar ="";
83 83
		String character =".";
84
		len = titelAbbrev.length();
85
		if (len > 0){lastChar = titelAbbrev.substring(len-1, len);}
84
		len = titel.length();
85
		if (len > 0){lastChar = titel.substring(len-1, len);}
86 86
		//lastCharIsDouble = f_core_CompareStrings(RIGHT(@TitelAbbrev,1),character);
87
		lastCharIsDouble = titelAbbrev.equals(character);
87
		lastCharIsDouble = titel.equals(character);
88 88

  
89 89
//		if(lastCharIsDouble  && edition.length() == 0 && series.length() == 0 && volume.length() == 0 && refYear.length() > 0 ){
90 90
//			titelAbbrev =  titelAbbrev.substring(1, len-1); //  SUBSTRING(@TitelAbbrev,1,@LEN-1)
......
93 93
		
94 94
		boolean needsComma = false;
95 95
		//titelAbbrev
96
		if (!"".equals(titelAbbrev) ){
96
		if (titel.length() > 0 ){
97 97
			String postfix = StringUtils.isNotBlank(edition) ? "" : blank; 
98
			nomRefCache = titelAbbrev + postfix; 
98
			nomRefCache = titel + postfix; 
99 99
		}
100 100
		//edition
101 101
		String editionPart = "";
......
139 139
			nomRefCache = nomRefCache.substring(0, nomRefCache.length()-1);
140 140
		}
141 141
		
142
		
143
		
144 142

  
145 143
		
146 144
		//	--Edition and series are null or numeric

Also available in: Unified diff