Upload/Download of multiple files now possible
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.wiki / src / net / sourceforge / phpeclipse / wiki / actions / mediawiki / DownloadWikipediaAction.java
index 051cce8..26b6fcc 100644 (file)
@@ -25,6 +25,7 @@ import net.sourceforge.phpeclipse.wiki.velocity.EditorText;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.app.Velocity;
 import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.ITextSelection;
@@ -87,12 +88,12 @@ public class DownloadWikipediaAction implements IEditorActionDelegate {
     return template;
   }
 
-  protected Configuration getConfiguration() {
+  protected Configuration getConfigurationPrefix(String prefix) {
     List allConfigsList = ConfigurationManager.getInstance().getConfigurations();
     ArrayList configsList = new ArrayList();
     for (int i = 0; i < allConfigsList.size(); i++) {
       IConfiguration temp = (IConfiguration) allConfigsList.get(i);
-      if (temp.getType().startsWith(WikiEditorPlugin.PREFIX_LOAD)) {
+      if (temp.getType().startsWith(prefix)) {
         configsList.add(temp);
       }
     }
@@ -113,14 +114,17 @@ public class DownloadWikipediaAction implements IEditorActionDelegate {
     }
     return configuration;
   }
+  protected Configuration getConfiguration( ) {
+    return getConfigurationPrefix(WikiEditorPlugin.PREFIX_LOAD);
+  }
 
   public IDocument getDocument() {
     IDocument doc = fEditor.getDocumentProvider().getDocument(fEditor.getEditorInput());
     return doc;
   }
 
-  private String getWikiFile(IFile file) {
-    return Util.getFileWikiName(file, WikiEditorPlugin.HTML_OUTPUT_PATH);
+  private static String getWikiFile(IFile file) {
+    return Util.getFileWikiName(file);
   }
 
   public void init(IWorkbenchWindow window) {
@@ -131,7 +135,7 @@ public class DownloadWikipediaAction implements IEditorActionDelegate {
     String wikiName = getWikiFile(cfile);
     try {
       if (fEditor != null) {
-        selectWiki(wikiName);
+        selectWiki(cfile, wikiName);
       }
     } catch (Exception e) {
     }
@@ -171,19 +175,28 @@ public class DownloadWikipediaAction implements IEditorActionDelegate {
     }
   }
 
-  private void selectWiki(String wikiName) {
+  private void selectWiki(IFile cfile, String wikiName) {
     Configuration configuration = getConfiguration();
     if (configuration != null && !configuration.equals("")) {
       try {
         String wikiLocale = configuration.getType().substring(WikiEditorPlugin.PREFIX_LOAD.length());
         IWikipedia wikipediaProperties = WikiEditorPlugin.getWikiInstance(wikiLocale);
 
-        String url = generateUrl(wikipediaProperties, configuration, configuration.getURL(), wikiName);
-        String wikiContent = MediaWikiConnector.getWikiRawText(wikiName, url);
-        if (wikiContent != null) {
-          IDocument doc = fEditor.getDocumentProvider().getDocument(fEditor.getEditorInput());
-          doc.set(wikiContent);
-        }
+        //        String url = generateUrl(wikipediaProperties, configuration, configuration.getURL(), wikiName);
+        //        MediaWikiConnector mc = new MediaWikiConnector();
+        //        String wikiContent = mc.getWikiRawText(wikiName, url);
+        //        if (wikiContent != null) {
+        //          IDocument doc = fEditor.getDocumentProvider().getDocument(fEditor.getEditorInput());
+        //          doc.set(wikiContent);
+        //        }
+        IFile[] files = new IFile[1];
+        files[0] = cfile;
+
+        Job job = new RefreshJob(wikipediaProperties, files, configuration.getURL());
+        job.setRule(null);
+        job.setUser(true);
+        job.setPriority(Job.SHORT);
+        job.schedule();
       } catch (Exception e) {
         e.printStackTrace();
         WikiEditorPlugin.getDefault().reportError("Exception occured: ",