Do not save files when clustering

Merged
#146 · Created  · Last updated

Merged pull request

Merged in issue-#510 (pull request #146)

c064787·Author: ·Closed by: ·2017-12-21

Description

SUBMISSION DATE: 10/22/2017

ISSUE NUMBER(S): #510 & #511

BRANCH: https://bitbucket.org/TreeView3Dev/treeview3/branch/issue-%23510

TEST JAR: https://bitbucket.org/TreeView3Dev/treeview3/downloads/treeview3-all-5b97654a.jar

LEVEL OF EFFORT: overhaul

DESCRIPTION OF CHANGES:

This changes file handling from the ground up. Many changes to various classes and modules needed to be performed to decouple clustering from File saving. FileSet, FileMRU, Preferences, Clustering, all classes related to SaveTask() such as *FileGenerators, TreeViewFrame, TVController (for task delegation and menu bar reasons) were adapted.


  • removed author tag

  • removed more author tags

  • updated JavaDoc for SaveTask class

  • updated ClusterFileGenerator JavaDoc

  • deleted ReorderedDataModel, deleted code related to subDataModel; commented out saving behavior for clustering; moved ordering out of ClusterFileGenerator to ClusterDialogController; implemented first draft of method for updating the TVModel in TVController

  • first functioning in-memory update of TVModel; labels and trees still missing

  • added defaults to ClusteredAxisData to avoid NullPointers

  • implemented display of reordered labels; cluster IDs still absent

  • implemented reordered labels for in-memory loading of cluster data

  • in place update of reordered labels implemented

  • extracted code to update the model with cluster information into its own class

  • created special class for adding tree node data to a data model

  • disabled tree file writing; added data member to ClusteredAxisData which stores the list of tree nodes found during clustering

  • in process of adapting SwingWorkers to store information in ClusteredAxisData

  • tidied up the process of adding trees to the model in-memory after clustering

  • SwingWorker tasks for clustering now return filled ClusteredAxisData objects which contains tree node data and reorderedIDs

  • first full working prototype for in-memory clustering without writing files

  • updating file name after clustering to distinguish it from unclustered file

  • updated ModelLoader to allow TVModel Preferences node creation from outside the class

  • moved window-closing code to TVController (belongs there anyway) in order to better implement future model saving code

  • expanded DataModel by two booleans to help appropriate file saving when writing the data

  • transferred file saving code to ModelSaver and created useful subclasses

  • enabled save method; added menu option for saving, ask user to save if file was modified and he attempts to close the app

  • fixed bug where the model did not have its isHierarchical variable set

  • modified save dialog; exception hanling for SaveTask; extended FileFilter; added Apache Commons IO library for save file extension handling

  • implemented FilenameUtils instead of unsafe file extension removal in FileSet

  • fixed file extension issues during saving process

  • updating TVFrame title after saving by notifying observers after Model changed its FileSet

  • checking for existing file before saving

  • setting TVFrame title now only via Observer update

  • working to fix Preferences, FileMRU, and FileSet issues

  • working on Preferences, especially FileMRU settings when saving a clustered file

  • comments and small code improvements

  • implemented tree file saving alongside CDT

  • not doing duplicate remove during FileMRU update

  • updating FileMRU after saving, calling post-saving methods from SaveTask.done()

  • storing cluster details of a Model in Preferences to preserve them across file loads

  • added a dialog asking to save modified data

  • letting all threads wait for SaveTask

  • moved saving complete dialog

  • working to get import dialog behavior right

  • simplified FileSet handling and file identification for Models

  • fixed import dialog pop up when loading a file from known load data

  • removed Model node update before Model node was attached, which caused an exception and prevented loading of trees

  • readding mnu listeners whenever the MenuBar is built; fixed missing file extension in FileMRU list

  • cancelling file load does not reset screen and model anymore and aborts before any data change is performed...

  • HierCluster cleanup

  • reworking handling of reordered axis indices to avoid scrambling and mixture of axis IDs or trees

  • replaced axis ID identifiers

  • fixed small axis identifier bug that messed up clustering data; adapted save before close dialog

  • small changes to HierCluster before refactoring connectNodes()

  • gradle update due to required Apache Commons Lang dependency

  • fixed tree scramble bug

  • some code cleanup

  • removed old viewframe code which is now in TVController

  • removed Apache Commons Lang library (not needed)

  • fixed ClusterFileWriter conflicts

  • fixed ClusterProcessor conflicts

  • fixed conflicts in ClusterDialogController

  • fixed conflicts in MenubarController

  • fixed TVController conflicts

  • fixed ViewFrame conflicts

  • fixed ModelLoader conflicts

  • deleted ReorderedDataModel

  • fixed TVModel conflicts

  • fixed TreeDrawer conflicts

  • fixed unclustered .txt accidentally using createKmeansCDT()

  • now importing Model preferences when saving a file such that they are retained

  • fixed cluster issue where axis IDs were added to labelArray again after multiple clustering (instead of simple reorder)

  • Some cleamups'

0 attachments

0 comments

Loading commits...