Template.error constructor

Template.error({
  1. required Template template,
  2. Map<String, String?>? parameters,
})

Implementation

factory Template.error(
    {required Template template, Map<String, String?>? parameters}) {
  try {
    // Convert Xml Document to Xml String
    String? xml = template.document.toString();

    // Replace Bindings in Xml
    if (parameters != null) {
      xml = Binding.applyMap(xml, parameters, caseSensitive: false);
    }

    // Replace query parameters
    xml = Binding.applyMap(xml, System.currentApp?.queryParameters,
        caseSensitive: false);

    // Replace config parameters
    xml = Binding.applyMap(xml, System.currentApp?.configParameters,
        caseSensitive: false);

    // Replace System Uuid
    String s = Binding.toKey(System.myId, 'uuid')!;
    while (xml!.contains(s)) {
      xml = xml.replaceFirst(s, newId());
    }

    // Convert Xml String to Xml Document
    XmlDocument document = XmlDocument.parse(xml);

    // return the new template
    template = Template(name: template.name, document: document);
  } catch (e) {
    Log().debug(e.toString());
  }

  return template;
}