Skip to content

Commit 8b30ced

Browse files
committed
new: reworked Plugin classloader system
1 parent ec518d8 commit 8b30ced

29 files changed

+667
-180
lines changed
Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,36 @@
11
package org.lowcoder.infra.event;
22

3+
import java.util.HashMap;
4+
import java.util.Map;
5+
6+
import org.lowcoder.plugin.api.event.LowcoderEvent;
7+
38
import lombok.Getter;
49
import lombok.experimental.SuperBuilder;
510

611
@Getter
712
@SuperBuilder
8-
public abstract class AbstractEvent implements Event {
9-
13+
public abstract class AbstractEvent implements LowcoderEvent
14+
{
1015
protected final String orgId;
1116
protected final String userId;
17+
protected Map<String, String> details;
18+
19+
public Map<String, String> details()
20+
{
21+
return this.details;
22+
}
23+
24+
public static abstract class AbstractEventBuilder<C extends AbstractEvent, B extends AbstractEvent.AbstractEventBuilder<C, B>>
25+
{
26+
public B detail(String name, String value)
27+
{
28+
if (details == null)
29+
{
30+
details = new HashMap<>();
31+
}
32+
this.details.put(name, value);
33+
return self();
34+
}
35+
}
1236
}

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/event/Event.java

Lines changed: 0 additions & 6 deletions
This file was deleted.

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/event/EventType.java

Lines changed: 0 additions & 63 deletions
This file was deleted.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package org.lowcoder.infra.event;
2+
3+
import org.checkerframework.checker.units.qual.C;
4+
5+
import lombok.Getter;
6+
import lombok.experimental.SuperBuilder;
7+
8+
@Getter
9+
@SuperBuilder
10+
public class SystemCommonEvent extends AbstractEvent
11+
{
12+
private final long apiCalls;
13+
14+
@Override
15+
public EventType getEventType() {
16+
return EventType.SERVER_INFO;
17+
}
18+
}

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/event/datasource/DatasourceEvent.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.lowcoder.infra.event.datasource;
22

33
import org.lowcoder.infra.event.AbstractEvent;
4-
import org.lowcoder.infra.event.EventType;
54

65
import lombok.Getter;
76
import lombok.experimental.SuperBuilder;

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/event/datasource/DatasourcePermissionEvent.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import java.util.Collection;
44

55
import org.lowcoder.infra.event.AbstractEvent;
6-
import org.lowcoder.infra.event.EventType;
76

87
import lombok.Getter;
98
import lombok.experimental.SuperBuilder;

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/event/group/GroupCreateEvent.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package org.lowcoder.infra.event.group;
22

3-
import org.lowcoder.infra.event.EventType;
4-
53
import lombok.experimental.SuperBuilder;
64

75
@SuperBuilder

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/event/group/GroupDeleteEvent.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package org.lowcoder.infra.event.group;
22

3-
import org.lowcoder.infra.event.EventType;
4-
53
import lombok.experimental.SuperBuilder;
64

75
@SuperBuilder

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/event/group/GroupUpdateEvent.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package org.lowcoder.infra.event.group;
22

3-
import org.lowcoder.infra.event.EventType;
4-
53
import lombok.experimental.SuperBuilder;
64

75
@SuperBuilder

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/event/groupmember/GroupMemberAddEvent.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package org.lowcoder.infra.event.groupmember;
22

3-
import org.lowcoder.infra.event.EventType;
4-
53
import lombok.experimental.SuperBuilder;
64

75
@SuperBuilder

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/event/groupmember/GroupMemberLeaveEvent.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package org.lowcoder.infra.event.groupmember;
22

3-
import org.lowcoder.infra.event.EventType;
4-
53
import lombok.experimental.SuperBuilder;
64

75
@SuperBuilder

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/event/groupmember/GroupMemberRemoveEvent.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package org.lowcoder.infra.event.groupmember;
22

3-
import org.lowcoder.infra.event.EventType;
4-
53
import lombok.experimental.SuperBuilder;
64

75
@SuperBuilder

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/event/groupmember/GroupMemberRoleUpdateEvent.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package org.lowcoder.infra.event.groupmember;
22

3-
import org.lowcoder.infra.event.EventType;
4-
53
import lombok.experimental.SuperBuilder;
64

75
@SuperBuilder

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/event/user/UserLoginEvent.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.lowcoder.infra.event.user;
22

33
import org.lowcoder.infra.event.AbstractEvent;
4-
import org.lowcoder.infra.event.EventType;
54

65
import lombok.Getter;
76
import lombok.experimental.SuperBuilder;

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/event/user/UserLogoutEvent.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.lowcoder.infra.event.user;
22

33
import org.lowcoder.infra.event.AbstractEvent;
4-
import org.lowcoder.infra.event.EventType;
54

65
import lombok.experimental.SuperBuilder;
76

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/localcache/ReloadableCache.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public ReloadableCache<T> build() {
8383
private void startScheduledReloadTask(ReloadableCache<T> cache) {
8484
ScheduledExecutorService scheduledExecutor = newSingleThreadScheduledExecutor();
8585
scheduledExecutor.scheduleAtFixedRate(() -> {
86-
log.debug("{} scheduled reload...", cacheName);
86+
log.trace("{} scheduled reload...", cacheName);
8787
try {
8888
cache.cachedValue = factory.getValue().block();
8989
} catch (Exception e) {

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/serverlog/ServerLogService.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
import java.util.concurrent.TimeUnit;
88

99
import org.apache.commons.collections4.CollectionUtils;
10+
import org.lowcoder.infra.event.SystemCommonEvent;
1011
import org.lowcoder.infra.perf.PerfHelper;
11-
import org.lowcoder.plugin.events.ServerLogEvent;
1212
import org.springframework.beans.factory.annotation.Autowired;
1313
import org.springframework.context.ApplicationEventPublisher;
1414
import org.springframework.scheduling.annotation.Scheduled;
@@ -46,13 +46,11 @@ private void scheduledInsert() {
4646
.subscribe(result -> {
4747
int count = result.size();
4848
perfHelper.count(SERVER_LOG_BATCH_INSERT, Tags.of("size", String.valueOf(result.size())));
49-
publishServerLogEvent(count);
49+
applicationEventPublisher.publishEvent(SystemCommonEvent.builder()
50+
.apiCalls(count)
51+
.detail("apiCalls", Integer.toString(count))
52+
.build()
53+
);
5054
});
5155
}
52-
53-
private void publishServerLogEvent(int count) {
54-
ServerLogEvent event = new ServerLogEvent();
55-
event.setApiCallsCount(count);
56-
applicationEventPublisher.publishEvent(event);
57-
}
5856
}

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationController.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package org.lowcoder.api.application;
22

33
import static org.apache.commons.collections4.SetUtils.emptyIfNull;
4-
import static org.lowcoder.infra.event.EventType.APPLICATION_CREATE;
5-
import static org.lowcoder.infra.event.EventType.APPLICATION_DELETE;
6-
import static org.lowcoder.infra.event.EventType.APPLICATION_RECYCLED;
7-
import static org.lowcoder.infra.event.EventType.APPLICATION_RESTORE;
8-
import static org.lowcoder.infra.event.EventType.APPLICATION_UPDATE;
9-
import static org.lowcoder.infra.event.EventType.VIEW;
4+
import static org.lowcoder.plugin.api.event.LowcoderEvent.EventType.APPLICATION_CREATE;
5+
import static org.lowcoder.plugin.api.event.LowcoderEvent.EventType.APPLICATION_DELETE;
6+
import static org.lowcoder.plugin.api.event.LowcoderEvent.EventType.APPLICATION_RECYCLED;
7+
import static org.lowcoder.plugin.api.event.LowcoderEvent.EventType.APPLICATION_RESTORE;
8+
import static org.lowcoder.plugin.api.event.LowcoderEvent.EventType.APPLICATION_UPDATE;
9+
import static org.lowcoder.plugin.api.event.LowcoderEvent.EventType.APPLICATION_VIEW;
1010
import static org.lowcoder.sdk.exception.BizError.INVALID_PARAMETER;
1111
import static org.lowcoder.sdk.util.ExceptionUtils.ofError;
1212

@@ -92,7 +92,7 @@ public Mono<ResponseView<ApplicationView>> getEditingApplication(@PathVariable S
9292
public Mono<ResponseView<ApplicationView>> getPublishedApplication(@PathVariable String applicationId) {
9393
return applicationApiService.getPublishedApplication(applicationId)
9494
.delayUntil(applicationView -> applicationApiService.updateUserApplicationLastViewTime(applicationId))
95-
.delayUntil(applicationView -> businessEventPublisher.publishApplicationCommonEvent(applicationView, VIEW))
95+
.delayUntil(applicationView -> businessEventPublisher.publishApplicationCommonEvent(applicationView, APPLICATION_VIEW))
9696
.map(ResponseView::success);
9797
}
9898

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/datasource/DatasourceController.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package org.lowcoder.api.datasource;
22

3-
import static org.lowcoder.infra.event.EventType.DATA_SOURCE_CREATE;
4-
import static org.lowcoder.infra.event.EventType.DATA_SOURCE_DELETE;
5-
import static org.lowcoder.infra.event.EventType.DATA_SOURCE_PERMISSION_DELETE;
6-
import static org.lowcoder.infra.event.EventType.DATA_SOURCE_PERMISSION_GRANT;
7-
import static org.lowcoder.infra.event.EventType.DATA_SOURCE_PERMISSION_UPDATE;
8-
import static org.lowcoder.infra.event.EventType.DATA_SOURCE_UPDATE;
3+
import static org.lowcoder.plugin.api.event.LowcoderEvent.EventType.DATA_SOURCE_CREATE;
4+
import static org.lowcoder.plugin.api.event.LowcoderEvent.EventType.DATA_SOURCE_DELETE;
5+
import static org.lowcoder.plugin.api.event.LowcoderEvent.EventType.DATA_SOURCE_PERMISSION_DELETE;
6+
import static org.lowcoder.plugin.api.event.LowcoderEvent.EventType.DATA_SOURCE_PERMISSION_GRANT;
7+
import static org.lowcoder.plugin.api.event.LowcoderEvent.EventType.DATA_SOURCE_PERMISSION_UPDATE;
8+
import static org.lowcoder.plugin.api.event.LowcoderEvent.EventType.DATA_SOURCE_UPDATE;
99
import static org.lowcoder.sdk.exception.BizError.INVALID_PARAMETER;
1010
import static org.lowcoder.sdk.util.ExceptionUtils.ofError;
1111
import static org.lowcoder.sdk.util.LocaleUtils.getLocale;

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/framework/configuration/PluginConfiguration.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@
2020
@Configuration
2121
public class PluginConfiguration
2222
{
23-
private final ApplicationContext applicationContext;
24-
private final PluginLoader pluginLoader;
25-
26-
public LowcoderPluginManager lowcoderPluginManager()
27-
{
28-
return new LowcoderPluginManager(applicationContext, pluginLoader);
29-
}
23+
// private final ApplicationContext applicationContext;
24+
// private final PluginLoader pluginLoader;
25+
//
26+
// public LowcoderPluginManager lowcoderPluginManager()
27+
// {
28+
// return new LowcoderPluginManager(applicationContext, pluginLoader);
29+
// }
3030

3131
@SuppressWarnings("unchecked")
3232
@Bean

0 commit comments

Comments
 (0)