Fixes in NetPhantom 5.0 Build 5000

These are fixes done since version 4.10 Build 4500 in chronological order.

Version 5.00 Build 5000

  • Web/RAPP applications not accessible from the Editor
    When the Editor is in its initial grace period (without a valid license) only Java Clients can connect. Other clients are refused.
     
  • Field type dialog
    The different editable parts of the field type dialog in the Editor are enabled/disabled in a way that is not consistent with the underlying functionality. Pertinent fields are sometimes not possible to edit.
     
  • RAPP API errors
    Multiple errors in the RAPP API implementation visible at start of applications using this form of Server communication.
     
  • Frame icons in server administration application not visible
    The icon in the upper left corner of the window frame is the standard Java icon, instead of the NetPhantom one.
     
  • Combobox focus problem
    When a panel was opened, all combobox controls containing selected values were explicitly updated to show this. This means that the focus is reset also, thus resulting in that the last updated combobox component retained the focus.
     
  • Request license code for the Server
    When a license code is requested for a Server running with a development license (code: 0000 0000 0000 0000), the requested number of clients was always 3 shared (the maximum allowed clients for the development license). This regardless of what is specified in the license dialog panel.
    Workaround: Press "Apply" before choosing the "Request license..." in the pop-up menu.
     
  • Fixes done in Windows Services
    The following fixes are done for the Windows Services in NetPhantom, typically for 64-bit platforms:
    • Added new option "NTEVENTLOG" to be able to specify if the "-nteventlog" option should be used or not for the Service.
    • Added a 64 bit version of SrvAny.exe called SrvAny64.exe.
    • Added WindowsNTEventLog64.dll for the 64-bit version.
    • Fixed a registration problem with the logging DLL for the Service, including support for UAC (Administrators rights to change the Windows Registry for a Service) under Windows Vista/7/2008.
     
  • EEM file name limitations
    The EEM editor (in the Toolbox) accepts references to EE files with names longer than 12 characters. When the corresponding .EEM file is loaded in the server these references are not usable.
    The file name length is now checked by the EEM editor.
     
  • Permanent license
    When this build (or later) is installed, a new license code must be supplied. Please contact NetPhantom support (in the normal way) to request this new, permanent license.
     

