//with permission from the original author: Daniel Wunsch
import java.io.StringWriter;
+import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
ArrayList configsList = new ArrayList();
for (int i = 0; i < allConfigsList.size(); i++) {
IConfiguration temp = (IConfiguration) allConfigsList.get(i);
- if (temp.getType().equals(WikiEditorPlugin.WIKIPEDIA_SET_TEXT)) {
+ if (temp.getType().startsWith(WikiEditorPlugin.PREFIX_STORE)) {
configsList.add(temp);
}
}
try {
IDocument doc = fEditor.getDocumentProvider().getDocument(fEditor.getEditorInput());
String url = generateUrl(configuration, configuration.getURL(), wikiName);
- IWikipedia w = WikipediaDE.getInstance();
+ String wikiLocale = configuration.getType().substring(WikiEditorPlugin.PREFIX_STORE.length());
+ IWikipedia wikipediaProperties = WikiEditorPlugin.getWikiInstance(wikiLocale);
+
MediaWikiConnector connector = new MediaWikiConnector();
+ String actionUrl = configuration.getURL();
+ if (actionUrl == null || actionUrl.equals("")) {
+ // fall back to default settings
+ actionUrl = wikipediaProperties.getActionUrl();
+ }
Date d = new Date();
Content content = new Content(String.valueOf(d.getTime()), doc.get());
- boolean success = connector.login(w, configuration.getURL(), configuration.getUser(), configuration.getPassword(), false);
+ boolean success = connector.login(wikipediaProperties, actionUrl, configuration.getUser(), configuration.getPassword(), false);
if (success) {
- connector.store(w, configuration.getURL(), wikiName, content, "", false, false);
- connector.logout(w, configuration.getURL());
+ connector.store(wikipediaProperties, actionUrl, wikiName, content, "", false, false);
+ connector.logout(wikipediaProperties, actionUrl);
}
} catch (Exception e) {
e.printStackTrace();
WikiEditorPlugin.getDefault()
- .reportError("Exception occured", e.getMessage() + "\nSee stacktrace in /.metadata/.log file.");
+ .reportError("Exception occured: ", e.getMessage() + "\nSee stacktrace in /.metadata/.log file.");
}
}
}