cnetmerge
Merges multiple Control Networks into one
This program attempts to merge a set of (two or more) Control Networks into a single network. The merging process starts with a "base" network into which each successive "add" network is added. When conflicts arise between the base network and the network being added, a set of user-selected options are used to determine how the conflicts are resolved.
When more than two Control Networks are merged, note that the "base" network is updated iteratively when each successive network is added. So the definition of the "base" network is dynamic in this case.
For any point or measure that is edit locked in the base network, that point or measure will never be modified regardless of the OVERWRITE options set. When a point is edit locked, the reference measure is locked implicitly. So, for example, if OVERWRITEREFERENCE is selected, and a control point is edit locked, that point's reference will not be overwritten.
Note: Each network must share the same target.
Categories
History
Christpher Austin | 2008-04-04 | Original version |
Christopher Austin | 2008-06-24 | Clarified error messages and added documentation. (Removed netmerge from the system, because it did the same thing, just not quite as clean) |
Christopher Austin | 2008-08-05 | Fix xml app name error |
Christopher Austin | 2008-11-13 | Rebuilt for more Control Point Id control, including a REPLACE option. Only FORCE prefixes the original Control Network Id to the new Control Point Ids, then logs the number of duplicate Control Points. NORMAL and REPLACE leave the Control Point Ids alone. |
Christopher Austin | 2009-01-09 | Added the FROMLIST input option. |
Christopher Austin | 2009-01-13 | Changed MERGETYPE param name and options to be more clear. Changed MODE to INPUTTYPE. Added the REPORT param which reveals any Control Points that have been renamed or replaced durring the merge. |
Christopher Austin | 2009-01-15 | Added Filename expansion to the listed nets and a few other minor readability changes. |
Christopher Austin | 2009-11-19 | Multiple changes based on user request, including removal of RENAME, replacing REPLACE with MERGE while merging at the Control Measure level. |
Christopher Austin | 2010-03-15 | Changed an outdated error message. |
Steven Lambright | 2010-10-19 | Updated to work with recent control network changes |
Christopher Austin | 2011-01-19 | Altered to compile with the new Control redesign. |
Christopher Austin | 2011-02-25 | Fixed a simple pointer ownership issue. |
Steven Lambright | 2011-04-11 | Updated parameter names |
Travis Addair | 2011-05-26 | Separated reference resolution control out of OVERWRITEMEASURES and into new parameter OVERWRITEREFERENCE. |
Travis Addair | 2011-05-27 | Overhauled documentation to better explain the distinction between the base Control Network and the networks being added into it. |
Debbie A. Cook and Tracie Sucharski | 2011-06-07 | Change point type "Ground" to "Fixed" |
Travis Addair | 2011-05-27 | Overhauled the application to reflect functional changes to the program, and fix inconsistencies between the documentation and the code. The program now operates without regard for point type, and properly honors all OVERWRITE options in all situations, which fixes #230. A fourth option has been added, OVERWRITEMISSING, which will remove measures that do not appear in newer networks being added to the base, which fixes #228. The log file has been revamped to print out a PVL report for each network, and each conflicting point or measure. Every conflict will be reported along with a reason (based on user parameter options) for the ultimate resolution. This is in reference to issue #229, but more logging will need to be done in order to warn the user of potential pitfalls in their selected options. |
Jai Rideout | 2011-08-04 | Made a small modification to the code in mergeNetworks(...) that created a new control network for each file in the file list. FileList's overloaded '[]' operator that was used inside of the call to Filename's constructor confused the compiler on Ubuntu10.04 systems. |
Travis Addair, Janet Richie, Elpitha Howington-Kraus | 2011-10-07 | Rewrote large sections of the documentation to make more clear, accessible, and user-friendly. |
Travis Addair | 2012-04-17 | Moved duplicate point check for DUPLICATEPOINTS=ERROR to occur before merging is attempted. In this way, errors can be caught before expensive merging begins. Also enabled logging of duplicate points. If the user specifies a LOG file with DUPLICATEPOINTS=ERROR, all duplicate points will be reported to that file before the program terminates. |
Travis Addair | 2011-04-18 | Removed the REVERSE option and changed the CNET parameter to BASE. When INPUTTYPE=CNETS, BASE will act exactly as CNET did. However, when INPUTTYPE=LIST, the BASE parameter can now be provided in order to set an explicit base network, effectively adding it to the front of the input list. If the explicit base network also appears in the input list, it will be ignored there to avoid adding it twice. If not value is provided for BASE, the first element in the list is considered the base network. |