public void handle(MacroDefinition macroDefinition) { if (StringUtils.equals("bookmark", macroDefinition.getName())) { parameters.putAll( macroDefinition.getParameters() ); parameters.put("description", macroDefinition.getBodyText()); // TODO: Decide if we really need descriptionExcerpt // parameters.put("descriptionExcerpt", macroDefinition.get); } } }
public void handle(MacroDefinition macroDefinition) { if (!"details".equals(macroDefinition.getName())) return; String bodyText = macroDefinition.getBodyText(); String detailsId = StringUtils.trim(macroDefinition.getParameter(DetailsSummaryMacro.PARAM_ID)); if (detailsId == null) detailsId = ""; if (StringUtils.isBlank(bodyText)) { addToDetails(detailsId, ImmutableMap.<String, PageProperty>of()); return; } try { metrics.detailsExtractionStart(); ImmutableMap<String, PageProperty> extractedDetails = extractDetails(bodyText); metrics.detailsExtractionFinish(extractedDetails.size()); addToDetails(detailsId, extractedDetails); } catch (Exception e) { LOG.error(String.format("Unable to parse detailsById in detailsById macro\n%s", bodyText), e); } }
public MacroDefinition migrate(MacroDefinition macroDefinition, ConversionContext conversionContext) { Map<String, String> macroParameters = macroDefinition.getParameters(); if (macroParameters.containsKey("reverseSort")) { Map<String, String> modifiedMacroParameters = new HashMap<>(macroDefinition.getParameters()); modifiedMacroParameters.remove("reverseSort"); modifiedMacroParameters.put("reverse", "true"); final MacroDefinitionBuilder builder = MacroDefinition.builder(macroDefinition.getName()) .withMacroBody(macroDefinition.getBody()) .withParameters(modifiedMacroParameters); builder.setDefaultParameterValue(macroDefinition.getDefaultParameterValue()); return builder.build(); } return macroDefinition; } }
public void handle(MacroDefinition macroDefinition) { if (result != null) return; if (TaskListMacro.MACRO_NAME.equals(macroDefinition.getName())) { String taskListName = TaskListUtil.getTaskListName(macroDefinition); /** * Check name match first */ if (!taskListId.getListName().equals(taskListName)) return; /** * If name matches, check if its the correct occurrence of the task list (if there are multiple task lists on the page with the same name) */ Integer occurrence = taskListNameToOccurrence.get(taskListName); if (occurrence == null) { occurrence = 1; taskListNameToOccurrence.put(taskListName, occurrence); } else { occurrence += 1; taskListNameToOccurrence.put(taskListName, occurrence); } if (taskListId.getOccurrence() != occurrence) return; TaskList taskListResult = taskListDeserializer.deserialize(taskListId.getListName(), taskListId.getOccurrence(), macroDefinition.getParameters(), macroDefinition.getBodyText()); taskListResult.setSourceMacro(TaskListMacro.MACRO_NAME); result = taskListResult; } }
public MacroDefinition update(MacroDefinition macroDefinition) { taskListMacroDefinitionHandler.handle(macroDefinition); if (!taskListUpdated && taskListMacroDefinitionHandler.getMatchingTaskList() != null) { MacroBody macroBody = new PlainTextMacroBody(taskListSerializer.serialize(updatedTaskList)); MacroDefinitionBuilder updatedMacroDefinition = MacroDefinition.builder(macroDefinition.getName()) .withMacroBody(macroBody) .withParameters(macroDefinition.getParameters()); updatedMacroDefinition.setDefaultParameterValue(macroDefinition.getDefaultParameterValue()); taskListUpdated = true; return updatedMacroDefinition.build(); } return macroDefinition; } }