Version 5.00 Build 4960 (Release Candidate)

  • Cannot load listbox contents from file
    REXX code that insert entries in a listbox file cannot find the corresponding file in the file system.
    Please note that the correction of this error also added the functionality that the file can be located in the application definition (.jar) file also. The file is first searched in the file system (relative to the .jar file) and then inside the .jar file. This is parallel to the way that .CMB files are loaded for the same purpose.
     
  • Cannot load combobox file
    REXX code that insert entries in a combobox file cannot find the corresponding file in the file system.
    Please note that the correction of this error also added the functionality that the file can be located in the application definition (.jar) file also. The file is first searched in the file system (relative to the .jar file) and then inside the .jar file. This is parallel to the way that .CMB files are loaded for the same purpose.
     
  • Status bar message
    The status bar message sometimes cannot read the corresponding host field.
    Note: This does not happen when the application is launched from the Editor (test mode) but only when running an application loaded in the Server.
     
  • User Properties
    In the application configuration dialog, user properties can be defined. If properties are removed, they will still appear in the application definition file and thus be available.
     
  • Console window (regression error)
    The console window is unavailable in the Editor.
     
  • Number of clients limitation
    The highest number of clients that can be handled in the license system is now 99999 for a normal server and 9999999 for the License Manager.
     
  • Read-only applications
    Applications that have a non-writable definition file (.ini) are not possible to open in the Editor. The correct behavior is to allow it to be opened and then show a warning when trying to write to that (or any other non-writable) file.
     
  • Listbox selection (regression error)
    The headers of the listbox columns are pressed when the mouse is moved over them. This even if the primary mouse button is not pressed.
     
  • Screens menu alternative
    Even if no screens have been defined for the application, the menu alternative for copying/renaming/deleting is available in the Editor.
     
  • Compile distribution
    All source code was not always compiled before compiling an application distribution. This resulted in a ClassNotFound error when that application was loaded in the Server.
     
  • Listbox selection
    The listbox selection functionality was not working as it should:
    1. Selected lines/columns were offset depending of where in the table they were located.
    2. Selected columns headers were not restored (still indicated as pressed) when the mouse left the header.
    3. Multi-selected column headers were not indicated as such.
     
  • Message box after Compile distribution
    The dialog box followed by the final message box causes focus to be set to a random window. The new behavior is to display the Console Output window at the end before starting the compilation, then at the end of the compilation, when no errors are present an optional message box can be displayed. The Console Output window will then also be displayed for verification purposes.
     
  • After an error when (re-)loading the PHA application file of a project in the Editor, it is never reloaded again
    The work-around for this problem was to close the project and reopen it once the error is corrected.
     
  • Activate license on-line gave NullPointerException, or error code 407
    When performing the function "activate on-line" in the license panel, a NullPointerException or the error code 407 is returned (sometimes). The error code 407 normally occurred after getting the NullPointerException. This error code means "Proxy authentication required".
     
  • Files longer than 2 GB cannot be downloaded from the Web server
    The error report you get is that the file is not found.
     
  • Saving PHW files from Java could cause corrupt PHW files
    When saving a PHW file using Java, not using NetPhantom Editor, but directly using the Java API, spin buttons and comboboxes could cause file corruption. The NetPhantom Editor could however load them anyway.
     
  • Rare memory leak in spin button
    If a panel is destroyed while a spin button is spinning, a small memory leak occurs because the spin timer is not stopped.
     
  • Focus set to the Java Console window after a dialog box or a message box in the Editor
    When a message or dialog box is closed in the Editor, focus is sometimes set to the Java Console window. If focus is not set to the window, it is brought in front of another one, the Terminal part or the Panel part, depending on from where the message or dialog box was shown.
     
  • Wrong window focus at startup in the Editor
    The focus when starting the editor is always the Java Console window (if not minimized). The correct would be to focus on the Terminal Editor window.
     
  • Occasional Exception in the progress bar during Client startup
    The following error is sometimes displayed in the Java console window for the Client, but doesn't affect anything.
        Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
            at javax.swing.plaf.basic.BasicProgressBarUI.updateSizes
            at javax.swing.plaf.basic.BasicProgressBarUI.getBox
            at com.sun.java.swing.plaf.windows.WindowsProgressBarUI.getBox
            at javax.swing.plaf.basic.BasicProgressBarUI.setAnimationIndex
            ...
     
  • Recreate object message should be sent to panels that are displayed after the terminal window is removed
    When the terminal window is removed, no message at all is sent to the panel or its controls (apart of Host Change). It should send a Recreate (RECRT) message.
     
  • Print screen in Terminal part using File - Print screen doesn't work
    This is due to a Java problem, perhaps in combination with the printer driver (typically Laserjet). The same print to e.g. Adobe PDF Writer works fine. However, the code is rewritten in order to work for at least Laserjet-type printers.
     
  • Date and time input fields has wrong size in runtime and doesn’t support undo/redo and drag-drop
    The date type input field displays in a peculiar manner. A few pixels are added to the height in runtime. In design mode the size is what to be expected. The field didn't support undo/redo and drag-drop, depending on if those functions were enabled.
     
  • Colors in notebook tabs wrong
    When selecting another color for the notebook tab (e.g. green), this tab is rendered in black (with the correct attributes such as italic and/or bold).
     
  • REXX function "lineout" or "stream(filename,'O','...')" doesn't work
    If the above functions are called and the file didn’t exist prior to the call, the file is not created, which it should have been.
     
  • RatioX and Y is not saved using the Server Administration program or the Editor
    Configuring the ratioX/Y and combobox auto-complete option settings for the client doesn't cause "server.ini" to be saved.
     
  • Font ratio scaling together with font substitution doesn't work
    If the option to scale font in accordance with the ratioX and ratioY settings is used, substituted fonts are displayed with a ratio-scaled size of 4 to 5 points, instead of it's defined size.
     
  • Certain Panel Editor dialog boxes has a very small font
    Certain Panel Editor dialog boxes uses Helvetica 8 instead of the System 10 font that is used in most of the other dialog boxes in the Panel Editor.
     
  • Cursor keys can cause a list box to scroll vertically or horizontally even if there are no scroll bars present
    The list box should never be allowed to scroll in a direction when a scroll bar is not present. This also applies to certain mouse movements, typically when dragging the mouse.
     
  • Update CompileApplication.bat with PATH to the JDK
    The batch file CompileApplication.bat needs to have the PATH to the JDK 1.6 added in the code.
     
  • Caching of tool- and status bar files doesn't reload the files properly when they are changed
    This in typically seen in the Editor when a BAR file is changed: the client running with the current application doesn't cause the Server (in the Editor) to reload the PHB file even if it have changed. This results in the client showing the wrong tool- or status bar.
    This could result in the following output:
        java.io.FileNotFoundException: TOOLBAR.PHB
            at java.io.FileInputStream.open
            at se.entra.phantom.server.PhantomFile.a
            at se.entra.phantom.server.PhantomCBar.reload
            at se.entra.phantom.server.PhantomApplicationData.reload
            at se.entra.phantom.server.PhantomRuntime.reload
        Unrecoverable build error: Could not reload runtime
     
  • Font size for many controls doesn't always work in the Panel Editor
    If a font size is selected for a control not displayed in the drop-down list, but entered in the entry field, e.g. size 11, this size is saved and used, but the next time the dialog box is brought up, that value is not present, but some other one from the drop-down list.
     
  • Application pre- and post-load files error
    The defined sub-application JAR files are not found when the path is relative to the current application INI file.
     
  • Null pointer exception when loading web page
    Under rare conditions, the web server logs a null pointer exception. This is related to the caching and does not directly affect the web server functionality (other than a small impact on the performance).
    This resulted in the following output:
        HTML parser error: Internal Program Error in thread: java.lang.NullPointerException
            at se.entra.phantom.server.CodepageConverter.convertByteToChar
            at se.entra.phantom.server.CodepageConverter.convertByteToString
            at se.entra.phantom.server.http.InternetCharacterConversion.convertByteToString
            at se.entra.phantom.server.http.HtmlParser.parse
            ...
     
  • Bar configuration file not used
    The xxx.PHB.ini files (that contains the configuration of the bar component) is not read/used when running the compiled version of the application. When starting the application in the editor, it works in the intended way.
     
  • Loading of external combobox files
    The application can be configured to accept external combobox files (.CMB). This means that any file located in the application installation directory with the correct name will be used instead of the corresponding file in the application file (.jar file). If there is no external file, the internal file will be used.
    This functionality can only be used for compiled application into JAR's.
     
  • Pressing mnemonic key H in several dialog boxes select the option "Hindi digits"
    The most common function would be to go to the Host field and set the focus in its entry field.
     
  • Java Web Start applications won't load -- NetPhantomClientImages.jar is not signed with the new certificate
    The Jar file containing images for NetPhantom is not signed with the new Nexum Technologies certificate and therefore causes Java Web Start application not to be able to load due to JAR files (NetPhantomClient.jar and NetPhantomClientImages.jar) being signed with different certificates.
     
  • Regression: NetPhantomClientImages.jar is not signed with the current Codectia certificate
    This causes Java Web Start applications not to run properly. Same problem as the above one.
     
  • The main web page "introduction.html" shows version 4.1 instead of version 4.2
    Wrong version was written in the HTML document.
     
  • Alignment of controls in panel "Configure project - Distribution"
    The vertical alignment of the controls are not correct.
     
  • Read-only attribute is set for some files after installation
    After running the NetPhantom setup program, certain files are read-only (e.g. CompileDistribtion.bat).
     
  • Redraw panels after change of setting "New drawing for group boxes and rectangles"
    The panel editing area needs a refresh in order to reflect this change of setting.
     
  • Printing screens optionally with its fields in the Editor doesn't handle box drawing characters
    Box drawing characters are drawn typically as a question mark (?) instead, due to the Unicode characters.
     
  • 3270 data stream error when presentation space becomes unformatted
    When the 3270 data stream removes the last "Start Field [Extended]" position, all character attributes were cleared, regardless of specific Character Extended Attributes. This caused e.g. wrong colors for those characters.
     
  • Create controls menu item in Editor terminal part not properly disabled
    The menu item Edit - Create controls or the same menu item in the pop-up menu in the Editor terminal window is enabled although the function couldn't be performed, such as no currently matching host screen.
     
  • Copy panel pop-up menu item in the terminal part should not be there
    The Copy panel pop-up menu item in the terminal part of the Editor or when the terminal is displayed for a client session should not be present. This menu item only applies to GUI-panels (and not the terminal window).
     
  • Rectangle mark drawing in the terminal window on the client is not drawn consistently
    When the client displays the terminal window, and the mouse or keyboard is used to create a marking, its frame is drawn depending on the last character color, rather than a well-defined color set, e.g. as the marking in GUI panels.
     
  • Clipboard Cut terminal window operation didn’t always clear the field contents
    When the client displays the terminal window, the clipboard Cut operation didn’t always clear the contents of the intersecting host fields.
     
  • Having a file filter in different dialogs in the system where you can choose a file type matches only files with the same case
    When having a search filter for files, such as "*.jar", doesn’t list files in upper case (i.e. "*.JAR" files). This affected several parts of the system, including components such as RAPP and RADMIN.
     
  • Editor can display NullPointerException in the console output window when painting the terminal window
    When a paint operation is interrupted by a sudden host screen change from host, a NullPointerException can be displayed with its stack trace in the Console Output window. This, however, has no effect on functionality.
     
  • Copy to clipboard from terminal part in Editor sometimes blanks out top part of screen part
    When a 3270 screen-wrapped field is present and continues on the first line of the screen, the Copy to clipboard function blanks out characters in that field after the screen-wrap.
     
  • Automatic build progress bar
    When the automatic application build option is used in the Editor, the progress bar for the builds is displayed in the Terminal Editor frame. This progress bar is always shown even if no active build is running.
     
  • Box drawing in 3270 data stream doesn't always work
    Depending on how the implementation of box drawing in the mainframe host system is implemented, NetPhantom doesn't handle it correctly. There is a requirement to have to "LCID's", where the second one is defined for the APL2 (graphical) codepage.
     
  • Pressing button "First" in search dialog boxes in Editor selects the wrong line
    When a list box has been sorted on a column, pressing the button First in dialog boxes containing the Search functionality, doesn't place the line selection first according the current display, but rather to the previous display before the lines were sorted.
     
  • Growing application definition files
    Each time an application definition is saved in the editor, a new section "[[User]" is added to the application definition file ({Application ID}.ini). This means that this file is ever growing with redundant entries.
     
  • Java compiler unavailable
    The first time an application is rebuilt in the editor, the Java compiler is not available. This resulted in a stack trace in the Server log. The second time is always successful. This problem most likely is caused by the Java framework.
    Note: this behavior only occurs for the first application opened during an Editor session.
     
  • Download of large file gives zero size response
    The file download function in the web server has a limitation in how big files could be downloaded. Over that limit, the response looked corrected on the client side but in fact a zero size file was downloaded. No error message was displayed. After the correction, there is no practical limit on the size of the files handled in the web server.
    In the server log, this problem manifested itself as a OutOfMemory error.
     
  • Compile distribution action does not lock parent panel
    When a compile of a distribution is launched, the only action possible should be to cancel the launch (or no-action: wait for the result). This to make sure that consistency is maintained during this step. However, the menu items in the panel that launched the action are still active during the compilation.
     
  • Additional file handling in application build
    The specified additional files and directories were not included when the application was compiled into a distribution (the application jar file).
     
  • Client jar file handling
    The defined client jars were not handled correctly at runtime. Neither if the application was launched from the Editor (in test mode), nor if the application is run in a normal Server.
     
  • Combobox component not included in Copy/Paste from panels
    The combobox component is not included when a panel is copied to clipboard in order to be pasted into a document.
    Note: this problem only applies to the text version of Copy/Paste. The image Copy/Paste functionality is not affected.
     
  • Redirect console output in editor
    It is possible to redirect the console output to trace files. For the Editor, that should not be possible since a lot of information like compile output etc then only becomes available in trace files. From a user perspective, console output should always be available when running the Editor.
     
  • Resize of panel cannot be undone
    Resizing of panels in the Panel Editor cannot be un- or re-done. No choice for that action is available nor does Ctrl+Z or Ctrl+Y work.
     
  • Server upgrade with empty file
    The Server Patch Upgrade function did not handle empty file import in a correct way (i.e stop the upgrade and display a warning).
     
  • Closing a dialog containing a listbox takes a long time
    Closing panels that contain one or more listbox components takes a long time. This time is linear to the number of items in the list.
     
  • Sorting right-hand side columns
    The columns on the right side in a listbox component are not possible to sort.
     
  • Settings for bars (tool/status) components are not reloaded
    The bar component can store supplement configuration in a file that is called bar_name.phb.ini (where bar_name.phb is the file corresponding to the component). The settings in that file is edited outside the panel editor and is not reloaded when an application is launched from the editor.
     

Version 4.10 Build 4508

  • Client listbox manipulation using server-based code causes an exception
    When having server-based code and a listbox, the following exception could occur on the client:
        Internal program error in NetPhantom Client. Details:
        java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
            at java.util.Vector.elementAt
            at se.entra.phantom.client.fg.a
            at se.entra.phantom.client.hg.update
            at se.entra.phantom.client.PPanel.a
            at se.entra.phantom.client.SessionManager.run
            at java.awt.event.InvocationEvent.dispatch
            at java.awt.EventQueue.dispatchEvent
            at java.awt.EventDispatchThread.pumpOneEventForFilters
            at java.awt.EventDispatchThread.pumpEventsForFilter
            at java.awt.EventDispatchThread.pumpEventsForHierarchy
            at java.awt.EventDispatchThread.pumpEvents
            at java.awt.EventDispatchThread.run
            ...
     
  • Internal error when starting the client (note: the client is not functionally affected)
    The following error could occur when starting the client, typically under Java 1.6, an exception is printed out in the client Java console window, without affecting the client behavior.
        Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
            at javax.swing.JRootPane$RootLayout.layoutContainer
            at java.awt.Container.layout
            at java.awt.Container.doLayout
            at java.awt.Container.validateTree
            ...
            at java.awt.Container.validateTree
            at java.awt.Container.validate
            at javax.swing.RepaintManager.validateInvalidComponents
            at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run
            at java.awt.event.InvocationEvent.dispatch
            at java.awt.EventQueue.dispatchEvent
            at java.awt.EventDispatchThread.pumpOneEventForFilters
            at java.awt.EventDispatchThread.pumpEventsForFilter
            at java.awt.EventDispatchThread.pumpEventsForHierarchy
            at java.awt.EventDispatchThread.pumpEvents
            at java.awt.EventDispatchThread.run