fixes #1138, #2010, #2011
authorn.hoffmann <n.hoffmann@localhost>
Thu, 25 Nov 2010 13:24:30 +0000 (13:24 +0000)
committern.hoffmann <n.hoffmann@localhost>
Thu, 25 Nov 2010 13:24:30 +0000 (13:24 +0000)
.gitattributes
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/CdmFormFactory.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/ReferenceDetailElement.java [moved from taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/ReferenceBaseDetailElement.java with 88% similarity]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/ReferenceDetailSection.java [moved from taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/ReferenceBaseDetailSection.java with 88% similarity]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/ReferenceWizardPage.java

index bceea6a200957667781bacc3e4b66db54f826175..fcc1c6b65f882efc00ed36fc0feaca2c37130566 100644 (file)
@@ -618,8 +618,8 @@ taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/Specime
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/SpecimenCollectionDetailSection.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/NomenclaturalReferenceDetailElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/NomenclaturalReferenceDetailSection.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/ReferenceBaseDetailElement.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/ReferenceBaseDetailSection.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/ReferenceDetailElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/ReferenceDetailSection.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/ReferenceWizardPage.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/supplemental/AbstractMediaRepresentationPartElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/supplemental/AbstractOriginalSourceElement.java -text
index acf04cae720b24396a6a0a4a5af7d4427c3472e2..4b392c5d1448c117cdf931f10750e0687de5d1aa 100644 (file)
@@ -234,8 +234,8 @@ import eu.etaxonomy.taxeditor.section.occurrence.SpecimenCollectionDetailElement
 import eu.etaxonomy.taxeditor.section.occurrence.SpecimenCollectionDetailSection;
 import eu.etaxonomy.taxeditor.section.reference.NomenclaturalReferenceDetailElement;
 import eu.etaxonomy.taxeditor.section.reference.NomenclaturalReferenceDetailSection;
-import eu.etaxonomy.taxeditor.section.reference.ReferenceBaseDetailElement;
-import eu.etaxonomy.taxeditor.section.reference.ReferenceBaseDetailSection;
+import eu.etaxonomy.taxeditor.section.reference.ReferenceDetailElement;
+import eu.etaxonomy.taxeditor.section.reference.ReferenceDetailSection;
 import eu.etaxonomy.taxeditor.section.supplemental.AnnotationElement;
 import eu.etaxonomy.taxeditor.section.supplemental.AnnotationSection;
 import eu.etaxonomy.taxeditor.section.supplemental.CreditElement;
