Estendendo Mashups Usando Extensibilidade Diferenciada
É possível estender um mashup usando a extensibilidade diferenciada.
Procedimento
- Crie um arquivo XML de mashup com entradas para o arquivo de mashup a ser substituído. Este arquivo pode ter qualquer nome e não precisa replicar a estrutura de diretório relativa do arquivo XML que contém o mashup a ser estendido.
- Copie o arquivo XML no diretório INSTALL_DIR/extensions/app_dir/webpages . Como esse caminho do diretório não faz parte da instalação fornecida pelo aplicativo, crie-o dentro do diretório INSTALL_DIR/extensions O arquivo XML mashup original está presente no diretório INSTALL_DIR/repository/eardata/app_dir/war/mashupxmls/app_dir .
Crie uma classe de servlet
initpara registrar o arquivo XML de mashup. Use o métodoloadIncrementalMashupXmlna classeSCUIMashupHelper. O conteúdo do arquivo XML é incluído nos respectivos mashups na tela base baseada emmashup id.Considere o mashup fornecido pelo aplicativo a seguir.
Para usar a extensibilidade diferenciada para o mashup fornecido pelo aplicativo, crie um mashup incremental ou diferencial com o mesmo ID de mashup fornecido no seguinte arquivo override_mashup.xml que está presente na pasta /myapps/override.<mashups> <mashup endpoint="EP_CONFIG" id="sample_getOrganizationList" mashuptype="XAPI" transactional="true"> <classInformation name="com.ibm.wsc.common.mashups.WSCBaseMashup"/>name="com.ibm.isccs.common.mashups.SCCSBaseMashup"/> <API Name="getOrganizationList"> <Input> <Organization DisplayLocalizedFieldInLocale="xml:CurrentUser:/user/@Localecode" MaximumRecords=""> <OrgRoleList> <OrgRole RoleKey="ENTERPRISE"/> </OrgRoleList> <DataAccessFilter UserId="xml:CurrentUser:/user/@Loginid"/> <OrderBy> <Attribute Desc="N" Name="OrganizationName"/> </OrderBy> </Organization> </Input> <Template> <OrganizationList> <Organization CustomerMasterOrganizationCode="" LocaleCode="" OrganizationCode="" OrganizationName=""> <BillingPersonInfo City="" Country="" ZipCode=""/> </Organization> </OrganizationList> </Template> </API> <APINamespace inputNS="getOrganizationList_input" outputNS="getOrganizationList_output"/> <AlternateResourceIds> <AlternateResourceId altResourceId="ISCCSSYS002"/> <AlternateResourceId altResourceId="ISCCRTORD0001"/> <AlternateResourceId altResourceId="ISCORD0001"/> </AlternateResourceIds><AlternateResourceIds> <AlternateResourceId altResourceId="WSCSYS00001"/> <AlternateResourceId altResourceId="WSC000001"/> </AlternateResourceIds> </mashup> </mashups><mashups> <mashup endpoint="EP_CONFIG" id="sample_getOrganizationList" mashuptype="XAPI" transactional="true"> <classInformation name="com.ibm.wsc.common.mashups.WSCBaseMashup"/>name="com.ibm.isccs.common.mashups.SCCSBaseMashup"/> <API FlowName="MyService"> <Input> <Organization DisplayLocalizedFieldInLocale="xml:CurrentUser:/user/@Localecode" MaximumRecords=""> <OrgRoleList> <OrgRole RoleKey="ENTERPRISE"/> </OrgRoleList> <DataAccessFilter UserId="xml:CurrentUser:/user/@Loginid"/> <OrderBy> <Attribute Desc="N" Name="OrganizationName"/> </OrderBy> </Organization> </Input> <Template> <OrganizationList> <Organization CustomerMasterOrganizationCode="" LocaleCode="" OrganizationCode="" OrganizationName=""> <BillingPersonInfo City="" Country="" ZipCode=""/> </Organization> </OrganizationList> </Template> </API> <APINamespace inputNS="getOrganizationList_input" outputNS="getOrganizationList_output"/> <AlternateResourceIds> <AlternateResourceId altResourceId="ISCCSSYS002"/> <AlternateResourceId altResourceId="ISCCRTORD0001"/> <AlternateResourceId altResourceId="ISCORD0001"/> </AlternateResourceIds><AlternateResourceIds> <AlternateResourceId altResourceId="WSCSYS00001"/> <AlternateResourceId altResourceId="WSC000001"/> </AlternateResourceIds> </mashup> </mashups>Se você usar o método de carregamento incrementalloadIncrementalMashupXml(/myapps/override/override_mashup.xml, ...), os elementos internos no arquivo override_mashup.xml serão mesclados no mashup original e se comportará como se o mashup fosse codificado da seguinte forma:<mashups> <mashup id="sample_getOrganizationList"> <API> <Input> </Input> <Template> <OrganizationList> <Organization IsEnterprise ="" OrganizationKey =""/> </Organization> </OrganizationList> </Template> </API> </mashup> </mashups>