public void processActivation(Plugin plugin) throws PluginException {

    String mgDescriptor = plugin.getParameters().getProperty("module-group-descriptor");
    moduleGroup = new ModuleGroup(mgDescriptor, plugin.getClassLoader());
    Sys.getModuleGroup().addChild(moduleGroup);

    core = moduleGroup.getSystemModule();
    moduleGroup.startActiveModules();

    if (core == null) {
      throw new PluginException("Ebms core system module not found");
    }
  }
 /* (non-Javadoc)
  * @see hk.hku.cecid.piazza.commons.spa.PluginHandler#processDeactivation(hk.hku.cecid.piazza.commons.spa.Plugin)
  */
 public void processDeactivation(Plugin arg0) throws PluginException {
   moduleGroup.stopActiveModules();
 }