}\r
\r
/**\r
- * Get the name out of the session's name relations vocabulary, not directly\r
+ * Get the type's label out of the session's name relations vocabulary, not directly\r
* from the object. \r
* \r
* @param type\r
* @return\r
*/\r
- public static String getNameRelationLabelType(NameRelationshipType type) {\r
+ public static String getNameRelationTypeLabel(NameRelationshipType type) {\r
SortedSet<NameRelationshipType> vocab = \r
CdmSessionDataRepository.getDefault().getNameRelationshipTypes();\r
for (NameRelationshipType type1 : vocab) {\r
}\r
return "";\r
}\r
+\r
+ /**\r
+ * Get the inverse representation of the type out of the session's \r
+ * name relations vocabulary, not directly from the object. \r
+ * \r
+ * @param type\r
+ * @return\r
+ */\r
+ public static String getNameRelationInverseTypeLabel(NameRelationshipType type) {\r
+ SortedSet<NameRelationshipType> vocab = \r
+ CdmSessionDataRepository.getDefault().getNameRelationshipTypes();\r
+ for (NameRelationshipType type1 : vocab) {\r
+ if (type1.equals(type)) {\r
+ return type1.getInverseLabel();\r
+ }\r
+ }\r
+ return "";\r
+ }\r
\r
private static IStatusLineManager statusLineManager;\r
\r
String typeLabel = null;\r
TaxonNameBase relatedName = null; \r
if (name.equals(nameRelation.getFromName())) {\r
- typeLabel = nameRelation.getType().getInverseLabel();\r
+ typeLabel = GlobalController.getNameRelationTypeLabel( \r
+ nameRelation.getType());\r
relatedName = nameRelation.getToName();\r
} else {\r
- typeLabel = nameRelation.getType().getLabel();\r
+ typeLabel = GlobalController.getNameRelationInverseTypeLabel( \r
+ nameRelation.getType());\r
relatedName = nameRelation.getFromName();\r
}\r
setNonEditableInfo(typeLabel + " " + relatedName.getTitleCache());\r
\r
protected Vector<PropertyDescriptor> descriptors = new Vector<PropertyDescriptor>();\r
protected Collection collection;\r
+ private Object collectionOwner;\r
\r
public CollectionPropertySource(Collection collection) {\r
this.collection = collection;\r
addDescriptor(item);\r
}\r
}\r
+\r
+ public CollectionPropertySource(Collection collection, Object collectionOwner) {\r
+ this.collection = collection;\r
+ this.collectionOwner = collectionOwner;\r
+ for (Object item : collection) {\r
+ addDescriptor(item);\r
+ }\r
+ }\r
+ \r
+ protected Object getCollectionOwner() {\r
+ return collectionOwner;\r
+ }\r
\r
protected void addDescriptor(Object item) {\r
String itemDisplayName = getItemDisplayName(item);\r
private boolean isZoological = false;\r
\r
public NameRelationsPropertySource(TaxonNameBase name, Collection collection) {\r
- super(collection);\r
+ super(collection, name);\r
this.name = name;\r
if (name instanceof ZoologicalName) {\r
isZoological = true;\r
if (nameRelation.getType() != null) {\r
\r
NameRelationshipType type = nameRelation.getType();\r
- String label = GlobalController.getNameRelationLabelType(type);\r
- if (isZoological && \r
- nameRelation.getType().equals(NameRelationshipType.BASIONYM())) {\r
- label = "original combination";\r
+ \r
+ String label;\r
+ if (nameRelation.getFromName().equals(getCollectionOwner())) {\r
+ label = GlobalController.getNameRelationTypeLabel(type);\r
+ if (isZoological && \r
+ nameRelation.getType().equals(NameRelationshipType.BASIONYM())) {\r
+ label = "original combination for";\r
+ } \r
+ } else {\r
+ label = GlobalController.getNameRelationInverseTypeLabel(type);\r
}\r
itemDisplayName = label;\r
} else {\r
public Object getPropertyValue(Object id) {\r
if (id instanceof NameRelationship) {\r
TaxonNameBase relatedName;\r
- String nameValue;\r
+// String nameValue;\r
if (((NameRelationship) id).getFromName().equals(name)) {\r
relatedName = ((NameRelationship) id).getToName();\r
- nameValue = relatedName.getTitleCache();\r
+// nameValue = relatedName.getTitleCache();\r
} else {\r
relatedName = ((NameRelationship) id).getFromName();\r
- nameValue = "to " + relatedName.getTitleCache();\r
+// nameValue = "to " + relatedName.getTitleCache();\r
}\r
- return nameValue;\r
+// return nameValue;\r
+ return relatedName.getTitleCache();\r
}\r
return null;\r
}\r
type = "original combination";\r
} else {\r
// type = nameRelationship.getType().getLabel();\r
- type = GlobalController.getNameRelationLabelType(nameRelationship.getType());\r
+ type = GlobalController.getNameRelationTypeLabel(nameRelationship.getType());\r
}\r
}\r
if (nameRelationship.getToName() == null) {\r
} else {\r
toName = CdmUtil.getDisplayName(nameRelationship.getToName());\r
}\r
- return "\"" + fromName + "\" is \"" + type + "\" of \"" + toName + "\"";\r
+ return "\"" + fromName + "\" is " + type + " \"" + toName + "\"";\r
}\r
}\r