In this post I'm going to look at the last component of LiveCompare's new Java support: impact analysis. Continuing the example of Calculators from last time, imagine that we dervie a custom calculator called FinancialCalculator. When a new version of the library that provides the Calculator baseclass comes out I need to (a) compare the calculators to see if their implementation has changed and (b) assess the changes for impact on my derived FinancialCalculator. With simple classes like this and with access to the source code we can do it manually. What LiveCompare does is scale it up to the Java SDK or SAP Java Support Pack level and it works even with the compiled Java classfiles.
First we'll upload CUSTOM.ZIP - the archive where I've stored FinancialCalculator.class. Next we'll add a Tops parameter to the template we built in part 2. We enter CUSTOM.ZIP in the stringlist property editor. Now all we need to do is click Run and wait the second or so it takes to complete the analysis.
What's different this time is that after the comparison has taken place, LiveCompare looks at all the different and in1 classes to see whether any of them are ancestors of the classes in CUSTOM.ZIP. We already know the answer: yes, Calculator is different and it impacts our FinancialCalculator.
The output report is similiar to last time. A javadoc-style three-paned window. This time we have an Impact Analysis link at the top of the packages pane. This takes us to a list of all the CUSTOM.ZIP classes and highlights those that are impacted and why.

The red dot calls my attention to FinancialCalculator and beneath it we can see Calculator with its 'Different' icon. You can click on Calculator to display the detailed classfile comparison results.
In the latest development build we've added a Statistics link that provides some high-level summary information on what the Create Java Impact Analysis Report action did:

The report has been improved by sorting the packages, package classes and class details (methods, field, etc.)
Most of the development testing has been confined so far to Java SDKs and custom Java code. I'd really love to get some of your SAP Enterprise Portal custom classfiles in-house and some SAP Java support packs that you've already implemented to help with real-world testing. If you can arrange to send me a custom SCA file and the names of some support packs, please mail me directly - ctrueman at intellicorp dot com.
Comments welcomed.
Posted
01-26-2009 9:24 PM
by
Chris Trueman