On 12/1/06, Lev Kozakov <[EMAIL PROTECTED]> wrote:
On 12/1/06, Michael Baessler <[EMAIL PROTECTED]> wrote: > > Lev Kozakov wrote: > > I agree with Michael's latest suggestion regarding parameters of the > > installPearPackage method. What about a separate method for > > validating installed PEAR package ? Installation and validation > processes > > may need to be done separately (for instance, due to the time/resource > > constraints). I believe, we need to provide developers with this kind > of > > flexibility. > > > > I'll look at the details of the PackageInstaller implementation and > send > > a separate comment on that. > I don't see that we need a separate method for installation > verification. If an application > want to do the verification before using the component they have to wait > until is has finished. > So they don't want to call a separate method. And if the installation > fails, the verification is not started. > So I don't understand why we need a separate method. > > -- Michael > > I believe, verification of installed PEARs should be available independently of installation (as well as an installation option). 1st use case may be when several PEARs are installed in the system before the app. started, and the app. needs to check that the PEARs are still OK before running analysis pipe. 2nd use case may be when PEARs were installed and verified in one environment (e.g. Eclipse), but need to be re-verified in another environment (e.g. standalone GUI app.). General argument: wouldn't it be more user friendly to provide separate verification method, if we can do it for almost free? -- Lev
After looking at the code, I have the following comments: the PackageInstaller code looks fine, except for one, but important thing - the uima.home directory is not set in the InstallationController before the verification is done. Instead, the verification code in the InstallationController is modified to use 'java.class.path' JVM property as the UIMA CLASSPATH. I don't believe, this code will work in applications, where people just need to install/verify PEAR packages. The verification process usually requires most of UIMA JARs to be in the CLASSPATH, while applications, like PEAR Installer GUI, do not need most of the them. My recommendation is to add 'uimaHome' parameter to the PackageInstaller.installPackage method, or to intsruct application developers setting uima.home in their JVM properties. I also recommend rolling back modifications of the InstallationController class. As an alternative, we can check in the verification code of the InstallationController class if the uima.home is set, and use java.class.path, only if it is not set. This way we, at least, make sure that existing applications, like PEAR Installer GUI, will still be able to verify installed PEARs. -- Lev
