public ResolvedDevice resolveDevice(DeviceResolutionParams params) { final Portal portal = params.getPortal(); final PathSegments path = params.getPath(); DevicesInPortal dips = portal.getDevices(); if (config != null && !config.includeDefault()) { dips = dips.excludeDevice(portal.getDevice()); } final Device d = portal.getDevices().findDeviceByFirstSegment(path); if (d != null) { return new ResolvedDevice(path.consume(), d, new DefaultDeviceCapabilities(d), params.getParameters()); } return null; } }
/** * @see com.isotrol.impe3.api.DeviceResolver#resolveDevice(com.isotrol.impe3.api.DeviceResolutionParams) */ public ResolvedDevice resolveDevice(DeviceResolutionParams params) { ResolvedDevice rd = DeviceNameUseDeviceResolver.get().resolveDevice(params); if (rd != null) { return rd; } return params.resolve(params.getPortal().getDevice()); }
@Renderer public SitemapRenderer sitemap(final RenderContext context) { final List<URLEntry> entries = Lists.newLinkedList(); if (page != null) { Route r = context.getRoute(); r = r.toDevice(context.getPortal().getDevice()); for (Content c : page) { PageKey pk = PageKey.content(c.getContentKey()); URI u = context.getAbsoluteURI(r.toPage(pk)); entries.add(URLEntry.of(u)); } } return SitemapRenderers.set(entries); }
public SyndEntry apply(Content c) { final ContentKey key = c.getContentKey(); NavigationKey nk = null; if (config != null && config.keepNavigation()) { nk = context.getNavigationKey(); if (nk != null) { nk = nk.withoutContentType(); } } final PageKey pageKey = PageKey.content(nk, key); Route route = context.getRoute().toPage(pageKey); if (config != null && config.toDefaultDevice()) { route = route.toDevice(context.getPortal().getDevice()); } final URI link = context.getAbsoluteURI(route); return ATOMFactory.entry(c, link, config); }