作为管理员,您可以通过编辑配置文件对 Web 控制台显示的某些方面进行自定义。本节介绍了以下任务:
有关使用 Web 控制台的信息,请参见《Service Registry 3 2005Q4 用户指南》。
Service Registry 包括几个显示在“选择预定义查询”下拉式列表的“Web 控制台搜索”表单中的预定义查询。作为管理员,您可以根据具体的 Registry 安装向下拉式列表中添加新的查询。
使用 Web 控制台将 AdhocQuery 对象发布到 Registry 中。
为查询指定的名称和说明将显示在预定义查询的下拉式列表中。在查询的 SQL 语句中,通过将用户提供的数据用双重单引号引起来指定此类数据的占位符,如下所示:
select * from registryobject where id = ''$lid''
将 AdhocQuery 对象的唯一标识符和 SQL 语句中所有占位符记录下来。
更改到目录 RegistryDomain-base/3.0/jaxr-ebxml。
用文本编辑器打开文件 registry-browser-config.xml。
使用以下格式将条目添加至 registry-browser-config.xml 文件。为 SQL 语句中的每个占位符指定 Parameter 元素。
<Query> <AdhocQueryRef id="unique_identifier"/> <Parameter parameterName="$placeholder_name" datatype="string"> <rim:Name> <rim:LocalizedString xml:lang="en" charset="UTF-8" value="parameter_name_in_en_locale"/> <rim:LocalizedString xml:lang="fr" charset="UTF-8" value="parameter_name_in_fr_locale"/> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en" charset="UTF-8" value="parameter_description_in_en_locale"/> <rim:LocalizedString xml:lang="fr" charset="UTF-8" value="parameter_description_in_fr_locale"/> </rim:Description> </Parameter> ... </Query>
unique_identifier 是 AdhocQuery 对象的唯一标识符。
每个参数的 parameterName 属性值必须来自查询的 SQL 语句的占位符。
datatype 属性可以拥有以下任一值:
string:该参数显示为“搜索”表单中的文本字段。
taxonomyElement:该参数显示为“搜索”表单中的下拉式列表。如果指定 taxonomyElement 数据类型,Name 和 Description 元素必须后跟 SlotList 元素,如下所示:
<rim:SlotList> <rim:Slot name="domain"> <rim:ValueList> <rim:Value> classification_scheme_or_concept_id </rim:Value> </rim:ValueList> </rim:Slot> </rim:SlotList>
classification_scheme_or_concept_id 是分类方案或概念的唯一标识符,它们的概念(或子概念)必须显示在下拉式列表中。如果分类方案尚未存在于 Registry 中,您必须将其发布。
插槽名称必须为 "domain"。
boolean:该参数显示为“搜索”表单中的复选框。
如果 datatype 为 string 或 boolean,您还可以将 defaultValue 属性添加到 Parameter 元素以指定要在“搜索”表单中显示的默认值。
为您支持的所有语言环境指定每个参数名称和说明的本地化字符串值。当前语言环境中的 parameter_name 在“搜索”表单中显示为参数的标签。
使用 registry-browser-config.xml 文件中的现有条目作为参考。
保存并关闭 registry-browser-config.xml 文件。
按照停止并重新启动用于 Registry 的 Application Server 域中的说明进行操作。
在“选择预定义查询”下拉式列表中显示为默认值的查询为基本查询,该查询允许用户按名称、说明和分类搜索 Registry 对象。
作为管理员,您可以将此默认值更改为适用于您的安装的查询。例如,您可能要将默认查询设为添加到 Registry 中的新预定义查询(如添加预定义查询中所述)。要进行此更改,请在配置文件中编辑属性。
更改到目录 RegistryDomain-base/domains/registry/applications/j2ee-modules /soar/WEB-INF/classes。
用文本编辑器打开文件 jaxr-ebxml.properties。
查找属性 jaxr-ebxml.thin.defaultQueryPanel 的定义。默认情况下,此属性被注释掉:
#jaxr-ebxml.thin.defaultQueryPanel=
删除注释字符 (#)。
通过指定将为默认值的查询的逻辑标识符设置属性值,如以下示例所示:
jaxr-ebxml.thin.defaultQueryPanel=urn:oasis:names:tc:ebxml-regrep:query:MyQuery
保存并关闭 jaxr-ebxml.properties 文件。
按照停止并重新启动用于 Registry 的 Application Server 域中的说明进行操作。
分类方案的树结构在 Web 控制台的以下区域显示:
选定“基本查询”后,显示在“搜索”表单区域
“资源管理器”菜单区域
需要为某些类型的 Registry 对象选择概念时显示的“ClassificationScheme/概念选择器”窗口
作为管理员,如果您不想将分类方案提供给 Service Registry 用户,则可以在视图中隐藏分类方案。要隐藏分类方案,请在配置文件中定义一个属性。
更改到目录 RegistryDomain-base/domains/registry/applications/j2ee-modules /soar/WEB-INF/classes。
用文本编辑器打开文件 jaxr-ebxml.properties。
使用以下语法设置属性 jaxr-ebxml.registryBrowser.ConceptsTreeModel.hiddenSchemesList。所有属性定义必须都在一行上并且不能包含空格。
jaxr-ebxml.registryBrowser.ConceptsTreeModel.hiddenSchemesList= class_scheme_id1|class_scheme_id2|...
指定每个要隐藏的分类方案的逻辑标识符。如果指定多个标识符,请使用垂直条 (|) 分隔这些标识符,如以下示例所示:
jaxr-ebxml.registryBrowser.ConceptsTreeModel.hiddenSchemesList= urn:oasis:names:tc:ebxml-regrep:classificationScheme:StatusType| urn:oasis:names:tc:ebxml-regrep:profile:ws:classificationScheme:BindingType
保存并关闭 jaxr-ebxml.properties 文件。
按照停止并重新启动用于 Registry 的 Application Server 域中的说明进行操作。
默认情况下,Web 控制台一次显示每个查询的 10 个搜索结果。如果返回的搜索结果超过 10 个,用户可以显示结果的附加页。作为管理员,您可以修改每个页面上显示的搜索结果数。
默认情况下,Web 控制台显示搜索结果区域中的特定列。将显示每个对象的对象类型、名称、说明、版本和版本注释。对于某些对象类型将配置非默认显示。例如,对于 ServiceBinding 对象,其显示包括端点而不是版本信息。作为管理员,您可以添加配置信息以显示您选择的对象类型的非默认数据。
要执行这些任务,请编辑配置文件。
更改到目录 RegistryDomain-base/domains/registry/applications/j2ee-modules /soar/WEB-INF/classes。
用文本编辑器打开文件 jaxr-ebxml.properties。
查找属性 omar.client.thinbrowser.numSearchResults 的定义:
omar.client.thinbrowser.numSearchResults=10
将值 10 更改为您所希望的值。
保存并关闭 jaxr-ebxml.properties 文件。
按照停止并重新启动用于 Registry 的 Application Server 域中的说明进行操作。
更改到目录 RegistryDomain-base/3.0/jaxr-ebxml。
用文本编辑器打开文件 registry-browser-config.xml。
使用以下格式将条目添加至 registry-browser-config.xml 文件。
此示例配置 Service 对象的非默认显示。
<ObjectTypeConfig className="org.freebxml.omar.client.xml.registry.infomodel.ServiceImpl" id="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Service"> <SearchResultsConfig> <SearchResultsColumn columnClass="java.lang.Object" columnHeader="Object Type" columnWidth="25" editable="false" method="getObjectType"/> <SearchResultsColumn columnClass="java.lang.Object" columnHeader="Name" columnWidth="25" editable="true" method="getName"/> <SearchResultsColumn columnClass="java.lang.Object" columnHeader="Description" columnWidth="30" editable="true" method="getDescription"/> <SearchResultsColumn columnClass="java.lang.Object" columnHeader="Status" columnWidth="15" method="getStatusAsString"/> <SearchResultsColumn columnClass="java.lang.Object" columnHeader="Version" columnWidth="5" method="getVersionName"/> </SearchResultsConfig> </ObjectTypeConfig>
registry-browser-config.xml 提供 ObjectTypeConfig 元素的语法。将文件中已有的元素用作示例。这些元素为 Registry 对象配置默认显示,并为 ExternalLink、ExtrinsicObject 和 ServiceBinding 对象配置非默认显示。
大多数情况下,您可以从 ebXML Registry 信息模型版本 3.0 规范的类属性中推出方法名称(有关详细信息,请参见阅读本书之前)。可以在 RegistryObjectImpl 实现类中找到 getStatusAsString 方法。(但是,此发行版的 Service Registry 不包括 API 文档。)
保存并关闭 registry-browser-config.xml 文件。
按照停止并重新启动用于 Registry 的 Application Server 域中的说明进行操作。
要验证重新配置,请使用 Web 控制台的“搜索”或“资源管理器”菜单来显示已更改其列的对象。