Estruturando o Upload e o Download do Arquivo
É possível implementar a funcionalidade de upload/download de arquivo por meio dos contratos na interface no Web UI Framework e no Rich Client Platform. As implementações de upload/download podem ser conectadas pelo web.xml como parâmetros de contexto ou programaticamente usando métodos expostos.
Isso permite que você faça o seguinte:
- Customizar a funcionalidade de upload/download da mesma forma que pode-se customizar autorização, autenticação e outras tarefas.
- Implemente a funcionalidade de upload/download para aplicativos que não usam a Sterling Application Platform.
Essas tarefas usam as seguintes classes de base que estão presentes no Sterling Application Platform (o arquivo platform_afc.jar) e no arquivo jar de anexo de base (platform_fa.jar) que é usado quando não estiver usando o Sterling Application Platform:
- As interfaces IFileUploadProvider e IFileDownloadProvider
- A classe abstrata PLTFileUploadProvider
- Os servlets PLTFileUploadservlet e PLTFileDownloadServlet
Implementações Padrão de Upload/Download do Arquivo
O gráfico a seguir mostra a implementação padrão da funcionalidade de upload/download em aplicativos baseados no Sterling Application Platform, mas que não usam o Web UI Framework (como o Rich Client Platform):
No gráfico, Platform e Platform_AFC referem-se ao Sterling Application Platform.

As classes de implementação padrão são as seguintes:
- Para upload - com.sterlingcommerce.woodstock.util.frame.file.impl.PLTFileUploadProviderImpl
- Para download - com.sterlingcommerce.woodstock.util.frame.file.impl.PLTFileDownloadProviderImpl
O gráfico a seguir mostra a implementação padrão da funcionalidade de upload/download em aplicativos baseados no Sterling Application Platform e que usam o Web UI Framework:
No gráfico, Platform e Platform_AFC referem-se ao Sterling Application Platform.

As classes de implementação padrão são as seguintes:
- Para upload - com.sterlingcommerce.ui.web.platform.file.SCUIFileUploadProviderImpl
- Para download - com.sterlingcommerce.ui.web.platform.file.SCUIFileDownloadProviderImpl
Plug-in nas Implementações de Upload/Download de Arquivo Através do web.xml
Os parâmetros de contexto a seguir são usados ao conectar em implementações de upload/download de arquivo através de web.xml:
- Para upload - sc-file-upload-provider
- Para download - sc-file-download-provider
O valor dos parâmetros de contexto mencionados acima deve ser um caminho de classe Java™ qualificado que implemente IFileUploadProvider e IFileDownloadProvider para upload e download, respectivamente.
Parâmetros de contextos de amostra a serem conectados nos aplicativos baseados no Sterling Application Platform mas que não usam o WUF (observe o prefixo PLT no nome do método):
<context-param>
<param-name>sc-file-upload-provider</param-name>
<param-value>
com.sterlingcommerce.woodstock.util.frame.file.impl.PLTFileUploadProviderImpl
</param-value>
</context-param>
<context-param>
<param-name>sc-file-download-provider</param-name>
<param-value>
com.sterlingcommerce.woodstock.util.frame.file.impl.PLTFileDownloadProviderImpl
</param-value>
</context-param> <context-param>
<param-name>sc-file-upload-provider</param-name>
<param-value>
com.sterlingcommerce.ui.web.platform.file.SCUIFileUploadProviderImpl
</param-value>
</context-param>
<context-param>
<param-name>sc-file-download-provider</param-name>
<param-value>
com.sterlingcommerce.ui.web.platform.file.SCUIFileDownloadProviderImpl
</param-value>
</context-param>Plug-in nas Implementações de Upload/Download de Arquivo Programaticamente Usando Métodos Expostos
Os métodos setFileUploadProvider e setFileDownloadProvider são expostos na classe PLTFileUploadDownloadHelper para se conectar em implementações de upload/download de arquivo programaticamente usando contratos de interface.
PLTFileUploadDownloadHelper.setUploadProviderImpl(uploadImpl);
PLTFileUploadDownloadHelper.setDownloadProviderImpl(downloadImpl);Aqui, uploadImpl e downloadImpl são objetos de classe que implementam IFileUploadProvider e IFileDownloadProvider, respectivamente.