import org.eclipse.rap.rwt.client.service.UrlLauncher;
/**
- * Rap specific command handler to open a file retrieved from the server. It
+ * RWT specific command handler to open a file retrieved from the server. It
* forwards the request to the correct service after encoding file name and path
* in the request URI.
*
+ * <p>
* The parameter "URI" is used to determine the correct file service, the path
- * and the file name. An optional file name can be precised to present a
- * different file name as the one used to retrieve it to the end user/
+ * and the file name. An optional file name can be precized to present a
+ * different file name as the one used to retrieve it to the end user.
+ * </p>
*
+ * <p>
* Various instances of this handler with different command ID might coexist in
* order to provide context specific download service.
+ * </p>
*
+ * <p>
* The instance specific service is called by its ID and must have been
* externally created
+ * </p>
*/
public class OpenFile extends AbstractHandler {
private final static Log log = LogFactory.getLog(OpenFile.class);
String fileName = event.getParameter(PARAM_FILE_NAME);
String fileUri = event.getParameter(PARAM_FILE_URI);
- // sanity check
+ // Sanity check
if (fileUri == null || "".equals(fileUri.trim())
|| openFileServiceId == null
|| "".equals(openFileServiceId.trim()))
log.debug("URL : " + downloadUrl);
UrlLauncher launcher = RWT.getClient().getService(UrlLauncher.class);
- // FIXME: find a way to manage correctly the addition of the base
- // context for the workbench.
- launcher.openURL("/ui" + downloadUrl);
-
- // These lines are useless in the current use case but might be
- // necessary with new browsers. Stored here for memo
- // response.setContentType("application/force-download");
- // response.setHeader("Content-Disposition", contentDisposition);
- // response.setHeader("Content-Transfer-Encoding", "binary");
- // response.setHeader("Pragma", "no-cache");
- // response.setHeader("Cache-Control", "no-cache, must-revalidate");
+ launcher.openURL(downloadUrl);
return null;
}