From c6fe549a7df3df6cc379b19befa5bd5a55bda028 Mon Sep 17 00:00:00 2001 From: Patric Plitzner Date: Thu, 11 Jul 2013 12:19:03 +0000 Subject: [PATCH] - simplified code/refactoring - fixing warnings --- .gitattributes | 1 + .../ui/element/AbstractCdmFormElement.java | 130 ++++++++++-------- .../ui/element/TextWithLabelElement2.java | 35 +++++ .../ui/section/AbstractCdmDetailElement.java | 4 +- .../name/NonViralNameDetailSection.java | 43 +++--- .../taxeditor/view/AbstractCdmViewPart.java | 4 +- .../taxeditor/view/detail/DetailsViewer.java | 2 +- 7 files changed, 135 insertions(+), 84 deletions(-) create mode 100644 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextWithLabelElement2.java diff --git a/.gitattributes b/.gitattributes index 0d423008f..8e763ae84 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1303,6 +1303,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/Roo eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/SelectionArbitrator.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextActionElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextWithLabelElement.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextWithLabelElement2.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TimePeriodElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/ToggleableTextElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/UriWithLabelElement.java -text diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmFormElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmFormElement.java index c0d3ca65a..6d71b98a8 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmFormElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmFormElement.java @@ -1,5 +1,5 @@ /** - * + * */ package eu.etaxonomy.taxeditor.ui.element; @@ -16,7 +16,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.ui.forms.widgets.Section; -import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.model.AbstractUtility; /** *

Abstract AbstractCdmFormElement class.

@@ -24,22 +24,22 @@ import eu.etaxonomy.taxeditor.store.StoreUtil; * @author n.hoffmann * @version $Id: $ */ -public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, ICdmFormElement { +public abstract class AbstractCdmFormElement implements ICdmFormElement { protected CdmFormFactory formFactory; private List propertyChangeListeners; private Composite layoutComposite; - - private Set controls = new HashSet(); - - private Set elements = new HashSet(); + + private final Set controls = new HashSet(); + + private final Set elements = new HashSet(); private ICdmFormElement parentElement; private Color persistentBackgroundColor; - - + + /** *

Constructor for AbstractCdmFormElement.

* @@ -50,7 +50,7 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, this.layoutComposite = layoutComposite; this.formFactory = formFactory; } - + /** *

Constructor for AbstractCdmFormElement.

* @@ -62,7 +62,7 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, this.parentElement = formElement; // addControl(layoutComposite); } - + /** *

Getter for the field formFactory.

* @@ -71,23 +71,24 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, public CdmFormFactory getFormFactory() { return formFactory; } - + /** * Delegates the focus to this elements main input control */ public void setFocus(){ - // Override in subclasses where needed + // Override in subclasses where needed } - + /** * Returns all Controls that are managed by this element * * @return a {@link java.util.Set} object. */ - public Set getControls(){ + @Override + public Set getControls(){ return controls; } - + /** * adds the control to the set of controls that are managed by this element * @@ -96,7 +97,7 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, protected void addControl(Control child){ controls.add(child); } - + /** *

removeControl

* @@ -105,30 +106,33 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, protected void removeControl(Control child){ controls.remove(child); } - + /** *

Getter for the field elements.

* * @return a {@link java.util.Set} object. */ - public Set getElements(){ + @Override + public Set getElements(){ return elements; } - + /** *

Getter for the field parentElement.

* * @return a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object. */ - public ICdmFormElement getParentElement(){ + @Override + public ICdmFormElement getParentElement(){ return parentElement; } - + /** {@inheritDoc} */ - public void addElement(ICdmFormElement element){ + @Override + public void addElement(ICdmFormElement element){ elements.add(element); } - + /** *

removeElement

* @@ -137,15 +141,16 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, protected void removeElement(ICdmFormElement element){ elements.remove(element); } - + /** *

removeElements

*/ - public void removeElements(){ + @Override + public void removeElements(){ for(ICdmFormElement childElement : getElements()){ // recursion childElement.removeElements(); - + // unregister selection arbitrator if(childElement instanceof ISelectableElement){ SelectionArbitrator selectionArbitrator = ((ISelectableElement) childElement).getSelectionArbitrator(); @@ -153,19 +158,17 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, formFactory.destroySelectionArbitrator(selectionArbitrator); } } - + // unregister from property changes - if(childElement instanceof IPropertyChangeListener){ - formFactory.removePropertyChangeListener((IPropertyChangeListener) childElement); - } - + formFactory.removePropertyChangeListener(childElement); + // dispose of the controls removeControls(childElement); } removeControls(this); elements.clear(); } - + private void removeControls(ICdmFormElement element){ if(element instanceof Section){ ((Section) element).dispose(); @@ -183,16 +186,17 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, } } } - + /** *

Getter for the field layoutComposite.

* * @return a {@link org.eclipse.swt.widgets.Composite} object. */ - public Composite getLayoutComposite() { + @Override + public Composite getLayoutComposite() { return layoutComposite; } - + /** *

Setter for the field layoutComposite.

* @@ -201,7 +205,7 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, public void setLayoutComposite(Composite layoutComposite){ this.layoutComposite = layoutComposite; } - + /* (non-Javadoc) * @see eu.etaxonomy.taxeditor.forms.ICdmFormComposite#getPropertyChangeListeners() */ @@ -210,18 +214,20 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, * * @return a {@link java.util.Set} object. */ - public List getPropertyChangeListeners() { + @Override + public List getPropertyChangeListeners() { return propertyChangeListeners; } - + /* (non-Javadoc) * @see eu.etaxonomy.taxeditor.forms.ICdmFormComposite#setPropertyChangeListeners(org.eclipse.core.runtime.ListenerList) */ /** {@inheritDoc} */ - public void setPropertyChangeListeners(List propertyChangeListeners){ + @Override + public void setPropertyChangeListeners(List propertyChangeListeners){ this.propertyChangeListeners = propertyChangeListeners; } - + /* (non-Javadoc) * @see eu.etaxonomy.taxeditor.forms.IPropertyChangeEmitter#firePropertyChangeEvent() */ @@ -229,7 +235,8 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, * @see eu.etaxonomy.taxeditor.forms.ICdmFormComposite#firePropertyChangeEvent(org.eclipse.jface.util.PropertyChangeEvent) */ /** {@inheritDoc} */ - public void firePropertyChangeEvent(CdmPropertyChangeEvent event) { + @Override + public void firePropertyChangeEvent(CdmPropertyChangeEvent event) { Assert.isNotNull(propertyChangeListeners, "Property change listeners are not present"); try{ @@ -237,34 +244,34 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, ((IPropertyChangeListener)listener).propertyChange(event); } }catch(ConcurrentModificationException e){ - // There are two cases that produce a CME. + // There are two cases that produce a CME. // Described here: http://dev.e-taxonomy.eu/trac/ticket/2363#comment:2 // and here: http://dev.e-taxonomy.eu/trac/ticket/2438 // Ignoring the CME because nothing bad is happening - StoreUtil.warn(getClass(), "ConcurrentModificationException. Can be ignored."); + AbstractUtility.warn(getClass(), "ConcurrentModificationException. Can be ignored."); } } - + /** * Fires a {@link CdmPropertyChangeEvent} with the given object as source. - * + * * @param object the object on which the property changed */ public void firePropertyChangeEvent(Object object){ firePropertyChangeEvent(object, null); } - + /** * Fires a {@link CdmPropertyChangeEvent} with the given object as source also containing the * originating event - * + * * @param object the object on which the property changed * @param originatingEvent the originating event */ public void firePropertyChangeEvent(Object object, PropertyChangeEvent originatingEvent){ firePropertyChangeEvent(new CdmPropertyChangeEvent(object, originatingEvent)); } - + /** * {@inheritDoc} @@ -275,12 +282,14 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, * Implementations should also check for null PropertyChangeEvents and return immediately in that case. * @see eu.etaxonomy.taxeditor.ui.element.ICdmFormElement#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) */ - public void propertyChange(PropertyChangeEvent event) { + @Override + public void propertyChange(PropertyChangeEvent event) { // implement in subclasses } - + /** {@inheritDoc} */ - public boolean containsFormElement(ICdmFormElement formElement){ + @Override + public boolean containsFormElement(ICdmFormElement formElement){ if(formElement == this){ return true; }else{ @@ -293,7 +302,7 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, return false; } } - + /* * (non-Javadoc) * @see eu.etaxonomy.taxeditor.forms.ICdmFormElement#refresh() @@ -301,10 +310,11 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, /** *

refresh

*/ - public void refresh() { - // empty default implementation + @Override + public void refresh() { + // empty default implementation } - + /** {@inheritDoc} */ @Override @@ -313,19 +323,19 @@ public abstract class AbstractCdmFormElement implements IPropertyChangeEmitter, element.setBackground(color); } } - + @Override public void setPersistentBackground(Color color) { persistentBackgroundColor = color; setBackground(color); } - + @Override public Color getPersistentBackground() { return persistentBackgroundColor; } - + public Color getColor(String colorId){ - return StoreUtil.getColor(colorId); + return AbstractUtility.getColor(colorId); } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextWithLabelElement2.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextWithLabelElement2.java new file mode 100644 index 000000000..8837628b1 --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextWithLabelElement2.java @@ -0,0 +1,35 @@ +// $Id$ +/** +* Copyright (C) 2013 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.element; + +import org.eclipse.swt.widgets.Composite; + +/** + * @author pplitzner + * @date 11.06.2013 + * + */ +public class TextWithLabelElement2 extends Composite { + + /** + * Create the composite. + * @param parent + * @param style + */ + public TextWithLabelElement2(Composite parent, int style) { + super(parent, style); + + } + + @Override + protected void checkSubclass() { + // Disable the check that prevents subclassing of SWT components + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java index 62cae18b8..4704d2b24 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java @@ -21,7 +21,7 @@ import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.taxon.TaxonBase; import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; -import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.model.AbstractUtility; import eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent; @@ -265,7 +265,7 @@ public abstract class AbstractCdmDetailElement extends AbstractCdmFormElement */ public void handleException(CdmPropertyChangeEvent event) { // override this in subclasses if you want to deal with the error - StoreUtil.error(event.getSource().getClass(), event.getException()); + AbstractUtility.error(event.getSource().getClass(), event.getException()); } /** diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailSection.java index 6657d7a74..d76f59a91 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NonViralNameDetailSection.java @@ -1,9 +1,9 @@ // $Id$ /** * Copyright (C) 2007 EDIT -* European Distributed Institute of Taxonomy +* 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. */ @@ -11,6 +11,7 @@ package eu.etaxonomy.taxeditor.ui.section.name; import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.ToolBarManager; import org.eclipse.jface.viewers.ISelectionProvider; import org.eclipse.swt.SWT; @@ -20,11 +21,11 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.model.name.NonViralName; import eu.etaxonomy.cdm.model.taxon.TaxonBase; -import eu.etaxonomy.taxeditor.store.StoreUtil; +import eu.etaxonomy.taxeditor.model.AbstractUtility; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.DetailType; import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent; import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; -import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.DetailType; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; import eu.etaxonomy.taxeditor.ui.section.ITaxonBaseDetailSection; @@ -53,20 +54,21 @@ public class NonViralNameDetailSection extends AbstractCdmDetailSection