Skip to content

Commit e6c84c7

Browse files
committed
Hotfix for #30.
Cleanup and rebase. Clarified a line. Ops, my mistake! A few minor tweaks. Cleaned up comments and allowed for prefix search in specific namespaces. Fixed null error. Missed a few edits.
1 parent 8fdbb35 commit e6c84c7

File tree

5 files changed

+59
-38
lines changed

5 files changed

+59
-38
lines changed

src/main/java/WikiBot/ContentRep/InfoContainer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/**
66
* This class stores information on about an object.
77
*/
8-
class InfoContainer {
8+
public class InfoContainer {
99

1010
protected ArrayList<String> propertyNames;
1111
protected ArrayList<String> propertyValues;

src/main/java/WikiBot/Core/BotPanel.java

Lines changed: 52 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -377,10 +377,18 @@ protected void printToConsole(String line) {
377377
console.append("\n" + line);
378378
}
379379

380-
//Move console position.
380+
//Move console caret position.
381381
if (console.getLineCount() > 2) {
382382
try {
383-
console.setCaretPosition(console.getLineEndOffset(console.getLineCount()-2)+1);
383+
int lineOffset = console.getLineEndOffset(console.getLineCount()-2) + 1;
384+
385+
//Move the caret.
386+
try {
387+
console.setCaretPosition(lineOffset);
388+
} catch (IllegalArgumentException e) {
389+
//If console complains about bad caret position, go somewhere we know 100% is valid.
390+
console.setCaretPosition(console.getLineEndOffset(console.getLineCount() - 1));
391+
}
384392
} catch (BadLocationException e) {
385393
e.printStackTrace();
386394
}
@@ -668,27 +676,11 @@ public void actionPerformed(ActionEvent e) {
668676
if (e.getSource() == logInButton) {
669677
logInMenu.show(logInButton, 0, logInButton.getHeight());
670678
} else if (e.getSource() == logInHomeButton) {
671-
logInAt(homeWikiLanguage);
679+
logInAtHome();
672680
} else if (e.getSource() == logInSelectedButton) {
673-
int[] index = wikiTable.getSelectedRows();
674-
for (int i : index) {
675-
logInAt(mdm.getWikiPrefix(i));
676-
}
681+
logInAtSelected();
677682
} else if (e.getSource() == logInAllButton) {
678-
SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>() {
679-
@Override
680-
public Void doInBackground() {
681-
logInEverywhere();
682-
683-
return null;
684-
}
685-
686-
@Override
687-
protected void done() {
688-
}
689-
};
690-
691-
worker.execute();
683+
logInEverywhere();
692684
} else if (e.getSource() == exitButton){
693685
System.exit(0);
694686
} else if (e.getSource() == printLogButton) {
@@ -755,18 +747,51 @@ protected void done() {
755747
}
756748

757749
/*
758-
* Logging in methods
750+
* Logging in methods for GUI only.
759751
*/
760752

753+
public void logInAtHome() {
754+
ArrayList<String> languageCodes = new ArrayList<String>();
755+
languageCodes.add(homeWikiLanguage);
756+
logInAt(languageCodes);
757+
}
758+
759+
public void logInAtSelected() {
760+
ArrayList<String> languageCodes = new ArrayList<String>();
761+
int[] index = wikiTable.getSelectedRows();
762+
for (int i : index) {
763+
languageCodes.add(mdm.getWikiPrefix(i));
764+
}
765+
logInAt(languageCodes);
766+
}
767+
761768
public void logInEverywhere() {
762769
logInfo("Attempting login everywhere.");
763-
for (String languageCode : mdm.getWikiPrefixes()) {
764-
logInAt(languageCode);
765-
}
770+
logInAt(mdm.getWikiPrefixes());
771+
}
772+
773+
private void logInAt(final ArrayList<String> languageCodes) {
774+
pushWorker = new SwingWorker<Void, Void>() {
775+
@Override
776+
public Void doInBackground() {
777+
for (String languageCode : languageCodes) {
778+
logInAt(languageCode);
779+
}
780+
781+
return null;
782+
}
783+
784+
@Override
785+
protected void done() {
786+
787+
}
788+
};
789+
790+
pushWorker.execute();
766791
}
767792

768793
private void logInAt(String languageCode) {
769-
boolean success = logIn(new User(botUsername, languageCode), botPassword);
794+
boolean success = logIn(new User(languageCode, botUsername), botPassword);
770795

771796
if (success) {
772797
logInfo("Logged in at: " + languageCode);
@@ -778,4 +803,4 @@ private void logInAt(String languageCode) {
778803
logWarning("Log in failed at: " + languageCode);
779804
}
780805
}
781-
}
806+
}

src/main/java/WikiBot/Core/GenericBot.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -912,7 +912,7 @@ public String APIcommand(APIcommand command) {
912912
boolean networkError;
913913
do {
914914
networkError = false;//No bugs have occurred yet this loop...
915-
915+
916916
//Look out for network issues. Attempt the command.
917917
try {
918918
if (command.requiresPOST()) {

src/main/java/WikiBot/Core/NetworkingBase.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -128,12 +128,7 @@ public void logError(String line) {
128128
}
129129

130130
public boolean log(Level level, String line) {
131-
if (level.intValue() >= logLevel.intValue()) {
132-
logger.log(level, line);
133-
134-
return true;
135-
}
136-
return false;
131+
return logger.log(level, line);
137132
}
138133

139134
/**
@@ -143,7 +138,7 @@ public boolean log(Level level, String line) {
143138
* @param level The fineness level.
144139
*/
145140
public void setLoggerLevel(Level level) {
146-
logLevel = level;
141+
logger.setLoggerLevel(level);
147142
}
148143

149144
/**
@@ -306,7 +301,7 @@ public void logCookies() {
306301
} else {
307302
for (int i = 0; i < cookies.size(); i++) {
308303
logFinest("- " + cookies.get(i).toString());
309-
}
304+
}
310305
}
311306
}
312307

@@ -347,4 +342,4 @@ protected String parseTextForItem(String text, String opening, String ending, in
347342
i += opening.length() + bufferBot;
348343
return text.substring(i, text.indexOf(ending, i) - bufferTop);
349344
}
350-
}
345+
}

src/main/java/WikiBot/MediawikiData/MediawikiDataManager.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ public String getWikiURL(int index) {
9393

9494
public String getWikiURL(String wikiPrefix) {
9595
int index = WikiPrefix.indexOf(wikiPrefix);
96+
9697
return WikiURL.get(index);
9798
}
9899

0 commit comments

Comments
 (0)