Search in sources :

Example 1 with ConsoleApp

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()]);
}
Also used : Tenant(org.openremote.model.security.Tenant) ConsoleApp(org.openremote.model.apps.ConsoleApp) ArrayList(java.util.ArrayList)

Example 2 with ConsoleApp

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;
                }
            }
        }
    });
}
Also used : ConsoleApp(org.openremote.model.apps.ConsoleApp)

Aggregations

ConsoleApp (org.openremote.model.apps.ConsoleApp)2 ArrayList (java.util.ArrayList)1 Tenant (org.openremote.model.security.Tenant)1