Ticket #281 (closed Task: fixed)
Remove internal methods from core service API
Reported by: | jri | Owned by: | |
---|---|---|---|
Priority: | Minor | Milestone: | Release 4.1 |
Component: | DeepaMehta Standard Distribution | Version: | 4.0.11 |
Keywords: | Cc: | dgf | |
Complexity: | 5 | Area: | Application Framework / API |
Module: | deepamehta-core |
Description (last modified by jri) (diff)
These core service methods should not be exposed to the plugin developer:
registerPlugin() unregisterPlugin() getPlugin() runPluginMigration() checkAllPluginsReady() triggerHook() -- obsolete anyway addListener() removeListener() fireEvent() deliverEvent() setupDB() shutdown()
This could be done by splitting the core.service.Plugin class into 2 parts:
- one public part (core.service.Plugin) that acts as OSGi activator and OSGi event handler
- one private part (core.impl.service.PluginImpl?) that has "friend" access to the core service implementation.
Change History
comment:1 Changed 12 years ago by jri
- Description modified (diff)
- Area set to Application Framework / API
- Cc dgf added
- Module set to deepamehta-core
- Priority changed from Major to Minor
- Complexity changed from 3 to 5
- Milestone set to Release 4.1
- Type changed from Defect to Task
comment:2 Changed 12 years ago by Jörg Richter
Core modularization and repackaging (#281).
Modularization:
- move migration management functions to new class
core.impl.service.MigrationManager?
- move plugin management functions to new class
core.impl.service.PluginManager?
Hide internals:
- remove 5 methods from DeepaMehta core service API:
registerPlugin()
unregisterPlugin()
isPluginRegistered()
checkAllPluginsActive()
runPluginMigration()
- move plugin internals to new class
core.impl.service.PluginImpl?
- move 3 classes from core.service to core.impl.service:
Furthermore:
- rename OSGi core activator from core.osgi.Activator to
core.osgi.CoreActivator?
- rename and move plugin base class from core.service.Plugin to
core.osgi.PluginActivator?
IMPORTANT for developers: you must extend your plugin from this new base class.
Plugins not yet adapted.
See ticket 281.
comment:3 Changed 12 years ago by Jörg Richter
Core modularization: adapt plugins (#281).
7 plugin implementation methods are no longer public:
getUri()
getName()
getInfo()
getConfigProperty()
loadClass()
getMigrationClassName()
setMigrationNr()
This branch is fully functional.
Stripping down the public core service API is pending.
See ticket 281.
comment:4 Changed 12 years ago by Jörg Richter
- Status changed from new to closed
- Resolution set to fixed
Core: strip down public core service API (#281).
remove 5 internal methods from public DeepaMehta core service API
addListener()
removeListener()
deliverEvent()
setupDB()
shutdown()
This branch is fully functional.
Close ticket 281.
comment:5 Changed 12 years ago by Jörg Richter
Core modularization and repackaging (#281).
Modularization:
- move migration management functions to new class
core.impl.service.MigrationManager?
- move plugin management functions to new class
core.impl.service.PluginManager?
Hide internals:
- remove 5 methods from DeepaMehta core service API:
registerPlugin()
unregisterPlugin()
isPluginRegistered()
checkAllPluginsActive()
runPluginMigration()
- move plugin internals to new class
core.impl.service.PluginImpl?
- move 3 classes from core.service to core.impl.service:
Furthermore:
- rename OSGi core activator from core.osgi.Activator to
core.osgi.CoreActivator?
- rename and move plugin base class from core.service.Plugin to
core.osgi.PluginActivator?
IMPORTANT for developers: you must extend your plugin from this new base class.
Plugins not yet adapted.
See ticket 281.
comment:6 Changed 12 years ago by Jörg Richter
Core modularization: adapt plugins (#281).
7 plugin implementation methods are no longer public:
getUri()
getName()
getInfo()
getConfigProperty()
loadClass()
getMigrationClassName()
setMigrationNr()
This branch is fully functional.
Stripping down the public core service API is pending.
See ticket 281.
comment:7 Changed 12 years ago by Jörg Richter
Core: strip down public core service API (#281).
remove 5 internal methods from public DeepaMehta core service API
addListener()
removeListener()
deliverEvent()
setupDB()
shutdown()
This branch is fully functional.
Close ticket 281.
comment:8 Changed 12 years ago by Jörg Richter
Core modularization and repackaging (#281).
Modularization:
- move migration management functions to new class
core.impl.service.MigrationManager?
- move plugin management functions to new class
core.impl.service.PluginManager?
Hide internals:
- remove 5 methods from DeepaMehta core service API:
registerPlugin()
unregisterPlugin()
isPluginRegistered()
checkAllPluginsActive()
runPluginMigration()
- move plugin internals to new class
core.impl.service.PluginImpl?
- move 3 classes from core.service to core.impl.service:
Furthermore:
- rename OSGi core activator from core.osgi.Activator to
core.osgi.CoreActivator?
- rename and move plugin base class from core.service.Plugin to
core.osgi.PluginActivator?
IMPORTANT for developers: you must extend your plugin from this new base class.
Plugins not yet adapted.
See ticket 281.
comment:9 Changed 12 years ago by Jörg Richter
Core modularization: adapt plugins (#281).
7 plugin implementation methods are no longer public:
getUri()
getName()
getInfo()
getConfigProperty()
loadClass()
getMigrationClassName()
setMigrationNr()
This branch is fully functional.
Stripping down the public core service API is pending.
See ticket 281.
comment:10 Changed 12 years ago by Jörg Richter
Core: strip down public core service API (#281).
remove 5 internal methods from public DeepaMehta core service API
addListener()
removeListener()
deliverEvent()
setupDB()
shutdown()
This branch is fully functional.
Close ticket 281.