public void setForHero( Elements heroElements, Node heroPanelLarge, String locale, Map<String, String> urlMap) { try { Value[] panelPropertiest = null; Property panelNodesProperty = heroPanelLarge.hasProperty("panelNodes") ? heroPanelLarge.getProperty("panelNodes") : null; if (panelNodesProperty.isMultiple()) { panelPropertiest = panelNodesProperty.getValues(); } int i = 0; Node heroPanelNode = null; for (Element ele : heroElements) { if (panelPropertiest != null && i <= panelPropertiest.length) { String propertyVal = panelPropertiest[i].getString(); if (StringUtils.isNotBlank(propertyVal)) { JSONObject jsonObj = new JSONObject(propertyVal); if (jsonObj.has("panelnode")) { String panelNodeProperty = jsonObj.get("panelnode").toString(); heroPanelNode = heroPanelLarge.hasNode(panelNodeProperty) ? heroPanelLarge.getNode(panelNodeProperty) : null; } } i++; } else { sb.append("<li>No heropanel Node found.</li>"); } int imageSrcEmptyCount = 0; heroPanelTranslate(heroPanelNode, ele, locale, urlMap, imageSrcEmptyCount); } } catch (Exception e) { } }
public void execute(final WorkItem item, final WorkflowSession session, final MetaDataMap args) throws SocialModerationException { log.debug("In the workflow... (Flagged in JCR) "); try { validate(item); final JSONArray arr = new JSONArray((String) item.getWorkflowData().getPayload()); final ResourceResolver resolver = getResourceResolver(session.getSession()); for (int i = 0; i < arr.length(); i++) { final JSONObject obj = (JSONObject) arr.get(i); final String path = obj.getString(ModerationConstants.PATH); if (!obj.has(ModerationConstants.ACTION_FLAG)) { throw new SocialModerationException( FLAG_VERB_NOT_PRESENT_IN_PAYLOAD, ModerationConstants.ERR_FLAG_VERB_NOT_PRESENT_IN_PAYLOAD); } final boolean isFlagged = obj.getBoolean(ModerationConstants.ACTION_FLAG); final Resource resource = resolver.getResource(path); if (resource == null) { throw new SocialModerationException( ERR_SPECIFIED_RESOURCE_DOES_NOT_EXIST + path, ModerationConstants.ERR_SPECIFIED_RESOURCE_DOES_NOT_EXIST); } else { final Comment comment = resource.adaptTo(Comment.class); if (comment != null) { final Node node = resource.adaptTo(Node.class); node.setProperty(ModerationConstants.PROP_IS_FLAGGED, isFlagged); node.setProperty(ModerationConstants.PROP_IS_READ, true); addModHistory( profileMgr, resolver, node, ModerationConstants.PROP_IS_FLAGGED, String.valueOf(isFlagged), item.getWorkflow().getInitiator()); node.getSession().save(); replicator.replicate( session.getSession(), com.day.cq.replication.ReplicationActionType.ACTIVATE, path.substring(0, path.lastIndexOf('/')), null); // msgs[i] = "Comment " + verb + ": " + path; } else { throw new SocialModerationException( "Not a comment: " + path, ModerationConstants.ERR_NOT_A_COMMENT); } } } } catch (final JSONException je) { log.error(je.getLocalizedMessage(), je.getCause()); throw new SocialModerationException( je.getLocalizedMessage(), ModerationConstants.ERR_FLAGGED_ACTION, je.getCause()); } catch (final Exception e) { log.error(e.getLocalizedMessage(), e.getCause()); throw new SocialModerationException( e.getLocalizedMessage(), ModerationConstants.ERR_FLAGGED_ACTION, e.getCause()); } }
private void migrateHero( Elements heroLargeElements, Node midSizeUpperLeftNode, String locale, Map<String, String> urlMap) throws PathNotFoundException, ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException, JSONException { Node heroLargeNode = null; Value[] panelPropertiest = null; if (midSizeUpperLeftNode.hasNode("hero_large")) { heroLargeNode = midSizeUpperLeftNode.getNode("hero_large"); Property panelNodesProperty = heroLargeNode.hasProperty("panelNodes") ? heroLargeNode.getProperty("panelNodes") : null; if (panelNodesProperty.isMultiple()) { panelPropertiest = panelNodesProperty.getValues(); } } else { log.debug( "<li>Node with name 'hero_large' doesn't exist under " + midSizeUpperLeftNode.getPath() + "</li>"); log.debug( "Node with name 'hero_large' doesn't exist under " + midSizeUpperLeftNode.getPath()); } if (heroLargeElements != null) { Element heroLargeElement = heroLargeElements.first(); if (heroLargeElement != null) { int eleSize = heroLargeElement.select("div.frame").size(); Elements heroLargeFrameElements = heroLargeElement.select("div.frame"); Node heroPanelNode = null; if (heroLargeFrameElements != null) { if (eleSize != heroLargeNode.getNodes("heropanel*").getSize()) { sb.append(Constants.MISMATCH_IN_HERO_SLIDES); heroLargeElement.select("div.frame").first().remove(); heroLargeFrameElements = heroLargeElement.select("div.frame"); } int i = 0; for (Element ele : heroLargeFrameElements) { String heroPanelTitle = ""; String heroPanelDescription = ""; String heroPanelLinkText = ""; String heroPanellinkUrl = ""; Elements heroTitleElements = ele.getElementsByTag("h2"); if (heroTitleElements != null) { Element heroTitleElement = heroTitleElements.first(); if (heroTitleElement != null) { heroPanelTitle = heroTitleElement.text(); } else { sb.append(Constants.HERO_CONTENT_HEADING_ELEMENT_DOESNOT_EXISTS); log.debug("No h2 first element found with in the class 'frame' of div."); } } else { sb.append(Constants.HERO_CONTENT_HEADING_ELEMENT_DOESNOT_EXISTS); log.debug("No h2 found with in the class 'frame' of div."); } Elements heroDescriptionElements = ele.getElementsByTag("p"); if (heroDescriptionElements != null) { Element heroDescriptionElement = heroDescriptionElements.first(); if (heroDescriptionElement != null) { heroPanelDescription = heroDescriptionElement.text(); } else { sb.append(Constants.HERO_CONTENT_DESCRIPTION_ELEMENT_DOESNOT_EXISTS); log.debug("No p frist element found with in the class 'frame' of div."); } } else { sb.append(Constants.HERO_CONTENT_DESCRIPTION_ELEMENT_DOESNOT_EXISTS); log.debug("No p elemtn found with in the class 'frame' of div."); } Elements heroPanelLinkTextElements = ele.getElementsByTag("b"); if (heroPanelLinkTextElements != null) { Element heroPanelLinkTextElement = heroPanelLinkTextElements.first(); if (heroPanelLinkTextElement != null) { heroPanelLinkText = heroPanelLinkTextElement.text(); } else { sb.append(Constants.HERO_CONTENT_ANCHOR_TEXT_IS_BLANK); log.debug("No b tags first elemtn found with in the class 'frame' of div."); } } else { sb.append(Constants.HERO_CONTENT_ANCHOR_TEXT_IS_BLANK); log.debug("No b tag found with the class 'frame' of div."); } Elements heroPanelLinkUrlElements = ele.getElementsByTag("a"); if (heroPanelLinkUrlElements != null) { Element heroPanelLinkUrlElement = heroPanelLinkUrlElements.first(); if (heroPanelLinkUrlElement != null) { heroPanellinkUrl = heroPanelLinkUrlElement.absUrl("href"); if (heroPanellinkUrl.equals("")) { heroPanellinkUrl = heroPanelLinkUrlElement.attr("href"); } // Start extracting valid href log.debug("heroPanellinkUrl before migration : " + heroPanellinkUrl); heroPanellinkUrl = FrameworkUtils.getLocaleReference(heroPanellinkUrl, urlMap, locale, sb); log.debug("heroPanellinkUrl after migration : " + heroPanellinkUrl); // End extracting valid href } else { sb.append(Constants.HERO_CONTENT_ANCHOR_LINK_IS_BLANK); log.debug("No anchor first element found with in the class 'frame' of div."); } } else { sb.append(Constants.HERO_CONTENT_ANCHOR_LINK_IS_BLANK); log.debug("No anchor element found with in the class 'frame' of div."); } // start image String heroImage = FrameworkUtils.extractImagePath(ele, sb); log.debug("heroImage path : " + heroImage); // end image log.debug("heroPanelTitle : " + heroPanelTitle); log.debug("heroPanelDescription : " + heroPanelDescription); log.debug("heroPanelLinkText : " + heroPanelLinkText); log.debug("heroPanellinkUrl : " + heroPanellinkUrl); if (panelPropertiest != null && i <= panelPropertiest.length) { String propertyVal = panelPropertiest[i].getString(); if (StringUtils.isNotBlank(propertyVal)) { JSONObject jsonObj = new JSONObject(propertyVal); if (jsonObj.has("panelnode")) { String panelNodeProperty = jsonObj.get("panelnode").toString(); heroPanelNode = heroLargeNode.hasNode(panelNodeProperty) ? heroLargeNode.getNode(panelNodeProperty) : null; log.debug("hero_node_Name : " + heroPanelNode.getName()); } } i++; } else { sb.append(Constants.HERO_CONTENT_NODE_NOT_FOUND); log.debug("No list panelProperties found for the hero compoent order."); } if (heroPanelNode != null) { Node heroPanelPopUpNode = null; Elements lightBoxElements = ele.select("div.c50-image").select("a.c26v4-lightbox"); if (lightBoxElements != null && !lightBoxElements.isEmpty()) { heroPanelPopUpNode = FrameworkUtils.getHeroPopUpNode(heroPanelNode); } if (StringUtils.isNotBlank(heroPanelTitle)) { heroPanelNode.setProperty("title", heroPanelTitle); if (heroPanelPopUpNode != null) { heroPanelPopUpNode.setProperty("popupHeader", heroPanelTitle); } else { if (lightBoxElements != null && lightBoxElements.size() != 0) { sb.append("<li>Hero content video pop up node not found.</li>"); log.debug( "No pop-up node found for the hero panel node " + heroPanelNode.getPath()); } } } else { sb.append(Constants.HERO_SLIDE_TITLE_NOT_FOUND); log.debug("Title is blank with in the 'frame' class of div."); } if (StringUtils.isNotBlank(heroPanelDescription)) { heroPanelNode.setProperty("description", heroPanelDescription); } else { sb.append(Constants.HERO_SLIDE_DESCRIPTION_NOT_FOUND); log.debug("Description is blank with in the 'frame' class of the div."); } if (StringUtils.isNotBlank(heroPanelLinkText)) { heroPanelNode.setProperty("linktext", heroPanelLinkText); } else { sb.append(Constants.HERO_SLIDE_DESCRIPTION_NOT_FOUND); log.debug("Link Text doesn't exists with in the class 'frame' of the div."); } if (StringUtils.isNotBlank(heroPanellinkUrl)) { heroPanelNode.setProperty("linkurl", heroPanellinkUrl); } else { sb.append(Constants.HERO_SLIDE_LINKURL_NOT_FOUND); log.debug("Link url doesn't exists with in the class 'frame' of the div."); } if (heroPanelNode.hasNode("image")) { Node imageNode = heroPanelNode.getNode("image"); String fileReference = imageNode.hasProperty("fileReference") ? imageNode.getProperty("fileReference").getString() : ""; heroImage = FrameworkUtils.migrateDAMContent(heroImage, fileReference, locale, sb); log.debug("heroImage : " + heroImage); if (StringUtils.isNotBlank(heroImage)) { imageNode.setProperty("fileReference", heroImage); } } else { sb.append(Constants.HERO_SLIDE_IMAGE_NODE_NOT_FOUND); log.debug("'image' node doesn't exists in " + heroPanelNode.getPath()); } } } } else { log.debug("<li>Hero Large Frames/Panel Elements is not found</li>"); log.debug("No div found with class 'frame'"); } } else { sb.append(Constants.HERO_LARGE_COMPONENT_NOT_FOUND); log.debug("No first element found with class 'c50-pilot'"); } } else { sb.append("<li>Hero Large component is not found on web publisher page</li>"); log.debug("No element found with class 'c50-pilot'"); } }