Skip to content

Commit

Permalink
remove guice, add cringe
Browse files Browse the repository at this point in the history
  • Loading branch information
Senderman committed Oct 11, 2021
1 parent 9dcbd22 commit 147ee72
Show file tree
Hide file tree
Showing 20 changed files with 65 additions and 132 deletions.
59 changes: 59 additions & 0 deletions src/main/java/com/senderman/telecrafter/InjectionConfig.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package com.senderman.telecrafter;

import com.senderman.telecrafter.minecraft.EventListener;
import com.senderman.telecrafter.minecraft.MinecraftProvider;
import com.senderman.telecrafter.minecraft.ServerPropertiesProvider;
import com.senderman.telecrafter.telegram.TelecrafterBot;
import com.senderman.telecrafter.telegram.TelegramPolling;
import com.senderman.telecrafter.telegram.TelegramProvider;
import com.senderman.telecrafter.telegram.api.TelegramApi;
import com.senderman.telecrafter.telegram.command.*;
import org.bukkit.plugin.java.JavaPlugin;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

public class InjectionConfig {

private final Map<Class<?>, Object> instances;

public InjectionConfig(JavaPlugin plugin, Config config) {
this.instances = new HashMap<>();
save(plugin);
save(config);

save(new TelegramApi(config));
TelegramProvider telegram = new TelegramProvider(getInstance(TelegramApi.class), config);
MinecraftProvider minecraft = new MinecraftProvider(plugin);
save(telegram);
save(minecraft);

save(new EventListener(getInstance(TelegramProvider.class)));
save(new ServerPropertiesProvider(plugin));

Set<CommandExecutor> commandExecutors = new HashSet<>();
commandExecutors.add(new ClearDrop(telegram, minecraft));
commandExecutors.add(new GetLogs(telegram, minecraft));
commandExecutors.add(new ListPlugins(telegram, minecraft));
commandExecutors.add(new MineChat(minecraft));
commandExecutors.add(new Respack(telegram, getInstance(ServerPropertiesProvider.class)));
commandExecutors.add(new RunCommand(telegram, minecraft));
commandExecutors.add(new ZadroTop(telegram, minecraft));
commandExecutors.add(new Help(telegram, commandExecutors));

save(new CommandKeeper(telegram, commandExecutors));
save(new TelecrafterBot(config, getInstance(CommandKeeper.class), telegram));
save(new TelegramPolling(getInstance(TelegramApi.class), getInstance(TelecrafterBot.class)));
}

public <T> T getInstance(Class<T> tClass) {
return (T) instances.get(tClass);
}

private void save(Object object) {
instances.put(object.getClass(), object);
}

}
60 changes: 0 additions & 60 deletions src/main/java/com/senderman/telecrafter/InjectorConfig.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,12 @@
import org.bukkit.event.server.BroadcastMessageEvent;
import org.bukkit.event.server.ServerLoadEvent;

import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.Optional;

