Merge branch 'release/5.32.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / vocabulary / TermTranslationWizard.java
index d5e2f8eac25b3d72d2fa456da53bffb946a367cd..51b3e20d017eb52de0d7cb4d89b54ad7cb12fdba 100644 (file)
@@ -13,6 +13,7 @@ import org.eclipse.jface.wizard.Wizard;
 import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.model.term.Representation;
 import eu.etaxonomy.cdm.model.term.TermBase;
+import eu.etaxonomy.cdm.persistence.dto.AbstractTermDto;
 import eu.etaxonomy.taxeditor.ui.translation.TermTranslationWizardPage;
 
 /**
@@ -23,17 +24,28 @@ import eu.etaxonomy.taxeditor.ui.translation.TermTranslationWizardPage;
 public class TermTranslationWizard extends Wizard {
     private TermTranslationWizardPage page;
 
-    private final TermBase term;
+    private TermBase term;
+    private AbstractTermDto termDto;
 
     public TermTranslationWizard(TermBase term) {
         setWindowTitle("Translation Editor");
         this.term = term;
         setNeedsProgressMonitor(true);
     }
+    
+    public TermTranslationWizard(AbstractTermDto termDto) {
+        setWindowTitle("Translation Editor");
+        this.termDto = termDto;
+        setNeedsProgressMonitor(true);
+    }
 
     @Override
     public void addPages() {
-        page = new TermTranslationWizardPage(term);
+       if (term != null) {
+               page = new TermTranslationWizardPage(term);
+       }else {
+               page = new TermTranslationWizardPage(termDto);
+       }
         addPage(page);
     }
 
@@ -48,7 +60,11 @@ public class TermTranslationWizard extends Wizard {
                 || CdmUtils.isNotBlank(representation.getLabel())
                 || CdmUtils.isNotBlank(representation.getAbbreviatedLabel())
                 || CdmUtils.isNotBlank(representation.getPlural())){
-            term.addRepresentation(representation);
+               if (term != null) {
+                       term.addRepresentation(representation);
+               }else if (termDto != null){
+                       termDto.addRepresentation(representation);
+               }
         }
 
         return true;