Integration Tool GUI

From DDCIDeos
Jump to navigationJump to search

This wiki is for ideas for an Integration Tool GUI built into OpenArbor. One fundamental problem is how to avoid duplicating logic between the OpenArbor tool and the command-line pi tool.

  • pi could make processed data available to OpenArbor through an sqlite database (using the -B option to pi). OpenArbor could then read the final budget of each thread, and so fort.
    • GK: This is my lesser favorite option as it places the burden of an ever evolving database schema into both OA and the command line tools (i.e., its an informal interface). Granted, it may have some performance benefits, but ... it will be more difficult to maintain.
  • OpenArbor could interface with pi's python code directly though a Jython interface.
    • This is the original architecture idea from 2002'ish.
      • The GUI passes all XML in build scope to the command line tool to populate a database (which is now strictly sqlite)
      • resource change listeners assigned to the XML so that changes to the XML files (concurrent edits) could be managed.
      • Jython and JDBC used to enable command line tool methods to be called (access data, validate data, collect error messages, etc. in a formal interface)
      • command line tools accepted either a populated database or XML as input, and would perform the generation of outputs. Those switches have been removed from ioi/it command line tools, as curious users were starting to do bad things with them (support-wise). The code still exists; the features could be reenabled pretty easy.
    • Jython problems:
      • The Jython distribution of python might be short on some packages we need.
        • crc32: At geekfest, it was reported that a crc32 function was absent. The command line tools use "from binascii import crc32", and that was present back in 2002.
        • others?
      • The data types returned from the python methods to access the database were 'different' back in 2002. Where python returned an empty list ([]), Jython was returning (None). The command line tools can be modified to handle this if it is still an issue (see https://deos.ddci.com/viewscm/Deos/products/xml-tools-common/branches/mainline/code/common_sqlbase.py?revision=24935&view=markup and search for Jython)