@@ -1254,7 +1254,7 @@ public class CdmFormFactory extends FormToolkit{
                        section = new NameDetailSection(this, conversation, parentElement, selectionProvider, style);
                        break;
                case REFERENCEBASE:
-                       section = new ReferenceBaseDetailSection(this, conversation, parentElement, selectionProvider, style);
+                       section = new ReferenceDetailSection(this, conversation, parentElement, selectionProvider, style);
                        break;
                case NOMENCLATURALREFERENCE:
                        section = new NomenclaturalReferenceDetailSection(this, conversation, parentElement, selectionProvider, style);
@@ -1335,7 +1335,7 @@ public class CdmFormFactory extends FormToolkit{
                        element = new NameDetailElement(this, parentElement, style);
                        break;
                case REFERENCEBASE:
-                       element = new ReferenceBaseDetailElement(this, parentElement, style);
+                       element = new ReferenceDetailElement(this, parentElement, style);
                        break;
                case NOMENCLATURALREFERENCE:
                        element = new NomenclaturalReferenceDetailElement(this, parentElement, style);
similarity index 88%
rename from taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/ReferenceBaseDetailElement.java
rename to taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/ReferenceDetailElement.java
index 4082aaff1d131360c61d84701d294ceb23769e1a..44e62e7bfe3df66c4fb23537c4be3f1326b316d4 100644 (file)
@@ -45,7 +45,7 @@ import eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement;
  * @created Mar 2, 2010
  * @version 1.0
  */
-public class ReferenceBaseDetailElement extends AbstractCdmDetailElement<Reference> implements IErrorIntolerableElement, IExceptionHandler {
+public class ReferenceDetailElement extends AbstractCdmDetailElement<Reference> implements IErrorIntolerableElement, IExceptionHandler {
        
        // property holder
        private ToggleableTextElement toggleable_cache;
@@ -79,7 +79,7 @@ public class ReferenceBaseDetailElement extends AbstractCdmDetailElement<Referen
         * @param formElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
         * @param style a int.
         */
-       public ReferenceBaseDetailElement(CdmFormFactory cdmFormFactory,
+       public ReferenceDetailElement(CdmFormFactory cdmFormFactory,
                        ICdmFormElement formElement, int style) {
                super(cdmFormFactory, formElement);
        }
@@ -105,22 +105,27 @@ public class ReferenceBaseDetailElement extends AbstractCdmDetailElement<Referen
                
                ReferenceType referenceType = entity.getType();
                
-               if(referenceType != null && referenceType.equals(ReferenceType.Generic)){
-                       createGenericControls(this, entity, SWT.NULL);
-               }else if(referenceType != null){
-                       if(referenceType.isPrintedUnit()){
-                               createPrintedUnitControls(this, referenceType, entity, SWT.NULL);               
-                       }       
-                       if(referenceType.isPublication()){
-                               createPublicationControls(this, referenceType, entity, SWT.NULL);
+               if(referenceType != null){
+                       
+                       createInReferenceByType(this, referenceType, entity, SWT.NULL);
+                       
+                       if(referenceType.equals(ReferenceType.Generic)){
+                               createGenericControls(this, entity, SWT.NULL);
+                       }else{
+                               if(referenceType.isPrintedUnit()){
+                                       createPrintedUnitControls(this, referenceType, entity, SWT.NULL);               
+                               }       
+                               if(referenceType.isPublication()){
+                                       createPublicationControls(this, referenceType, entity, SWT.NULL);
+                               }
+                               if(referenceType.isVolumeReference()){
+                                       createVolumeControls(this, entity, SWT.NULL);
+                               }       
+                               if(referenceType.isSection()){
+                                       createSectionControls(this, entity, SWT.NULL);
+                               }               
                        }
-                       if(referenceType.isVolumeReference()){
-                               createVolumeControls(this, entity, SWT.NULL);
-                       }       
-                       if(referenceType.isSection()){
-                               createSectionControls(this, entity, SWT.NULL);
-                       }               
-               }
+               }               
                
                // date published
                element_timePeriod = formFactory.createTimePeriodElement(formElement, "Date Published", entity.getDatePublished(), style);
@@ -128,7 +133,7 @@ public class ReferenceBaseDetailElement extends AbstractCdmDetailElement<Referen
                
                createUriAndAbstract(this, entity, SWT.NULL);
        }
-       
+
        /*
         * (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.forms.section.cdmdetail.AbstractCdmDetailComposite#updateContent()
@@ -148,6 +153,44 @@ public class ReferenceBaseDetailElement extends AbstractCdmDetailElement<Referen
                setIrrelevant(toggleable_cache.getState(), Arrays.asList(new Object[]{toggleable_cache}));
        }
        
+       /**
+        * Creates an in reference for reference types that do hav this.
+        * 
+        * @param element
+        * @param referenceType
+        * @param reference
+        * @param style
+        */
+       private void createInReferenceByType(
+                       ICdmFormElement element,
+                       ReferenceType referenceType, Reference reference, int style) {
+               boolean createInReferenceWidget = true;
+               String label = "In Reference";
+               
+               switch(referenceType){
+                       case Generic:
+                               break;
+                       case BookSection:
+                               label = "Book";
+                               break;
+                       case InProceedings:
+                               label = "Print Series";
+                               break;
+                       case Article:
+                               label = "Journal";
+                               break;
+                       case WebPage:
+                               break;
+                       default:
+                               createInReferenceWidget = false;
+               }
+               
+               if(createInReferenceWidget){
+                       selection_inReference = formFactory.createSelectionElement(SelectionType.REFERENCE, getConversationHolder(), 
+                                       element, label, reference.getInReference(), style);
+               }
+       }
+       
        /**
         * Creates additional controls to edit a generic reference 
         * 
@@ -157,6 +200,7 @@ public class ReferenceBaseDetailElement extends AbstractCdmDetailElement<Referen
         * @param style
         */
        private void createGenericControls(ICdmFormElement element, Reference reference, int style){
+               
                //editor
                text_editor = formFactory.createTextWithLabelElement(element, "Editor", reference.getEditor(), style);
                
@@ -172,7 +216,7 @@ public class ReferenceBaseDetailElement extends AbstractCdmDetailElement<Referen
        
        
        /**
-        * Creates addition controls to edit a publication
+        * Creates additional controls to edit a publication
         * 
         * @param element
         * @param reference 
@@ -210,39 +254,25 @@ public class ReferenceBaseDetailElement extends AbstractCdmDetailElement<Referen
        
        
        /**
+        * Creates additional controls to edit a section
         * 
         * @param element
         * @param reference 
         * @param style
         */
-       private void createSectionControls(ICdmFormElement element, Reference reference, int style){
-               
-               // in reference
-               if(reference.getType() == ReferenceType.BookSection || reference.getType() == ReferenceType.InProceedings){
-                       String label = "";
-                       if(reference.getType() == ReferenceType.BookSection){
-                               label = "Book";
-                       }else if(reference.getType() == ReferenceType.InProceedings){
-                               label = "Print Series";
-                       }
-                       
-                       selection_inReference = formFactory.createSelectionElement(SelectionType.REFERENCE, getConversationHolder(), element, label, reference.getInReference(), style);
-               }
-               
+       private void createSectionControls(ICdmFormElement element, Reference reference, int style){            
                // pages
                text_pages = formFactory.createTextWithLabelElement(element, "Pages", reference.getPages(), style);
        }
        
        /**
+        * Creates additional controls to edit a volume
         * 
         * @param element
         * @param reference 
         * @param style
         */
        private void createVolumeControls(ICdmFormElement element, Reference reference, int style){
-               if(reference.getType() == ReferenceType.Article){
-                       selection_inReference = formFactory.createSelectionElement(SelectionType.REFERENCE, getConversationHolder(), element, "Journal", reference.getInReference(), style);
-               }
                
                text_volume = formFactory.createTextWithLabelElement(element, "Volume", reference.getVolume(), style);
                
similarity index 88%
rename from taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/ReferenceBaseDetailSection.java
rename to taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/ReferenceDetailSection.java
index 2f34e7ae3bed756e7be09cf7727530279dd98061..fd2c57884b68c58381746ce3e9a47281845d2b3b 100644 (file)
@@ -32,12 +32,7 @@ import eu.etaxonomy.taxeditor.section.ITaxonDetailSection;
  * @created 05.06.2009
  * @version 1.0
  */
-public class ReferenceBaseDetailSection extends AbstractCdmDetailSection<Reference> implements ITaxonDetailSection{
-
-
-       private static final Logger logger = Logger
-                       .getLogger(ReferenceBaseDetailSection.class);
-
+public class ReferenceDetailSection extends AbstractCdmDetailSection<Reference> implements ITaxonDetailSection{
        
        /**
         * <p>Constructor for ReferenceBaseDetailSection.</p>
@@ -48,7 +43,7 @@ public class ReferenceBaseDetailSection extends AbstractCdmDetailSection<Referen
         * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
         * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
         */
-       public ReferenceBaseDetailSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
+       public ReferenceDetailSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
                        ISelectionProvider selectionProvider, int style) {
                super(cdmFormFactory, conversation, parentElement, selectionProvider, style);
        }
index 8b04f931af943e29f13b922fcf01761758e0dfa8..6b407c63ee47981f300f6ec7500c246fa3582a88 100644 (file)
@@ -49,7 +49,7 @@ public class ReferenceWizardPage extends AbstractCdmEntityWizardPage<Reference>
         */
        /** {@inheritDoc} */
        public AbstractCdmDetailElement createElement(ICdmFormElement rootElement){
-               ReferenceBaseDetailElement referenceElement = (ReferenceBaseDetailElement) formFactory.createCdmDetailElement(DetailType.REFERENCEBASE, rootElement, SWT.NULL);
+               ReferenceDetailElement referenceElement = (ReferenceDetailElement) formFactory.createCdmDetailElement(DetailType.REFERENCEBASE, rootElement, SWT.NULL);
                referenceElement.addExceptionHandler(this);
                referenceElement.setEntity(entity);
                return referenceElement;