private Map<String,Collection<String>> parseImagesFiredAndReturnSiteCatalystVariables(String htmlSource){ Map<String,Collection<String>> eventMap = new HashMap<String,Collection<String>>(); Document doc = Jsoup.parse(htmlSource); Elements tds = doc.select("td"); String[] tdList = null; int counter = 0; String eventPrefix = "Event"; for (Element td : tds) { if (td.text().contains("Image")) { tdList = td.html().split("<br />"); List<String> actualList = new ArrayList<String>(Arrays.asList(tdList)); actualList.remove(0); // remove from list ---- <span style="font:bold 11px arial,sans-serif;color:#000000;">Image</span> List<String> unescapedList = new ArrayList<String>(); for (String data: actualList) { if (!data.contains("table")) { // Exclude parsed data with html tags like </table>. This is a duplicate data. unescapedList.add(StringEscapeUtils.unescapeXml(data)); } } eventMap.put(eventPrefix + counter, unescapedList); counter = counter + 1; } } eventMap.remove("Event0"); // This contains the first td element that is not needed LOG.createAppender() .appendBold("Number Of Events Captured") .appendCode(String.format("%s", eventMap.size())).log(); return eventMap; }
public void siteCatalystVariableListShouldContain(Collection<String> aList, String expectedKeyValuePair){ try { LOG.createAppender() .appendBold("Site Catalyst Variable And Value:") .appendProperty("Expected Key-Value Pair In List:", expectedKeyValuePair) .appendCode(printList((ArrayList<String>) aList)) .log(); if (!aList.contains(expectedKeyValuePair)) { throw new AssertionError("The expected key-value pair is not present in the list."); } } catch (Exception e) { LOG.createAppender() .appendBold("No Site Catalyst Variable(s) Found In List.") .log(); throw new IllegalStateException("No Site Catalyst Variable(s) Found In List."); } }
private HashMap<String,String> getSiteCatalystMapFromHtmlSource(String htmlSource) { Map<String, String> scVariables = new HashMap<String, String>(); List<String> variables = parseAndReturnSiteCatalystVariables(htmlSource); try { for (String temp : variables) { String[] holder = temp.split("="); scVariables.put(holder[0], holder[1]); } LOG.createAppender() .appendBold("Site Catalyst Variables And Values:") .appendCode(printMap(sortByKeys(scVariables))).log(); return (HashMap<String, String>) scVariables; } catch (Exception e) { LOG.createAppender() .appendBold("No Site Catalyst Variable(s) Found.").log(); return null; } }
private HashMap<String,Collection<String>> getSiteCatalystEventsListFromHtml(String htmlSource) { try { Map<String, Collection<String>> events = new HashMap<String, Collection<String>>(); events = (HashMap<String, Collection<String>>) parseImagesFiredAndReturnSiteCatalystVariables(htmlSource); LOG.createAppender() .appendBold("Site Catalyst Events:") .appendCode(printMap(events)).log(); return (HashMap<String, Collection<String>>) events; } catch (Exception e) { LOG.createAppender() .appendBold("No Site Catalyst Event(s) Found.").log(); return null; } }
private ArrayList<String> getSiteCatalystValuesListFromHtml(String htmlSource) { ArrayList<String> scVariables = null; try { scVariables = (ArrayList<String>) parseAndReturnSiteCatalystVariables(htmlSource); LOG.createAppender() .appendBold("Site Catalyst Variables And Values:") .appendCode(printList(scVariables)).log(); return (ArrayList<String>) scVariables; } catch (Exception e) { LOG.createAppender() .appendBold("No Site Catalyst Variable(s) Found.").log(); return null; } }
public void addJSONObjectItem(String name, Object value) throws JSONException { LOG.createAppender() .appendBold("JSON Object Item:") .appendCode(name).appendCode(" : ") .appendCode(value.toString()) .log(); getObjectAppender().append(name, value); }