Developer Notes - JeffersonLab/icalibrate GitHub Wiki
Java Swing and Netbeans Matisse Form Builder
The Java Swing GUI was developed using the Netbeans Matisse form builder. There are *.form files in the source that can be read by the builder tool to ease maintenance. However, since Netbeans was passed to the Apache Software Foundation in 2016 it appears the form builder has no longer been included in new versions. In order to use it one would need to use Netbeans 8.2 (2016) with Java 8.
JLab Deployment
This desktop app is primarily run from the control room, which consists of both RHEL9 and RHEL7 hosts as of this writing. Because RHEL7 defaults to Java 8 in many cases, and this app requires at least Java 11, a wrapper script is used to launch the app remotely on a RHEL9 machine (which defaults to Java 17). See: https://github.com/JeffersonLab/icalibrate/blob/main/doc/launch.sh
This app is located in a generic path: /cs/opshome/IonChamber
. This is for done for two reasons (1) This is historically where this app has always lived - it was originally a set of ad-hoc scripts written by operators themselves; (2) It doesn't really fit anywhere else. It's not a SAS node high level app. It's not a low level app. It's not a certified app. CSUE could potentially work, but it would be shoehorned into it as Java apps don't use Make or any of the scaffolding provided by CSUE, nor the CVS versioning (iCalibrate is in Git) so it would just be a bunch of red tape and duplication for nothing. Ideally we have an app path established that isn't encumbered with requirements that do not apply.