\r
import java.util.UUID;\r
\r
+import org.apache.commons.lang.StringUtils;\r
import org.apache.log4j.Logger;\r
\r
import eu.etaxonomy.cdm.common.CdmUtils;\r
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;\r
-import eu.etaxonomy.cdm.model.reference.Journal;\r
+import eu.etaxonomy.cdm.model.reference.Reference;\r
import eu.etaxonomy.cdm.strategy.StrategyBase;\r
\r
/**\r
* @author a.mueller\r
* @created 29.06.2008\r
- * @version 1.0\r
*/\r
-public class JournalDefaultCacheStrategy<T extends Journal> extends StrategyBase implements IReferenceBaseCacheStrategy<T> {\r
+public class JournalDefaultCacheStrategy extends StrategyBase implements IReferenceBaseCacheStrategy {\r
+ private static final long serialVersionUID = 8495999505123620960L;\r
+\r
+\r
@SuppressWarnings("unused")\r
private static final Logger logger = Logger.getLogger(JournalDefaultCacheStrategy.class);\r
\r
protected String afterYear = "";\r
protected String afterAuthor = ", ";\r
\r
- private String blank = " ";\r
- private String comma = ",";\r
- private String dot =".";\r
+// private String blank = " ";\r
+// private String comma = ",";\r
+// private String dot =".";\r
\r
final static UUID uuid = UUID.fromString("c84846cd-c862-462e-81b8-53cf4100ed32");\r
\r
* @return\r
*/\r
public static JournalDefaultCacheStrategy NewInstance(){\r
- return new JournalDefaultCacheStrategy<Journal>();\r
+ return new JournalDefaultCacheStrategy();\r
}\r
\r
/**\r
super();\r
}\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy#getTitleCache(eu.etaxonomy.cdm.model.common.IdentifiableEntity)\r
- */\r
- public String getTitleCache(T journal) {\r
- String result = "";\r
+\r
+ @Override\r
+ public String getTitleCache(Reference journal) {\r
+ return getTitleCache(journal, false);\r
+ \r
+\r
+ }\r
+ \r
+\r
+ @Override\r
+ public String getAbbrevTitleCache(Reference journal) {\r
+ return getTitleCache(journal, true);\r
+ }\r
+ \r
+ \r
+ private String getTitleCache(Reference journal, boolean isAbbrev){\r
if (journal == null){\r
return null;\r
}\r
- String title = CdmUtils.Nz(journal.getTitle()).trim();\r
- if (!"".equals(title) ){\r
- result += title;\r
- }\r
+\r
+ String title = CdmUtils.getPreferredNonEmptyString(journal.getTitle(), journal.getAbbrevTitle(), isAbbrev, true);\r
+ \r
+ String result = title;\r
\r
// //delete .\r
// while (result.endsWith(".")){\r
// }\r
\r
// result = addYear(result, journal);\r
- TeamOrPersonBase<?> team = journal.getAuthorTeam();\r
- String author = (team == null ? "" : CdmUtils.Nz(team.getTitleCache()));\r
- if (! author.equals("")){\r
- result = author + afterAuthor + result;\r
+ \r
+ \r
+ TeamOrPersonBase<?> team = journal.getAuthorship();\r
+ if (team != null){\r
+ String author = CdmUtils.getPreferredNonEmptyString(team.getTitleCache(), team.getNomenclaturalTitle(), isAbbrev, true);\r
+ if (StringUtils.isNotBlank(author)){\r
+ result = author + afterAuthor + result;\r
+ }\r
}\r
return result;\r
}\r
+\r
+ \r
+ public String getCitation(Reference referenceBase) {\r
+ StringBuilder stringBuilder = new StringBuilder();\r
+ \r
+ TeamOrPersonBase<?> team = referenceBase.getAuthorship();\r
+ if (team != null && ! (team.getTitleCache() == null) && ! team.getTitleCache().trim().equals("")){\r
+ //String author = CdmUtils.Nz(team == null? "" : team.getTitleCache());\r
+ stringBuilder.append(team.getTitleCache() + afterAuthor);\r
+ }\r
+ \r
+ String year = CdmUtils.Nz(referenceBase.getYear());\r
+ if (!"".equals(year)){\r
+ stringBuilder.append(beforeYear + year);\r
+ }\r
+ \r
+ return stringBuilder.toString();\r
+ }\r
+\r
+\r
}\r