un-parallelising some functions, changing futures retriever, moving some thresholds and logic around

This commit is contained in:
jenzur
2020-03-07 18:40:59 +01:00
parent 6d4ab15107
commit ac56f386a3
9 changed files with 455 additions and 321 deletions
@@ -14,20 +14,15 @@ screen -X -S (number1) quit
*/
package PresentationLayer;
import FunctionLayer.CustomError;
import FunctionLayer.Datahandler;
import FunctionLayer.MessageResponseHandler;
import FunctionLayer.DoStuff;
import FunctionLayer.PipelineJMWESingleton;
import com.google.common.collect.MapMaker;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import java.util.concurrent.ConcurrentMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.javacord.api.DiscordApi;
import org.javacord.api.DiscordApiBuilder;
import org.javacord.api.entity.user.User;
/**
*
@@ -35,8 +30,6 @@ import org.javacord.api.entity.user.User;
*/
public class DiscordHandler {
private static ConcurrentMap<String, Integer> responseTrackerMap = new MapMaker().concurrencyLevel(6).makeMap();
public static void main(String[] args) {
System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "15");
try {
@@ -55,62 +48,12 @@ public class DiscordHandler {
Datahandler.instance.updateStringCache();
String token = "NTI5NzAxNTk5NjAyMjc4NDAx.Dw0vDg.7-aMjVWdQMYPl8qVNyvTCPS5F_A";
DiscordApi api = new DiscordApiBuilder().setToken(token).login().join();
DoStuff dostuff = new DoStuff();
api.addMessageCreateListener(event -> {
if (!event.getMessage().getAuthor().isYourself()) {
StringBuilder sb = new StringBuilder();
String strtest = event.getServerTextChannel().get().getCategory().toString();
strtest = strtest.substring(9, strtest.length() - 1);
boolean channelpermissionsDenied = false;
switch (strtest) {
case "Public Area": {
break;
}
case "Information Area": {
break;
}
default: {
channelpermissionsDenied = true;
break;
}
}
if (!channelpermissionsDenied) {
List<User> userlist = event.getMessage().getMentionedUsers();
String strresult = event.getMessage().toString();
if (userlist != null) {
for (User user : userlist) {
strresult = strresult.replace(user.getIdAsString(), "");
}
}
MessageResponseHandler.getMessage(strresult);
}
if (event.getMessage().getMentionedUsers().contains(api.getYourself())
|| event.getServerTextChannel().get().toString().contains("general-autism")) {
try {
String ResponseStr;
String person = event.getMessageAuthor().getName();
ResponseStr = MessageResponseHandler.selectReponseMessage(event.getMessage().toString(), responseTrackerMap, person);
if (!ResponseStr.isEmpty()) {
System.out.print("\nResponseStr3: " + ResponseStr + "\n");
event.getChannel().sendMessage(ResponseStr);
Integer responseTracker = responseTrackerMap.getOrDefault(ResponseStr, null);
if (responseTracker == null) {
responseTrackerMap.put(ResponseStr, 0);
} else {
responseTrackerMap.put(ResponseStr, responseTracker + 1);
}
}
} catch (CustomError ex) {
Logger.getLogger(DiscordHandler.class.getName()).log(Level.SEVERE, null, ex);
}
}
new Thread(() -> {
try {
Datahandler.instance.checkIfUpdateStrings(false);
} catch (CustomError ex) {
Logger.getLogger(DiscordHandler.class.getName()).log(Level.SEVERE, null, ex);
}
}).start();
if (!dostuff.isOccupied()) {
dostuff.doStuff(event, api);
}
});
}
}