[[BackLinksMenu]] [[TicketQuery(summary=PLUGIN_SUPPORT_LIB_BASE_R1, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|)]] = Analysis = == Overview == The goal of this task is to solve the shared resources issue and to describe(and may be refactor) the way we get the class module instances. == Task requirements == * Create document(or write in the design section) how we set, get and use the instances of the module classes([module_name]Module). * See which resources have to be shared and separate them in new src/main/resources/distrib folders. * Think out a way to share the module resources and get them without problems. It must work with the fake and true launchers of the sophie2 platform. * Create API in core.modularity which provides functionality for dealing with the resources. * See if there are any static paths while getting the resources and change them with the newly created functions. == Task result == * classes in core.modularity * information about the static instances * new storage for the resources == Implementation idea == * When you write new module you must create static get() method which returns the instance of the class. * Use ClassLoaders and streams while working with resources. == Related == [wiki:PLUGIN_SUPPORT_LIB_BASE_R0][[BR]] [wiki:PLATFORM_DEPLOYMENT_BUILD_MAVEN_R1] == How to demo == * Show the new classes and describe their functionality. Run tests if you manage to think out how to test the new API. * Show the information about the instances. * Show where the resources are stored. = Design = * When you create new Sophie module, first of all you should create instance of the module and get() method for getting it. The template is here: [source:/trunk/sophie2-platform/dev-tools/eclipse_templates/module_templates/module_instance.xml] * For the resource API * Create class in core.modularity which will represents the resource API. * It have to: * give resources for reading * give resources for modifying them * The = Implementation = ^(Implementation results should be described and linked here (from the wiki or the repository))^ = Testing = = Comments = ^(Write comments for this or later revisions here.)