扩展验证框架以创建验证器
验证框架提供了一组API,可在IBM®Rational®Application Developer中轻松创建和管理验证器。 Validation Framework是一个开源项目,由Eclipse社区(Web工具平台)控制。 要验证的资源可以是Eclipse资源(IResource),Eclipse建模框架或EMF资源(EObject)。
该框架将在验证期间发现的问题作为问题标记在Rational Application Developer用户界面的“问题视图”或“标记视图”中提出,使您能够在开发阶段识别问题并避免在以后的测试阶段出现缺陷,从而帮助您节省时间和精力。为您的团队赚钱。
您必须在插件中创建扩展,才能从框架扩展验证器扩展点,以便创建新的验证器。 清单1中的示例显示了扩展的外观。
清单1.插件扩展示例
<extension
id="test1"
name="Test1 Validator"
point="org.eclipse.wst.validation.validatorV2">
<validator
class="org.eclipse.wst.validation.tests.TestValidator"
build="false"
manual="false" >
<include>
<rules>
<fileext ext="test1"></fileext>
<pattern regex=".*/secondx/third/.*"></pattern>
<facet id="java" version="1.6" />
</rules>
</include>
<exclude>
<rules>
<targetRuntime id="JBoss v5.0"/>
<file
caseSensitive="true"
name=".project"
type="file">
</file>
</rules>
</exclude>
</validator>
</extension>
所有验证器都必须扩展org.eclipse.wst.validation.validatorV2。 此外,他们必须定义一个ID,一个名称,一个定义验证器实现的类,并且其中一些包含和排除定义过滤器规则的位置。
筛选规则存储在组中。 有两种类型的组:包含和排除。 您可以根据需要包含任意多个包含组。 包含组内的过滤器会导致资源得到验证。 如果有任何规则匹配,则整个组都匹配。 在组内部,过滤规则进行“或”运算。 但是,单个包含组将与在一起。 您可以有一个“排除”组。 如果其任何过滤规则匹配,则排除资源。 排除优先于包含。
将验证器添加到您的插件中并重新启动Rational Application Developer之后,将显示新的验证器( Windows>首选项>验证 )。
验证选项
该框架提供了四个验证选项,以下各小节对此进行了解释:
允许项目覆盖这些首选项设置。 挂起所有验证器。 验证之前自动保存所有修改的资源。 执行手动验证时显示确认对话框:
1.允许项目覆盖这些首选项设置
项目可以覆盖“ 窗口”>“首选项”>“验证”中的选项。 这样,将根据当前选择的选项来验证各个项目。 它可以是“手动”,“构建”和可选设置。
2.暂停所有验证器
如果选择此选项,则所有验证器都将被挂起,这意味着将不验证工作空间中的项目和资源。
3.验证之前自动保存所有修改的资源
通过选择此选项,如果尚未保存资源并执行手动验证,则会弹出一个对话框,确认必须保存该资源才能进行验证。
您可以通过在对话框窗口中进行验证之前选中始终自动保存所有修改的资源来避免显示此对话框。
通过选择此选项,如果执行了手动验证,则会弹出一个对话框,确认验证过程中是否存在错误或警告。
调用手册或构建验证器
如果构建操作花费很长时间,则可能要禁用某些验证器。 禁用验证器后,“标记”或“问题”视图中不会显示错误,警告和信息消息。
可以通过Rational Application Developer中的两个不同的选项来调用所有验证器:
手册 建立
手动验证可通过选择包含资源的项目,右键单击它,然后选择“验证上下文”菜单选项来验证资源。 您可以启用或禁用手动验证:
选择资源或其父项目。 右键单击并选择“ 验证”菜单选项。
通过Build ,您可以通过选择Project> Clean菜单选项来选择要验证的资源。 您也可以启用或禁用构建验证:
选择窗口>首选项>验证 选择您可能想要更改其行为的验证器。 在验证器的“手动”列上,选中或取消选中该选项。
在这两种情况下,资源的有效性将取决于您的选择。
重要的是要注意,并非所有验证器都必须启用才能验证您的应用程序。 根据您正在处理的应用程序类型,可以启用特定的验证器。
验证非常大的工作空间可能会花费一些时间,因此您可以仅启用应用程序中所需的验证器,以减少验证量。
表1. Rational Application Developer中的验证器
验证器 描述 仅RAD
应用程序客户端验证器 验证以下Application Client项目资源:
部署描述符(application-client.xml) EJB参考 资源参考 是 应用清单验证器 在OSGi应用程序项目中的APPLICATION.MF文件上执行验证。 是 蓝图文件验证器 对OSGi捆绑项目中的蓝图XML文件执行验证。 是 捆绑清单验证器 在OSGi捆绑包项目中的MANIFEST.MF文件上执行验证。 是 类路径依赖验证器 验证潜在的运行时类路径错误。 这些是类路径问题,即使在Eclipse环境中一切都可以正常编译,但当将应用程序部署到Java EE服务器时,可能会出现类路径错误。 否(Eclipse) 客户端JavaScript 首先将页面内容翻译成JavaScript并通过我们的常规JavaScript编译器运行,然后将JavaScript放入网页中并进行验证。 然后,对所报告的问题进行位置信息调整,以使其在网页中显示正确的内容。 否(Eclipse) 复合捆绑物清单验证器 在OSGi复合包项目中的COMPOSITEBUNDLE.MF文件上执行验证。 是 连接器(1.0,1.5)验证器 检查连接器项目中的无效J2EE规范级别。 否(Eclipse) DTD验证器 确定DTD的当前状态在语义上是否有效。 XML文件根据W3C网站上的XML规范可扩展标记语言(XML)1.0进行了验证。 同样,DTD验证器检查是否存在错误,例如对不存在的实体和元素的引用。 否(Eclipse) 部署清单验证器 在OSGi应用程序项目中的DEPLOYMENT.MF文件上执行验证。 是 EJB验证器 根据Bean的级别,验证EJB项目中包含的企业Bean是否符合Oracle Enterprise JavaBeans规范。 具体来说,EJB验证程序验证以下资源:
属于企业bean成员的Java .class文件(主接口,远程接口,企业bean类,如果是实体bean,则为键类) ejb-jar.xml 是 企业应用验证器 验证以下内容:
EAR部署描述符(application.xml) 企业应用程序项目中所有模块项目的EJB引用 安全角色,资源引用。 所有包含或引用的模块和实用程序JAR文件的清单文件。 企业应用程序项目与任何实用程序和模块项目之间的目标服务器一致性。企业应用程序中定义的每个模块的项目存在性。 是 片段清单验证器 在OSGi片段项目中的MANIFEST.MF文件上执行验证。 是 HTML语法验证器 在以下Web项目资源中验证HTML基本语法和HTML DTD兼容性:
HTML文件 JSP文件 否(Eclipse) J2EE类路径验证器 验证是否存在类路径容器依赖项。 是 JSF应用程序配置验证器 测试字符串或JavaScript对象的值(字符串,数字,日期),以查看该值是否符合JSF验证规则。 否(Eclipse) JSF View扩展验证器 测试字符串或JavaScript对象的值(字符串,数字,日期),以查看该值是否符合JSF验证规则。 是 JSF视图验证器 测试字符串或JavaScript对象的值(字符串,数字,日期),以查看该值是否符合JSF验证规则。 否(Eclipse) JSP内容验证器 报告是否找不到标签库指令所引用的库,以及发现的与JSP文件内容中的前缀值有关的任何问题。 否(Eclipse) JSP语法验证器 通过将项目中的JSP文件转换为相应的Java代码,然后检查Java代码中的编译错误来验证它们。 否(Eclipse) 地图验证器 验证数据库中的字段和EJB成员是否已正确映射和同步。 是 项目结构验证器 验证是否有任何组件资源指向不存在的源文件夹,以及项目结构中是否有不必要的资源映射。 是 SCA 1.0复合验证器 验证OSOA文件* .composite。 是 SCA 1.0贡献验证器 验证OSOA文件META-INF / sca-contribution-xml。 是 SCA 1.1复合验证器 验证OASIS文件* .composite。 是 SCA 1.1贡献验证器 验证OASIS文件META-INF / sca-contribution-xml。 是 SIP 1.0融合项目验证器 验证sip.xml和web.xml是否正确合并。 是 SIP 1.1融合项目验证器 验证sip.xml和web.xml是否正确合并。 是 SIP 1.1部署描述符验证器 验证SIP项目正确有效。 是 SIP 1.1语义验证器 验证SIP规则Y映射 是 SIP 1.1 Servlet选择验证器 验证Servlet是否有效,并且选择了一个servlet。 是 SIP 1.1 Servlet验证程序 验证servlet有效并具有一个主条目。 是 Struts配置文件验证器 检查XML语法检查器未捕获的语义错误。 这些是在文件:struts-config _1_1.dtd中定义的语义,对于Struts 1.0,则是struts-config_1_0.dtd。 注意:仅验证配置的配置文件。 这意味着,如果未在web.xml(或portal.xml)中定义它,则不会对其进行验证。 是 Struts配置文件验证器-Portlet 检查XML语法检查器未捕获的语义错误。 这些是在文件:struts-config _1_1.dtd中定义的语义,对于Struts 1.0,则是struts-config_1_0.dtd。 注意:仅验证配置的配置文件。 这意味着,如果未在web.xml(或portal.xml)中定义它,则不会对其进行验证。 是 标签库描述符验证器 标记库描述符是一个XML文档,其中包含有关整个库以及该库中包含的每个标记的信息。 Web容器和JSP页面开发工具使用TLD来验证标签。 该验证器可用于验证任何将此标签库导入其要求的JSP页面的一致性。 否(Eclipse) WS-I消息验证器 根据WS-I配置文件检查SOAP消息。 用户可以使用TCP / IP监视器捕获和验证SOAP消息。 验证器检查保存为项目资源(.wsimsg)的消息日志。 日志符合WS-I指定的格式。 否(Eclipse) WSDL验证器 WSDL验证器检查WSDL文件中的以下内容:
XML语法 <types>部分中的XML模式类型 WSDL中各种构造的参照完整性 验证器还包括一个扩展点,以允许将其他验证器插入WSDL验证中,以提供WSDL文件的其他验证。 通过这种机制,可以通过根据WS-I配置文件验证WSDL文件来检查互操作性。 否(Eclipse) Web服务注释验证器 验证JAX-WS Web服务注释,并确保为目标运行时正确配置了应用程序。 是 Web服务项目验证器 验证基于WebSphere的EJB Web服务,以确保配置了所有必需的模块。 是 网络验证器 验证以下Web项目资源:
部署描述符(web.xml) 小程序 安全角色 Servlet和Servlet映射 EJB参考 是 WebSphere Application Manifest验证器 在OSGi应用程序项目中的APPLICATION.MF文件上执行IBM®WebSphere®特定的验证。 是 WebSphere Composite Bundle清单验证器 在OSGi复合包项目中的COMPOSITEBUNDLE.MF文件上执行特定于WebSphere的验证。 是 WebSphere EJB 3.0部署描述符验证器 关于WebSphere绑定和扩展相关的元数据,验证ejb-jar.xml文件。 是 WebSphere EJB绑定验证器 验证定义了WebSphere EJB绑定元数据的ibm-ejb-jar-bnd.xml文件(例如,对数据源的绑定等)。 是 WebSphere EJB扩展验证器 验证定义了WebSphere EJB扩展元数据的ibm-ejb-jar-ext.xml文件。 是 WebSphere EJB编程模型扩展验证器 验证定义了WebSphere EJB编程模型扩展元数据的ibm-ejb-jar-ext-pme.xml文件。 是 WebSphere JPA验证程序 验证任何WebSphere / OpenJPA特定的元数据的JPA persistence.xml文件。 是 WebSphere Legacy EJB扩展验证器 验证定义了WebSphere EJB扩展元数据的ibm-ejb-jar-ext.xmi文件。 是 WebSphere旧版Web扩展验证器 验证定义了WebSphere Web Extensions元数据的ibm-web-jar-ext.xmi文件。 是 WebSphere Web绑定验证器 验证定义了WebSphere Web绑定元数据的ibm-web-jar-bnd.xml文件。 是 WebSphere Web Extensions验证程序 验证定义了WebSphere Web Extensions元数据的ibm-web-jar-ext.xml文件。 是 WebSphere Web编程模型扩展验证器 验证定义了WebSphere Web编程模型扩展元数据的ibm-web-ext-pme.xml文件。 是 XML模式验证器 确定XML模式文件的当前状态在语义上是否有效。 XML模式根据XML模式规范XML模式进行验证。 否(Eclipse) XML验证器 XML验证程序可确保XML文件格式正确。 它还验证XML文件是否有效-也就是说,它遵循XML文件所关联的DTD或XML模式中建立的约束。 否(Eclipse) XSL验证器 确保XSL文件格式正确。 它尝试检测任何静态错误,即在执行开始之前可以在样式表中检测到的错误。 否(Eclipse) iWidget验证程序 确保iWidget在视图模式下必须至少具有一个内容元素,该内容元素模式在XML文档中必须是唯一的,并且所添加的任何内容元素的模式都应与“支持的模式”字段同步。 否(Eclipse) xJCL批次验证器 验证XML作业控制语言(xJCL)文件格式正确。 否(Eclipse)
翻译自: https://www.ibm.com/developerworks/rational/library/enable-disable-validators-rational-application-developer/index.html
相关资源:IBM Rational Application Developer 7.5永久许可证即安装说明