Revision 52a59b6e
Added by Andreas Müller almost 7 years ago
src/main/java/eu/etaxonomy/cdm/vaadin/util/CdmQueryFactory.java | ||
---|---|---|
48 | 48 |
public static QueryDelegate generateTaxonTreeQuery(String name_id, String classificationId) { |
49 | 49 |
String FROM_QUERY = " FROM TaxonBase tb " + |
50 | 50 |
"INNER JOIN TaxonNode tn on tn.taxon_id=tb.id " + |
51 |
"INNER JOIN TaxonNameBase tnb on tb.name_id=tnb.id " +
|
|
51 |
"INNER JOIN TaxonName n on tb.name_id=n.id " +
|
|
52 | 52 |
"INNER JOIN Classification cl on cl.id=tn.classification_id and cl.id='"+classificationId+"'"; |
53 | 53 |
String SELECT_QUERY="SELECT tn.id as " + ID + |
54 | 54 |
", tb.uuid as " + UUID_ID + |
55 |
", tnb.titleCache as " + name_id +
|
|
55 |
", n.titleCache as " + name_id +
|
|
56 | 56 |
", tn.parent_id as parent" + |
57 | 57 |
FROM_QUERY; |
58 | 58 |
String COUNT_QUERY = "SELECT count(*) " + FROM_QUERY; |
... | ... | |
68 | 68 |
String has_syn_id) { |
69 | 69 |
String FROM_QUERY = " FROM TaxonBase tb " + |
70 | 70 |
"INNER JOIN TaxonNode tn on tn.taxon_id=tb.id " + |
71 |
"INNER JOIN TaxonNameBase tnb on tb.name_id=tnb.id " +
|
|
72 |
"INNER JOIN DefinedTermBase dtb on tnb.rank_id = dtb.id";
|
|
71 |
"INNER JOIN TaxonName n on tb.name_id=n.id " +
|
|
72 |
"INNER JOIN DefinedTermBase dtb on n.rank_id = dtb.id";
|
|
73 | 73 |
String SELECT_QUERY="SELECT tb.id as " + ID + |
74 | 74 |
", tb.uuid as " + UUID_ID + |
75 |
", tnb.titleCache as " + name_id +
|
|
75 |
", n.titleCache as " + name_id +
|
|
76 | 76 |
", tb.publish as " + pb_id + |
77 | 77 |
", tn.unplaced as " + unp_id + |
78 | 78 |
", dtb.titleCache as " + rank_id + |
... | ... | |
96 | 96 |
} |
97 | 97 |
} |
98 | 98 |
String FROM_QUERY = |
99 |
"FROM TaxonNameBase tnb "
|
|
100 |
+ "INNER JOIN TaxonBase tb on tnb.id = tb.name_id and tb.DTYPE='Taxon' " + // # name<->taxon
|
|
99 |
"FROM TaxonName n "
|
|
100 |
+ "INNER JOIN TaxonBase tb on n.id = tb.name_id and tb.DTYPE='Taxon' " + // # name<->taxon
|
|
101 | 101 |
"INNER JOIN TaxonNode tn on tn.taxon_id = tb.id "+ |
102 |
"INNER JOIN DefinedTermBase rank on tnb.rank_id = rank.id "+// # rank <-> name
|
|
102 |
"INNER JOIN DefinedTermBase rank on n.rank_id = rank.id "+// # rank <-> name
|
|
103 | 103 |
"LEFT OUTER JOIN DescriptionBase descr on descr.taxon_id = tb.id "+// # taxon <-> taxon description (not every taxon has a description) |
104 | 104 |
"LEFT OUTER JOIN DescriptionElementBase descrEl on descrEl.indescription_id = descr.id and descrEl.DTYPE = 'Distribution' "+// # distribution <-> description |
105 | 105 |
"LEFT OUTER JOIN DefinedTermBase statusTerm on statusTerm.id = descrEl.status_id "+ |
... | ... | |
174 | 174 |
|
175 | 175 |
public static QueryDelegate generateSynonymOfTaxonQuery(String name_id) { |
176 | 176 |
String FROM_QUERY = " FROM TaxonBase tb " + |
177 |
"INNER JOIN TaxonNameBase tnb on tb.name_id=tnb.id " +
|
|
177 |
"INNER JOIN TaxonName n on tb.name_id=n.id " +
|
|
178 | 178 |
"INNER JOIN TaxonBase acc on tb.acceptedTaxon_id = acc.id "; //or s.id = ? |
179 | 179 |
String SELECT_QUERY="SELECT tb.id as " + ID + |
180 |
", tnb.titleCache as " + name_id +
|
|
180 |
", n.titleCache as " + name_id +
|
|
181 | 181 |
FROM_QUERY; |
182 | 182 |
String COUNT_QUERY = "SELECT count(*) " + FROM_QUERY; |
183 | 183 |
String CONTAINS_QUERY = "SELECT * FROM TaxonBase syn WHERE syn.id = ?"; //or s.id = ? |
Also available in: Unified diff
adapt vaadin to model changes 4.7