É possível usar um arquivo do Construtor JavaScript para implementar extensões diferenciadas criadas usando o Extensibility Workbench Não é possível usar
este procedimento para implementar extensões substitutas criadas usando o Designer
Workbench.
Sobre esta tarefa
Um JSB poderá ser usado se a tela base for ativada por meio de um JSB ou por meio de um JSB que usa uma biblioteca JavaScript para renderizar as telas
Nota: Caminhos do arquivo UNIX/Linux são usados no procedimento a seguir.
Procedimento
- Instale o aplicativo e construa um arquivo WAR para ele.
- Implemente o arquivo WAR no servidor no formato explodido.
- Inicie o servidor de aplicativos passando o argumento a seguir:
- Certifique-se de que as mudanças feitas usando o Extensibility Workbench tenham todos os arquivos Java™ gerados e salvos
- Na pasta INSTALL_DIR/extensions de seu diretório de instalação, crie o seguinte subdiretório:
nome do pacote de aplicativos/páginas da Web.
- No subdiretório webpages, replique a estrutura de diretório
da tela que você deseja estender (relativa à sua implementação)
e copie em todos os arquivos de script gerados pelo a Extensibility
Workbench.
Por exemplo, se você estender a tela Manage Flight Route (que usa o caminho de arquivo application package name/flightRoute ), copiará todos os arquivos Java da extensão para o diretório INSTALL_DIR/extensions/applicationpackage name/webpages/applicationpackage name/flightRoute.
- Crie um novo arquivo JSB na mesma pasta para ativar estes arquivos recém-gerados. Os arquivos ExtensionJSFile_overlays.js devem ser incluídos antes dos arquivos ExtensionJSFile.js correspondentes. É possível usar o modelo JSB do Code Template Generator
para criar o código deste arquivo. Será necessário colar o código
no novo arquivo.
Código de amostra para JSB:
?xml version="1.0" encoding="utf-8"?
project name="scuiIDE"
author="Your Company"
target name="flight_route"
!-- The name attribute in target is used to uniquely identify
this JSB in the application. It serves as its identifier.--
file="/extn/stk/flightRoute/test-all.js"
loadAfter="flightService"
!-- The loadAfter attribute in target is used to specify the
javascript library after which the current JSB should be rendered.--
allowDynamicLoad="true"
debug="True"
shorthand="False"
shorthand-list=""
include name="/extn/stk/flightRoute/test_overlays.js"/
include name="/extn/stk/flightRoute/test.js"/
/target
/project
- Crie um novo servlet para registrar o novo arquivo JSB. A
pasta extn deve ser prefixada para as chamadas LoadJSLibraryXml e loadIncrementalMashupExtnXml.
Código de amostra para criar o servlet:
package jsbCreator;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import
com.sterlingcommerce.ui.web.framework.helpers.SCUIJSLibraryHelper;
import
com.sterlingcommerce.ui.web.framework.helpers.SCUIMashupHelper;
public class CreateServlet extends HttpServlet {
private static final long serialVersionUID =
4693417985837892469L;
public synchronized void init(final ServletConfig config)
throws ServletException {
//loads the JSB specified at the path
SCUIJSLibraryHelper.loadJSLibraryXml
("extn/stk/flightRoute/test.jsb", config.getServletContext());
//loads the mashup XML specified at the path
SCUIMashupHelper.loadIncrementalMashupExtnXml
("/extn/stk/flightRoute/test_mashup.xml", config.getServletContext());
}
}
- Empacote o servlet em um arquivo jar.
- Atualize o arquivo web.xml com suas customizações.
- Reative o aplicativo para exibir as mudanças estendidas.
As mudanças aparecerão sobrepostas na tela de base.