@Override public String resolve(String variableName, Json sr, Properties properties) { String activityLegacyCode; OWLLiteral variableLegacyCode = OWL.dataProperty( MessageManager.findIndividualFromVariable(variableName), "legacy:hasLegacyCode"); if (variableLegacyCode != null && variableLegacyCode.getLiteral().length() > 0) activityLegacyCode = variableLegacyCode .getLiteral(); // look for a specific activity as defined with the variable else activityLegacyCode = properties.getProperty("LEGACY_CODE"); Json activity = SRJsonActivityUtil.getMostRecentActivityByLegacyCode(sr, activityLegacyCode); if (activity == null || activity.isNull()) { System.out.println( "Messaging - ActivityResolver: unable to find activity " + properties.getProperty("LEGACY_CODE") + " in SR " + sr); return null; } String result = null; if (VAR_SR_ACTIVITY_TYPE.equals(variableName)) result = SRJsonActivityUtil.getActivityTypeLabel(activity); else { if (variableName.contains("_OUTCOME")) { result = SRJsonActivityUtil.getHasOutcomeLabel(activity); } else if (variableName.contains("_DETAILS") || variableName.contains("_DTLS$$")) { result = SRJsonActivityUtil.getHasDetails(activity); } else if (variableName.contains("_DUE_DTE")) { result = SRJsonActivityUtil.getHasDueDate(activity, DATE_PATTERN); } else if (variableName.equals("$$SR_ACTIVITY_DATE_TIME$$")) { result = SRJsonActivityUtil.getHasDateCreated(activity, DATE_PATTERN); } else if (variableName.equals("$$SR_ACTIVITY_DUEDATE_SWR$$")) { result = SRJsonActivityUtil.getDueDate90Days(activity, DATE_PATTERN); } else if (variableName.contains("SR_ACTIVITY_CALLCREATED_D")) { result = SRJsonActivityUtil.getIsCreatedByName(activity); } else if (variableName.equals("$$SR_ASSIGNED_STAFF$$")) { result = SRJsonActivityUtil.getAssignedStaffName(activity); } else { System.out.println( "Messaging - ActivityResolver: unable to resolve variable" + variableName); } // Just a check if we already know the variable. if (VALIDATE_VARS_POST_RESOLUTION && !ActivityVariableValidator.isKnown(variableName)) System.err.println( "ActivityResolver resolved an unknown variable: " + variableName + " to value " + result); } if (DBG) { System.out.println( "ActivityResolver: Var " + variableName + " Result: " + result + " Act: " + activity + " Code: " + activityLegacyCode); } return result; }