Skip to content

Commit e7ac2c0

Browse files
authored
diagramrest - change result to xml (#219)
Signed-off-by: Tihomir Surdilovic <[email protected]>
1 parent 5809c62 commit e7ac2c0

File tree

7 files changed

+26
-65
lines changed

7 files changed

+26
-65
lines changed

diagram-rest/src/main/java/io/serverlessworkflow/reactive_api_rest/Application.java renamed to diagram-rest/src/main/java/io/serverlessworkflow/diagramrest/Application.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package io.serverlessworkflow.reactive_api_rest;
16+
package io.serverlessworkflow.diagramrest;
1717

1818
import org.springframework.boot.SpringApplication;
1919
import org.springframework.boot.autoconfigure.SpringBootApplication;

diagram-rest/src/main/java/io/serverlessworkflow/reactive_api_rest/ServerlessRequest.java renamed to diagram-rest/src/main/java/io/serverlessworkflow/diagramrest/DiagramRequest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package io.serverlessworkflow.reactive_api_rest;
16+
package io.serverlessworkflow.diagramrest;
1717

1818
import org.springframework.http.MediaType;
1919
import org.springframework.stereotype.Component;
@@ -22,7 +22,7 @@
2222
import reactor.core.publisher.Mono;
2323

2424
@Component
25-
public class ServerlessRequest {
25+
public class DiagramRequest {
2626

2727
/**
2828
* Get the SVG diagram of a workflow from API Request
@@ -32,12 +32,12 @@ public class ServerlessRequest {
3232
*/
3333
public Mono<ServerResponse> getDiagramSVGFromWorkFlow(ServerRequest sRequest) {
3434
return ServerResponse.ok()
35-
.contentType(MediaType.APPLICATION_JSON)
35+
.contentType(MediaType.APPLICATION_XML)
3636
.body(
3737
sRequest
3838
.bodyToMono(String.class)
39-
.flatMap(ServerlesRequestHelper::getSvg)
39+
.flatMap(DiagramRequestHelper::getSvg)
4040
.onErrorMap(e -> new IllegalArgumentException(e.getMessage())),
41-
ServerlessWorkFlowResponse.class);
41+
String.class);
4242
}
4343
}
Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package io.serverlessworkflow.reactive_api_rest;
16+
package io.serverlessworkflow.diagramrest;
1717

1818
import io.serverlessworkflow.api.Workflow;
1919
import io.serverlessworkflow.api.interfaces.WorkflowDiagram;
@@ -22,14 +22,12 @@
2222
import reactor.core.publisher.Mono;
2323

2424
@Component
25-
public class ServerlesRequestHelper {
25+
public class DiagramRequestHelper {
2626

27-
public static Mono<ServerlessWorkFlowResponse> getSvg(String workFlow) {
27+
public static Mono<String> getSvg(String workFlow) {
2828
String diagramSVG;
2929
Workflow workflow = Workflow.fromSource(workFlow);
3030

31-
ServerlessWorkFlowResponse response = new ServerlessWorkFlowResponse();
32-
3331
WorkflowDiagram workflowDiagram =
3432
new WorkflowDiagramImpl()
3533
.showLegend(true)
@@ -39,12 +37,8 @@ public static Mono<ServerlessWorkFlowResponse> getSvg(String workFlow) {
3937
try {
4038
diagramSVG = workflowDiagram.getSvgDiagram();
4139
} catch (Exception e) {
42-
response.setResponse(e.getMessage());
43-
return Mono.just(response);
40+
return Mono.just(e.getMessage());
4441
}
45-
46-
response.setResponse(diagramSVG);
47-
48-
return Mono.just(response);
42+
return Mono.just(diagramSVG);
4943
}
5044
}

diagram-rest/src/main/java/io/serverlessworkflow/reactive_api_rest/RouterRest.java renamed to diagram-rest/src/main/java/io/serverlessworkflow/diagramrest/RouterRest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package io.serverlessworkflow.reactive_api_rest;
16+
package io.serverlessworkflow.diagramrest;
1717

1818
import static org.springframework.web.reactive.function.server.RequestPredicates.POST;
1919
import static org.springframework.web.reactive.function.server.RouterFunctions.route;
@@ -26,7 +26,7 @@
2626
@Configuration
2727
public class RouterRest implements RouterRestInterface {
2828
@Bean
29-
public RouterFunction<ServerResponse> servelessRouterFunction(ServerlessRequest serverlessRequest) {
29+
public RouterFunction<ServerResponse> diagramRouterFunction(DiagramRequest serverlessRequest) {
3030
return route(POST("/diagram"),
3131
serverlessRequest::getDiagramSVGFromWorkFlow);
3232
}

diagram-rest/src/main/java/io/serverlessworkflow/reactive_api_rest/RouterRestInterface.java renamed to diagram-rest/src/main/java/io/serverlessworkflow/diagramrest/RouterRestInterface.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,14 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package io.serverlessworkflow.reactive_api_rest;
16+
package io.serverlessworkflow.diagramrest;
1717

1818
import io.swagger.v3.oas.annotations.Operation;
1919
import io.swagger.v3.oas.annotations.media.Content;
2020
import io.swagger.v3.oas.annotations.media.Schema;
2121
import io.swagger.v3.oas.annotations.responses.ApiResponse;
2222
import org.springdoc.core.annotations.RouterOperation;
2323
import org.springdoc.core.annotations.RouterOperations;
24-
import org.springframework.http.MediaType;
2524
import org.springframework.web.bind.annotation.RequestMethod;
2625
import org.springframework.web.reactive.function.server.RouterFunction;
2726
import org.springframework.web.reactive.function.server.ServerResponse;
@@ -32,9 +31,9 @@ public interface RouterRestInterface {
3231
value = {
3332
@RouterOperation(
3433
path = "/diagram",
35-
produces = {MediaType.APPLICATION_JSON_VALUE},
34+
produces = {"application/xml"},
3635
method = RequestMethod.POST,
37-
beanClass = ServerlessRequest.class,
36+
beanClass = DiagramRequest.class,
3837
beanMethod = "getDiagramSVGFromWorkFlow",
3938
operation =
4039
@Operation(
@@ -46,11 +45,11 @@ public interface RouterRestInterface {
4645
content =
4746
@Content(
4847
schema =
49-
@Schema(implementation = ServerlessWorkFlowResponse.class)))
48+
@Schema(implementation = String.class)))
5049
}
5150
))
5251
})
53-
RouterFunction<ServerResponse> servelessRouterFunction(ServerlessRequest serverlessRequest);
52+
RouterFunction<ServerResponse> diagramRouterFunction(DiagramRequest serverlessRequest);
5453

5554

5655
}

diagram-rest/src/main/java/io/serverlessworkflow/reactive_api_rest/ServerlessWorkFlowResponse.java

Lines changed: 0 additions & 31 deletions
This file was deleted.
Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package io.serverlessworkflow.reactive_api_rest;
16+
package io.serverlessworkflow.diagramrest;
1717

1818
import org.junit.jupiter.api.BeforeEach;
1919
import org.junit.jupiter.api.Test;
@@ -29,13 +29,13 @@
2929
@ExtendWith(SpringExtension.class)
3030
@ContextConfiguration(classes = {
3131
RouterRest.class,
32-
ServerlessRequest.class,
33-
ServerlesRequestHelper.class
32+
DiagramRequest.class,
33+
DiagramRequestHelper.class
3434
})
3535
@WebFluxTest
3636
class ServerlesRequestHelperTest {
3737

38-
private ServerlesRequestHelper serverlesRequestHelper;
38+
private DiagramRequestHelper serverlesRequestHelper;
3939

4040
public static final String input = "id: greeting\n" +
4141
"version: '1.0'\n" +
@@ -60,16 +60,15 @@ class ServerlesRequestHelperTest {
6060

6161
@BeforeEach
6262
void setUp() {
63-
serverlesRequestHelper = new ServerlesRequestHelper();
63+
serverlesRequestHelper = new DiagramRequestHelper();
6464
}
6565

6666
@Test
6767
void getSvg() {
68-
Mono<ServerlessWorkFlowResponse> monoSvg = serverlesRequestHelper.getSvg(input);
69-
monoSvg.subscribe(result -> { assertNotNull(result); assertNotNull(result.getResponse());});
68+
Mono<String> monoSvg = serverlesRequestHelper.getSvg(input);
69+
monoSvg.subscribe(result -> { assertNotNull(result); assertNotNull(result);});
7070
StepVerifier.create(monoSvg)
71-
.expectNextMatches(serverlessWorkFlowResponse -> serverlessWorkFlowResponse.
72-
getResponse()
71+
.expectNextMatches(serverlessWorkFlowResponse -> serverlessWorkFlowResponse
7372
.contains("svg"))
7473
.verifyComplete();
7574
}

0 commit comments

Comments
 (0)