1批注继承
11.1批注继承
11.1.1 流程
11.1.1.1 点击批注链接跳转到QueryNotesServlet,在此Servlet中调用查询所有批注的方法。获取所有批注后变历集合,在变历中调用setViewFlag(ntDTO, libraryService)
注:ntDTO:是每次变历的属性值 libraryService:文档包服务接口
11.1.1.2 在setViewFlag(ntDTO, libraryService)方法中首页获取topic页面所属的文档包。如果topic所在的文档包不存在,该批注显示为灰色。
接着判断该文档包是扩展包还是补丁包:如果是补丁包调用getLib(libId)获取正在浏览的文档包对应的最新版本的文档包。如果最新版本的文档包存在,在首页列表可以显示,并且最新的补丁版本中存在相同的节点(topicId相同),则批注列表中正常显示该批注,返回定位时定位到最新的补丁版本。
11.1.1.3 判断添加批注时浏览的文档包和现在最新版本的文档包是否是同一个文档包,如果是,不需要重新判断最新版本的文档包是否存在相同topicId的节点,否则重新判断最新版本的文档包中是否存在相同topicId的节点。
11.1.1.3 如果是扩展包先判断扩展包挂接的基础补丁包是否在在文档包首页展示,如果可以展示,正常显示批注。如果扩展包含有补丁包,判断扩展补丁包中是否存在相同的节点(topicId相同)展示基础补丁包的导航树和扩展补丁包topic内容;否则展示扩展包自身的导航树。不存在扩展补丁包,展示基础补丁包的导航树。
11.1.1.4 再判断扩展包挂接的基础是否在文档包首页展示,如果可以展开,正常显示批注。如果扩展包含有补丁包,判断扩展补丁包中是否存在相同的节点(TopicId相同)如果存在,展示包的导航树和扩展补丁包topic内容;否则展示扩展包自身的导航树。不存在扩展补丁包,展示基础包的导航树。