NameDesign Flaw Severity
God Class: 13
          classGanttProject
          classGanttOptions
          classCSVSettingsPanel
          classGanttTreeTable
          classTaskRendererImpl
          classResourceTreeTable
          classGanttTaskPropertiesBean
          classChartModelImpl
          classGanttGraphicArea
          classGanttTree2
          classChartModelBase
          classGanttResourcePanel
          classLnFSettingsPanel

          10
          10
          9
          8
          7
          7
          6
          4
          3
          3
          3
          3
          2
Cyclic Dependencies: 36
          subsystemsubsystem_src.net.sourceforge.ganttproject.task.dependency.constraint
          subsystemsubsystem_src.net.sourceforge.ganttproject.chart.item
          subsystemsubsystem_src.net.sourceforge.ganttproject.roles
          subsystemsubsystem_src.net.sourceforge.ganttproject.resource
          subsystemsubsystem_src.net.sourceforge.ganttproject.gui.zoom
          subsystemsubsystem_src.net.sourceforge.ganttproject.gui.options
          subsystemsubsystem_src.net.sourceforge.ganttproject.undo
          subsystemsubsystem_src.net.sourceforge.ganttproject
          subsystemsubsystem_src.net.sourceforge.ganttproject.task.dependency
          subsystemsubsystem_src.net.sourceforge.ganttproject.filter
          subsystemsubsystem_src.net.sourceforge.ganttproject.language
          subsystemsubsystem_src.net.sourceforge.ganttproject.time
          subsystemsubsystem_src.net.sourceforge.ganttproject.task
          subsystemsubsystem_src.net.sourceforge.ganttproject.gui.options.model
          subsystemsubsystem_src.net.sourceforge.ganttproject.plugins
          subsystemsubsystem_src.net.sourceforge.ganttproject.time.gregorian
          subsystemsubsystem_src.net.sourceforge.ganttproject.gui
          subsystemsubsystem_src.net.sourceforge.ganttproject.util
          subsystemsubsystem_src.net.sourceforge.ganttproject.calendar
          subsystemsubsystem_src.net.sourceforge.ganttproject.action
          subsystemsubsystem_src.net.sourceforge.ganttproject.task.algorithm
          subsystemsubsystem_src.net.sourceforge.ganttproject.gui.projectwizard
          subsystemsubsystem_src.net.sourceforge.ganttproject.document
          subsystemsubsystem_src.net.sourceforge.ganttproject.chart
          subsystemsubsystem_src.net.sourceforge.ganttproject.parser
          subsystemsubsystem_src.net.sourceforge.ganttproject.action.task
          subsystemsubsystem_src.net.sourceforge.ganttproject.action.resource
          subsystemsubsystem_src.net.sourceforge.ganttproject.io
          subsystemsubsystem_src.net.sourceforge.ganttproject.delay
          subsystemsubsystem_src.net.sourceforge.ganttproject.gui.about
          subsystemsubsystem_src.net.sourceforge.ganttproject.print
          subsystemsubsystem_src.net.sourceforge.ganttproject.export
          subsystemsubsystem_src.net.sourceforge.ganttproject.gui.previousState
          subsystemsubsystem_src.net.sourceforge.ganttproject.action.project
          subsystemsubsystem_src.net.sourceforge.ganttproject.gui.taskproperties
          subsystemsubsystem_src.net.sourceforge.ganttproject.importer

          4
          4
          4
          4
          4
          4
          4
          4
          4
          4
          4
          4
          4
          4
          4
          4
          4
          4
          4
          4
          4
          3
          3
          3
          3
          2
          2
          2
          2
          2
          1
          1
          1
          1
          1
          1
SAP Breakers: 5
          subsystemsubsystem_src.net.sourceforge.ganttproject.shape
          subsystemsubsystem_src.net.sourceforge.ganttproject.filter
          subsystemsubsystem_src.net.sourceforge.ganttproject.chart.item
          subsystemsubsystem_src.net.sourceforge.ganttproject.language
          subsystemsubsystem_src.net.sourceforge.ganttproject.gui.zoom

          10
          8
          7
          7
          5
Data Class: 18
          classGanttDialogInfo
          classCSVOptions
          classUIConfiguration
          classGanttURLChooser
          classGanttExportSettings
          classPrjInfos
          classProjectMenu
          classCustomPropertiesStructure
          classResourceEvent
          classGanttDependStructure
          classCustomColumn
          classChangeValueEvent
          classDayTypeAlternance
          classLibraryInfo
          classHiddenTask
          classText
          classGraphicPrimitive
          classTaskInteractionHintRenderer

          7
          6
          2
          2
          2
          2
          2
          1
          1
          1
          1
          1
          1
          1
          1
          1
          1
          1
