Releases: nasa/CCDD
Releases · nasa/CCDD
CCDD version 2.1.3
- Added the row number column to the data field table SQL UPDATE and INSERT commands. This keeps the fields in the correct order
- Updated the default Enum size data field to accept INTEGER inputs only
- Added check to the table cell validation to prevent entering an array member (a variable name with a square bracket character) directly into a variable name column
- Changed the CSV hander fieldColumnNames array size (value didn't account for the row number column)
- Updated CSV table definition import in importTableDefinitions()
- Changed to clear StringBuilders using setLength(0) (speed improvement)
- Updated the C header conversion to include array member rows. A parent component is now required in the convertFile method in case the GUI is hidden
- Corrected the JSON and CSV import preparation method so that only a call to delete prototype (versus prototype and child) tables is made when the option to delete non-existent tables is selected
- Getting the rate parameters from the database has been separated from the rate handler constructor. If an error occurs retrieving the rate parameters an exception is thrown since the database table handler has not been fully initialized
- Corrected storeRateParameters so that the initial (integer) parameter is converted to a string when creating the StringBuilder
- Corrected isFieldInformationChanged so that it returns true if a difference is detected
- A question dialog outputs only the message if program output is redirected. If a button panel is provided then the last button is automatically selected
- Changed the primary key column definition to accept 0, and not just positive integers. A patch is implemented that allows the user to update existing projects
- Corrected a bug that removed cell selection and focus with one or more rows were moved in a table with hidden array members
- Altered the patch handler to accept three stages of patch implementation
- Removed sorting of the issues found during project verification. The sorting adversely affected implementation of the fixes
- Corrected a bug in the Py4J gateway server class that prevented Jython from loading when Py4J wasn't present
CCDD Version 2.1.2
- Added support for Python 3 using the Py4J interface (Python 2.7 is also supported using Py4J). In order to use this capability, Py4J must be installed, and existing scripts will require modification.
- Corrected a bug that left a table description entry for the original table name in the custom values table when the table name is changed
- Changed line trimming of imported CSV files so that spaces are preserved between commas and double quotes to accommodate columns with input types that allow leading/trailing spaces
- Corrected the script Replace operation so that it removes the old association instead of the new one
- Altered the script execution cancellation dialog's progress bar to indicate when table data is loaded for each script association
- Added test to Verify to check for for valid command argument reference flag values, which are embedded in the table type description
- Corrected the case when storing the table types where the last INSERT INTO command has no values to store (resulted in an SQL error since the command was incomplete)
- Changed the script association name input type from ALPHANUMERIC to TEXT. This is mainly to allow spaces in the name, but other characters are not allowed as well
- Corrected a bug when importing data into a table with the 'Replace existing table(s)' check box selected. The current table contents is first deleted
CCDD Version 2.1.1
- The CCDD 1 -> CCDD 2 conversion patch is removed. Github now shows CCDD 2 as the default branch. CCDD 1 (the master branch) is retained for archival purposes
- Added SQL network (database response) and query timeouts. The default is 5 seconds; the value can be altered in the Preferences dialog
- Updated the embedded JDBC driver to 42.5.2 (supports Java 8 and above)
- Added missing database roll-back commands if an error occurs making a verification fix or when modifying tables due to input type changes
- Added save point and roll-back commands when creating, renaming, copying, and modifying tables
- Corrected SQL error when copying the currently open project
- Changed the rename project command to allow renaming the currently open project
- Corrected an out of index error if pasting into a non-data table (e.g., macro editor) and insufficient rows exist for the pasted data
- Changed the behavior when pasting structure table data. Pasted data is handled as with other tables where each cell is evaluated just as if the user is typing the cell value in one at a time in sequence (left to right, top to bottom). If the structure contains an array and the array members are hidden then when pasting data the array member rows are treated as if they aren't there (i.e., the array member rows are skipped and pasting continues on the next row). If the array members are visible (expanded) then the pasted data does not skip the array member cells, but treats them like all other cells
- Deleted a duplicate call to update open table editors if a table type is altered
- Added an update to the fixed column's row sorter when a data table is displaying the fixed column
- Removed call to fireTableDataChanged in loadDataArrayIntoTable to prevent the table from scrolling unexpectedly after inserting a row, then altering a cell in the new row
- Removed call to addChangeListener in FixedColumnHandler to allow scrolling to the bottom of a table when a row is inserted
- Changed getTableTreePathList to use a HashSet so that duplicate variables are automatically excluded
- Simplified the verification of the custom values table
- Corrected JSON and CSV export bug introduced in version 2.1.0
- Changed table row insertion so that the row is inserted at the row selected (instead of below it)
- Corrected error when performing table deletions where changes were not committed to the database
- Corrected bug when deleting custom value entries for tables with square brackets ([ or ]) in the name (i.e., structure arrays). This led to duplicate entries for a table's columns in the custom values table
- Corrected bug when importing a CSV or JSON file into an open table editor
- Adjusted error handling in the CSV handler
- Corrected formatting of the snapshot2 JSON data output to prevent false file difference indications
- Increased the default values for "PostgreSQL connection timeout" (was 5 seconds, now 10) and "PostgreSQL database timeout" (was 5 seconds, now 60), and increased the maximum values from 60 to 600 seconds. Queries for large databases can take longer then the old default value of 5 seconds ("PostgreSQL database timeout")
CCDD Version 2.1.0
Below is a brief description of what has changed between versions 2.0.28 and 2.1.0
- Where applicable, assign the 'owner' dialog when performing a background operation so that the dialog's controls are disabled
- Simplified pre-loading table members and default table tree creation handling (pre-loading and the default tree can speed opening dialogs containing a tree and filtering the tree)
- Added pre-building of a table type filtered default tree
- Where applicable, moved background completion steps to the execution method so that the GUI is released when the pointer indicates the operation is complete
- Updated the SQL function for loading table members so that array members are sorted. This prevents needing to perform the sort in the Java code, which is much slower
- Broke up lengthy SQL commands into multiple, shorter commands (a continuation of updates made in version 2.0.32)
- Added a check in the database verification for duplicate custom values entries (entries having the same table path and column; there should never be more than one)
- Changed the database verification dialog so that it remains visible after an issue (or issues) is fixed so that other, unselected issues can be selected to fix without having to rerun the verification
- Updated the data table editor to prevent unexpected scrolling when one or more table rows is added/deleted
- Eliminated the use of the built-in OID (object identifiers) support. Built-in OID support was removed beginning with PostgreSQL 12. This update allows the use of PostgreSQL 8 and above with CCDD. In place of the built-in OID column support are added to the internal database tables that behave in the same manner as the built-in columns. A database created using an earlier version can be modified to this version when the project is opened (the conversion is not reversible).
- Corrected parsing of data values when pasting into a table from the clipboard. Tab characters (\t) were inadvertently changed to spaces in an earlier version. Also corrected handling of pasting data that extends outside a non-data table's column boundaries (excess data is simply ignored).
- Updated the C header to structure conversion and import. More complex macros are allowed as array sizes.
CCDD Version 2.0.38
Below is a brief description of what has changed from version 2.0.37 to 2.0.38.
- Corrected the exception thrown due to a missing ENUM table type when opening a database for the first time
- Removed patches from the patch handler dated before 6/1/2019. These patches can be found in version 2.0.37
CCDD Version 2.0.27
Below is a brief description of what has changed from version 2.0.25 to 2.0.26.
- Performance updates to increase the efficiency of imports and exports for large databases.
- Addressed an error that did not allow a user to import a macro that was used. but not defined in a C-header file that was being imported.
- Addressed an XTCE import issue that would not allow a user to import an XTCE file with a command table in it.
CCDD Version 2.0.26
Below is a brief description of what has changed from version 2.0.25 to 2.0.26.
- Updated the copy and paste functionality so that users can now copy and paste data to the array size column while also fixing an issue preventing users from pasting large amounts of data all at once.
- Addressed an issue with the copy and paste functionality that prevented users from copying and pasting Booleans
- Addressed an issue with pre-loaded table members that was causing an error when opening a new database immediately after closing another
- Addressed an issue that prevented importing changes directly into a table editor
- Addressed an issue where the 'All Tables' group was not being updated properly
- Updated CCDD to export Reserved Message ID's and Project Data Fields to their own individual files.
- No longer need to select files from the table tree when exporting the entire database. Just click the 'Export Entire Database' checkbox and all contents of the database are exported
- Addressed a bug that was causing duplicated data fields when converting a root table to a child table
- CCDD can now accurately track the size of an Enum table by looking at the user defined size field of the table
- Added a values column to the Enum table type
- CCDD now properly exports file creation info
- Addressed an issue that was causing scripts to be grayed out due to missing table members caused by an improper search term
- Changes to the table type editor are now properly applied to the rest of the database. This includes any open table editors
- When data fields are imported all open table editors are properly updated. Fixed the 'Append Existing Fields' and 'Use Existing Fields' functionality.
- Copy and paste no longer allows you to modify immutable data.
- Added file headers to each file in CCDD that includes a file description and updated copyright message
- Addressed a performance issue related to the script manager.
- Addressed an issue related to a XTCE export error when exporting arrays
- Increased import performance when importing entire databases from a single JSON or CSV file
- A non-root, non-primitive data type that is converted to a root is now updated as expected.
- Addressed an issue where the C-Header import was not capturing macros
- Addressed an issue that was causing some JSON exports to not include the final brace and bracket. This was preventing users from importing the files.
- Addressed an issue involving renaming tables that caused the table tree not to reflect the new name
- CCDD now checks for duplicate message IDs during the verification process.
- CCDD can now restore a database from JSON or CSV files. Check the users guide for details
CCDD Version 2.0.25
Below is a brief description of what has changed from version 2.0.24 to 2.0.25.
- Addressed a bug that prevented CCDD from auto-correcting data field related issues found during the verification process
- Addressed a bug that prevented users from importing JSON or CSV files that contained info for tables without any rows of data
- Addressed a bug that prevented group data from being exported in CSV format when any of the tables were array members
- Refactored the assign-message-id dialog. Users can now use a table tree to select/omit tables when assigning message ids. Details can be found in the users guide.
- Broke the users guide up to make it more approachable and moved all documents into the 'Docs' directory.
- Updated the CCDD tutorial
- Refactored the code that imports an entire database from a single JSON/CSV file to be more efficient
- Introduced new data access methods in an attempt to make data easier to access in the future while retaining all current data access methods to prevent breaking any existing scripts that projects may be using.
- Addressed a bug that prevented a new root and a child of the new root from being imported at the same time
- Refactored the code that imports data fields as users were encountering many issues when importing various data field changes.
- Refactored the code that clears a directory prior to an export so that it can no longer delete folders. It can only delete JSON or CSV files now. * This is to prevent accidental deletion of unrelated files if an improper directory is selected for an export
- Addressed a performance issue that caused some scripts to take an abnormally long time to finish
- The external C_Header_To_CSV script is no longer needed when attempting to import C header files into CCDD. A user can now directly import them into CCDD by selecting the C_Header import option within CCDD. More details can be found in the users guide.
- Addressed performance issues that were causing the script manager to take an abnormally long time to launch when a large CCDD database was open.
- Addressed performance issues that were causing the 'Filter By Group' option to take an abnormally long time to rebuild the table tree for large databases.
- Addressed an issue that prevented group data fields from being imported via JSON or CSV
- Merged the 'Show variables' and 'Search variables' dialogs
- Addressed a bug that was preventing the table type data from being exported unless the entire database was being exported
New Updates to this version
- Addressed a bug that occurred when trying to copy and paste large amounts of data from table to table
- Addressed a bug that sometimes occurred when closing one database and opening another
- Reserved Message IDs and Project Fields are now exported to their own files rather than being appended to each table definition
CCDD Version 2.0.24
Below is a brief description of what has changed from version 2.0.23 to 2.0.24.
- CCDD has 2 new data types which can be assigned in the data type manager which are 'Structure' and 'Enum'. The Structure data type was added so that users do not have to define a table for every 'Structure' based data type they wish to use. So if you have a Structure that is not defined within your database, like CFE structures that are often shared, but you wish to assign the type to a variable you can now add that type to the data type manager without creating a table and defining all the elements that the structure consists of. The same goes for the 'Enum' type but this can be used for 'typedef enum' structures.
- A new table type was added to CCDD called 'Enum'. This new table allows users to store the names of all of the enums that make up a 'typedef enum' structure. Once this table is defined users can assign the data type to any variable they wish.
- Two new data access methods were added for the new 'Enum' table type so that a user can retrieve all defined Enum tables and their members via scripts. More details available in the users guide.
- The copy and paste functionality has been fixed.
- Redesigned the dialog for assigning message IDs. Details in tutorial and users guide.
- Updated tutorial
CCDD Version 2.0.23
Below is a brief description of what has changed from version 2.0.22 to 2.0.23.
- CCDD can now import and verify 3d arrays
- CCDD can now 'replace existing associations' during an import.
- Fixed a few issues related to changing the size of a macro during an import. Could previously cause errors if the macro was used to define the size of an array.
- Fixed a few issues related to data fields being duplicated for many tables after an import.
- Added a new option to the export command that is used within scripts. For the 'tablepaths' sub-command you can now specify 'all' to export ALL tables within a database.
- Fixed a few issues that prevented importing xtce files.
- Fixed a few issues that were causing array members not to update during an import if they were a member of a non-root prototype table.
- Added new functionality to CCDD so that a user can now import new table type or changes to an existing table type if they wish. All associated files will be updated during the import.
- Updated the users guide to include information related to the new 'tablepaths' option and the new 'replaceExistingAssociations' flags.