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