Message Chains: 4
          methodinitialize() : void
          methodactionPerformed(ActionEvent e) : void
          methodload(InputStream inStream) : boolean
          methodtaskProgressChanged(TaskPropertyEvent e) : void

          9
          1
          1
          1
Feature Envy: 10
          methodgetIdForName(String colName) : String
          methodreloadColumns() : void
          methodgetNameForId(String id) : String
          methodlanguageChanged(Event event) : void
          methodinitColumnsAlignements() : void
          methodloadTask(Attributes attrs) : void
          methodwriteTaskHeaders(OutputStreamWriter out) : void
          methodpaint(Text next) : void
          methodwriteResourceHeaders(OutputStreamWriter out) : void
          methodinitColumnsAlignements() : void

          5
          5
          5
          5
          5
          5
          4
          3
          2
          2
Blob Operation: 12
          methodstartElement(String namespaceURI, String sName, String qName, Attributes attrs) : void
          methodgetCalendar(String isodate) : Calendar
          methodGanttProject(boolean isOnlyViewer, boolean isApplet)
          methodPrintPreview(IGanttProject project, UIFacade uifacade, Chart chart, Date start, Date end)
          methodloadTask(Attributes attrs) : void
          methodGanttTree2(GanttProject app, TaskManager taskManager, TaskSelectionManager selectionManager, UIFacade uiFacade)
          methodgetValueAt(Object node, int column) : Object
          methodprocessRegularActivity(TaskActivity nextStarted) : Rectangle
          methodgetProperty(Task task, String propertyID) : Object
          methodaddButtons(JToolBar toolBar) : void
          methoddrawDependencies(List dependencyDrawData) : void
          methodGanttResourcePanel(GanttProject prj, GanttTree2 tree, UIFacade uiFacade)

          7
          6
          6
          6
          6
          6
          5
          5
          5
          5
          4
          3
Schizophrenic Class: 7
          classChartModelImpl
          classAbstractChartImplementation
          classGanttResourcePanel
          classTaskDependencyCollectionImpl
          classProxyDocument
          classMutatorImpl
          classResourceLoadGraphicArea

          4
          4
          3
          1
          1
          1
          1
Unstable Dependencies: 5
          subsystemsubsystem_src.net.sourceforge.ganttproject.undo
          subsystemsubsystem_src.net.sourceforge.ganttproject.calendar
          subsystemsubsystem_src.net.sourceforge.ganttproject.gui
          subsystemsubsystem_src.net.sourceforge.ganttproject.action
          subsystemsubsystem_src.net.sourceforge.ganttproject.language

          2
          2
          2
          2
          2
Data Clumps: 9
          methodaddUsingGBL(Container container, Component component, GridBagConstraints gbc, int x, int y, int w, int h) : void
          methodaddUsingGBL(Container container, Component component, GridBagConstraints gbc, int x, int y, int w, int h) : void
          methodaddUsingGBL(Container container, Component component, GridBagConstraints gbc, int x, int y, int w, int h) : void
          methodcalculateOffsets(TimeFrame timeFrame, TimeUnit frameBottomUnit, Date bottomUnitStartDate, TimeUnit offsetUnit, int frameBottomUnitWidth) : Offset
          methodgetTableCellEditorComponent(JTable arg0, Object arg1, boolean arg2, int arg3, int arg4) : Component
          methodgetTableCellEditorComponent(JTable arg0, Object arg1, boolean arg2, int arg3, int arg4) : Component
          methodgetTableCellEditorComponent(JTable arg0, Object arg1, boolean arg2, int arg3, int arg4) : Component
          methodcalculateOffsets(TimeFrame timeFrame, TimeUnit frameBottomUnit, Date bottomUnitStartDate, TimeUnit offsetUnit, int frameBottomUnitWidth) : Offset
          methodcalculateOffsets(TimeFrame timeFrame, TimeUnit frameBottomUnit, Date bottomUnitStartDate, TimeUnit offsetUnit, int frameBottomUnitWidth) : Offset

          4
          4
          4
          1
          1
          1
          1
          1
          1
Intensive Coupling: 5
          methodsetSelectedTask() : void
          methodimportData(Task importRoot, Task root, Map original2imported) : void
          methodapplyChanges(boolean askForApply) : boolean
          methodwriteTask(TransformerHandler handler, GanttTask task, CustomColumnsStorage customColumns) : void
          methodpaintComponent(Graphics g) : void

          3
          3
          2
          2
          2
Sibling Duplication: 2
          methodsetValue(String value) : void
          methodsetValue(String value) : void

          2
          2
Blob Class: 1
          classTaskRendererImpl

          5
Internal Duplication: 4
          methodcompare(Object left, Object right) : int
          methodcompare(Object left, Object right) : int
          methodrun() : void
          methodrun() : void

          2
          2
          1
          1