- separated user interface to add media into two classe (#3339)
authorPatric Plitzner <p.plitzner@bgbm.org>
Mon, 25 Aug 2014 08:29:52 +0000 (08:29 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Mon, 25 Aug 2014 08:29:52 +0000 (08:29 +0000)
 - added it to MediaSpecimenGeneralDetailElement

.gitattributes
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CheckboxElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/MediaDetailsSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaDetailElement.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaMetaElement.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaElement.java with 54% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/media/MediaSpecimenGeneralDetailElement.java

index b85b12b6badfeedd31ae59fc81ad15f77c06616b..5cfc4161ec0aec9b0c6a464d4cdb9e8c62c1bd27 100644 (file)
@@ -1546,7 +1546,8 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/ScopeRestrictionSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/TaxonomicScopeSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/ImageFileElement.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaDetailElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaMetaElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationPartSection.java -text
index 123f5f564a0822e5305b57a4c0fbc2e31b1fecd2..7157a91847937530412cbf18669f013c35c50b11 100644 (file)
@@ -171,7 +171,8 @@ import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyNodeDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.key.ScopeRestrictionSection;
 import eu.etaxonomy.taxeditor.ui.section.key.TaxonomicScopeSection;
 import eu.etaxonomy.taxeditor.ui.section.media.ImageFileElement;
-import eu.etaxonomy.taxeditor.ui.section.media.MediaElement;
+import eu.etaxonomy.taxeditor.ui.section.media.MediaMetaElement;
+import eu.etaxonomy.taxeditor.ui.section.media.MediaDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationElement;
 import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationPartElement;
 import eu.etaxonomy.taxeditor.ui.section.media.MediaRepresentationPartSection;
@@ -2168,6 +2169,11 @@ public class CdmFormFactory extends FormToolkit {
         return element;
     }
 
+    public MediaDetailElement createMediaDetailElement(ICdmFormElement parentElement){
+        MediaDetailElement mediaDetailElement = new MediaDetailElement(this, parentElement);
+        addAndAdaptElement(parentElement, mediaDetailElement);
+        return mediaDetailElement;
+    }
 
     public GatheringEventDetailElement createGatheringEventDetailElement(ICdmFormElement parentElement) {
         GatheringEventDetailElement element = new GatheringEventDetailElement(this, parentElement);
@@ -2477,7 +2483,7 @@ public class CdmFormFactory extends FormToolkit {
         } else if (entity instanceof Marker) {
             element = new MarkerElement(this, parentElement, (Marker) entity, removeListener, style);
         } else if (entity instanceof Media) {
-            element = new MediaElement(this, parentElement, (Media) entity, removeListener, style);
+            element = new MediaMetaElement(this, parentElement, (Media) entity, removeListener, style);
         } else if (entity instanceof MediaRepresentation) {
             element = new MediaRepresentationElement(this, parentElement, (MediaRepresentation) entity, removeListener,
                     style);
index f9a4eb0d882ab880bd06a6f578f3bbee308bcfbe..c1569f87f98cd1dc0f20503269f5b6fc2a01ccac 100644 (file)
@@ -102,6 +102,7 @@ public class CheckboxElement extends AbstractCdmFormElement implements Selection
        @Override
     public void setEnabled(boolean enabled) {
                checkbox.setEnabled(enabled);
+               label.setEnabled(enabled);
        }
 
        /* (non-Javadoc)
index d149d0488011f4083b5f38e5f01b1cbf4d8db85b..e5a67e4005c091ed637ee48d42238cf7f9a4f596 100644 (file)
@@ -20,7 +20,7 @@ import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.media.MediaElement;
+import eu.etaxonomy.taxeditor.ui.section.media.MediaMetaElement;
 
 /**
  * <p>MediaDetailsSection class.</p>
@@ -31,7 +31,7 @@ import eu.etaxonomy.taxeditor.ui.section.media.MediaElement;
  */
 public class MediaDetailsSection extends AbstractCdmDetailSection<Media> {
 
-       private MediaElement element_media;
+       private MediaMetaElement element_media;
 
        /**
         * <p>Constructor for MediaDetailsSection.</p>
@@ -71,7 +71,7 @@ public class MediaDetailsSection extends AbstractCdmDetailSection<Media> {
                if(element_media != null){
                        this.removeElements();
                }
-               element_media = (MediaElement) formFactory.createEntityCollectionElement(this, entity, null, null, ExpandableComposite.EXPANDED);
+               element_media = (MediaMetaElement) formFactory.createEntityCollectionElement(this, entity, null, null, ExpandableComposite.EXPANDED);
                super.setEntity(entity);
                setSectionTitle();
                layout();
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaDetailElement.java
new file mode 100644 (file)
index 0000000..5802411
--- /dev/null
@@ -0,0 +1,143 @@
+// $Id$
+/**
+* Copyright (C) 2014 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.section.media;
+
+import java.net.URISyntaxException;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.jface.util.IPropertyChangeListener;
+
+import eu.etaxonomy.cdm.model.media.Media;
+import eu.etaxonomy.cdm.model.media.MediaRepresentation;
+import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
+import eu.etaxonomy.cdm.model.media.MediaUtils;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.preference.Resources;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
+import eu.etaxonomy.taxeditor.ui.element.UriWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+
+/**
+ * @author pplitzner
+ * @date 25.08.2014
+ *
+ */
+public class MediaDetailElement extends AbstractCdmDetailElement<Media>{
+
+    private UriWithLabelElement textUri;
+    private MediaRepresentationSection section_mediaRepresentation;
+
+    private CheckboxElement checkBoxShowAdvancedView;
+    private MediaRepresentationPart singleMediaRepresentationPart;
+    private ICdmFormElement parentFormElement;
+    private int style;
+
+    /**
+     * @param formFactory
+     * @param formElement
+     */
+    public MediaDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
+        super(formFactory, formElement);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.ui.element.ICdmFormElement, java.lang.Object, int)
+     */
+    @Override
+    protected void createControls(ICdmFormElement formElement, Media entity, int style) {
+        this.parentFormElement = formElement;
+        this.style = style;
+        checkBoxShowAdvancedView = formFactory.createCheckbox(formElement, "Advanced Media View", false, style);
+        List<IPropertyChangeListener> checkBoxPropertyChangeListeners = checkBoxShowAdvancedView.getPropertyChangeListeners();
+        checkBoxPropertyChangeListeners.retainAll(Collections.singletonList(this));
+        checkBoxShowAdvancedView.setPropertyChangeListeners(checkBoxPropertyChangeListeners);//no property change events for checkbox
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#setEntity(java.lang.Object)
+     */
+    @Override
+    public void setEntity(Media entity) {
+        super.setEntity(entity);
+        if(singleMediaRepresentationPart==null){
+            singleMediaRepresentationPart = MediaUtils.initFirstMediaRepresentationPart(entity);
+        }
+        showAdvancedView(isAdvancedMediaView());
+
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
+     */
+    @Override
+    public void handleEvent(Object eventSource) {
+        if(eventSource==textUri){
+            textUri.setBackground(getPersistentBackground());
+            try {
+                singleMediaRepresentationPart.setUri(textUri.getUri());
+            } catch (URISyntaxException e) {
+                textUri.setBackground(getColor(Resources.COLOR_PARSE_ERROR));
+            }
+        }
+        else if(eventSource==checkBoxShowAdvancedView){
+            showAdvancedView(checkBoxShowAdvancedView.getSelection());
+        }
+    }
+
+    /**
+     * @param showAdvancedView
+     */
+    private void showAdvancedView(boolean showAdvancedView) {
+        if(showAdvancedView){
+            if(textUri!=null){
+                removeElementsAndControls(textUri);
+            }
+            section_mediaRepresentation = formFactory.createMediaRepresentationSection(getConversationHolder(), parentFormElement, style);
+            section_mediaRepresentation.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+            section_mediaRepresentation.setEntity(getEntity());
+        }
+        else{
+            if(section_mediaRepresentation!=null){
+                removeElementsAndControls(section_mediaRepresentation);
+            }
+            textUri = formFactory.createUriWithLabelElement(parentFormElement, "Media URI", null, style);
+            textUri.setUri(singleMediaRepresentationPart.getUri());
+            textUri.getLayoutComposite().layout();
+        }
+    }
+
+    private boolean isAdvancedMediaView(){
+        if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_ADVANCED_MEDIA_SECTION)){
+            checkBoxShowAdvancedView.setSelection(true);
+            return true;
+        }
+        Set<MediaRepresentation> representations = getEntity().getRepresentations();
+        if(representations.size()>1){
+            checkBoxShowAdvancedView.setEnabled(false);
+            return true;
+        }
+        if(representations.size()==1){
+            List<MediaRepresentationPart> parts = representations.iterator().next().getParts();
+            if(parts.size()>1){
+                checkBoxShowAdvancedView.setEnabled(false);
+                return true;
+            }
+        }
+        return false;
+    }
+
+
+}
similarity index 54%
rename from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaElement.java
rename to eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaMetaElement.java
index 2d9a7c27457029a3ce2c757167ee33e872c3ca66..4f9f4588869bd457e25dd4478f792d34458bce9b 100644 (file)
@@ -3,10 +3,6 @@
  */
 package eu.etaxonomy.taxeditor.ui.section.media;
 
-import java.net.URISyntaxException;
-import java.util.List;
-import java.util.Set;
-
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
@@ -14,20 +10,11 @@ import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.media.Media;
-import eu.etaxonomy.cdm.model.media.MediaRepresentation;
-import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
-import eu.etaxonomy.cdm.model.media.MediaUtils;
-import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
-import eu.etaxonomy.taxeditor.preference.Resources;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement;
-import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
-import eu.etaxonomy.taxeditor.ui.element.UriWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
@@ -41,18 +28,12 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  * @created Nov 17, 2009
  * @version 1.0
  */
-public class MediaElement extends AbstractEntityCollectionElement<Media> {
+public class MediaMetaElement extends AbstractEntityCollectionElement<Media> {
 
     private EntitySelectionElement<AgentBase> selection_artist;
     private LanguageStringWithLabelElement text_description;
     private LanguageStringWithLabelElement text_title;
-    private UriWithLabelElement textUri;
-    private MediaRepresentationSection section_mediaRepresentation;
-
-    private CheckboxElement checkBoxShowAdvancedView;
-    private MediaRepresentationPart singleMediaRepresentationPart;
-    private ICdmFormElement parentFormElement;
-    private int style;
+    private MediaDetailElement mediaDetailElement;
 
     /**
      * <p>
@@ -72,7 +53,7 @@ public class MediaElement extends AbstractEntityCollectionElement<Media> {
      *            a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
      *            object.
      */
-    public MediaElement(CdmFormFactory cdmFormFactory,
+    public MediaMetaElement(CdmFormFactory cdmFormFactory,
             AbstractFormSection<?> formElement, Media element,
             SelectionListener removeListener, int style) {
         super(cdmFormFactory, formElement, element, removeListener, null, style);
@@ -88,22 +69,17 @@ public class MediaElement extends AbstractEntityCollectionElement<Media> {
     /** {@inheritDoc} */
     @Override
     public void createControls(ICdmFormElement element, int style) {
-        this.parentFormElement = element;
-        this.style = style;
         text_title = formFactory.createLanguageStringWithLabelElement(element, "Title", null, style);
         selection_artist = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), element, "Artist", null, EntitySelectionElement.ALL, style);
         text_description = formFactory.createLanguageStringWithLabelElement(element, "Description", null, 100, style);
-        checkBoxShowAdvancedView = formFactory.createCheckbox(element, "Advanced Media View", false, style);
+        mediaDetailElement = formFactory.createMediaDetailElement(element);
     }
 
     /** {@inheritDoc} */
     @Override
     public void setEntity(Media element) {
         this.entity = element;
-        if(singleMediaRepresentationPart==null){
-            singleMediaRepresentationPart = MediaUtils.initFirstMediaRepresentationPart(element);
-        }
-        showAdvancedView(isAdvancedMediaView());
+        mediaDetailElement.setEntity(element);
 
         selection_artist.setEntity((TeamOrPersonBase<?>) HibernateProxyHelper
                 .deproxy(element.getArtist()));
@@ -140,56 +116,5 @@ public class MediaElement extends AbstractEntityCollectionElement<Media> {
                 ((AbstractCdmDetailSection<?>) getParentElement()).updateTitle();
             }
         }
-        else if(eventSource==textUri){
-            textUri.setBackground(getPersistentBackground());
-            try {
-                singleMediaRepresentationPart.setUri(textUri.getUri());
-            } catch (URISyntaxException e) {
-                textUri.setBackground(getColor(Resources.COLOR_PARSE_ERROR));
-            }
-        }
-        else if(eventSource==checkBoxShowAdvancedView){
-            showAdvancedView(checkBoxShowAdvancedView.getSelection());
-        }
     }
-
-    /**
-     * @param showAdvancedView
-     */
-    private void showAdvancedView(boolean showAdvancedView) {
-        if(showAdvancedView){
-            if(textUri!=null){
-                removeElementsAndControls(textUri);
-            }
-            section_mediaRepresentation = formFactory.createMediaRepresentationSection(getConversationHolder(), parentFormElement, style);
-            section_mediaRepresentation.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
-            section_mediaRepresentation.setEntity(getEntity());
-        }
-        else{
-            if(section_mediaRepresentation!=null){
-                removeElementsAndControls(section_mediaRepresentation);
-            }
-            textUri = formFactory.createUriWithLabelElement(parentFormElement, "Media URI", null, style);
-            textUri.setUri(singleMediaRepresentationPart.getUri());
-            textUri.getLayoutComposite().layout();
-        }
-    }
-
-    private boolean isAdvancedMediaView(){
-        if(PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_ADVANCED_MEDIA_SECTION)){
-            return true;
-        }
-        Set<MediaRepresentation> representations = entity.getRepresentations();
-        if(representations.size()>1){
-            return true;
-        }
-        if(representations.size()==1){
-            List<MediaRepresentationPart> parts = representations.iterator().next().getParts();
-            if(parts.size()>1){
-                return true;
-            }
-        }
-        return false;
-    }
-
 }
index f272dfe505ce2f5b231a6240685d844455c84e9d..67359cd6e5e9462626930c4e031e18bd22294628 100644 (file)
@@ -9,10 +9,6 @@
  */
 package eu.etaxonomy.taxeditor.ui.section.occurrence.media;
 
-import java.net.URISyntaxException;
-import java.util.List;
-import java.util.Set;
-
 import org.eclipse.swt.widgets.Label;
 import org.joda.time.DateTime;
 
@@ -25,21 +21,18 @@ import eu.etaxonomy.cdm.model.common.OriginalSourceType;
 import eu.etaxonomy.cdm.model.common.TermVocabulary;
 import eu.etaxonomy.cdm.model.common.VocabularyEnum;
 import eu.etaxonomy.cdm.model.media.Media;
-import eu.etaxonomy.cdm.model.media.MediaRepresentation;
-import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
 import eu.etaxonomy.cdm.model.occurrence.Collection;
 import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen;
 import eu.etaxonomy.cdm.model.reference.Reference;
-import eu.etaxonomy.taxeditor.preference.Resources;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
-import eu.etaxonomy.taxeditor.ui.element.UriWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.mvc.element.DateElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.media.MediaDetailElement;
 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 
 /**
@@ -59,10 +52,8 @@ public class MediaSpecimenGeneralDetailElement extends AbstractCdmDetailElement<
     private EntitySelectionElement<Collection> selection_collection;
     private TextWithLabelElement text_accessionNumber;
     private EntitySelectionElement<Reference> selection_publishedIn;
-    private UriWithLabelElement textMediaUri;
-    private MediaRepresentationPart mediaRepresentationPart;
 
-//    private MediaRepresentationSection mediaRepresentationSection;
+    private MediaDetailElement mediaDetailElement;
     /**
      * @param formFactory
      * @param formElement
@@ -91,7 +82,6 @@ public class MediaSpecimenGeneralDetailElement extends AbstractCdmDetailElement<
 
             Label label = new Label(getLayoutComposite(), style);
             label.setText("Preparation Date (yyyy-mm-dd)");
-//            label.setLayoutData(LayoutConstants.LEFT());
             date = new DateElement(formElement.getLayoutComposite(), entity.getMediaSpecimen().getMediaCreated(), style);
             date.initController(formFactory, formElement);
 
@@ -109,12 +99,9 @@ public class MediaSpecimenGeneralDetailElement extends AbstractCdmDetailElement<
                 }
             }
             selection_publishedIn = formFactory.createSelectionElement(Reference.class, getConversationHolder(), formElement, "Published in", publishedIn, EntitySelectionElement.ALL, style);
-            mediaRepresentationPart = getMediaRepresentationPart(media);
-            textMediaUri = formFactory.createUriWithLabelElement(formElement, "Media URI", mediaRepresentationPart.getUri(), style);
 
-//            mediaRepresentationSection = formFactory.createMediaRepresentationSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE);
-//            mediaRepresentationSection.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
-//            mediaRepresentationSection.setEntity(media);
+            mediaDetailElement = formFactory.createMediaDetailElement(formElement);
+            mediaDetailElement.setEntity(media);
         }
     }
 
@@ -169,39 +156,6 @@ public class MediaSpecimenGeneralDetailElement extends AbstractCdmDetailElement<
                 primaryMediaSource.setCitation(selection_publishedIn.getSelection());
             }
         }
-        else if(eventSource==textMediaUri){
-            textMediaUri.setBackground(getPersistentBackground());
-            try {
-                mediaRepresentationPart.setUri(textMediaUri.getUri());
-            } catch (URISyntaxException e) {
-                textMediaUri.setBackground(getColor(Resources.COLOR_PARSE_ERROR));
-            }
-        }
-    }
-
-    private MediaRepresentationPart getMediaRepresentationPart(Media media) {
-        if(mediaRepresentationPart==null){
-            Set<MediaRepresentation> representations = media.getRepresentations();
-            if(representations!=null && representations.size()>0){
-                MediaRepresentation mediaRepresentation = representations.iterator().next();
-                List<MediaRepresentationPart> parts = mediaRepresentation.getParts();
-                if(parts!=null && parts.size()>0){
-                    mediaRepresentationPart = parts.iterator().next();
-                }
-                else{
-                    mediaRepresentationPart = MediaRepresentationPart.NewInstance(null, null);
-                    mediaRepresentation.addRepresentationPart(mediaRepresentationPart);
-                }
-            }
-            else{
-                mediaRepresentationPart = MediaRepresentationPart.NewInstance(null, null);
-
-                MediaRepresentation mediaRepresentation = MediaRepresentation.NewInstance();
-                mediaRepresentation.addRepresentationPart(mediaRepresentationPart);
-                media.addRepresentation(mediaRepresentation);
-            }
-        }
-        return mediaRepresentationPart;
     }
 
-}
+}
\ No newline at end of file