Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions src/main/java/de/rwth/idsg/steve/JettyServer.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
*/
package de.rwth.idsg.steve;

import de.rwth.idsg.steve.web.dto.EndpointInfo;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.jetty.http.HttpScheme;
import org.eclipse.jetty.http.HttpVersion;
Expand Down Expand Up @@ -185,11 +184,11 @@ public boolean isStarted() {
public void populateEndpointInfo() {
List<String> list = getConnectorPathList();

EndpointInfo info = EndpointInfo.INSTANCE;

info.getWebInterface().setData(buildList(list, false));
info.getOcppSoap().setData(buildList(list, false));
info.getOcppWebSocket().setData(buildList(list, true));
// EndpointInfo info = EndpointInfo.INSTANCE;
//
// info.getWebInterface().setData(buildList(list, false));
// info.getOcppSoap().setData(buildList(list, false));
// info.getOcppWebSocket().setData(buildList(list, true));
}

private List<String> getConnectorPathList() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,16 @@
import lombok.RequiredArgsConstructor;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Valid;

import static de.rwth.idsg.steve.SteveConfiguration.CONFIG;
Expand Down Expand Up @@ -67,14 +70,16 @@ public class AboutSettingsController {
// -------------------------------------------------------------------------

@RequestMapping(value = ABOUT_PATH, method = RequestMethod.GET)
public String getAbout(Model model) {
public String getAbout(Model model, @RequestHeader(HttpHeaders.HOST) String host, HttpServletRequest request) {
String scheme = request.getScheme();

model.addAttribute("version", CONFIG.getSteveVersion());
model.addAttribute("db", genericRepository.getDBVersion());
model.addAttribute("logFile", logController.getLogFilePath());
model.addAttribute("systemTime", DateTime.now());
model.addAttribute("systemTimeZone", DateTimeZone.getDefault());
model.addAttribute("releaseReport", releaseCheckService.check());
model.addAttribute("endpointInfo", EndpointInfo.INSTANCE);
model.addAttribute("endpointInfo", EndpointInfo.fromRequest(scheme, host));
return "about";
}

Expand Down
38 changes: 12 additions & 26 deletions src/main/java/de/rwth/idsg/steve/web/dto/EndpointInfo.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,43 +18,29 @@
*/
package de.rwth.idsg.steve.web.dto;

import lombok.Builder;
import lombok.Getter;
import lombok.ToString;

import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

/**
* @author Sevket Goekay <[email protected]>
* @author Michael Heimpold <[email protected]>
* @since 06.08.2018
*/
@Getter
@ToString
public enum EndpointInfo {
INSTANCE;

private final ItemsWithInfo webInterface = new ItemsWithInfo("Access the web interface using", "/manager/home");
private final ItemsWithInfo ocppSoap = new ItemsWithInfo("SOAP endpoint for OCPP", "/services/CentralSystemService");
private final ItemsWithInfo ocppWebSocket = new ItemsWithInfo("WebSocket/JSON endpoint for OCPP", "/websocket/CentralSystemService/(chargeBoxId)");
@Builder
public class EndpointInfo {

@Getter
@ToString
public static class ItemsWithInfo {
private final String info;
private final String dataElementPostFix;
private List<String> data;
private final String ocppSoap;
private final String ocppWebSocket;

private ItemsWithInfo(String info, String dataElementPostFix) {
this.info = info;
this.dataElementPostFix = dataElementPostFix;
this.data = Collections.emptyList();
}
public static EndpointInfo fromRequest(String httpScheme, String host) {
String webSocketScheme = httpScheme.equals("https") ? "wss" : "ws";

public synchronized void setData(List<String> data) {
this.data = data.stream()
.map(s -> s + dataElementPostFix)
.collect(Collectors.toList());
}
return EndpointInfo.builder()
.ocppSoap(httpScheme + "://" + host + "/services/CentralSystemService")
.ocppWebSocket(webSocketScheme + "://" + host + "/websocket/CentralSystemService/(chargeBoxId)")
.build();
}
}
20 changes: 10 additions & 10 deletions src/main/resources/webapp/WEB-INF/views/about.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,15 @@
<tr><td>System Time Zone:</td><td>${systemTimeZone}</td></tr>
</table>
<section><span>Endpoint Info</span></section>
<table class="userInputFullPage">
<tr>
<td>${endpointInfo.ocppSoap.info}:</td>
<td><c:forEach items="${endpointInfo.ocppSoap.data}" var="i">${i}<br></c:forEach></td>
<tr>
<td>${endpointInfo.ocppWebSocket.info}:</td>
<td><c:forEach items="${endpointInfo.ocppWebSocket.data}" var="i">${i}<br></c:forEach></td>
</tr>
<table class="userInputFullPage">
<tr>
<td>SOAP endpoint for OCPP:</td>
<td>${endpointInfo.ocppSoap}</td>
<tr>
<td>WebSocket/JSON endpoint for OCPP:</td>
<td>${endpointInfo.ocppWebSocket}</td>
</tr>
</tr>
</table>
</table>
</div>
<%@ include file="00-footer.jsp" %>
<%@ include file="00-footer.jsp" %>