@Singleton
public class EventListener implements Listener {

private final TelegramProvider telegram;

@Inject
public EventListener(TelegramProvider telegram) {
this.telegram = telegram;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,15 @@
import org.bukkit.scheduler.BukkitScheduler;

import javax.annotation.Nullable;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.io.File;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import java.util.stream.Stream;

@Singleton
public class MinecraftProvider {

private final Plugin plugin;

@Inject
public MinecraftProvider(Plugin plugin) {
this.plugin = plugin;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,14 @@

import org.bukkit.plugin.Plugin;

import javax.inject.Inject;
import javax.inject.Singleton;
import java.io.*;
import java.util.Properties;

@Singleton
public class ServerPropertiesProvider {

private final Properties properties;
private final File propFile;

@Inject
public ServerPropertiesProvider(Plugin plugin) {
properties = new Properties();
String propertiesFileName = "server.properties";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.senderman.telecrafter.Config;
import com.senderman.telecrafter.InjectorConfig;
import com.senderman.telecrafter.InjectionConfig;
import com.senderman.telecrafter.telegram.TelegramPolling;
import com.senderman.telecrafter.telegram.TelegramProvider;
import org.bukkit.plugin.java.JavaPlugin;
Expand Down Expand Up @@ -34,7 +32,7 @@ public void onEnable() {
}
}

Injector injector = Guice.createInjector(new InjectorConfig(this, config));
InjectionConfig injector = new InjectionConfig(this, config);
telegramPolling = injector.getInstance(TelegramPolling.class);
telegram = injector.getInstance(TelegramProvider.class);
telegramPolling.startPolling();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import com.senderman.telecrafter.telegram.command.CommandExecutor;
import com.senderman.telecrafter.telegram.command.CommandKeeper;

import javax.inject.Inject;
import java.util.Optional;

public class TelecrafterBot {
Expand All @@ -15,7 +14,7 @@ public class TelecrafterBot {
private final CommandKeeper commandKeeper;
private final TelegramProvider telegram;

@Inject

public TelecrafterBot(Config config, CommandKeeper commandKeeper, TelegramProvider telegram) {
this.config = config;
this.commandKeeper = commandKeeper;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.senderman.telecrafter.telegram.api.TelegramApi;
import com.senderman.telecrafter.telegram.api.entity.Update;

import javax.inject.Inject;
import java.util.List;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
Expand All @@ -18,7 +17,6 @@ public class TelegramPolling {
private ScheduledFuture<?> control;
private int lastReceivedUpdateId;

@Inject
public TelegramPolling(TelegramApi apiWrapper, TelecrafterBot bot) {
this.api = apiWrapper;
this.bot = bot;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import com.senderman.telecrafter.Config;
import com.senderman.telecrafter.telegram.api.TelegramApi;

import javax.inject.Inject;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
Expand All @@ -16,7 +15,6 @@ public class TelegramProvider {
private final Config config;


@Inject
public TelegramProvider(TelegramApi api, Config config) {
this.api = api;
this.config = config;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,15 @@
import retrofit2.Retrofit;
import retrofit2.converter.jackson.JacksonConverterFactory;

import javax.inject.Inject;
import javax.inject.Singleton;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

@Singleton
public class TelegramApi {

private final TelegramService telegramService;


@Inject
public TelegramApi(Config config) {
this.telegramService = new Retrofit.Builder()
.addConverterFactory(JacksonConverterFactory.create())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,12 @@
import com.senderman.telecrafter.telegram.TelegramProvider;
import com.senderman.telecrafter.telegram.api.entity.Message;

import javax.inject.Inject;
import javax.inject.Singleton;

@Singleton
public class ClearDrop implements CommandExecutor {

private final MinecraftProvider minecraftProvider;
private final TelegramProvider telegram;

@Inject
public ClearDrop(MinecraftProvider minecraftProvider, TelegramProvider telegram) {
public ClearDrop(TelegramProvider telegram, MinecraftProvider minecraftProvider) {
this.minecraftProvider = minecraftProvider;
this.telegram = telegram;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,14 @@
import com.senderman.telecrafter.telegram.TelegramProvider;

import javax.annotation.Nullable;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

@Singleton
public class CommandKeeper {

private final Map<String, CommandExecutor> commands;

@Inject
public CommandKeeper(TelegramProvider telegram, Set<CommandExecutor> commandExecutors) {
commands = new HashMap<>();
for (CommandExecutor exe : commandExecutors)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,16 @@
import com.senderman.telecrafter.telegram.TelegramProvider;
import com.senderman.telecrafter.telegram.api.entity.Message;

import javax.inject.Inject;
import javax.inject.Singleton;
import java.io.*;
import java.util.Objects;
import java.util.stream.Collectors;
import java.util.stream.Stream;

@Singleton
public class GetLogs implements CommandExecutor {

private final TelegramProvider telegram;
private final File logsDir;

@Inject
public GetLogs(TelegramProvider telegram, MinecraftProvider minecraft) {
this.telegram = telegram;
this.logsDir = minecraft.getLogsDirectory();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,13 @@
import com.senderman.telecrafter.telegram.TelegramProvider;
import com.senderman.telecrafter.telegram.api.entity.Message;

import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.Set;

@Singleton
public class Help implements CommandExecutor {

private final TelegramProvider telegram;
private final Set<CommandExecutor> commands;

@Inject
public Help(TelegramProvider telegram, Set<CommandExecutor> commands) {
this.telegram = telegram;
this.commands = commands;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,11 @@
import com.senderman.telecrafter.telegram.TelegramProvider;
import com.senderman.telecrafter.telegram.api.entity.Message;

import javax.inject.Inject;
import javax.inject.Singleton;

@Singleton
public class ListPlugins implements CommandExecutor {

private final TelegramProvider telegram;
private final MinecraftProvider minecraft;

@Inject
public ListPlugins(TelegramProvider telegram, MinecraftProvider minecraft) {
this.telegram = telegram;
this.minecraft = minecraft;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,11 @@
import com.senderman.telecrafter.minecraft.MinecraftProvider;
import com.senderman.telecrafter.telegram.api.entity.Message;

import javax.inject.Inject;
import javax.inject.Singleton;

@Singleton
public class MineChat implements CommandExecutor {

private final MinecraftProvider minecraft;


@Inject
public MineChat(MinecraftProvider minecraft) {
this.minecraft = minecraft;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,16 @@
import org.bukkit.attribute.Attribute;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;

import javax.inject.Inject;
import javax.inject.Singleton;
;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;

@Singleton
public class MineNow implements CommandExecutor {

private final TelegramProvider telegram;
private final MinecraftProvider minecraft;

@Inject
public MineNow(TelegramProvider telegram, MinecraftProvider minecraft) {
this.telegram = telegram;
this.minecraft = minecraft;
Expand Down
Loading

0 comments on commit 147ee72

Please sign in to comment.