BBCodeServiceImpl implements Startable, BBCodeService, ManagementAware { public void registerBBCodePlugin(BBCodePlugin plugin) throws Exception { plugins.add(plugin); } BBCodeServiceImpl();  BBCodeServiceImpl(KSDataLocation dataLocator); void registerBBCodePlugin(BBCodePlugin plugin); void initDefaultBBCodes(); void save(List<BBCode> bbcodes); List<BBCode> getAll(); List<String> getActive(); BBCode findById(String id); void delete(String bbcodeId); void start(); void stop(); void setContext(ManagementContext context); KSDataLocation getDataLocator(); void setDataLocator(KSDataLocation dataLocator); List<BBCodePlugin> getPlugins(); void setPlugins(List<BBCodePlugin> plugins); final static String BBCODE_NODE_TYPE; final static String BBCODE_HOME_NODE_TYPE; }
@Test public void testRegisterBBCodePlugin() throws Exception { BBCodePlugin plugin = new BBCodePlugin(); plugin.setName("plugin1"); bbcodeService.registerBBCodePlugin(plugin); List<BBCodePlugin> plugins = bbcodeService.getPlugins(); assertEquals(1, plugins.size()); assertEquals("plugin1", plugins.get(0).getName()); BBCodePlugin plugin2 = new BBCodePlugin(); plugin2.setName("plugin2"); bbcodeService.registerBBCodePlugin(plugin2); List<BBCodePlugin> plugins2 = bbcodeService.getPlugins(); assertEquals("BBCode plugins list size was not incremented", 2, plugins2.size()); assertEquals("plugin2", plugins.get(1).getName()); }