JDecisiontable Changelog

What's new in JDecisiontable 2.3.2

Jul 25, 2016
  • The for language resources outside the jar was incorrect. It was not the folder where the jar file is but the current folder. So if you launch from /home/john/ java -jar path/to/jdt/JDecisiontable-2.3.1.jar this folder was not /home/john/path/to/jdt/ but just /home/john/. This made it impossible to roll out extra language files by copy them next to the jar file.

New in JDecisiontable 2.3.0 Beta 1 (Jun 6, 2014)

  • FEATURE: Implemented undo/redo feature.
  • CODE: Tasks like getting a decision table object from JSON string were moved from main class to class DecisiontableChangeManager which keeps not only track of changes but cares also about creating decision tables, building test specifications and building reports. DecisiontableChangeManager only allows readable access to the decision table. So any tasks altering the decision table were moved into DecisiontableChangeManager.

New in JDecisiontable 2.2.0 (May 22, 2014)

  • FEATURE:
  • New menu point to copy the decision table from current tab to the clipboard. Ctrl + c works only when you click on the label on top of the tab first and then press Ctrl + c. (Catching Ctrl + c for writing the decision table to clipboard no matter what control has th focus would break the existing behaviour that you can copy the content any cell or range of cells to the clipboard.)
  • Two menu points to get a test specification (either with checking the decision table and splitting the rules or without both) from the decision table in the current tab and write it to the clipboard.

