Uploaded image for project: 'IGB'
  1. IGB
  2. IGBF-399

Refactor SeqMapView by introducing new abstractions to reduce complexity of this class

    Details

    • Type: Improvement
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None

      Description

      We should not have a class that is ~3000 lines. There is an obvious failure to apply the single responsibility principle to in this location of the code. Please spend some time refactoring this code.

        Attachments

          Activity

          Hide
          tmall Tarun Mall (Inactive) added a comment -

          commit 00d6e030ab90a720b6771591ad8933c01a710f16
          Merge: d317e8c 34b8ef0
          Author: hillrunner2008 <Hillrunner2008@gmail.com>
          Date: Tue Feb 10 10:29:52 2015 -0500

          Merged in c2tarun/integrated-genome-browser/IGBF-323 (pull request #206)

          Code refactoring of SeqMapView done.

          Show
          tmall Tarun Mall (Inactive) added a comment - commit 00d6e030ab90a720b6771591ad8933c01a710f16 Merge: d317e8c 34b8ef0 Author: hillrunner2008 <Hillrunner2008@gmail.com> Date: Tue Feb 10 10:29:52 2015 -0500 Merged in c2tarun/integrated-genome-browser/ IGBF-323 (pull request #206) Code refactoring of SeqMapView done.
          Hide
          mason Mason Meyer (Inactive) added a comment - - edited

          While testing I noticed that the foreground color was not being respected. The foreground color should change the color of the annotations/reads but it changed the track label instead.

          Also, a null pointer exception was generated when changing the color settings under the Annotation tab (see exception below).

          Moving back to To-Do column.

          Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
          at com.affymetrix.igb.action.ChangeColorActionA.performAction(ChangeColorActionA.java:97)
          at com.affymetrix.igb.shared.Actions.setLabelColor(Actions.java:44)
          at com.affymetrix.igb.shared.StylePanelImpl.labelColorComboBoxActionPerformedA(StylePanelImpl.java:85)
          at com.affymetrix.igb.shared.StylePanel.labelColorComboBoxActionPerformed(StylePanel.java:146)
          at com.affymetrix.igb.shared.StylePanel$$Lambda$125/987834065.actionPerformed(Unknown Source)
          at com.jidesoft.combobox.AbstractComboBox.fireActionEvent(Unknown Source)
          at com.jidesoft.combobox.AbstractComboBox.setSelectedItem(Unknown Source)
          at com.jidesoft.combobox.ColorComboBox.setSelectedItem(Unknown Source)
          at com.jidesoft.combobox.AbstractComboBox.setSelectedItem(Unknown Source)
          at com.jidesoft.combobox.AbstractComboBox$3.itemStateChanged(Unknown Source)
          at com.jidesoft.combobox.PopupPanel.fireItemStateChanged(Unknown Source)
          at com.jidesoft.combobox.PopupPanel.setSelectedObject(Unknown Source)
          at com.jidesoft.combobox.PopupPanel.setSelectedObject(Unknown Source)
          at com.jidesoft.combobox.ColorChooserPanel.setSelectedColor(Unknown Source)
          at com.jidesoft.combobox.ColorChooserPanel$d_.actionPerformed(Unknown Source)
          at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
          at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
          at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
          at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
          at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
          at com.jidesoft.plaf.basic.BasicJideButtonListener.mouseReleased(Unknown Source)
          at java.awt.Component.processMouseEvent(Unknown Source)
          at javax.swing.JComponent.processMouseEvent(Unknown Source)
          at java.awt.Component.processEvent(Unknown Source)
          at java.awt.Container.processEvent(Unknown Source)
          at java.awt.Component.dispatchEventImpl(Unknown Source)
          at java.awt.Container.dispatchEventImpl(Unknown Source)
          at java.awt.Component.dispatchEvent(Unknown Source)
          at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
          at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
          at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
          at java.awt.Container.dispatchEventImpl(Unknown Source)
          at java.awt.Window.dispatchEventImpl(Unknown Source)
          at java.awt.Component.dispatchEvent(Unknown Source)
          at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
          at java.awt.EventQueue.access$400(Unknown Source)
          at java.awt.EventQueue$3.run(Unknown Source)
          at java.awt.EventQueue$3.run(Unknown Source)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
          at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
          at java.awt.EventQueue$4.run(Unknown Source)
          at java.awt.EventQueue$4.run(Unknown Source)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
          at java.awt.EventQueue.dispatchEvent(Unknown Source)
          at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
          at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
          at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
          at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
          at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
          at java.awt.EventDispatchThread.run(Unknown Source)

          Show
          mason Mason Meyer (Inactive) added a comment - - edited While testing I noticed that the foreground color was not being respected. The foreground color should change the color of the annotations/reads but it changed the track label instead. Also, a null pointer exception was generated when changing the color settings under the Annotation tab (see exception below). Moving back to To-Do column. Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at com.affymetrix.igb.action.ChangeColorActionA.performAction(ChangeColorActionA.java:97) at com.affymetrix.igb.shared.Actions.setLabelColor(Actions.java:44) at com.affymetrix.igb.shared.StylePanelImpl.labelColorComboBoxActionPerformedA(StylePanelImpl.java:85) at com.affymetrix.igb.shared.StylePanel.labelColorComboBoxActionPerformed(StylePanel.java:146) at com.affymetrix.igb.shared.StylePanel$$Lambda$125/987834065.actionPerformed(Unknown Source) at com.jidesoft.combobox.AbstractComboBox.fireActionEvent(Unknown Source) at com.jidesoft.combobox.AbstractComboBox.setSelectedItem(Unknown Source) at com.jidesoft.combobox.ColorComboBox.setSelectedItem(Unknown Source) at com.jidesoft.combobox.AbstractComboBox.setSelectedItem(Unknown Source) at com.jidesoft.combobox.AbstractComboBox$3.itemStateChanged(Unknown Source) at com.jidesoft.combobox.PopupPanel.fireItemStateChanged(Unknown Source) at com.jidesoft.combobox.PopupPanel.setSelectedObject(Unknown Source) at com.jidesoft.combobox.PopupPanel.setSelectedObject(Unknown Source) at com.jidesoft.combobox.ColorChooserPanel.setSelectedColor(Unknown Source) at com.jidesoft.combobox.ColorChooserPanel$d_.actionPerformed(Unknown Source) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at com.jidesoft.plaf.basic.BasicJideButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$400(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
          Hide
          mason Mason Meyer (Inactive) added a comment -

          My testing verifies that IGB is still stable and operating as expected after the refactoring. Since this story is resolved it will now be closed.

          Show
          mason Mason Meyer (Inactive) added a comment - My testing verifies that IGB is still stable and operating as expected after the refactoring. Since this story is resolved it will now be closed.

            People

            • Assignee:
              mason Mason Meyer (Inactive)
              Reporter:
              dcnorris David Norris (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: