Version History

Version 1.7.2

  • Added fix for conflict with other plugins that use Commons Logging.
  • Added Groovy script engine and Groovy Console to the nav context devel utils menu.

Version 1.7.1

  • First pass at a new Rename Files refactoring
  • Some internal changes toward support on Tomcat

Version 1.6.1

  • Proparse 3.1 with ABL 10.1B new syntax support.

Version 1.6.0

  • Tree parser now gathers parameter information for calls and routines.
  • Added field extent to schema. Extent is tracked for DEFINE LIKE.
  • Added "source num" attribute to nodes, so that they can easily be mapped to the macro graph generated from the preprocesor listing.
  • Added sequential "node num" attribute to nodes, so that persistent records can refer to specific nodes in a (PUB) tree.
  • Added support for storing the "Macro Source Graph" (generated from the listing file) persistently, similar to PUB files. These are now generated and stored persistently the same time the PUB files are built. Now nodes can be mapped to macro references at any time.

Version 1.5.6

  • Updated some of the third party libraries - no need to update unless you are using Callgraph.

Version 1.5.5

  • Proparse version 3.0b05.
  • Dropped org.prorefactor.doc. User manual and documentation will just be on oehive now.
  • Added a trivial command line console and example "how used" report.

Version 1.5.3

  • Proparse version 3.0b04.
  • Fixed bug with temp-table field being defined like another field with same name.
  • Fixed bug parsing buffer parameter with no name in function forward declaration.

Version 1.5.2

  • Proparse version 3.0b03.
  • Fixed bug in support for classes - table defs weren't being inherited.
  • Support for DB aliases was incomplete - finished.

Version 1.5.1

  • Fixed INPUT BROWSE field bug.
  • Fixes for working with Eclipse linked resources.

Version 1.5.0

  • More support for 10.1 and Proparse 3.0.
  • Various internal fixes and tweaks, mostly for Callgraph.

Version 1.4.0

  • Added support for class inheritance, 10.1 syntax, .cls files, Proparse 3.0.
  • Internal: Merged sub-project "refactor" into sub-project "core", due to inter-dependencies.

Version 1.3.0

  • IMPORTANT: Added data-type to the schemadump programs. If updating from an older verion of ProRefactor, you must re-dump your schema before using this version of ProRefactor. Added data type attribute to fields and variables in the symbol table.
  • IMPORTANT: ProRefactor 1.3 requires Java 5.0 or later.
  • Added new sub-project named org.eclipse.lib, which contains common third party libraries like Jakarta Commons and Hibernate.
  • Fixed org.prorefactor.eclipse, which was not exporting any run-time packages. (Needed for Prolint/Eclipse).
  • Some classes and class members have been deprecated, and will be removed soon. Please see the javadoc.
  • Subclassed JPNode. This allows JPNav to go away, and allows us to add better functions for getting Symbols and such, rather than working directly with the JPNode "links".
  • Added support for frame scopes and the lookup of field frames. This was a large task, requiring a lot of changes and additions. With this, was able to fix a bug where the fields referenced by the INPUT function were not being looked up properly. They should have been looked up through the stack of fields in frames, rather than through the usual field/variable lookup methods. Thanks Bruce Craigie for the INPUT function bug report.
  • Fixed bug in tree parser. The "storetype" was not being set for field nodes. As a result, the "table and field names" refactoring was missing some changes, depending on which refactoring options were set. Thanks Bruce Craigie for this bug report.
  • Added the early proof of concept Prolint/Eclipse to this project. Prolint/Eclipse is dependent on ProRefactor, but it's not yet decided if the two should be part of the same project. Prolint/Eclipse is in early development, and not yet generally useful for real work.
  • The instructions for "Extending ProRefactor" are now much simpler. The same applies for extending Prolint/Eclipse. No excuses. :)

Version 1.2.3

  • Migration from Joanju.com to ProRefactor.org.
  • If you are updating your environment from the old Joanju.com plugins, then:
  • Remove the old com.joanju.* features/plugins.
  • Change your .project file to replace com.joanju.prorefactor.ProRefactorNature with org.prorefactor.eclipse.ProRefactorNature.
  • Install ProRefactor from ProRefactor.org, and restart Eclipse.

Version 1.2.2

  • Added the "Rename Schema" refactoring.
  • Moved "Parse" off the "Tool Devel Utils" menu and onto the main menu. This action now skips parse units where the parse unit binary is up to date.
  • (Internal) Added partial support for new "parse unit binaries", which will be used to speed up some searches.
  • The NO-UNDO refactoring was broken in the previous release. Fixed. Also fixed the unit test that missed the break.
  • Fixed an incompatibility between proparse.dll and Eclipse, which was causing Eclipse to sometimes crash when it first loaded proparse.dll.

Version 1.2.1

  • Is now deployed via update site, rather than zip file package.
  • Fixed bug #079: Was not evaluating unqualified fields correctly in DISPLAY..EXCEPT and DEFINE FRAME..EXCEPT. Thanks Bruce Craigie for the bug report.

Version 1.2.0

  • Updated for OE10 syntax, Proparse version 2.2a01, and Eclipse 3.0. This release requires Eclipse 3.0, due to a new API to Eclipse's "Console" view. There are no feature changes in this release.

Version 1.1.10

  • IMPORTANT: Fixed a bug in "schemadump". Please re-run your schema dump, even if your project's schema has not changed. The bug could cause some field names to be missed when writing your proparse.schema file. (Needed "DICTDB" prefix on _field in the FOR loops, otherwise it missed some records. I don't know why.) See Project Configuration for the updated two schemadump program files.
  • New refactoring added: Qualify Field Names.
  • ProRefactor menu items now work against the file in the current editor, if the Navigator view is not the actively selected view.
  • ProRefactor menu items, that are capable of working against multiple selected files/directories/projects, are now available from the Navigator popup menu.
  • Some minor bug fixes.
  • Continued development on "Extract Method". Still WIP.

Version 1.1.9

  • "Extract Method" is work in process - you can see its menu contribution on the text editor's pop-up menu. Displays in the console the input, input-output, and output arguments that would be needed for the selected range of code, but does not yet do any code changes.
  • Added new editor contributions: "Expand Selection" and "Contract Selection". Currently only compilable files (.p/.w) are supported. For a given cursor position in the editor, finds the location in the AST, and then allows you to repeatedly expand and contract the selected text. The selected text is based on the AST: each selection is a branch for an expression, statement, or block. Saves time if you need to find a block begin and end within a complex or poorly formatted source file.
  • Started work on a new package "org.prorefactor.refactor.source". Is not yet complete.
  • Some menu item and other name changes. Continued cleanup of the plugin manifest.

Version 1.1.8

  • Partial fix for finding "insert point" for Wrap Procedure Block. It will still have a hard time with some include files.

Version 1.1.7

  • Fixed a bug in the rollback mechanism.
  • Fixed bug in Bubble Declarations which caused "ignored" file to be changed.

Version 1.1.6

  • Fixed bug in Bubble Declarations which prevented it from running if the bdr_ignore.txt file did not exist.
  • Bubble Declarations: When splitting an include file, no longer creates a -methods.i file. Methods are simply tacked onto the end of the -shared.i file.
  • Bubble Declarations: No longer modifies an original source file, even if it is "split" into -shared.i, etc. (The source is duplicated between the old .i and the new -shared.i, etc, split files.) If a split file (-shared.i etc.) already exists, it is not overwritten. This vastly simplifies the entire Bubble Declarations refactoring.
  • Bubble Declarations: Ignore list: Changed so that references to includes in the ignore list do get moved. The only effect of the ignore list is that the files will not be split or modified.
  • (Source/internal) Started making changes to JPNode and the tree parsers which will make it possible to start using Java ASTs which are "disconnected" from the parser. If you have created your own tree parser, please note the changes.

Version 1.1.5

  • In Bubble Declarations, added a mechanism for ignoring include files (and nested includes), as well as a mechanism for ignoring sections of code delimited with directives.
  • Fixed a bug in Bubble Declarations which caused methods to sometimes be inserted amongst local DEFINE statements.