Skip to content

Commit 5517a68

Browse files
christophechevalierjcabannes
authored andcommitted
feat(template-plugin): adapt template plugin to stateless RoutePlugin interface
1 parent e9623c5 commit 5517a68

File tree

3 files changed

+18
-10
lines changed

3 files changed

+18
-10
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
<dependency>
7878
<groupId>io.github.linagora.linid.im</groupId>
7979
<artifactId>linid-im-api-corelib</artifactId>
80-
<version>0.7.2</version>
80+
<version>0.12.0</version>
8181
<scope>provided</scope>
8282
</dependency>
8383
<dependency>

template-plugin/src/main/java/io/github/linagora/linid/im/myplugin/MyPluginRoutePlugin.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@
2727
package io.github.linagora.linid.im.myplugin;
2828

2929
import io.github.linagora.linid.im.corelib.plugin.config.dto.EntityConfiguration;
30-
import io.github.linagora.linid.im.corelib.plugin.route.AbstractRoutePlugin;
30+
import io.github.linagora.linid.im.corelib.plugin.config.dto.RouteConfiguration;
3131
import io.github.linagora.linid.im.corelib.plugin.route.RouteDescription;
32+
import io.github.linagora.linid.im.corelib.plugin.route.RoutePlugin;
3233
import jakarta.servlet.http.HttpServletRequest;
3334
import java.util.List;
3435
import lombok.extern.slf4j.Slf4j;
@@ -41,25 +42,28 @@
4142
*/
4243
@Slf4j
4344
@Component
44-
public class MyPluginRoutePlugin extends AbstractRoutePlugin {
45+
public class MyPluginRoutePlugin implements RoutePlugin {
4546

4647
@Override
4748
public boolean supports(final @NonNull String type) {
4849
return "MyPlugin".equals(type);
4950
}
5051

5152
@Override
52-
public List<RouteDescription> getRoutes(List<EntityConfiguration> list) {
53+
public List<RouteDescription> getRoutes(final RouteConfiguration configuration,
54+
final List<EntityConfiguration> list) {
5355
return List.of(new RouteDescription("GET", "/myPlugin", null, List.of()));
5456
}
5557

5658
@Override
57-
public boolean match(final String url, final String method) {
59+
public boolean match(final RouteConfiguration configuration,
60+
final String url, final String method) {
5861
return url.endsWith("/api/MyPlugin");
5962
}
6063

6164
@Override
62-
public ResponseEntity<?> execute(final HttpServletRequest request) {
65+
public ResponseEntity<?> execute(final RouteConfiguration configuration,
66+
final HttpServletRequest request) {
6367
log.info("Receiving request on route 'MyPlugin'");
6468
return ResponseEntity.ok("MyPlugin route");
6569
}

template-plugin/src/test/java/io/github/linagora/linid/im/myplugin/MyPluginRoutePluginTest.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import static org.junit.jupiter.api.Assertions.assertNotNull;
3232
import static org.junit.jupiter.api.Assertions.assertTrue;
3333

34+
import io.github.linagora.linid.im.corelib.plugin.config.dto.RouteConfiguration;
3435
import io.github.linagora.linid.im.corelib.plugin.route.RouteDescription;
3536
import java.util.List;
3637
import org.junit.jupiter.api.DisplayName;
@@ -57,21 +58,24 @@ void testSupports() {
5758
@Test
5859
@DisplayName("Test getRoutes: should return true only on MyPlugin")
5960
void testGetRoutes() {
61+
var configuration = new RouteConfiguration();
6062
var expected = List.of(new RouteDescription("GET", "/myPlugin", null, List.of()));
61-
assertEquals(expected, plugin.getRoutes(List.of()));
63+
assertEquals(expected, plugin.getRoutes(configuration, List.of()));
6264
}
6365

6466
@Test
6567
@DisplayName("Test match: should return true on valid route")
6668
void testMatch() {
67-
assertTrue(plugin.match("/api/MyPlugin", "GET"));
68-
assertFalse(plugin.match("Other", "GET"));
69+
var configuration = new RouteConfiguration();
70+
assertTrue(plugin.match(configuration, "/api/MyPlugin", "GET"));
71+
assertFalse(plugin.match(configuration, "Other", "GET"));
6972
}
7073

7174
@Test
7275
@DisplayName("Test execute: should return ok response")
7376
void testExecute() {
74-
var response = plugin.execute(null);
77+
var configuration = new RouteConfiguration();
78+
var response = plugin.execute(configuration, null);
7579

7680
assertNotNull(response);
7781
assertEquals(HttpStatus.OK.value(), response.getStatusCode().value());

0 commit comments

Comments
 (0)