integrated velocity engine for URL templates
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.wiki / src / net / sourceforge / phpeclipse / wiki / actions / mediawiki / RefreshWikiTextEditorAction.java
diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/mediawiki/RefreshWikiTextEditorAction.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/mediawiki/RefreshWikiTextEditorAction.java
deleted file mode 100644 (file)
index f00d446..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-package net.sourceforge.phpeclipse.wiki.actions.mediawiki;
-
-import java.io.ByteArrayInputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-
-import net.sourceforge.phpeclipse.wiki.editor.WikiEditor;
-import net.sourceforge.phpeclipse.wiki.editor.WikiEditorPlugin;
-import net.sourceforge.phpeclipse.wiki.preferences.Util;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.internal.dialogs.ListContentProvider;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.ui.texteditor.AbstractTextEditor;
-
-public final class RefreshWikiTextEditorAction implements IEditorActionDelegate {
-
-  private IWorkbenchWindow window;
-
-  private AbstractTextEditor fEditor;
-
-  public void dispose() {
-  }
-
-  public void init(IWorkbenchWindow window) {
-    this.window = window;
-  }
-
-  public void selectionChanged(IAction action, ISelection selection) {
-    if (selection.isEmpty()) {
-      return;
-    }
-    if (selection instanceof TextSelection) {
-      action.setEnabled(true);
-      return;
-    }
-    if (window.getActivePage() != null && window.getActivePage().getActivePart() != null) {
-      action.setEnabled(window.getActivePage().getActivePart().getClass().equals(WikiEditor.class));
-    }
-  }
-
-  public void run(IAction action) {
-    if (fEditor == null) {
-      IEditorPart targetEditor = window.getActivePage().getActiveEditor();
-      if (targetEditor != null && (targetEditor instanceof AbstractTextEditor)) {
-        fEditor = (AbstractTextEditor) targetEditor;
-      }
-    }
-    if (fEditor != null) {
-      openWikiLinkOnSelection();
-    }
-  }
-
-  public void setActiveEditor(IAction action, IEditorPart targetEditor) {
-    if (targetEditor != null && (targetEditor instanceof AbstractTextEditor)) {
-      fEditor = (AbstractTextEditor) targetEditor;
-    }
-  }
-
-  public IDocument getDocument() {
-    IDocument doc = fEditor.getDocumentProvider().getDocument(fEditor.getEditorInput());
-    return doc;
-  }
-
-  public void openWikiLinkOnSelection() {
-    IDocument doc = getDocument();
-    ITextSelection selection = (ITextSelection) fEditor.getSelectionProvider().getSelection();
-    int pos = selection.getOffset();
-    //    String textRegion = getWikiString(fEditor, doc, pos);
-    IFileEditorInput ei = (IFileEditorInput) fEditor.getEditorInput();
-    openWikiFile(ei.getFile());
-  }
-
-  void openWikiFile(IFile cfile) {
-    String wikiName = getWikiFile(cfile);
-    try {
-      if (fEditor != null) {
-        selectWiki(wikiName);
-      }
-    } catch (Exception e) {
-    }
-
-  }
-
-  private void selectWiki(String wikiName) {
-    String exampleWikiURL = "http://en.wikibooks.org/w/wiki.phtml";
-    String selectedWikiURL = null;
-    ArrayList locationsList = new ArrayList();
-    locationsList.add(exampleWikiURL);
-
-    Collections.sort(locationsList);
-
-    ListSelectionDialog listSelectionDialog = new ListSelectionDialog(WikiEditorPlugin.getDefault().getWorkbench()
-        .getActiveWorkbenchWindow().getShell(), locationsList, new ListContentProvider(), new LabelProvider(),
-        "Select the refresh URL.");
-    listSelectionDialog.setTitle("Multiple active configuration found");
-    if (listSelectionDialog.open() == Window.OK) {
-      Object[] locations = listSelectionDialog.getResult();
-      if (locations != null) {
-        for (int i = 0; i < locations.length; i++) {
-          selectedWikiURL = (String) locations[i];
-          break;
-        }
-      }
-    }
-
-    if (selectedWikiURL != null && !selectedWikiURL.equals("")) {
-      String wikiContent = MediaWikiConnector.getWikiText(wikiName, selectedWikiURL);
-      if (wikiContent != null) {
-        IDocument doc = fEditor.getDocumentProvider().getDocument(fEditor.getEditorInput());
-        doc.set(wikiContent);
-      }
-    }
-  }
-
-  private void createNewFileIfNeeded(IFile file, String word) throws CoreException {
-    if (!file.exists()) {
-      createWikiFile(file, word);
-    }
-  }
-
-  private String getWikiFile(IFile file) {
-    return Util.getFileWikiName(file, WikiEditorPlugin.HTML_OUTPUT_PATH);
-    //    IPath path = new Path(wikiFileName);
-    //    return ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path);
-  }
-
-  /**
-   * Creates a folder resource handle for the folder with the given workspace path. This method does not create the folder resource;
-   * this is the responsibility of <code>createFolder</code>.
-   * 
-   * @param folderPath
-   *          the path of the folder resource to create a handle for
-   * @return the new folder resource handle
-   * @see #createFolder
-   */
-  private IFolder createFolderHandle(IPath folderPath) {
-    return IDEWorkbenchPlugin.getPluginWorkspace().getRoot().getFolder(folderPath);
-  }
-
-  private void createFolder(IFolder folderHandle, IProgressMonitor monitor) throws CoreException {
-    try {
-      // Create the folder resource in the workspace
-      // Recursive to create any folders which do not exist already
-      if (!folderHandle.exists()) {
-        IContainer parent = folderHandle.getParent();
-        if (parent instanceof IFolder && (!((IFolder) parent).exists())) {
-          createFolder((IFolder) parent, monitor);
-        }
-        //                 if (linkTargetPath != null)
-        //                             folderHandle.createLink(linkTargetPath, IResource.ALLOW_MISSING_LOCAL, monitor);
-        //                 else
-        folderHandle.create(false, true, monitor);
-      }
-    } catch (CoreException e) {
-      // If the folder already existed locally, just refresh to get contents
-      if (e.getStatus().getCode() == IResourceStatus.PATH_OCCUPIED)
-        folderHandle.refreshLocal(IResource.DEPTH_INFINITE, new SubProgressMonitor(monitor, 500));
-      else
-        throw e;
-    }
-  }
-
-  private void createWikiFile(IFile file, String word) throws CoreException {
-    IContainer parent = file.getParent();
-    if (parent instanceof IFolder && (!((IFolder) parent).exists())) {
-      createFolder((IFolder) parent, null);
-    }
-    String newText = "<!--" + word + "-->";
-    byte[] buffer = newText.getBytes();
-    ByteArrayInputStream source = new ByteArrayInputStream(buffer);
-    file.create(source, true, null);
-  }
-
-}
\ No newline at end of file