ref #10107, #6228: add remove button to MultiLanguageTextElement and fix default...
authorKatja Luther <k.luther@bgbm.org>
Thu, 18 Aug 2022 09:53:26 +0000 (11:53 +0200)
committerKatja Luther <k.luther@bgbm.org>
Thu, 18 Aug 2022 09:53:26 +0000 (11:53 +0200)
eu.etaxonomy.taxeditor.cdmlib/src/main/resources/log4j2.xml [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MultilanguageTextElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaMetaElement.java

diff --git a/eu.etaxonomy.taxeditor.cdmlib/src/main/resources/log4j2.xml b/eu.etaxonomy.taxeditor.cdmlib/src/main/resources/log4j2.xml
new file mode 100755 (executable)
index 0000000..5d03120
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration status="WARN">
+  <Appenders>
+    <File name="A1" fileName="A1.log" append="true">
+      <XMLLayout/>  <!-- maybe we need to add jackson-dataformat-xml dependency for this -->
+    </File>
+    <Console name="STDOUT" target="System.out">
+      <PatternLayout  pattern="%d %p [%c] - %m%n"/>
+      <Filters>
+        <RegexFilter regex=".*has a maxElementsInMemory of 0. This might lead to performance degradation or OutOfMemoryError at Terracotta client.*"
+          onMatch="DENY" onMismatch="NEUTRALonMis"/>
+        <RegexFilter regex=".*object references was reached while attempting to calculate the size of the object graph.*"
+          onMatch="DENY"/>
+      </Filters>      
+    </Console>
+  </Appenders>
+  <Loggers>
+    <Root level="warn">
+      <AppenderRef ref="A1"/>
+      <!-- <AppenderRef ref="STDOUT"/> -->
+    </Root>
+    <Logger name="eu.etaxonomy.taxeditor.handler.update.UpdateHandler" level="info"/>
+    <Logger name="org.eclipse.equinox.p2.operations.ProvisioningSession" level="info"/>
+    <Logger name="org.eclipse.equinox.internal.p2.engine.ProvisioningPlan" level="info"/>
+    
+    <!-- ### NOT USED 
+    <Logger name="org.hibernate.proxy.AbstractLazyInitializer" level="info"/>
+    <Logger name="org.hibernate.collection.internal.AbstractPersistentCollection" level="info"/>
+    <Logger name="eu.etaxonomy.taxeditor.service.CdmServiceRequestExecutor" level="info"/>
+    <Logger name="eu.etaxonomy.taxeditor.session.DefaultNewEntityListener" level="info"/>
+     --> 
+  </Loggers> 
+</Configuration>
\ No newline at end of file
index 1573acca8f282912d2c0658d7ab0eeb84532802c..0bc0861df024669fda3069c7108aa8fd145dc1d5 100644 (file)
@@ -29,6 +29,7 @@ import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.common.MultilanguageTextHelper;
 import eu.etaxonomy.cdm.model.term.TermType;
 import eu.etaxonomy.taxeditor.model.DefaultTermComparator;
+import eu.etaxonomy.taxeditor.model.ImageResources;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.CdmStore;
@@ -68,7 +69,34 @@ public class MultilanguageTextElement extends AbstractCdmFormElement implements
                        }
                }
        }
+       private class DeleteListener extends SelectionAdapter {
 
+               public DeleteListener() {
+                       super();
+               }
+
+               @Override
+               public void widgetSelected(SelectionEvent e) {
+                       Language lang = combo_language.getSelection();
+                       getMultilanguageText().remove(lang);
+                       updateControls();
+                       
+//                     if (multilanguageText==null || multilanguageText.isEmpty()){
+//                             MessagingUtils.warningDialog("No text to translate", getClass(), "The text is empty and therefore can not be translated");
+//                             return;
+//                     }
+//
+//                     TranslationWizard wizard = new TranslationWizard(multilanguageText);
+//                     WizardDialog dialog = new WizardDialog(getLayoutComposite()
+//                                     .getShell(), wizard);
+//
+//                     if (dialog.open() == Window.OK) {
+                               combo_language.setTerms(getLanguages());
+                               updateControls();
+//                     }
+               }
+       }
+       
        private TermComboElement<Language> combo_language;
 
        protected LanguageStringWithLabelElement element_languageString;
@@ -76,7 +104,7 @@ public class MultilanguageTextElement extends AbstractCdmFormElement implements
        private Button button;
 
        private boolean isEnabled = true;
-//     private Button removeRepresentation;
+       private Button removeRepresentation;
 
        private Map<Language, LanguageString> multilanguageText;
 
@@ -105,19 +133,20 @@ public class MultilanguageTextElement extends AbstractCdmFormElement implements
                combo_language = formFactory.createDefinedTermComboElement(TermType.Language, formElement,
                                                "", null, style);
                combo_language.addSelectionListener(this);
-//             removeRepresentation = formFactory.createButton(getLayoutComposite(), null,
-//                             SWT.PUSH);
-//             removeRepresentation.setImage(ImageResources
-//                             .getImage(ImageResources.TRASH_ICON));
-//             removeRepresentation.setToolTipText("Remove representation");
-//             addControl(removeRepresentation);
-//             removeRepresentation.addSelectionListener(new DeleteListener(this));
-               addControl(formFactory.createLabel(getLayoutComposite(), ""));
+               
+//             addControl(formFactory.createLabel(getLayoutComposite(), ""));
                button = formFactory.createButton(getLayoutComposite(),
                                "Open In Translation Editor", SWT.PUSH);
                addControl(button);
                button.setLayoutData(LayoutConstants.RIGHT());
                button.addSelectionListener(new OpenTranslationWizard());
+               removeRepresentation = formFactory.createButton(getLayoutComposite(), null,
+                               SWT.PUSH);
+               removeRepresentation.setImage(ImageResources
+                               .getImage(ImageResources.TRASH_ICON));
+               removeRepresentation.setToolTipText("Remove representation");
+               addControl(removeRepresentation);
+               removeRepresentation.addSelectionListener(new DeleteListener());
        }
 
        private List<Language> getLanguages() {
index 042cf069a7674bc63088033fe1cfecc61c1e7dae..c3e5545a6d9265a5c66afb3933657dfa98665555 100644 (file)
@@ -77,7 +77,7 @@ public class MediaMetaElement extends AbstractEntityCollectionElement<Media> imp
 
         mediaCreated = formFactory.createTimePeriodElement(element, "Media Created", getEntity().getMediaCreated(), style);
         addElement(mediaCreated);
-        text_description = formFactory.createMultiLanguageTextElement(this, "Description", null, 200, SWT.WRAP);
+        text_description = formFactory.createMultiLanguageTextElement(element, "Description", null, 200, SWT.WRAP);
 
 
         mediaDetailElement = formFactory.createMediaDetailElement(element);