From 992e8161134e17583812ee0a3be1fa4e134b3c1f Mon Sep 17 00:00:00 2001 From: Raphael Girardot <raphael.girardot@synchrotron-soleil.fr> Date: Tue, 8 Oct 2013 14:47:52 +0000 Subject: [PATCH] some code cleaning --- dockingcore/pom.xml | 4 +++ .../fr/soleil/docking/ADockingManager.java | 32 ++++++++++--------- .../docking/action/NewPerspectiveAction.java | 2 +- .../action/SelectPerspectiveAction.java | 13 +++++--- .../docking/component/PerspectiveMenu.java | 8 +++-- .../perspective/PerspectiveFactory.java | 27 +++++++++++----- .../fr/soleil/docking/view/ViewFactory.java | 3 +- 7 files changed, 56 insertions(+), 33 deletions(-) diff --git a/dockingcore/pom.xml b/dockingcore/pom.xml index 183b542..d320663 100644 --- a/dockingcore/pom.xml +++ b/dockingcore/pom.xml @@ -69,6 +69,10 @@ <groupId>org.swinglabs</groupId> <artifactId>swingx</artifactId> </dependency> + <dependency> + <groupId>fr.soleil.lib</groupId> + <artifactId>BasicUtilities</artifactId> + </dependency> </dependencies> </project> diff --git a/dockingcore/src/main/java/fr/soleil/docking/ADockingManager.java b/dockingcore/src/main/java/fr/soleil/docking/ADockingManager.java index 38790bd..1cd45a0 100644 --- a/dockingcore/src/main/java/fr/soleil/docking/ADockingManager.java +++ b/dockingcore/src/main/java/fr/soleil/docking/ADockingManager.java @@ -14,6 +14,7 @@ import fr.soleil.docking.exception.DockingException; import fr.soleil.docking.perspective.IPerspective; import fr.soleil.docking.perspective.IPerspectiveFactory; import fr.soleil.docking.view.IViewFactory; +import fr.soleil.lib.project.ObjectUtils; /** * A class that prepares docking. Obtain your RootWindow from this class. @@ -133,25 +134,26 @@ public abstract class ADockingManager implements PropertyChangeListener { @Override public void propertyChange(PropertyChangeEvent evt) { - if (evt.getSource().equals(perspectiveFactory)) { - if (evt.getPropertyName().equals(IPerspectiveFactory.SELECTED_PERSPECTIVE)) { - IPerspective oldd = (IPerspective) evt.getOldValue(); - IPerspective neww = (IPerspective) evt.getNewValue(); - try { - if (automaticallySavePerspective) { - this.savePerspective(oldd); + if (evt != null) { + if (ObjectUtils.sameObject(perspectiveFactory, evt.getSource())) { + if (IPerspectiveFactory.SELECTED_PERSPECTIVE.equals(evt.getPropertyName())) { + IPerspective oldd = (IPerspective) evt.getOldValue(); + IPerspective neww = (IPerspective) evt.getNewValue(); + try { + if (automaticallySavePerspective) { + this.savePerspective(oldd); + } + this.loadPerspective(neww); + } catch (DockingException e) { + e.printStackTrace(); } - this.loadPerspective(neww); - } catch (DockingException e) { - e.printStackTrace(); } - } - } else if (evt.getSource().equals(viewFactory)) { - if (evt.getPropertyName().equals(IViewFactory.VIEWS)) { - this.updateViews(evt); + } else if (ObjectUtils.sameObject(viewFactory, evt.getSource())) { + if (IViewFactory.VIEWS.equals(evt.getPropertyName())) { + this.updateViews(evt); + } } } - } protected abstract void updateViews(PropertyChangeEvent evt); diff --git a/dockingcore/src/main/java/fr/soleil/docking/action/NewPerspectiveAction.java b/dockingcore/src/main/java/fr/soleil/docking/action/NewPerspectiveAction.java index eabdf29..cb959f8 100644 --- a/dockingcore/src/main/java/fr/soleil/docking/action/NewPerspectiveAction.java +++ b/dockingcore/src/main/java/fr/soleil/docking/action/NewPerspectiveAction.java @@ -55,7 +55,7 @@ public class NewPerspectiveAction extends AbstractAction { public void actionPerformed(ActionEvent e) { IPerspective current = factory.getSelectedPerspective(); String result = JOptionPane.showInputDialog("Enter the name of the new perspective"); - if (!result.equals("")) { + if ((result != null) && (!result.trim().isEmpty())) { IPerspective p = factory.createPerspective(result); byte[] array = current.getByteArray(); byte[] copy = (array == null ? null : array.clone()); diff --git a/dockingcore/src/main/java/fr/soleil/docking/action/SelectPerspectiveAction.java b/dockingcore/src/main/java/fr/soleil/docking/action/SelectPerspectiveAction.java index ecbf614..518d731 100644 --- a/dockingcore/src/main/java/fr/soleil/docking/action/SelectPerspectiveAction.java +++ b/dockingcore/src/main/java/fr/soleil/docking/action/SelectPerspectiveAction.java @@ -13,6 +13,7 @@ import javax.swing.KeyStroke; import fr.soleil.docking.perspective.IPerspective; import fr.soleil.docking.perspective.IPerspectiveFactory; +import fr.soleil.lib.project.ObjectUtils; public class SelectPerspectiveAction extends AbstractAction implements PropertyChangeListener { @@ -65,11 +66,13 @@ public class SelectPerspectiveAction extends AbstractAction implements PropertyC @Override public void propertyChange(PropertyChangeEvent evt) { - if (evt.getPropertyName().equals(IPerspectiveFactory.SELECTED_PERSPECTIVE)) { - if (evt.getNewValue().equals(this.perspective)) { - putValue(SELECTED_KEY, true); - } else { - putValue(SELECTED_KEY, false); + if (evt != null) { + if (IPerspectiveFactory.SELECTED_PERSPECTIVE.equals(evt.getPropertyName())) { + if (ObjectUtils.sameObject(evt.getNewValue(), this.perspective)) { + putValue(SELECTED_KEY, true); + } else { + putValue(SELECTED_KEY, false); + } } } } diff --git a/dockingcore/src/main/java/fr/soleil/docking/component/PerspectiveMenu.java b/dockingcore/src/main/java/fr/soleil/docking/component/PerspectiveMenu.java index bba0fbb..f569661 100644 --- a/dockingcore/src/main/java/fr/soleil/docking/component/PerspectiveMenu.java +++ b/dockingcore/src/main/java/fr/soleil/docking/component/PerspectiveMenu.java @@ -27,9 +27,11 @@ public class PerspectiveMenu extends javax.swing.JMenu implements PropertyChange @Override public void propertyChange(PropertyChangeEvent evt) { - if (evt.getSource() instanceof IPerspectiveFactory) { - if (evt.getPropertyName().equals(IPerspectiveFactory.PERSPECTIVES)) { - + if (evt != null) { + if (evt.getSource() instanceof IPerspectiveFactory) { + if (IPerspectiveFactory.PERSPECTIVES.equals(evt.getPropertyName())) { + // TODO + } } } } diff --git a/dockingcore/src/main/java/fr/soleil/docking/perspective/PerspectiveFactory.java b/dockingcore/src/main/java/fr/soleil/docking/perspective/PerspectiveFactory.java index 84d2078..3e28a77 100644 --- a/dockingcore/src/main/java/fr/soleil/docking/perspective/PerspectiveFactory.java +++ b/dockingcore/src/main/java/fr/soleil/docking/perspective/PerspectiveFactory.java @@ -15,6 +15,7 @@ import fr.soleil.docking.action.NewPerspectiveAction; import fr.soleil.docking.action.RemovePerspectiveAction; import fr.soleil.docking.action.SelectPerspectiveAction; import fr.soleil.docking.exception.DockingException; +import fr.soleil.lib.project.ObjectUtils; public class PerspectiveFactory implements IPerspectiveFactory { @@ -63,12 +64,15 @@ public class PerspectiveFactory implements IPerspectiveFactory { } @Override - public IPerspective getPerspective(Object name) { + public IPerspective getPerspective(Object id) { IPerspective result = null; - for (IPerspective perspective : perspectives) { - if (perspective.getName().equalsIgnoreCase((String) name)) { - result = perspective; - break; + if (id instanceof String) { + String name = (String) id; + for (IPerspective perspective : perspectives) { + if (name.equalsIgnoreCase(perspective.getName())) { + result = perspective; + break; + } } } return result; @@ -81,7 +85,8 @@ public class PerspectiveFactory implements IPerspectiveFactory { @Override public void setSelectedPerspective(IPerspective selectedPerspective) { - if (!this.selectedPerspective.equals(selectedPerspective) && this.perspectives.contains(selectedPerspective)) { + if ((selectedPerspective != null) && (!selectedPerspective.equals(this.selectedPerspective)) + && perspectives.contains(selectedPerspective)) { IPerspective old = this.selectedPerspective; this.selectedPerspective = selectedPerspective; support.firePropertyChange(SELECTED_PERSPECTIVE, old, this.selectedPerspective); @@ -219,8 +224,14 @@ public class PerspectiveFactory implements IPerspectiveFactory { @Override public IPerspective removePerspective(final IPerspective p) { - int index = perspectives.indexOf(p); - if (index != -1 && !(p instanceof ResourcePerspective) && !p.getName().equals(defaultPerspectiveName)) { + int index; + if (p == null) { + index = -1; + } else { + index = perspectives.indexOf(p); + } + if ((index > -1) && (!(p instanceof ResourcePerspective)) + && (!ObjectUtils.sameObject(p.getName(), defaultPerspectiveName))) { // Exist and it's not the default perspective perspectives.remove(index); support.fireIndexedPropertyChange(PERSPECTIVES, index, p, null); diff --git a/dockingcore/src/main/java/fr/soleil/docking/view/ViewFactory.java b/dockingcore/src/main/java/fr/soleil/docking/view/ViewFactory.java index 513458f..c7856bf 100644 --- a/dockingcore/src/main/java/fr/soleil/docking/view/ViewFactory.java +++ b/dockingcore/src/main/java/fr/soleil/docking/view/ViewFactory.java @@ -16,6 +16,7 @@ import java.util.prefs.Preferences; import javax.swing.Action; import fr.soleil.docking.action.ViewAction; +import fr.soleil.lib.project.ObjectUtils; public class ViewFactory implements IViewFactory { @@ -32,7 +33,7 @@ public class ViewFactory implements IViewFactory { public IView getView(Object id) { IView result = null; for (IView view : views) { - if (view.getId().equals(id)) { + if (ObjectUtils.sameObject(id, view.getId())) { result = view; break; } -- GitLab