private String buildProxyUrl(String sitemapName, Widget widget, URI uri) { String wId = itemUIRegistry.getWidgetId(widget); StringBuilder sb = new StringBuilder(); sb.append(uri.getScheme()).append("://").append(uri.getHost()); if (uri.getPort() >= 0) { sb.append(":").append(uri.getPort()); } sb.append("/proxy?sitemap=").append(sitemapName).append(".sitemap&widgetId=").append(wId); return sb.toString(); }
private String buildProxyUrl(String sitemapName, Widget widget, URI uri) { String wId = itemUIRegistry.getWidgetId(widget); StringBuilder sb = new StringBuilder(); sb.append(uri.getScheme()).append("://").append(uri.getHost()); if (uri.getPort() >= 0) { sb.append(":").append(uri.getPort()); } sb.append("/proxy?sitemap=").append(sitemapName).append(".sitemap&widgetId=").append(wId); return sb.toString(); }
private PageDTO createPageBean(String sitemapName, String title, String icon, String pageId, EList<Widget> children, boolean drillDown, boolean isLeaf, URI uri, Locale locale, boolean timeout, boolean includeHiddenWidgets) { PageDTO bean = new PageDTO(); bean.timeout = timeout; bean.id = pageId; bean.title = title; bean.icon = icon; bean.leaf = isLeaf; bean.link = UriBuilder.fromUri(uri).path(PATH_SITEMAPS).path(sitemapName).path(pageId).build().toASCIIString(); if (children != null) { for (Widget widget : children) { String widgetId = itemUIRegistry.getWidgetId(widget); WidgetDTO subWidget = createWidgetBean(sitemapName, widget, drillDown, uri, widgetId, locale, includeHiddenWidgets); if (subWidget != null) { bean.widgets.add(subWidget); } } } else { bean.widgets = null; } return bean; }
@Override public EList<Widget> renderWidget(Widget w, StringBuilder sb) throws RenderException { String snippet = getSnippet("group"); snippet = preprocessSnippet(snippet, w); snippet = StringUtils.replace(snippet, "%id%", itemUIRegistry.getWidgetId(w)); // Process the color tags snippet = processColor(w, snippet); sb.append(snippet); return null; } }
@Override public EList<Widget> renderWidget(Widget w, StringBuilder sb) throws RenderException { String snippet = getSnippet("frame"); String label = StringEscapeUtils.escapeHtml(itemUIRegistry.getLabel(w)); List<String> frameClassList = new ArrayList<>(); snippet = StringUtils.replace(snippet, "%label%", label); snippet = StringUtils.replace(snippet, "%widget_id%", itemUIRegistry.getWidgetId(w)); if (label.isEmpty()) { frameClassList.add("mdl-form--no-label"); } if (!itemUIRegistry.getVisiblity(w)) { frameClassList.add("mdl-form--hidden"); } String frameClass = StringUtils.join(frameClassList, ' '); snippet = StringUtils.replace(snippet, "%frame_class%", frameClass); // Process the color tags snippet = processColor(w, snippet); sb.append(snippet); return itemUIRegistry.getChildren((Frame) w); } }
@Override public EList<Widget> renderWidget(Widget w, StringBuilder sb) throws RenderException { Text text = (Text) w; String snippet = (text.getChildren().size() > 0) ? getSnippet("text_link") : getSnippet("text"); snippet = preprocessSnippet(snippet, w); snippet = StringUtils.replace(snippet, "%id%", itemUIRegistry.getWidgetId(w)); // Process the color tags snippet = processColor(w, snippet); sb.append(snippet); return null; } }
/** * Replace some common values in the widget template * * @param snippet snippet html code * @param w corresponding widget * @return */ protected String preprocessSnippet(String originalSnippet, Widget w) { String snippet = originalSnippet; snippet = StringUtils.replace(snippet, "%widget_id%", itemUIRegistry.getWidgetId(w)); snippet = StringUtils.replace(snippet, "%icon_type%", config.getIconType()); snippet = StringUtils.replace(snippet, "%item%", w.getItem() != null ? w.getItem() : ""); // Optimization: avoid calling 3 times itemUIRegistry.getLabel(w) String text = itemUIRegistry.getLabel(w); snippet = StringUtils.replace(snippet, "%label%", getLabel(text)); snippet = StringUtils.replace(snippet, "%value%", getValue(text)); snippet = StringUtils.replace(snippet, "%has_value%", new Boolean(hasValue(text)).toString()); snippet = StringUtils.replace(snippet, "%visibility_class%", itemUIRegistry.getVisiblity(w) ? "" : "mdl-form__row--hidden"); String state = getState(w); snippet = StringUtils.replace(snippet, "%state%", state == null ? "" : escapeURL(state)); String category = getCategory(w); snippet = StringUtils.replace(snippet, "%category%", escapeURL(category)); return snippet; }
@Override public EList<Widget> renderWidget(Widget w, StringBuilder sb) throws RenderException { Video videoWidget = (Video) w; String snippet = null; String widgetId = itemUIRegistry.getWidgetId(w); String sitemap = w.eResource().getURI().path(); if (videoWidget.getEncoding() != null && videoWidget.getEncoding().toLowerCase().contains("mjpeg")) { // we handle mjpeg streams as an html image as browser can usually handle this snippet = getSnippet("image"); } else { snippet = getSnippet("video"); } String url = "../proxy?sitemap=" + sitemap + "&widgetId=" + widgetId; String mediaType = ""; if (videoWidget.getEncoding() != null && videoWidget.getEncoding().toLowerCase().contains("hls")) { // For HTTP Live Stream we don't proxy the URL and we set the appropriate media type State state = itemUIRegistry.getState(w); url = (state instanceof StringType) ? state.toString() : videoWidget.getUrl(); mediaType = "type=\"application/vnd.apple.mpegurl\""; } snippet = StringUtils.replace(snippet, "%url%", url); snippet = StringUtils.replace(snippet, "%media_type%", mediaType); snippet = preprocessSnippet(snippet, videoWidget); sb.append(snippet); return null; } }
String widgetId = itemUIRegistry.getWidgetId(w); snippet = StringUtils.replace(snippet, "%id%", widgetId); snippet = preprocessSnippet(snippet, w);
result.append(renderer.processPage(renderer.getItemUIRegistry().getWidgetId(w), sitemapName, label, children, async));
snippet = StringUtils.replace(snippet, "%id%", itemUIRegistry.getWidgetId(w)); snippet = StringUtils.replace(snippet, "%proxied_url%", chartUrl); snippet = StringUtils.replace(snippet, "%valid_url%", "true");
event.labelcolor = itemUIRegistry.getLabelColor(w); event.valuecolor = itemUIRegistry.getValueColor(w); event.widgetId = itemUIRegistry.getWidgetId(w); event.visibility = itemUIRegistry.getVisiblity(w);
private Set<SitemapEvent> constructSitemapEvents(Item item, List<Widget> widgets) { Set<SitemapEvent> events = new HashSet<>(); for (Widget w : widgets) { if (w instanceof Frame) { events.addAll(constructSitemapEvents(item, itemUIRegistry.getChildren((Frame) w))); } if ((w.getItem() != null && w.getItem().equals(item.getName())) || definesVisibility(w, item.getName())) { SitemapWidgetEvent event = new SitemapWidgetEvent(); event.sitemapName = sitemapName; event.pageId = pageId; event.label = itemUIRegistry.getLabel(w); event.labelcolor = itemUIRegistry.getLabelColor(w); event.valuecolor = itemUIRegistry.getValueColor(w); event.widgetId = itemUIRegistry.getWidgetId(w); event.visibility = itemUIRegistry.getVisiblity(w); event.item = EnrichedItemDTOMapper.map(item, false, null, null); // adjust the state according to the widget type event.item.state = itemUIRegistry.getState(w).toFullString(); events.add(event); } } return events; }
String parentId = itemUIRegistry.getWidgetId((Widget) parentPage); pageBean.parent = getPageBean(sitemapName, parentId, uri, locale); pageBean.parent.widgets = null;
String parentId = itemUIRegistry.getWidgetId((Widget) parentPage); pageBean.parent = getPageBean(sitemapName, parentId, uri, locale, timeout, includeHidden); pageBean.parent.widgets = null;
if (widget instanceof Frame) { for (Widget child : children) { String wID = itemUIRegistry.getWidgetId(child); WidgetDTO subWidget = createWidgetBean(sitemapName, child, drillDown, uri, wID, locale, evenIfHidden); String pageName = itemUIRegistry.getWidgetId(linkableWidget); bean.linkedPage = createPageBean(sitemapName, itemUIRegistry.getLabel(widget), itemUIRegistry.getCategory(widget), pageName, drillDown ? children : null, drillDown,
String pageName = itemUIRegistry.getWidgetId(linkableWidget); bean.linkedPage = createPageBean(sitemapName, itemUIRegistry.getLabel(widget), itemUIRegistry.getCategory(widget), pageName, drillDown ? children : null, drillDown,