import org.eclipse.ui.forms.widgets.TableWrapData;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.common.URI;
import eu.etaxonomy.cdm.model.media.ExternalLink;
import eu.etaxonomy.cdm.model.media.ExternalLinkType;
import eu.etaxonomy.cdm.model.reference.OriginalSourceBase;
/**
* @author k.luther
* @since 23.08.2018
- *
*/
public class ExternalLinksSection extends AbstractEntityCollectionSection<OriginalSourceBase, ExternalLink> {
private boolean isShowDescription = true;
-
-
- /**
- * @param formFactory
- * @param formElement
- */
public ExternalLinksSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
super(cdmFormFactory, conversation, parentElement, "External Links", style);
-
}
-
- /**
- * @param cdmFormFactory
- * @param conversation
- * @param parentElement
- * @param string
- * @param style
- */
public ExternalLinksSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation,
ICdmFormElement parentElement, boolean isAdvanced, String string, int style) {
super(cdmFormFactory, conversation, parentElement, string, style);
this.isShowDescription = isAdvanced;
}
-
@Override
+ //TODO think about moving to cdmlib
public Comparator<ExternalLink> getComparator() {
- return new Comparator<ExternalLink>(){
+ return (o1, o2)-> {
+ URI uri1 = o1 == null? null: o1.getUri();
+ URI uri2 = o2 == null? null: o2.getUri();
- @Override
- public int compare(ExternalLink o1, ExternalLink o2) {
- if (o1 == o2){
+ if (uri1 == uri2){
return 0;
}
- if (o1 == null){
+ if (uri1 == null){
return -1;
-
}
- if (o2== null){
+ if (uri2 == null){
return 1;
}
- if (o1.getUri() == o1.getUri()){
- return 0;
- }
- if (o1.getUri() == null){
- return -1;
- }
- if (o2.getUri() == null){
- return 1;
- }
- return o1.getUri().toString().compareTo(o2.getUri().toString());
-
- }
-
- };
-
+ return uri1.toString().compareTo(uri2.toString());
+ };
}
-
-
@Override
public Collection<ExternalLink> getCollection(OriginalSourceBase entity) {
if (entity != null){
} else {
return null;
}
-
}
@Override
@Override
public void addElement(ExternalLink element) {
getEntity().addLink(element);
-
}
@Override
@Override
public void removeElement(ExternalLink element) {
getEntity().removeLink(element);
-
}
@Override
return emptySectionString;
}
-
@Override
protected String getTooltipString() {
return null;
}
-
public void setEmptySectionString(String emptySectionString) {
this.emptySectionString = emptySectionString;
}
-
- /**
- * @param indent
- */
public void setIndent(int indent) {
TableWrapData tableWrapData = (TableWrapData)this.getLayoutData();
if (tableWrapData == null){
getLayoutComposite().layout();
}
-
public boolean isAdvanced() {
return isShowDescription;
}
-
public void setAdvanced(boolean isAdvanced) {
this.isShowDescription = isAdvanced;
}
-
-}
+}
\ No newline at end of file