Changes between Version 11 and Version 12 of PLATFORM_DEPLOYMENT_TARGET_JWS_R1


Ignore:
Timestamp:
06/04/09 19:48:22 (16 years ago)
Author:
gogov
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TabularUnified PLATFORM_DEPLOYMENT_TARGET_JWS_R1

    v11 v12  
    4141 * I'll refactor JavaWebStartMain class to System.setProperty("editor", ...) to whatever is actually run, either "author", "reader" or "server". JavaWebStartMain.main will receive this as a 3rd parameter from the jnlps. 
    4242 
    43 There are lots of new issues with the FileEntryManager which need to be fixed: 
    44  * FileEntryManager.getRoRoots() currently searches for a "modules" dir from the current working directory to the root of the filesystem tree 
     43There are some new issues which need to be fixed: 
     44 * FileEntryManager.getRoRoots() currently searches for a "modules" dir from the current working directory to the root of the filesystem tree which is not cool because with JWS no such directory exists and the initial current working directory can be unpredictable. FileEntryManager needs this dir to find all .jars which correspond to Sophie modules and be able to look up inside them for resources, such as icons etc. 
     45  In order to fix it, FileEntryManager will access the new ListProp<ModuleInfo>startedModules() of the running ModuleRegistry. 
     46 * Both FakeModuleRegistry and TrueModuleRegistry will need to implement ListProp<ModuleInfo>startedModules(): 
     47  * TrueModuleRegistry will implement it by getting a BundleContext and use it to get all the started Bundles and their URLs (in the case that a given URL is a local file path, it will be converted to absolute file path). Then it will create respective ModuleInfos and fill startedModules() with them. 
     48  * FakeModuleRegistry will implement it by parsing the System.getProperty("java.class.path"), filter out "org.sophie2.<module-name>/target/*" entries and constructing URLs to the jars inside these locations, then respectively construct ModuleInfos and fill startedModules() with them. 
     49 * The above mentioned BundleContext will be gotten from a newly created CoreModularityModule. As specified by the docs, a created BundleContext is passed to the start() and stop() methods of a Bundle, so that's where well save this BundleContext and expose it for public usage. This is ugly and according to the docs, a BundleContext instance is responsible only for the Bundle it's associated with, though we can access all started Bundles through any given BundleContext produced by the same Felix instance, so we'll exploit this "feature" and siut it for our needs (: 
     50 
     51These modifications will fix the above mentioned problem with the FileEntryManager, so JWS will be implementable, and also they'll be synchronized with Pav's new modifications so no new refactoring is expected to be done to accomplish this task. 
    4552 
    4653= Implementation =