作为管理员,您可以通过编辑配置文件来自定义 Web 控制台显示的某些方面。
本节介绍了以下任务:
有关使用 Web 控制台的信息,请参见《Service Registry 3.1 用户指南》。
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 控制台的以下区域中:
“分类方案 (ClassificationScheme)/概念选择器”窗口,当您单击“搜索”菜单区域中的“选择分类节点 (Classification Node)”或需要为某些种类的注册表 (Registry) 对象选择概念时将显示此窗口
“资源管理器”菜单区域
作为管理员,如果不希望 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 控制台针对每个查询每次显示 25 个搜索结果。如果搜索返回的结果超过 25 个,则用户可以显示多个结果页面。作为管理员,您可以修改每个页面中显示的搜索结果数。
默认情况下,Web 控制台在搜索结果区域中显示一些列。对于每个对象,它将显示对象类型、名称、描述、版本和版本注释。对于某些对象类型,将配置非默认显示。例如,对于服务绑定 (ServiceBinding) 对象,显示包括端点而不是版本信息。作为管理员,您可以添加配置信息,从而显示所选对象类型的非默认数据。
要执行其中每项任务,您可以编辑一个配置文件。
转至目录 RegistryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes。
在文本编辑器中打开文件 jaxr-ebxml.properties。
查找 omar.client.thinbrowser.numSearchResults 属性的定义:
omar.client.thinbrowser.numSearchResults=25
将值 25 更改为所需的值。
保存并关闭 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) 对象的非默认显示。
可以配置的最大列数为 30。
对于 SearchResultsColumn 元素:
columnClass 属性值始终为 java.lang.Object。
columnHeader 属性值为 Web 控制台资源包文件中某消息的键。这些文件包含在目录 registryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/ classes/org/freebxml/omar/client/ui/thin/ 中。例如,如果键入 Object Type 作为 columnHeader 值,则 Web 控制台的底层 Bean 将使用 WebResourceBundle 类来查找具有此键的消息。如果 WebResourceBundle 找不到此类消息,它会将此键转换为小写体并再次尝试查找。如果查找再次失败,它会将消息值设置为 "???"+key+"???" 并记录有关缺少资源包条目的警告消息。因此,要添加新的本地化 columnHeader 值,必须向此目录包含的 ResourceBundle 文件中输入新的消息键。
Web 控制台不使用 columnWidth 属性。
Web 控制台不使用 editable 属性。
在极大程度上,您可以根据 ebXML Registry Information Model Version 3.0 规范(有关详细信息,请参见阅读本书之前)中的类属性推论出 method 属性的方法名称。可以在 RegistryObjectImpl 实现类中找到 getStatusAsString 方法。(但是,此版本的 Service Registry 中不包括 API 文档。)
对于每个 omar.client.xml.registry.infomodel 类名,最多只能具有一个 ObjectTypeConfig 元素。
保存并关闭 registry-browser-config.xml 文件。
按照停止并重新启动 Registry 的 Application Server 域中的说明进行操作。
要检验重新配置,请使用 Web 控制台的“搜索”或“资源管理器”菜单来显示更改了列的对象。