use of org.openremote.model.apps.ConsoleApp in project openremote by openremote.
the class ConsoleAppService method getInstalled.
public ConsoleApp[] getInstalled() throws Exception {
List<ConsoleApp> result = new ArrayList<>();
Files.list(managerWebService.getConsolesDocRoot()).forEach(path -> {
String directoryName = path.getFileName().toString();
Tenant tenant = identityService.getIdentityProvider().getTenantForRealm(directoryName);
if (tenant == null) {
LOG.fine("No tenant exists for installed console app: " + path.toAbsolutePath());
return;
}
if (tenant.isActive(timerService.getCurrentTimeMillis()) && tenant.getDisplayName() != null) {
String appUrl = managerWebService.getConsoleUrl(identityService.getExternalServerUri(), directoryName);
ConsoleApp consoleApp = new ConsoleApp(tenant, appUrl);
result.add(consoleApp);
}
});
result.sort((o1, o2) -> {
if (o1.getTenant().getRealm().equals(MASTER_REALM))
return -1;
if (o2.getTenant().getRealm().equals(MASTER_REALM))
return 1;
return o1.getTenant().getDisplayName().compareTo(o2.getTenant().getDisplayName());
});
return result.toArray(new ConsoleApp[result.size()]);
}
use of org.openremote.model.apps.ConsoleApp in project openremote by openremote.
the class ConsoleAppsActivity method start.
@Override
public void start(AcceptsView container, EventBus eventBus, Collection<EventRegistration> registrations) {
container.setViewComponent(view);
view.setPresenter(this);
environment.getApp().getRequests().sendAndReturn(consoleAppArrayMapper, consoleAppResource::getInstalledApps, 200, apps -> {
view.setApps(apps);
if (getPlace().getRealm() != null) {
for (ConsoleApp app : apps) {
if (app.getTenant().getRealm().equals(getPlace().getRealm())) {
view.openAppUrl(app.getTenant().getRealm(), app.getUrl());
environment.getEventBus().dispatch(new ConsoleAppSelection(app.getTenant().getRealm()));
break;
}
}
}
});
}
Aggregations