New in JDecisiontable 2.1.0 (May 15, 2014)

  • FEATURE: JDecisiontable now remembers the last path used to save a decision-table as JSON (*.5dt) or to create a decision table from a text file. If you save a decision table as JSON (*.5dt) a last saved path from above will be proposed. If no path was saved yet it proposes the home folder of the current user. If you want to export a decision table as CSV (*.dt.csv) or export a test specification (as CSV, *.ts.csv, or JSON, *.ts) it will check first if you saved the decision table as JSON (*.5dt). If so it proposes the same path and file name but the file name suffix for this type of file (see above). If you did not save the decision table as JSON (*.5dt) before it proposes the last path where the current user saved a decision table as JSON. It remembers this path as described above. If such path is not available it proposes the home folder of the current user.
  • BUGFIX: On Microsoft Windows you do not need to provide resource files (currently there are two, StringResource.json and StringResource_de.json) in the same folder with the JDecisiontable*.jar/JDecisiontable*.exe file any longer.
  • BUGFIX: On Microsoft Windows you may use Windows Editor (aka notepad.exe) to create, edit and save StringResource files. Sorry Microsoft for blaming Windows - it was my fault.
  • BUGFIX: Column headers on left table were always in English. Now they should appear in same language as menus, messages and so on.
  • FEATURE: If the existing rules fill the complete space available in right pane and then another rule is created it should scroll to the very right so the new rule is visible immediately.
  • BUGFIX: Added two non-editable rows at bottom of left table so if scroll the left table to bottom you got the last node on same height as is't decisions on the right table.
  • FEATURE: The left table shows as first column an ID for each node. The ID consists of numbers from 1..n.
  • FEATURE: When working on the right table the whole row of the left table gets a different colour. So the ID of the current node is highlighted too.
  • FEATURE: If you scroll down (horizontal) on left table the right table will move down too - and vice versa. Thus you see always each node in opposite to the corresponding decisions of the rules. At all, I won't recommend to create decision tables that large that one need to scroll up and down to view them because they are much to hard to understand. Better connect several small decision tables by using the successor field (last row of right table). But if you know what you're doing you can work on incredible large decision tables.
  • FEATURE: The user may choose the background colour for the active row in the left table when working with rules. The selected colour will be saved in the user preferences so this colour appears again after the program was quitted.
  • FEATURE: I added a new menu item: Help > Licence for JDecisiontable which shows the licence only. Help > About JDecisiontable now tells about this programs author, home page, and where it is hosted only.
  • Important for TRANSLATORs: I changed the resource strings "msgHelpHelp0" "msgHelpHelp1" and "msgHelpAbout0" "msgHelpAbout1" so that "msgHelp.*0" is always the string shown in the title of the dialog window while "msgHelp.*[1-9]" is the message text shown in the dialog window.
  • CODE/FEATURE: JDecisiontable now uses the much simpler facility de.mgmechanics.myflipflops.File.SimplestCsv instead of net.sf.opencsv (http://opencsv.sourceforge.net/). Therefore net.sf.opencsv was removed from project dependencies and THIRD_PARTY_LICENSES. The feature in it is that if you managed to copy line feeds or tab white-space in the description field of a node these white spaces will be removed in the CSV-file (but not in the 5DT- or 5TS-file).
  • BUGFIX: I changed the encoding for CSV files from UTF-8 without BOM to UTF-16LE (with BOM) because I figured out that Microsoft Excel can open these files just as it's own file format. No more "split text in columns"! Furthermore Microsoft Excel isn't able to decode CSV files encoded as UTF-8 without BOM properly becuase it doesn't use UTF-8 as default character encoding. So you can not use letters which are not part of the English alphabet like like German umlaut with version prior to 2.1. Therefore this is a bug-fix.
  • BUGFIX: In version 2.0.1 and earlier if you tried to save a file file.5dt in a folder my.path and typed only "file" at the dialog you got a file my.5dt due a unsuitable algorithm in the library myflipflops. This bug is fixed. (Workaround: Always type the file extension at the file save dialog.
  • FEATURE: The proposed file name suffixes for CSV files were extended: decision tables now are named *.dt.csv and test specifications are named *.ts.csv. Reason: If you want to export a decision table and it's test specification to CSV you never overwrite the file .dt.csv with .ts.csv. I use to export the decision table as CSV too for documentation purposes.
  • FEATURE: This one is interesting for translators: The StringResource files now must use {1}, {2}, {3} and so on to insert strings at run time. ({1} will replaced by the first string, {2} by the second and so on). The place holders specified by String.format(...) does no longer work!
  • FEATURE: I changed the numbers causing to switch the comparisons in the node (= left) part of the table. The existing combination was hard to remember. Now it is: 5: >, 4: > = , 3: =, 2: < =, 1 : < (Mnemonic: 5 is the biggest number, it is greater than the other numbers; 1 is the least number, it is less than the other numbers.)
  • Changes that affect developers only:
  • CODE: Moved GUI-tests from main project to a sub-project named "Test". Now you can build the whole project without running through all GUI-tests each time. Also, the ugly duplication of dependencies in the pom file is gone. "Real" Unit-tests (testing non-GUI classes) remains in the main project because they're done fast.
  • CODE: Updated myflipflops to version 1.1.0. First, it means to upgrade the code for reading text resources in JDecisiontable(String title, String[] args).
  • CODE: Replaced using class de.mgmechanics.myflipflops.io.File by java.io.file using de.mgmechanics.myflipflops.File.FileExtensionUtils.
  • CODE: Is uses now JDecisiontableLib version 2.0.0. There should be no changes in behaviour or any use case.
  • CODE: Updated included library Google Gson from version 2.2.2 to 2.2.4. Reason: There are some bug fixes available, read http://sites.google.com/site/gson/gson-roadmap
  • CODE: We use now an enumeration instead of raw strings as keys for text resources.

New in JDecisiontable 2.0.1 (Mar 16, 2013)

  • Solved the problem with german umlauts and other non-ASCII chars in the version for Microsoft® .NET®. The solution was to change the class de.mgmechanics.myflipflops.File.TextResource. Now it is possible to read _all_ resource files either from outside the jar or exe file XOR from inside. Which one will be used - those from inside or outside jar/exe? While launching JDecisiontable looks for a file StringResource.json in the same folder as the jar/exe is. If found it used it as default resource file and tries to read all other resource files from same place. If they are not there they are considered to be not available. So we ship the resource files for the Microsoft® .NET® - version of JDecisiontable in same folder as JDecisiontable*.exe and IKVM*.dlls. For the Java version this is not needed so all you need to run JDecisiontable is the JDecisiontable*jar file.
  • Ctrl + "#" does not work in JDecisiontable for Microsoft® .NET®. Use Ctrl + T instead. Ctrl + "-" does not work in JDecisiontable for Microsoft® .NET®. Type "d" to get a "don't care" - decision.
  • Catching letters to know which key user typed does not work in JDecisiontable for Microsoft.NET.

New in JDecisiontable 1.0.2 (Nov 12, 2012)

  • BUGFIX: In one place in the sources, the decision table was cloned but the clone was used there a reference was expected. This could have serious odd effects in relation with checking and saving decision tables.

New in JDecisiontable 1.0 Pre 5 (Jun 25, 2012)

  • Changed the icons on each tab. There are only three icons: red circle/cross: running all checks failed, green circle/black circle: running all checks passed, yellow circle/triangle: decision table was changed.