private void updateProperties(Region source, JpaRegion converted) { converted.setEntityId(source.getId() == null ? null : Long.parseLong(source.getId())); converted.setLocked(source.isLocked()); converted.setPage(source.getPage()); converted.setRegionWidgets(source.getRegionWidgets()); converted.setRenderOrder(source.getRenderOrder()); } }
/*** * Utility function to create additional empty regions for a page. * * @param page the Page object to add new regions to * @param numberOfNewRegionsToAdd the number of new Region objects to add to the Page */ private void createAdditionalRegionsForPage(Page page, long numberOfNewRegionsToAdd) { //the next render order to use for the region List<Region> regions = page.getRegions(); int lastRegionRenderOrder = regions.get(regions.size()-1).getRenderOrder() + 1; //add as many missing regions as the new layout requires for (int i=0; i < numberOfNewRegionsToAdd; i++) { Region newRegion = new RegionImpl(); newRegion.setPage(page); newRegion.setRenderOrder(lastRegionRenderOrder++); newRegion.setLocked(false); regions.add(newRegion); } } /***
private boolean isRegionOwner(Authentication authentication, Region region, List<Region> trustedRegionContainer, boolean trustedDomainObject) { Region trustedRegion = null; if (trustedDomainObject) { trustedRegion = region; } else { trustedRegion = getTrustedRegion(region.getId(), trustedRegionContainer); } return isRegionOwnerByUserId(authentication, trustedRegion.getPage().getOwnerId()); }
@Override public String toString() { return "RegionWidgetImpl{" + "id=" + id + ", widget=" + ((widgetId == null) ? null : widgetId) + ", region=" + ((region == null) ? null : region.getId()) + ", renderPosition='" + renderPosition + '\'' + ", renderOrder=" + renderOrder + ", collapsed=" + collapsed + ", locked=" + locked + ", hideChrome=" + hideChrome + '}'; } }
private void replaceRegionWidget(String regionWidgetId, int newPosition, Region target, Region source) { RegionWidget widget = findRegionWidgetById(regionWidgetId, source.getRegionWidgets()); source.getRegionWidgets().remove(widget); target.getRegionWidgets().add(newPosition, widget); }
@Transactional public Boolean clonePageForUser(String pageId, String userId, String pageName) { Page page = getPage(pageId); if(pageName == null || pageName.equals("null")){ // try to use the original page name if none supplied pageName = page.getName(); } Page clonedPage = addNewUserPage(userService.getUserById(userId), pageName, page.getPageLayout().getCode()); // populate all the widgets in cloned page from original for(int i=0; i<page.getRegions().size(); i++){ for(int j=0; j<page.getRegions().get(i).getRegionWidgets().size(); j++){ String widgetId = page.getRegions().get(i).getRegionWidgets().get(j).getWidgetId(); addWidgetToPageRegion(clonedPage.getId(), widgetId, clonedPage.getRegions().get(i).getId()); } } clonedPage = getFromRepository(clonedPage.getId(), pageRepository); // newly created page - so only one pageUser PageUser pageUser = clonedPage.getMembers().get(0); // update status to pending pageUser.setPageStatus(PageInvitationStatus.PENDING); if(pageRepository.save(clonedPage) != null){ return Boolean.TRUE; }else{ return Boolean.FALSE; } }
private String getUserIdFromRegionWidget(RegionWidget regionWidget) { return regionWidget.getRegion().getPage().getOwnerId(); }
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()); }
private void verifyRegionIsNotLocked(Region region) { if (region == null) { throw new IllegalArgumentException("region is null"); } if (region.isLocked()) { throw new UnsupportedOperationException("Can't modify locked Region: " + region); } }
@Override public void setRegions(List<Region> regions) { if(this.regions == null) { this.regions = new ArrayList<JpaRegion>(); } this.getRegions().clear(); if(regions != null) { for(Region region : regions) { region.setPage(this); this.getRegions().add(region); } } }
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); }
@Override public void delete(Region item) { manager.remove(item instanceof JpaRegion ? item : get(item.getId())); }
private List<RegionWidget> createRegionWidgets(org.apache.rave.model.Region source) { List<RegionWidget> created = null; List<org.apache.rave.model.RegionWidget> widgets = source.getRegionWidgets(); if(widgets != null) { created = new ArrayList<RegionWidget>(); for(org.apache.rave.model.RegionWidget widget : widgets) { created.add(new RegionWidget(widget)); } } return created; } }
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 isRegionMember(Authentication authentication, Region region, List<Region> trustedRegionContainer, boolean trustedDomainObject, boolean checkEditorStatus) { Region trustedRegion = null; if (trustedDomainObject) { trustedRegion = region; } else { trustedRegion = getTrustedRegion(region.getId(), trustedRegionContainer); } Page containerPage = trustedRegion.getPage(); if (containerPage.getMembers() == null){ return false; } // // Check that the viewer is a member // String viewer = ((User)authentication.getPrincipal()).getUsername(); for (PageUser pageUser:containerPage.getMembers()){ if (userRepository.get(pageUser.getUserId()).getUsername().equals(viewer)){ log.info("User "+viewer+" is a member of page "+containerPage.getId()); if(checkEditorStatus){ return pageUser.isEditor(); } return true; } } return false; }
private JpaRegion createEntity(Region source) { JpaRegion converted = null; if (source != null) { TypedQuery<JpaRegion> query = manager.createNamedQuery(JpaRegion.FIND_BY_ENTITY_ID, JpaRegion.class); query.setParameter(JpaRegion.ENTITY_ID_PARAM, source.getId() == null ? null : Long.parseLong(source.getId())); converted = getSingleResult(query.getResultList()); if (converted == null) { converted = new JpaRegion(); } updateProperties(source, converted); } return converted; }
private static void modifyForExport(Region r) { for(RegionWidget w : r.getRegionWidgets()) { w.setPreferences(null); } } }
Page containerPage = trustedRegionWidget.getRegion().getPage();