|
From: <rv...@us...> - 2010-03-15 01:14:09
|
Revision: 578
http://treebase.svn.sourceforge.net/treebase/?rev=578&view=rev
Author: rvos
Date: 2010-03-15 01:14:03 +0000 (Mon, 15 Mar 2010)
Log Message:
-----------
Added getAnnotations() and getLabel() for nexml and rdf serialization.
Modified Paths:
--------------
trunk/treebase-core/src/main/java/org/cipres/treebase/domain/taxon/TaxonLabel.java
Modified: trunk/treebase-core/src/main/java/org/cipres/treebase/domain/taxon/TaxonLabel.java
===================================================================
--- trunk/treebase-core/src/main/java/org/cipres/treebase/domain/taxon/TaxonLabel.java 2010-03-15 01:13:21 UTC (rev 577)
+++ trunk/treebase-core/src/main/java/org/cipres/treebase/domain/taxon/TaxonLabel.java 2010-03-15 01:14:03 UTC (rev 578)
@@ -1,5 +1,9 @@
package org.cipres.treebase.domain.taxon;
+import java.net.URI;
+import java.util.List;
+import java.util.Set;
+
import javax.persistence.AttributeOverride;
import javax.persistence.CascadeType;
import javax.persistence.Column;
@@ -10,8 +14,12 @@
import javax.persistence.Table;
import javax.persistence.Transient;
+import org.cipres.treebase.Constants;
+import org.cipres.treebase.TreebaseUtil;
import org.cipres.treebase.domain.AbstractPersistedObject;
+import org.cipres.treebase.domain.Annotation;
import org.cipres.treebase.domain.TBPersistable;
+import org.cipres.treebase.domain.admin.Person;
import org.cipres.treebase.domain.study.Study;
import org.cipres.treebase.domain.study.Submission;
import org.hibernate.annotations.BatchSize;
@@ -194,4 +202,35 @@
}
return result;
}
+
+ @Transient
+ public List<Annotation> getAnnotations() {
+ List<Annotation> annotations = super.getAnnotations();
+ if ( null != getNcbiTaxID() ) {
+ StringBuilder urlString = new StringBuilder(TreebaseUtil.getPurlDomain());
+ getPhyloWSPath().getPath(urlString).append("NCBI:").append(getNcbiTaxID());
+ annotations.add(new Annotation(Constants.DCTermsURI, "dc:relation", URI.create(urlString.toString())));
+ annotations.add(new Annotation(Constants.TBTermsURI, "tb:identifier.ncbi", "NCBI:" + getNcbiTaxID()));
+ annotations.add(new Annotation(Constants.TBTermsURI, "tb:identifier.taxon", getTaxonVariant().getTaxon().getId()));
+ annotations.add(new Annotation(Constants.TBTermsURI, "tb:identifier.taxonLabel", getId()));
+ annotations.add(new Annotation(Constants.TBTermsURI, "tb:title.taxon", getTaxonVariant().getTaxon().getName()));
+ }
+ TaxonVariant tv = getTaxonVariant();
+ if ( null != tv ) {
+ if ( null != tv.getNamebankID() ) {
+ StringBuilder urlString = new StringBuilder(TreebaseUtil.getPurlDomain());
+ getPhyloWSPath().getPath(urlString).append("uBio:").append(tv.getNamebankID());
+ annotations.add(new Annotation(Constants.DCTermsURI, "dc:relation", URI.create(urlString.toString())));
+ annotations.add(new Annotation(Constants.TBTermsURI, "tb:identifier.ubio", "uBio:" + tv.getNamebankID()));
+ annotations.add(new Annotation(Constants.TBTermsURI, "tb:identifier.taxonVariant", tv.getId()));
+ annotations.add(new Annotation(Constants.TBTermsURI, "tb:title.taxonVariant", tv.getFullName()));
+ }
+ }
+ return annotations;
+ }
+
+ @Transient
+ public String getLabel() {
+ return getTaxonLabel();
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|