[modules-dev] Review please for launcher bugs
Kumar Srinivasan
Kumar.Srinivasan at Sun.COM
Tue Jul 31 11:37:50 PDT 2007
Based on all the feedback I have adjusted my previous webrevs,
pending putback on Dave's fix for the InvocationTargetEx.:
The latest webrev:
http://javaweb.sfbay/~ksrini/webrevs/j2se-tools/jsr277-7/
Diff to the first webrev:
http://javaweb.sfbay/~ksrini/webrevs/j2se-tools/jsr277-7-vs-6/
The first webrev:
http://javaweb.sfbay/~ksrini/webrevs/j2se-tools/jsr277-6/
> Kumar Srinivasan wrote:
>
>> Thanks for all the comments, I have consolidated all the comments here.
>> Please see my embedded responses.
>> Thanks
>>
>>
>> Andreas------
>>
>>> . there should be a check for "definition == null" in
>>> getModuleDefinitionFromJam() that throws an appropriate exception if
>>> we don't find the module. It could be null if the JAM file is corrupt.
>>>
>> Yes will add a check and throw an exception.
>>
>> -------------------------------------------------------------------
>>
>> Stanley----------
>>
>>> I think what is unclear is that Kumar's fix checks if the filename
>>> returned from ModuleArchiveInfo ends with JamUtils.EXPANDED_EXT, and
>>> this kinda implies that the repository implementation is returning an
>>> internal cached jam filename in this case.
>>>
>> Hmm, I will assume the file is blah.jar-expanded for now, Dave can
>> remove the
>> -expanded when he puts the fix into the repository.
>>
>
> I added a note about this to 6582244.
>
>
>> -------------------------------------------------------------------
>>
>> Dave Bristor------
>>
>>> - src/share/classes/sun/module/ModuleLauncher.java
>>>
>>> 147 private static Repository repository = null;
>>>
>>> Please put this and all other field declarations at the top of the
>>> file, not in the middle.
>>>
>>>
>> Ok
>>
>>
>>> 188 String fname = new File(jamFileName).getName();
>>> 189 String moduleName = fname.substring(0,
>>> fname.lastIndexOf('.'));
>>> 190 List<ModuleArchiveInfo> ilist = repository.list();
>>> 191 for (ModuleArchiveInfo i : ilist) {
>>> 192 if (i.getFileName().endsWith(fname +
>>> JamUtils.EXPANDED_EXT)) {
>>> 193 definition = getModuleDefinition(repository,
>>> i.getName());
>>> 194 break;
>>> 195 }
>>> 196 }
>>>
>>> I remain somewhat bewildered by this: could you explain?
>>>
>> Yes, the directory containing the jam becomes the system repository as
>> the bug 6580159,
>> therefore I create a LocalRepository, once I found that I need to get
>> the moduleDefinition
>> of the given JAM-file. Does that make sense ?
>>
>
> I understand from earlier email what's going on, but using the jamFileName in
> expectation of it being part of the module name is not a 100% solution, since
> there's no required correspondence.
>
>
>>> Also, line 188 could be
>>> String fname = baseDir.getName();
>>> though perhaps baseDir should be renamed jamFile (since it's not a
>>> base directory).
>>>
>>>
>> Yowsa, Its somewhat confusing here with the naming, I will clean it up.
>>
>>
>>> 207 if (!jamFileName.endsWith(".jam") &&
>>> !jamFileName.endsWith(".jar")) {
>>> 208 throw new IllegalArgumentException("jam filename
>>> must have a .jam or .jar extension");
>>>
>>> Shouldn't .jam.pack.gz also be allowed? Or is that just
>>> not-yet-implemented? (I know it's not fully supported elsewhere...)
>>>
>>>
>> Good question!. Is .jam.pack.gz allowed ? I did not see it in the
>> original specification.
>> http://j2se.sfbay.sun.com/web/bin/view/J2SE/JamsProposedToolsSupport
>>
>
> What I see on that page is mention of options like "... -jam file ..." and I
> assumed that a .jam.pack.gz would also be acceptable. Once I implement
> 6566022, it should be possible to use them in local repositories.
>
>
>>> 231 throw new Exception("Repository not
>>> found at " + repFile.toString());
>>>
>>> Should this also be IllegalArgumentException?
>>>
>>>
>> I was thinking about that. I will change them to IllegalArgumentException.
>>
>>> - test/java/module/basic/BasicLauncherTests.java
>>>
>>> 260 static String expRepository;
>>> 261 static String jamRepository;
>>> 262 static String urlRepository ;
>>>
>>> Extra space in line 262 and please put fields at beginning of file.
>>>
>>>
>> Acknowledged.
>>
>>
>>> Several other places, why the change from expRepository to
>>> urlRepository? I might have thought an addition would be appropriate;
>>> was removal of expRepository intentional?
>>>
>>>
>> Nothing was removed instead of using expRepository I am using urlRepository
>> to test, also I renamed httpRepository to the more generic one
>> urlRepository.
>> To address CR: 6580122.
>>
>
> Ah, ok!
>
> Thanks,
> Dave
>
>
>>> Kumar Srinivasan wrote:
>>>
>>>
>>>> Hi,
>>>>
>>>> I need a review of these fixes asap.
>>>> http://javaweb.sfbay/~ksrini/webrevs/j2se-tools/jsr277-6/
>>>> [The webrev contains the CRs].
>>>>
>>>> Built and tested on Solaris and Windows all the regresssion
>>>> tests in test/java/module pass.
>>>>
>>>> Thanks
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> modules-dev mailing list
>>> modules-dev at openjdk.java.net
>>> http://mail.openjdk.java.net/mailman/listinfo/modules-dev
>>>
>>>
>>
> _______________________________________________
> modules-dev mailing list
> modules-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/modules-dev
>
--
Kumar Srinivasan
Sun Microsystems, Java Software.
408-276-7586
More information about the modules-dev
mailing list