0cdfd383ffae4550a7fbbed7203727e7513fdb78
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.wiki / src / net / sourceforge / phpeclipse / wiki / actions / httpquery / HTTPQueryAction.java
1 package net.sourceforge.phpeclipse.wiki.actions.httpquery;
2
3 import java.util.ArrayList;
4 import java.util.Collections;
5 import java.util.List;
6
7 import net.sourceforge.phpeclipse.wiki.editor.WikiEditorPlugin;
8 import net.sourceforge.phpeclipse.wiki.internal.ConfigurationManager;
9 import net.sourceforge.phpeclipse.wiki.internal.IConfiguration;
10
11 import org.eclipse.jface.viewers.LabelProvider;
12 import org.eclipse.jface.window.Window;
13 import org.eclipse.ui.dialogs.ListSelectionDialog;
14 import org.eclipse.ui.internal.dialogs.ListContentProvider;
15
16 public class HTTPQueryAction extends AbstractHTTPQueryAction {
17
18   public HTTPQueryAction() {
19     super();
20   }
21
22   protected String getUrl(String selection) {
23     String selectedURL = null;
24     
25     List allConfigsList = ConfigurationManager.getInstance().getConfigurations();
26     ArrayList configsList = new ArrayList();
27     for (int i=0;i<allConfigsList.size();i++) {
28       IConfiguration temp = (IConfiguration)allConfigsList.get(i);
29       if (temp.getType().equals(WikiEditorPlugin.HTTP_QUERY)) {
30         configsList.add(temp);
31       }
32     }
33     Collections.sort(configsList);
34
35     ListSelectionDialog listSelectionDialog = new ListSelectionDialog(WikiEditorPlugin.getDefault().getWorkbench()
36         .getActiveWorkbenchWindow().getShell(), configsList, new ListContentProvider(), new LabelProvider(),
37         "Select URL");
38     listSelectionDialog.setTitle("Multiple configuration found");
39     if (listSelectionDialog.open() == Window.OK) {
40       Object[] configurations = listSelectionDialog.getResult();
41       if (configurations != null) {
42         for (int i = 0; i < configurations.length; i++) {
43           selectedURL = ((IConfiguration) configurations[i]).getURL();
44           break;
45         }
46       }
47     }
48     return selectedURL;
49   }
50
51 }