Revision f18e39bb
Added by Niels Hoffmann over 12 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermManager.java | ||
---|---|---|
11 | 11 |
package eu.etaxonomy.taxeditor.store; |
12 | 12 |
|
13 | 13 |
import java.util.ArrayList; |
14 |
import java.util.Arrays; |
|
14 | 15 |
import java.util.Collection; |
15 | 16 |
import java.util.HashMap; |
16 | 17 |
import java.util.List; |
... | ... | |
45 | 46 |
import eu.etaxonomy.cdm.model.occurrence.PreservationMethod; |
46 | 47 |
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType; |
47 | 48 |
import eu.etaxonomy.taxeditor.model.ContextListenerAdapter; |
49 |
import eu.etaxonomy.taxeditor.model.TaxonRelationshipTypeInverseContainer; |
|
48 | 50 |
|
49 | 51 |
/** |
50 | 52 |
* @author n.hoffmann |
... | ... | |
175 | 177 |
*/ |
176 | 178 |
public List<TaxonRelationshipType> getPreferredTaxonRelationshipTypes() { return getFilteredTerms(TermStore.getTaxonRelationshipTypes());} |
177 | 179 |
|
180 |
private static List<TaxonRelationshipType> excludeTaxonRelationshipTypes = Arrays.asList(new TaxonRelationshipType[]{ |
|
181 |
TaxonRelationshipType.TAXONOMICALLY_INCLUDED_IN(), |
|
182 |
TaxonRelationshipType.MISAPPLIED_NAME_FOR(), |
|
183 |
TaxonRelationshipType.ALL_RELATIONSHIPS() |
|
184 |
}); |
|
185 |
|
|
186 |
/** |
|
187 |
* Please note that the {@link TaxonRelationshipType}s TAXONOMICALLY_INCLUDED_IN, MISAPPLIED_NAME_FOR and ALL_RELATIONSHIPS |
|
188 |
* are filtered out as they are most likely not needed. If you do need them please refactor this method to your needs. |
|
189 |
* |
|
190 |
* @return a list of {@link TaxonRelationshipTypeInverseContainer} elements |
|
191 |
*/ |
|
192 |
public List<TaxonRelationshipTypeInverseContainer> getRelationshipTypesWithInverses(){ |
|
193 |
List<TaxonRelationshipTypeInverseContainer> relationshipTypeInverseContainers = new ArrayList<TaxonRelationshipTypeInverseContainer>(); |
|
194 |
|
|
195 |
List<TaxonRelationshipType> relationshipTypes = getPreferredTaxonRelationshipTypes(); |
|
196 |
|
|
197 |
relationshipTypes.removeAll(excludeTaxonRelationshipTypes); |
|
198 |
|
|
199 |
for (TaxonRelationshipType relationshipType : relationshipTypes){ |
|
200 |
if(!relationshipType.isSymmetric()){ |
|
201 |
TaxonRelationshipTypeInverseContainer inverseContainer = new TaxonRelationshipTypeInverseContainer(relationshipType, true); |
|
202 |
relationshipTypeInverseContainers.add(inverseContainer); |
|
203 |
} |
|
204 |
TaxonRelationshipTypeInverseContainer container = new TaxonRelationshipTypeInverseContainer(relationshipType, false); |
|
205 |
relationshipTypeInverseContainers.add(container); |
|
206 |
} |
|
207 |
|
|
208 |
return relationshipTypeInverseContainers; |
|
209 |
} |
|
210 |
|
|
178 | 211 |
/** |
179 | 212 |
* <p>getPreferredFeatures</p> |
180 | 213 |
* |
Also available in: Unified diff
Taxon Relationship type is now editable in details view