public void editFile() { if (filesListPanel.getSelectedFileItems() == null || filesListPanel.getSelectedFileItems().size() != 1) { return; } RepositoryFile file = filesListPanel.getSelectedFileItems().get(0).getRepositoryFile(); if (file.getName().endsWith(".analysisview.xaction")) { // $NON-NLS-1$ openFile(file, COMMAND.RUN); } else { // check to see if a plugin supports editing ContentTypePlugin plugin = PluginOptionsHelper.getContentTypePlugin(file.getName()); if (plugin != null && plugin.hasCommand(COMMAND.EDIT)) { // load the editor for this plugin String editUrl = getPath() + "api/repos/" + pathToId(file.getPath()) + "/" + (plugin != null && (plugin.getCommandPerspective(COMMAND.EDIT) != null) ? plugin.getCommandPerspective(COMMAND.EDIT) : "editor"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ // See if it's already loaded for (int i = 0; i < contentTabPanel.getTabCount(); i++) { Widget w = contentTabPanel.getTab(i).getContent(); if (w instanceof IFrameTabPanel && ((IFrameTabPanel) w).getUrl().endsWith(editUrl)) { // Already up, select and exit contentTabPanel.selectTab(i); return; } } contentTabPanel.showNewURLTab( Messages.getString("editingColon") + file.getTitle(), Messages.getString("editingColon") + file.getTitle(), editUrl, true); //$NON-NLS-1$ //$NON-NLS-2$ // Store representation of file in the frame for reference later when // save is called contentTabPanel.getCurrentFrame().setFileInfo(filesListPanel.getSelectedFileItems().get(0)); } else { MessageDialogBox dialogBox = new MessageDialogBox( Messages.getString("error"), // $NON-NLS-1$ Messages.getString("cannotEditFileType"), // $NON-NLS-1$ true, false, true); dialogBox.center(); } } }
public void executeActionSequence(final FileCommand.COMMAND mode) { if (filesListPanel.getSelectedFileItems() == null || filesListPanel.getSelectedFileItems().size() != 1) { return; } // open in content panel AbstractCommand authCmd = new AbstractCommand() { protected void performOperation() { performOperation(false); } protected void performOperation(boolean feedback) { final FileItem selectedFileItem = filesListPanel.getSelectedFileItems().get(0); String url = null; url = "api/repo/files/" + SolutionBrowserPanel.pathToId( filesListPanel.getSelectedFileItems().get(0).getRepositoryFile().getPath()) + "/generatedContent"; //$NON-NLS-1$ //$NON-NLS-2$ url = getPath() + url; if (mode == FileCommand.COMMAND.BACKGROUND) { MessageDialogBox dialogBox = new MessageDialogBox( Messages.getString("info"), // $NON-NLS-1$ Messages.getString("backgroundExecutionWarning"), // $NON-NLS-1$ true, false, true); dialogBox.center(); url += "&background=true"; // $NON-NLS-1$ RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); try { builder.sendRequest( null, new RequestCallback() { public void onError(Request request, Throwable exception) { MessageDialogBox dialogBox = new MessageDialogBox( Messages.getString("error"), Messages.getString("couldNotBackgroundExecute"), false, false, true); //$NON-NLS-1$ //$NON-NLS-2$ dialogBox.center(); } public void onResponseReceived(Request request, Response response) {} }); } catch (RequestException e) { } } else if (mode == FileCommand.COMMAND.NEWWINDOW) { // popup blockers might attack this Window.open( url, "_blank", "menubar=yes,location=no,resizable=yes,scrollbars=yes,status=no"); //$NON-NLS-1$ // //$NON-NLS-2$ } else if (mode == FileCommand.COMMAND.SUBSCRIBE) { final String myurl = url + "&subscribepage=yes"; // $NON-NLS-1$ contentTabPanel.showNewURLTab( selectedFileItem.getLocalizedName(), selectedFileItem.getLocalizedName(), myurl, true); } else { contentTabPanel.showNewURLTab( selectedFileItem.getLocalizedName(), selectedFileItem.getLocalizedName(), url, true); } } }; authCmd.execute(); }