Skip to content
This repository was archived by the owner on Jan 1, 2022. It is now read-only.

Commit 727f310

Browse files
committed
Added javax-annotations
Fixed some minor problems
1 parent 80768c2 commit 727f310

33 files changed

+163
-84
lines changed

apps/message-crawler/telegram-crawler-core/src/main/java/io/d2a/schwurbelwatch/mods/chatlog/ChatlogModule.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@
1414
import io.d2a.schwurbelwatch.tgcrawler.core.message.SimpleChatMessage;
1515
import io.d2a.schwurbelwatch.tgcrawler.core.module.BotModule;
1616
import io.d2a.schwurbelwatch.tgcrawler.core.module.Module;
17+
import java.io.IOException;
1718
import java.util.HashMap;
1819
import java.util.List;
1920
import java.util.Map;
2021
import java.util.Optional;
21-
import lombok.SneakyThrows;
22+
import javax.annotation.Nonnull;
2223
import org.drinkless.tdlib.TdApi;
2324
import org.drinkless.tdlib.TdApi.GetMessage;
2425
import org.drinkless.tdlib.TdApi.UpdateDeleteMessages;
@@ -56,10 +57,18 @@ public void onEnable() {
5657
updateContentTypes();
5758
}
5859

59-
@SneakyThrows
6060
private void updateContentTypes() {
6161
// Update content types
62-
final Response<List<ContentType>> execute = SwApi.BASE_SERVICE.getContentTypes().execute();
62+
final Response<List<ContentType>> execute;
63+
64+
try {
65+
execute = SwApi.BASE_SERVICE.getContentTypes().execute();
66+
} catch (IOException e) {
67+
e.printStackTrace();
68+
Logger.error(e);
69+
return;
70+
}
71+
6372
final List<ContentType> body = execute.body();
6473
if (body == null) {
6574
Logger.error("Failed to update content type. Response:");
@@ -75,7 +84,7 @@ private void updateContentTypes() {
7584
Logger.info("Updated Content Types: " + contentTypeMap.size() + " types found.");
7685
}
7786

78-
private void updateInsertMessage(final TdApi.Message tdMessage, boolean edit) {
87+
private void updateInsertMessage(@Nonnull final TdApi.Message tdMessage, boolean edit) {
7988
final ApiMessage msg = ApiMessage.wrap(tdMessage, contentTypeMap);
8089
final SimpleChatMessage dcm = SimpleChatMessage.wrap(tdMessage);
8190
if (msg == null || dcm == null) {

apps/message-crawler/telegram-crawler-core/src/main/java/io/d2a/schwurbelwatch/mods/updaters/ChatsUpdateModule.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import java.util.HashMap;
1313
import java.util.Map;
1414
import java.util.Optional;
15-
import javax.annotation.Nullable;
1615
import lombok.RequiredArgsConstructor;
1716
import org.drinkless.tdlib.Client;
1817
import org.drinkless.tdlib.Client.ResultHandler;
Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,9 @@
11
package io.d2a.schwurbelwatch.tgcrawler.api;
22

3-
import io.d2a.schwurbelwatch.tgcrawler.api.response.DatabaseResult;
4-
import io.d2a.schwurbelwatch.tgcrawler.api.routes.messages.ApiMessage;
5-
import io.d2a.schwurbelwatch.tgcrawler.api.routes.messages.MessageService;
6-
import java.io.IOException;
7-
import retrofit2.Call;
8-
import retrofit2.Response;
9-
103
public class ApiTest {
114

12-
public static void main(String[] args) throws IOException {
13-
final MessageService service = SwApi.MESSAGE_SERVICE;
14-
15-
final ApiMessage apiMessage = new ApiMessage();
16-
apiMessage.messageId = 8869;
17-
apiMessage.userId = 3;
18-
apiMessage.chatId = 4;
19-
apiMessage.contentType = 2;
20-
apiMessage.content = "Hallo!";
5+
public static void main(String[] args) {
216

22-
final Call<DatabaseResult> call = service.addMessage(apiMessage);
23-
System.out.println(call);
24-
final Response<DatabaseResult> response = call.execute();
25-
System.out.println(response);
26-
final DatabaseResult body = response.body();
27-
28-
if (body.isError()) {
29-
System.out.println(" -> Error! :: " + body.errorMessage);
30-
}
31-
System.out.println(body);
327
}
8+
339
}

apps/message-crawler/telegram-crawler-core/src/main/java/io/d2a/schwurbelwatch/tgcrawler/api/SwApi.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import io.d2a.schwurbelwatch.tgcrawler.core.logging.AnsiColor;
1212
import io.d2a.schwurbelwatch.tgcrawler.core.logging.Logger;
1313
import java.io.IOException;
14+
import javax.annotation.Nullable;
1415
import okhttp3.Request;
1516
import okhttp3.ResponseBody;
1617
import retrofit2.Call;
@@ -41,7 +42,12 @@ public class SwApi {
4142
public static final FileService FILE_SERVICE = retrofit.create(FileService.class);
4243
public static final ChatService CHAT_SERVICE = retrofit.create(ChatService.class);
4344

44-
public static void callDatabaseResult(final Call<DatabaseResult> call) {
45+
public static void callDatabaseResult(@Nullable final Call<DatabaseResult> call) {
46+
if (call == null) {
47+
Logger.warn("Tried to call a null Call<?>");
48+
return;
49+
}
50+
4551
try {
4652
long start = System.currentTimeMillis();
4753

apps/message-crawler/telegram-crawler-core/src/main/java/io/d2a/schwurbelwatch/tgcrawler/api/routes/chats/ChatService.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import io.d2a.schwurbelwatch.tgcrawler.api.response.DatabaseResult;
44
import java.util.List;
5+
import javax.annotation.Nonnull;
6+
import javax.annotation.Nullable;
57
import retrofit2.Call;
68
import retrofit2.http.Body;
79
import retrofit2.http.GET;
@@ -30,7 +32,8 @@ public interface ChatService {
3032
@POST("chats/:id/count/:count")
3133
Call<DatabaseResult> updateMemberCount(@Path("id") long chatId, @Path("count") int count);
3234

33-
default Call<DatabaseResult> addChat(ApiChat chat) {
35+
@Nullable
36+
default Call<DatabaseResult> addChat(@Nonnull final ApiChat chat) {
3437
if (chat.chatId != null) {
3538
return addChatByChatId(chat);
3639
} else if (chat.groupId != null) {

apps/message-crawler/telegram-crawler-core/src/main/java/io/d2a/schwurbelwatch/tgcrawler/api/routes/chats/ChatType.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public enum ChatType {
2323
}
2424

2525
@Nonnull
26-
public static ChatType getType(final TdApi.ChatType type) {
26+
public static ChatType getType(@Nonnull final TdApi.ChatType type) {
2727
for (final ChatType value : values()) {
2828
if (value.constructor == type.getConstructor()) {
2929
return value;

apps/message-crawler/telegram-crawler-core/src/main/java/io/d2a/schwurbelwatch/tgcrawler/api/routes/messages/ApiMessage.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import io.d2a.schwurbelwatch.tgcrawler.api.routes.base.ContentType;
55
import io.d2a.schwurbelwatch.tgcrawler.core.message.SimpleChatMessage;
66
import java.util.Map;
7+
import javax.annotation.Nonnull;
8+
import javax.annotation.Nullable;
79
import lombok.ToString;
810
import org.drinkless.tdlib.TdApi;
911

@@ -35,12 +37,16 @@ public class ApiMessage {
3537
public boolean isDeleted() {
3638
return this.deletedOn > 0;
3739
}
40+
3841
public boolean isChannelPost() {
3942
return this.isChannelPost == 1;
4043
}
4144

42-
public static ApiMessage wrap(final TdApi.Message tdMessage,
43-
final Map<Integer, ContentType> contentTypeMap) {
45+
@Nullable
46+
public static ApiMessage wrap(
47+
@Nonnull final TdApi.Message tdMessage,
48+
@Nonnull Map<Integer, ContentType> contentTypeMap) {
49+
4450
final SimpleChatMessage dcm = SimpleChatMessage.wrap(tdMessage);
4551
if (dcm == null) {
4652
return null;

apps/message-crawler/telegram-crawler-core/src/main/java/io/d2a/schwurbelwatch/tgcrawler/api/routes/user/User.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.d2a.schwurbelwatch.tgcrawler.api.routes.user;
22

33
import com.google.gson.annotations.SerializedName;
4+
import javax.annotation.Nonnull;
45
import lombok.ToString;
56
import org.drinkless.tdlib.TdApi;
67

@@ -28,7 +29,8 @@ public class User {
2829
@SerializedName("is_scam")
2930
public int isScam;
3031

31-
public static User wrap (final TdApi.User tdUser) {
32+
@Nonnull
33+
public static User wrap(@Nonnull final TdApi.User tdUser) {
3234
final User res = new User();
3335
res.userId = tdUser.id;
3436
res.username = tdUser.username;

apps/message-crawler/telegram-crawler-core/src/main/java/io/d2a/schwurbelwatch/tgcrawler/core/BotMain.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ private void start() throws
131131
Logger.info("Loading modules ...");
132132
ModuleRegistry.loadModules();
133133

134-
if (ModuleRegistry.getEnablabledModules().size() == 0) {
134+
if (ModuleRegistry.getEnabledModules().size() == 0) {
135135
Logger.warn("No modules enabled.");
136136
}
137137
}

apps/message-crawler/telegram-crawler-core/src/main/java/io/d2a/schwurbelwatch/tgcrawler/core/auth/SystemInfo.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,20 @@
66

77
package io.d2a.schwurbelwatch.tgcrawler.core.auth;
88

9-
import lombok.AllArgsConstructor;
109
import lombok.Builder;
1110
import lombok.Getter;
11+
import lombok.RequiredArgsConstructor;
1212
import lombok.ToString;
1313

1414
@Getter
1515
@Builder
1616
@ToString
17-
@AllArgsConstructor
17+
@RequiredArgsConstructor
1818
public class SystemInfo {
1919

20-
private String systemLanguageCode;
21-
private String systemVersion;
22-
private String deviceModel;
23-
private String applicationVersion;
20+
private final String systemLanguageCode;
21+
private final String systemVersion;
22+
private final String deviceModel;
23+
private final String applicationVersion;
2424

2525
}

apps/message-crawler/telegram-crawler-core/src/main/java/io/d2a/schwurbelwatch/tgcrawler/core/client/AuthStateResultHandler.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,32 @@
11
package io.d2a.schwurbelwatch.tgcrawler.core.client;
22

3+
import io.d2a.schwurbelwatch.tgcrawler.core.logging.AnsiColor;
4+
import io.d2a.schwurbelwatch.tgcrawler.core.logging.Logger;
5+
import javax.annotation.Nonnull;
36
import org.drinkless.tdlib.Client.ResultHandler;
47
import org.drinkless.tdlib.TdApi;
58

69
public class AuthStateResultHandler implements ResultHandler {
710

811
private final TelegramClient client;
912

10-
public AuthStateResultHandler(final TelegramClient client) {
13+
public AuthStateResultHandler(@Nonnull final TelegramClient client) {
1114
this.client = client;
1215
}
1316

1417
@Override
1518
public void onResult(final TdApi.Object object) {
1619
switch (object.getConstructor()) {
1720
case TdApi.Error.CONSTRUCTOR:
18-
System.err.println("Receive an error:\n" + object);
21+
Logger.error(AnsiColor.ANSI_RED + "Received an error | AuthStateResultHandler:");
22+
Logger.error(object);
1923

20-
// result is already received through UpdateAuthorizationState, nothing to do
2124
case TdApi.Ok.CONSTRUCTOR:
2225
break;
2326

2427
default:
25-
System.err.println("Receive wrong response from TDLib for client " + this.client.toString() + ":\n" + object);
28+
Logger.warn("Receive wrong response from TDLib for client " +
29+
this.client.toString() + ":\n" + object);
2630
}
2731
}
2832

apps/message-crawler/telegram-crawler-core/src/main/java/io/d2a/schwurbelwatch/tgcrawler/core/client/AuthStateUpdateHandler.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.io.BufferedReader;
55
import java.io.IOException;
66
import java.io.InputStreamReader;
7+
import javax.annotation.Nonnull;
78
import org.drinkless.tdlib.Client;
89
import org.drinkless.tdlib.Client.ResultHandler;
910
import org.drinkless.tdlib.TdApi;
@@ -24,7 +25,8 @@ public AuthStateUpdateHandler(final TelegramClient client) {
2425
* @param prompt The text shown on the prompt
2526
* @return The typed text
2627
*/
27-
private static String promptString(String prompt) {
28+
@Nonnull
29+
private static String promptString(@Nonnull String prompt) {
2830
System.out.print(prompt);
2931

3032
final BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
@@ -47,7 +49,7 @@ private ResultHandler result() {
4749
return new AuthStateResultHandler(this.client);
4850
}
4951

50-
public void onAuthorizationStateUpdated(final UpdateAuthorizationState state) {
52+
public void onAuthorizationStateUpdated(@Nonnull final UpdateAuthorizationState state) {
5153
Logger.debug("");
5254
Logger.debug("Auth State Updated:");
5355
Logger.debug(state);

apps/message-crawler/telegram-crawler-core/src/main/java/io/d2a/schwurbelwatch/tgcrawler/core/client/ClientRouter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,18 @@ public class ClientRouter {
3535
* @param clientName Input string
3636
* @return Lower-Case + Stripped
3737
*/
38+
@Nonnull
3839
private String formatClientName(@Nonnull final String clientName) {
3940
return clientName.toLowerCase().trim();
4041
}
4142

43+
@Nonnull
4244
public Optional<ClientConfig> findConfiguration(@Nonnull final String clientName) {
4345
final String key = formatClientName(clientName);
4446
return Optional.ofNullable(this.clientConfigMap.get(key));
4547
}
4648

49+
@Nonnull
4750
public Optional<TelegramClient> findTelegramClient(@Nonnull final String clientName) {
4851
final String key = formatClientName(clientName);
4952

apps/message-crawler/telegram-crawler-core/src/main/java/io/d2a/schwurbelwatch/tgcrawler/core/client/TelegramClient.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ private TelegramClient(
104104

105105
/////////////////////////////////////////////////////////////////////////////////////////////
106106

107+
@Nonnull
107108
public static TelegramClient create(
108109
@Nonnull final String identifier,
109110
@Nonnull final ApiCredentials credentials,

apps/message-crawler/telegram-crawler-core/src/main/java/io/d2a/schwurbelwatch/tgcrawler/core/config/ClientConfig.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,31 @@
1111
import io.d2a.schwurbelwatch.tgcrawler.core.auth.ApiCredentials;
1212
import io.d2a.schwurbelwatch.tgcrawler.core.auth.SystemInfo;
1313
import java.util.Set;
14-
import javax.annotation.Nonnull;
14+
import javax.annotation.Nullable;
1515
import lombok.Getter;
16+
import lombok.RequiredArgsConstructor;
1617
import lombok.ToString;
1718

1819
@Getter
1920
@ToString
21+
@RequiredArgsConstructor
2022
public class ClientConfig {
2123

2224
@SerializedName("use_cases")
23-
private Set<String> useCases = Sets.newHashSet();
25+
private final Set<String> useCases = Sets.newHashSet();
2426

2527
@SerializedName("credentials")
26-
private ApiCredentials credentials;
28+
private final ApiCredentials credentials;
2729

2830
@SerializedName("info")
29-
private SystemInfo systemInfo = new SystemInfo(
31+
private final SystemInfo systemInfo = new SystemInfo(
3032
"en",
3133
"Unknown",
3234
"Desktop",
3335
"1.0"
3436
);
3537

36-
public boolean accepts(String useCase) {
38+
public boolean accepts(@Nullable String useCase) {
3739
if (useCase == null) {
3840
return true;
3941
}

apps/message-crawler/telegram-crawler-core/src/main/java/io/d2a/schwurbelwatch/tgcrawler/core/logging/ConsoleLogProvider.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,25 @@
11
package io.d2a.schwurbelwatch.tgcrawler.core.logging;
22

3+
import javax.annotation.Nullable;
34
import lombok.Getter;
45
import lombok.Setter;
56

67
public class ConsoleLogProvider implements LoggerProvider {
78

8-
private static final String seperator = " | ";
9+
private static final String separator = " | ";
910
private static final String textColor = AnsiColor.ANSI_RESET;
1011

1112
@Setter
1213
@Getter
1314
private LogLevel minimumLevel = LogLevel.DEBUG;
1415

1516
@Override
16-
public void log(final String message, final LogLevel level) {
17+
public void log(@Nullable final String message, @Nullable LogLevel level) {
18+
// default log level: INFO
19+
if (level == null) {
20+
level = LogLevel.INFO;
21+
}
22+
1723
// check level before printing the message
1824
if (level.getLevel() < this.getMinimumLevel().getLevel()) {
1925
return;
@@ -33,7 +39,7 @@ public void log(final String message, final LogLevel level) {
3339
builder.append(level.name());
3440
builder.append(AnsiColor.ANSI_RESET);
3541

36-
builder.append(seperator);
42+
builder.append(separator);
3743
builder.append(textColor);
3844
builder.append(message);
3945
builder.append(AnsiColor.ANSI_RESET);

0 commit comments

Comments
 (0)