private static RegionWidget findRegionWidgetById(String id, List<RegionWidget> regionWidgets) { for (RegionWidget widget : regionWidgets) { if (widget.getId().equals(id)) { return widget; } } throw new IllegalArgumentException("Invalid RegionWidget ID"); }
@Override public void delete(RegionWidget item) { manager.remove(item instanceof JpaRegionWidget ? item : get(item.getId())); }
private JpaRegionWidget createEntity(RegionWidget source) { JpaRegionWidget converted = null; if (source != null) { TypedQuery<JpaRegionWidget> query = manager.createNamedQuery(JpaRegionWidget.FIND_BY_ID, JpaRegionWidget.class); query.setParameter(JpaRegionWidget.PARAM_WIDGET_ID, source.getId() == null ? null : Long.parseLong(source.getId())); converted = getSingleResult(query.getResultList()); if (converted == null) { converted = new JpaRegionWidget(); } updateProperties(source, converted); } return converted; }
/** * Renders a {@link org.apache.rave.model.RegionWidget} as HTML markup * * * @param item RegionWidget to render * @param context the context under which to render the gadget. * @return valid HTML markup */ @Override public String render(RegionWidgetWrapper item, RenderContext context) { Widget widget = item.getWidget(); String type = widget.getType(); if (!Constants.WIDGET_TYPE.equals(type)) { throw new NotSupportedException("Invalid widget type passed to renderer: " + type); } RegionWidget regionWidget = item.getRegionWidget(); String widgetScript = getWidgetScript(regionWidget, widget); // the key is based off the RegionWidget.id to ensure uniqueness String key = REGISTER_WIDGET_KEY + (regionWidget.getId() == null ? "" : "-" + regionWidget.getId()); scriptManager.registerScriptBlock(key, widgetScript, ScriptLocation.AFTER_RAVE, RenderScope.CURRENT_REQUEST, context); logger.debug("Gadget Script Data from OpenSocialWidgetWrapperRenderer: " + widgetScript); return String.format(MARKUP, regionWidget.getId()); }
private BlobCrypterSecurityToken getBlobCrypterSecurityToken(RegionWidget regionWidget, Widget widget) throws SecurityTokenException { String moduleUrl = widget != null ? widget.getUrl() : ""; String moduleId = String.valueOf(regionWidget.getId()); String ownerId = regionWidget.getRegion().getPage().getOwnerId(); User user = userService.getAuthenticatedUser(); BlobCrypterSecurityToken securityToken = getBlobCrypterSecurityToken(moduleUrl, moduleId, ownerId, user); if (logger.isTraceEnabled()) { logger.trace("Token created for regionWidget " + regionWidget.toString() + " and user " + user.toString()); } return securityToken; }
private boolean isRegionWidgetOwner(Authentication authentication, RegionWidget regionWidget, List<RegionWidget> trustedRegionWidgetContainer, boolean trustedDomainObject) { RegionWidget trustedRegionWidget = null; if (trustedDomainObject) { trustedRegionWidget = regionWidget; } else { trustedRegionWidget = getTrustedRegionWidget(regionWidget.getId(), trustedRegionWidgetContainer); } return isRegionWidgetOwnerByUsername(authentication, getUserIdFromRegionWidget(trustedRegionWidget)); }
private void updateProperties(RegionWidget source, JpaRegionWidget converted) { converted.setEntityId(source.getId() == null ? null : Long.parseLong(source.getId())); converted.setLocked(source.isLocked()); converted.setCollapsed(source.isCollapsed()); converted.setHideChrome(source.isHideChrome()); converted.setPreferences(source.getPreferences()); converted.setRegion(source.getRegion()); converted.setRenderPosition(source.getRenderPosition()); converted.setWidgetId(source.getWidgetId()); converted.setRenderOrder(source.getRenderOrder()); } }
trustedRegionWidget = regionWidget; } else { trustedRegionWidget = getTrustedRegionWidget(regionWidget.getId(), trustedRegionWidgetContainer);
public RegionWidget(org.apache.rave.model.RegionWidget widget) { this.id = widget.getId(); this.widgetId = widget.getWidgetId(); this.regionId = widget.getRegion().getId(); this.collapsed = widget.isCollapsed(); this.locked = widget.isLocked(); this.ownerId = widget.getRegion().getPage().getOwnerId(); this.hideChrome = widget.isHideChrome(); this.userPrefs = createPrefs(widget); }
private void updatePage(Map<String, User> usersByOriginalId, Map<String, Widget> widgetsById, Page page) { for (Region region : page.getRegions()) { region.setPage(page); setIdViaReflection(region, null); for (RegionWidget widget : region.getRegionWidgets()) { widget.setRegion(region); Widget fromDb = widgetsById.get(widget.getId()); if (fromDb != null) { widget.setWidgetId(fromDb.getId()); } setIdViaReflection(widget, null); } } for (PageUser user : page.getMembers()) { user.setPage(page); setIdViaReflection(user, null); User fromDb = usersByOriginalId.get(user.getUserId()); if (fromDb != null) { user.setUserId(fromDb.getId()); } } User user = usersByOriginalId.get(page.getOwnerId()); page.setOwnerId(user.getId()); }
ScriptManager scriptManager = getBeanFromContext(ScriptManager.class); String widgetScript = String.format(DISABLED_SCRIPT_BLOCK, regionWidget.getRegion().getId(), regionWidget.getId(), StringEscapeUtils.escapeEcmaScript(widget.getDisableRenderingMessage()), regionWidget.isCollapsed(),
item.getRegion().getId(), Constants.WIDGET_TYPE, item.getId(), widget.getUrl(), securityTokenService.getEncryptedSecurityToken(item, widget),