Skip to content

Commit b335d55

Browse files
committed
Merge branch 'nickmelis-issues/449' into develop
2 parents efd1e16 + e92b679 commit b335d55

File tree

2 files changed

+35
-32
lines changed

2 files changed

+35
-32
lines changed

src/main/java/eu/openanalytics/shinyproxy/controllers/BaseController.java

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import eu.openanalytics.containerproxy.service.hearbeat.HeartbeatService;
3434
import eu.openanalytics.containerproxy.util.ContextPathHelper;
3535
import eu.openanalytics.shinyproxy.AppRequestInfo;
36+
import eu.openanalytics.shinyproxy.ShinyProxySpecExtension;
3637
import eu.openanalytics.shinyproxy.ShinyProxySpecProvider;
3738
import eu.openanalytics.shinyproxy.UserAndAppNameAndInstanceNameProxyIndex;
3839
import jakarta.servlet.http.HttpServletRequest;
@@ -50,14 +51,19 @@
5051
import org.springframework.util.StreamUtils;
5152
import org.springframework.web.context.request.RequestContextHolder;
5253
import org.springframework.web.context.request.ServletRequestAttributes;
54+
import org.springframework.web.servlet.view.RedirectView;
5355

5456
import javax.annotation.PostConstruct;
5557
import javax.inject.Inject;
5658
import java.io.IOException;
5759
import java.io.InputStream;
5860
import java.net.URL;
5961
import java.net.URLConnection;
62+
import java.util.ArrayList;
6063
import java.util.Base64;
64+
import java.util.HashMap;
65+
import java.util.List;
66+
import java.util.Map;
6167
import java.util.Objects;
6268

6369
public abstract class BaseController {
@@ -156,6 +162,35 @@ protected void prepareMap(ModelMap map, HttpServletRequest request) {
156162
map.put("allowTransferApp", allowTransferApp);
157163
map.put("notificationMessage", environment.getProperty("proxy.notification-message"));
158164

165+
List<ProxySpec> apps = proxyService.getUserSpecs();
166+
map.put("apps", apps);
167+
168+
// app logos
169+
Map<ProxySpec, LogoInfo> appLogos = new HashMap<>();
170+
for (ProxySpec app : apps) {
171+
appLogos.put(app, getAppLogoInfo(app));
172+
}
173+
map.put("appLogos", appLogos);
174+
175+
// template groups
176+
HashMap<String, ArrayList<ProxySpec>> groupedApps = new HashMap<>();
177+
List<ProxySpec> ungroupedApps = new ArrayList<>();
178+
179+
for (ProxySpec app : apps) {
180+
String groupId = app.getSpecExtension(ShinyProxySpecExtension.class).getTemplateGroup();
181+
if (groupId != null) {
182+
groupedApps.putIfAbsent(groupId, new ArrayList<>());
183+
groupedApps.get(groupId).add(app);
184+
} else {
185+
ungroupedApps.add(app);
186+
}
187+
}
188+
189+
List<ShinyProxySpecProvider.TemplateGroup> templateGroups = shinyProxySpecProvider.getTemplateGroups().stream().filter((g) -> groupedApps.containsKey(g.getId())).toList();
190+
map.put("templateGroups", templateGroups);
191+
map.put("groupedApps", groupedApps);
192+
map.put("ungroupedApps", ungroupedApps);
193+
159194
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
160195
HttpServletRequest httpServletRequest = servletRequestAttributes.getRequest();
161196
HttpServletResponse httpServletResponse = servletRequestAttributes.getResponse();

src/main/java/eu/openanalytics/shinyproxy/controllers/IndexController.java

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
package eu.openanalytics.shinyproxy.controllers;
2222

2323
import eu.openanalytics.containerproxy.model.spec.ProxySpec;
24-
import eu.openanalytics.shinyproxy.ShinyProxySpecExtension;
2524
import eu.openanalytics.shinyproxy.ShinyProxySpecProvider;
2625
import jakarta.servlet.http.HttpServletRequest;
2726
import org.springframework.core.env.Environment;
@@ -32,10 +31,7 @@
3231

3332
import javax.annotation.PostConstruct;
3433
import javax.inject.Inject;
35-
import java.util.ArrayList;
36-
import java.util.HashMap;
3734
import java.util.List;
38-
import java.util.Map;
3935

4036
@Controller
4137
public class IndexController extends BaseController {
@@ -94,34 +90,6 @@ private Object index(ModelMap map, HttpServletRequest request) {
9490

9591
prepareMap(map, request);
9692

97-
map.put("apps", apps);
98-
99-
// app logos
100-
Map<ProxySpec, LogoInfo> appLogos = new HashMap<>();
101-
for (ProxySpec app : apps) {
102-
appLogos.put(app, getAppLogoInfo(app));
103-
}
104-
map.put("appLogos", appLogos);
105-
106-
// template groups
107-
HashMap<String, ArrayList<ProxySpec>> groupedApps = new HashMap<>();
108-
List<ProxySpec> ungroupedApps = new ArrayList<>();
109-
110-
for (ProxySpec app : apps) {
111-
String groupId = app.getSpecExtension(ShinyProxySpecExtension.class).getTemplateGroup();
112-
if (groupId != null) {
113-
groupedApps.putIfAbsent(groupId, new ArrayList<>());
114-
groupedApps.get(groupId).add(app);
115-
} else {
116-
ungroupedApps.add(app);
117-
}
118-
}
119-
120-
List<ShinyProxySpecProvider.TemplateGroup> templateGroups = shinyProxySpecProvider.getTemplateGroups().stream().filter((g) -> groupedApps.containsKey(g.getId())).toList();
121-
map.put("templateGroups", templateGroups);
122-
map.put("groupedApps", groupedApps);
123-
map.put("ungroupedApps", ungroupedApps);
124-
12593
// navbar
12694
map.put("page", "index");
12795

0 commit comments

Comments
 (0)