Example usage for org.w3c.dom Element getLocalName

List of usage examples for org.w3c.dom Element getLocalName

Introduction

In this page you can find the example usage for org.w3c.dom Element getLocalName.

Prototype

public String getLocalName();

Source Link

Document

Returns the local part of the qualified name of this node.

Usage

From source file:org.mule.config.spring.parsers.AbstractMuleBeanDefinitionParser.java

/**
 * Parse the supplied {@link Element} and populate the supplied
 * {@link BeanDefinitionBuilder} as required.
 * <p>// ww w  .j  a  v  a 2s. co m
 * The default implementation delegates to the <code>doParse</code> version
 * without ParserContext argument.
 *
 * @param element the XML element being parsed
 * @param context the object encapsulating the current state of the parsing
 *            process
 * @param builder used to define the <code>BeanDefinition</code>
 */
protected void doParse(Element element, ParserContext context, BeanDefinitionBuilder builder) {
    if (deprecationWarning != null && logger.isWarnEnabled()) {
        logger.warn("Schema warning: Use of element <" + element.getLocalName() + "> is deprecated.  "
                + deprecationWarning);
    }

    BeanAssembler assembler = getBeanAssembler(element, builder);
    NamedNodeMap attributes = element.getAttributes();
    for (int x = 0; x < attributes.getLength(); x++) {
        Attr attribute = (Attr) attributes.item(x);
        processProperty(attribute, assembler);
    }
    postProcess(getParserContext(), assembler, element);
}

From source file:org.mule.module.extension.internal.config.OperationBeanDefinitionParser.java

private String generateChildBeanName(Element element) {
    String id = SpringXMLUtils.getNameOrId(element);
    if (StringUtils.isBlank(id)) {
        String parentId = SpringXMLUtils.getNameOrId(((Element) element.getParentNode()));
        return String.format(".%s:%s", parentId, element.getLocalName());
    } else {/* w  w  w . j  ava 2s .  c  o  m*/
        return id;
    }
}

From source file:org.mule.module.extension.internal.config.XmlExtensionParserUtils.java

/**
 * Creates a {@link BeanDefinition} which generates a {@link ElementDescriptor}
 * that describes the given {@code element}
 *
 * @param element the {@link Element} you want to describe
 * @return a {@link BeanDefinition}/*  ww  w  .  ja v  a  2s. co m*/
 */
static BeanDefinition toElementDescriptorBeanDefinition(Element element) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(ElementDescriptor.class);
    builder.addConstructorArgValue(element.getLocalName());
    parseElementDescriptorAttributes(element, builder);
    parseElementDescriptorChilds(element, builder);

    return builder.getBeanDefinition();
}

From source file:org.mule.module.xml.config.XsltTextDefinitionParser.java

protected void postProcess(ParserContext context, BeanAssembler assembler, Element element) {
    NodeList children = element.getChildNodes();
    if (0 != children.getLength()) {
        Element stylesheet = null;
        for (int i = 0; i < children.getLength(); i++) {
            if (Node.ELEMENT_NODE == children.item(i).getNodeType()) {
                assertArgument(null == stylesheet, "XSLT transformer can have at most one child element");
                stylesheet = (Element) children.item(i);
            }/*from  w ww .ja va2  s  .  com*/
        }
        if (null != stylesheet) {
            assertArgument(STYLESHEET.equals(stylesheet.getLocalName()),
                    "XSLT transformer child element must be named " + STYLESHEET);
            assembler.extendTarget("xslt", domToString(stylesheet), false);
            // block processing by Spring
            element.removeChild(stylesheet);
        }
    }
    super.postProcess(context, assembler, element);
}

From source file:org.mule.security.oauth.config.AbstractDevkitBasedDefinitionParser.java

protected String generateChildBeanName(Element element) {
    String id = SpringXMLUtils.getNameOrId(element);
    if (StringUtils.isBlank(id)) {
        String parentId = SpringXMLUtils.getNameOrId(((Element) element.getParentNode()));
        return ((("." + parentId) + ":") + element.getLocalName());
    } else {/*from ww  w . ja  va  2s . co  m*/
        return id;
    }
}

From source file:org.ojbc.bundles.adapters.staticmock.StaticMockQuery.java

/**
 * Perform a query (retrieving instances that match a (usually unique) identifier.
 * //  w  ww  .  j  a v  a2  s .c o  m
 * @param queryRequestMessage
 *            the request message, assumed to be valid against some Query Service IEPD
 * @param context
 *            an arbitrary object that callers can pass in to provide some context for the query; this will be specific to each type of query
 * @return the matching document(s)
 * @throws Exception
 */
public List<IdentifiableDocumentWrapper> queryDocuments(Document queryRequestMessage, Object context)
        throws Exception {

    Element rootElement = queryRequestMessage.getDocumentElement();

    String documentId = null;
    String systemId = null;

    String rootElementNamespace = rootElement.getNamespaceURI();
    String rootElementLocalName = rootElement.getLocalName();

    if (OjbcNamespaceContext.NS_INCIDENT_QUERY_REQUEST_DOC.equals(rootElementNamespace)
            && "IncidentIdentifierIncidentReportRequest".equals(rootElementLocalName)) {
        Element systemElement = (Element) XmlUtils.xPathNodeSearch(queryRequestMessage,
                "iqr-doc:IncidentIdentifierIncidentReportRequest/iqr:SourceSystemNameText");
        if (systemElement == null) {
            throw new IllegalArgumentException(
                    "Invalid query request message:  must specify the system to query.");
        }
        Element systemIdElement = (Element) XmlUtils.xPathNodeSearch(queryRequestMessage,
                "iqr-doc:IncidentIdentifierIncidentReportRequest/iqr:Incident/nc:ActivityIdentification/nc:IdentificationID");
        documentId = systemIdElement.getTextContent();
        systemId = systemElement.getTextContent();
    } else if (OjbcNamespaceContext.NS_FIREARM_REGISTRATION_QUERY_REQUEST_DOC.equals(rootElementNamespace)
            && "PersonFirearmRegistrationRequest".equals(rootElementLocalName)) {
        String xPath = OjbcNamespaceContext.NS_PREFIX_FIREARM_REGISTRATION_QUERY_REQUEST_DOC
                + ":PersonFirearmRegistrationRequest/"
                + OjbcNamespaceContext.NS_PREFIX_FIREARM_REGISTRATION_QUERY_REQUEST_EXT
                + ":PersonFirearmRegistrationIdentification/" + OjbcNamespaceContext.NS_PREFIX_NC
                + ":IdentificationSourceText";
        Element systemElement = (Element) XmlUtils.xPathNodeSearch(queryRequestMessage, xPath);
        if (systemElement == null) {
            throw new IllegalArgumentException(
                    "Invalid query request message:  must specify the system to query.");
        }
        Element systemIdElement = (Element) XmlUtils.xPathNodeSearch(queryRequestMessage,
                OjbcNamespaceContext.NS_PREFIX_FIREARM_REGISTRATION_QUERY_REQUEST_DOC
                        + ":PersonFirearmRegistrationRequest/"
                        + OjbcNamespaceContext.NS_PREFIX_FIREARM_REGISTRATION_QUERY_REQUEST_EXT
                        + ":PersonFirearmRegistrationIdentification/" + OjbcNamespaceContext.NS_PREFIX_NC
                        + ":IdentificationID");
        documentId = systemIdElement.getTextContent();
        systemId = systemElement.getTextContent();
    } else if (OjbcNamespaceContext.NS_FIREARM_REGISTRATION_QUERY_REQUEST_DOC.equals(rootElementNamespace)
            && "FirearmRegistrationRequest".equals(rootElementLocalName)) {
        String xPath = OjbcNamespaceContext.NS_PREFIX_FIREARM_REGISTRATION_QUERY_REQUEST_DOC
                + ":FirearmRegistrationRequest/"
                + OjbcNamespaceContext.NS_PREFIX_FIREARM_REGISTRATION_QUERY_REQUEST_EXT
                + ":FirearmRegistrationIdentification/" + OjbcNamespaceContext.NS_PREFIX_NC
                + ":IdentificationSourceText";
        Element systemElement = (Element) XmlUtils.xPathNodeSearch(queryRequestMessage, xPath);
        if (systemElement == null) {
            throw new IllegalArgumentException(
                    "Invalid query request message:  must specify the system to query.");
        }
        Element systemIdElement = (Element) XmlUtils.xPathNodeSearch(queryRequestMessage,
                OjbcNamespaceContext.NS_PREFIX_FIREARM_REGISTRATION_QUERY_REQUEST_DOC
                        + ":FirearmRegistrationRequest/"
                        + OjbcNamespaceContext.NS_PREFIX_FIREARM_REGISTRATION_QUERY_REQUEST_EXT
                        + ":FirearmRegistrationIdentification/" + OjbcNamespaceContext.NS_PREFIX_NC
                        + ":IdentificationID");
        documentId = systemIdElement.getTextContent();
        systemId = systemElement.getTextContent();
    } else if (OjbcNamespaceContext.NS_JUVENILE_HISTORY_QUERY_REQUEST_DOC.equals(rootElementNamespace)
            && "JuvenileHistoryQuery".equals(rootElementLocalName)) {
        String xPath = OjbcNamespaceContext.NS_PREFIX_JUVENILE_HISTORY_QUERY_REQUEST_DOC
                + ":JuvenileHistoryQuery/" + OjbcNamespaceContext.NS_PREFIX_JUVENILE_HISTORY_EXT
                + ":JuvenileHistoryQueryCriteria/" + OjbcNamespaceContext.NS_PREFIX_JUVENILE_HISTORY_EXT
                + ":JuvenileInformationRecordID/" + OjbcNamespaceContext.NS_PREFIX_NC_30
                + ":IdentificationSourceText";
        Element systemElement = (Element) XmlUtils.xPathNodeSearch(queryRequestMessage, xPath);
        if (systemElement == null) {
            throw new IllegalArgumentException(
                    "Invalid query request message:  must specify the system to query.");
        }
        Element systemIdElement = (Element) XmlUtils.xPathNodeSearch(queryRequestMessage,
                OjbcNamespaceContext.NS_PREFIX_JUVENILE_HISTORY_QUERY_REQUEST_DOC + ":JuvenileHistoryQuery/"
                        + OjbcNamespaceContext.NS_PREFIX_JUVENILE_HISTORY_EXT + ":JuvenileHistoryQueryCriteria/"
                        + OjbcNamespaceContext.NS_PREFIX_JUVENILE_HISTORY_EXT + ":JuvenileInformationRecordID/"
                        + OjbcNamespaceContext.NS_PREFIX_NC_30 + ":IdentificationID");
        documentId = systemIdElement.getTextContent();
        systemId = systemElement.getTextContent();
    } else {
        Element systemElement = (Element) XmlUtils.xPathNodeSearch(rootElement,
                "pqr:PersonRecordRequestIdentification/nc:IdentificationSourceText");
        if (systemElement == null) {
            throw new IllegalArgumentException(
                    "Invalid query request message:  must specify the system to query.");
        }
        Element systemIdElement = (Element) XmlUtils.xPathNodeSearch(rootElement,
                "pqr:PersonRecordRequestIdentification/nc:IdentificationID");
        documentId = systemIdElement.getTextContent();
        systemId = systemElement.getTextContent();
    }

    if (CRIMINAL_HISTORY_MOCK_ADAPTER_QUERY_SYSTEM_ID.equals(systemId)) {
        return queryCriminalHistoryDocuments(documentId);

    } else if (WARRANT_MOCK_ADAPTER_QUERY_SYSTEM_ID.equals(systemId)) {
        return queryWarrantDocuments(documentId);

    } else if (INCIDENT_MOCK_ADAPTER_QUERY_SYSTEM_ID.equals(systemId)) {
        return queryIncidentDocuments(documentId);

    } else if (FIREARM_MOCK_ADAPTER_QUERY_BY_PERSON_SYSTEM_ID.equals(systemId)) {
        return queryPersonFirearmRegistrationDocuments(documentId);

    } else if (FIREARM_MOCK_ADAPTER_QUERY_BY_FIREARM_SYSTEM_ID.equals(systemId)) {
        return queryPersonFirearmRegistrationDocuments(documentId);

    } else if (JUVENILE_HISTORY_MOCK_ADAPTER_QUERY_SYSTEM_ID.equals(systemId)) {
        return queryJuvenileHistoryDocuments(documentId, context);

    } else if (CUSTODY_QUERY_SYSTEM_ID.equals(systemId)) {
        return queryCustodyDocuments(documentId);

    } else if (COURT_CASE_QUERY_SYSTEM_ID.equals(systemId)) {
        return queryCourtCaseDocuments(documentId);

    } else if (VEHICLE_CRASH_QUERY_SYSTEM_ID.equals(systemId)) {
        return queryVehicleCrashDocuments(documentId);

    } else {
        throw new IllegalArgumentException("Unknown system name: " + systemId);
    }

}

From source file:org.ojbc.bundles.adapters.staticmock.StaticMockQuery.java

Document searchDocuments(Document searchRequestMessage, DateTime baseDate, Object context) throws Exception {

    Element rootElement = searchRequestMessage.getDocumentElement();
    String rootNamespaceURI = rootElement.getNamespaceURI();
    String rootLocalName = rootElement.getLocalName();

    if (OjbcNamespaceContext.NS_PERSON_SEARCH_REQUEST_DOC.equals(rootNamespaceURI)
            && "PersonSearchRequest".equals(rootLocalName)) {
        return personSearchDocuments(searchRequestMessage, baseDate);

    } else if (OjbcNamespaceContext.NS_CUSTODY_SEARCH_REQUEST_DOC.equals(rootNamespaceURI)
            && "CustodySearchRequest".equals(rootLocalName)) {
        return custodySearchDocuments(searchRequestMessage, baseDate);

    } else if (OjbcNamespaceContext.NS_COURT_CASE_SEARCH_REQUEST_DOC.equals(rootNamespaceURI)
            && "CourtCaseSearchRequest".equals(rootLocalName)) {
        return courtCaseSearchDocuments(searchRequestMessage, baseDate);

    } else if (OjbcNamespaceContext.NS_INCIDENT_SEARCH_REQUEST_DOC.equals(rootNamespaceURI)
            && "IncidentPersonSearchRequest".equals(rootLocalName)) {
        return incidentPersonSearchDocuments(searchRequestMessage, baseDate);

    } else if (OjbcNamespaceContext.NS_FIREARM_SEARCH_REQUEST_DOC.equals(rootNamespaceURI)
            && "FirearmSearchRequest".equals(rootLocalName)) {
        return firearmSearchDocuments(searchRequestMessage);

    } else if (OjbcNamespaceContext.NS_INCIDENT_SEARCH_REQUEST_DOC.equals(rootNamespaceURI)
            && "IncidentSearchRequest".equals(rootLocalName)) {
        return incidentSearchDocuments(searchRequestMessage, baseDate);

    } else if (OjbcNamespaceContext.NS_INCIDENT_SEARCH_REQUEST_DOC.equals(rootNamespaceURI)
            && "IncidentVehicleSearchRequest".equals(rootLocalName)) {
        return incidentVehicleSearchDocuments(searchRequestMessage, baseDate);

    } else if (OjbcNamespaceContext.NS_VEHICLE_SEARCH_REQUEST_DOC.equals(rootNamespaceURI)
            && "VehicleSearchRequest".equals(rootLocalName)) {
        return vehicleSearchDocuments(searchRequestMessage, baseDate);
    }/*from   w ww.  j  a  v  a2 s . com*/
    throw new IllegalArgumentException("Invalid message: {" + rootNamespaceURI + "}" + rootLocalName);
}

From source file:org.ojbc.bundles.adapters.staticmock.StaticMockQuery.java

List<IdentifiableDocumentWrapper> incidentVehicleSearchDocumentsAsList(
        Document incidentVehicleSearchRequestMessage, DateTime baseDate) throws Exception {

    Element rootElement = incidentVehicleSearchRequestMessage.getDocumentElement();
    String rootNamespaceURI = rootElement.getNamespaceURI();
    String rootLocalName = rootElement.getLocalName();
    if (!(OjbcNamespaceContext.NS_INCIDENT_SEARCH_REQUEST_DOC.equals(rootNamespaceURI)
            && "IncidentVehicleSearchRequest".equals(rootLocalName))) {
        throw new IllegalArgumentException(
                "Invalid message, must have {" + OjbcNamespaceContext.NS_INCIDENT_SEARCH_REQUEST_DOC
                        + "}IncidentVehicleSearchRequest as the root " + "instead of {" + rootNamespaceURI + "}"
                        + rootLocalName);
    }// www  .  j  a  va  2s .  com

    NodeList systemElements = XmlUtils.xPathNodeListSearch(rootElement, "isr:SourceSystemNameText");
    int systemElementCount;
    if (systemElements == null || (systemElementCount = systemElements.getLength()) == 0) {
        throw new IllegalArgumentException(
                "Invalid query request message:  must specify at least one system to query.");
    }

    Element vehicleIdElement = (Element) XmlUtils.xPathNodeSearch(incidentVehicleSearchRequestMessage,
            "/isr-doc:IncidentVehicleSearchRequest/ivsr:Vehicle/ivsr:VehicleSystemIdentification/nc:IdentificationID");

    List<IdentifiableDocumentWrapper> ret = new ArrayList<IdentifiableDocumentWrapper>();

    if (vehicleIdElement != null) {

        String id = vehicleIdElement.getTextContent();

        for (int i = 0; i < systemElementCount; i++) {
            for (IdentifiableDocumentWrapper dw : incidentDataSource.getDocuments()) {

                Document d = dw.getDocument();
                Element documentVehicleIdElement = (Element) XmlUtils.xPathNodeSearch(d,
                        "/ir:IncidentReport/lexspd:doPublish/lexs:PublishMessageContainer/lexs:PublishMessage/lexs:DataItemPackage/lexs:Digest/lexsdigest:EntityVehicle/nc:Vehicle/nc:VehicleIdentification/nc:IdentificationID");
                String documentPersonId = documentVehicleIdElement.getTextContent();
                if (id.equals(documentPersonId)) {
                    ret.add(dw);
                }
            }
        }

    }

    return ret;

}

From source file:org.ojbc.bundles.adapters.staticmock.StaticMockQuery.java

List<IdentifiableDocumentWrapper> vehicleSearchDocumentsAsList(Document vehicleSearchRequestMessage,
        DateTime baseDate) throws Exception {

    Element rootElement = vehicleSearchRequestMessage.getDocumentElement();
    String rootNamespaceURI = rootElement.getNamespaceURI();
    String rootLocalName = rootElement.getLocalName();
    if (!(OjbcNamespaceContext.NS_VEHICLE_SEARCH_REQUEST_DOC.equals(rootNamespaceURI)
            && "VehicleSearchRequest".equals(rootLocalName))) {
        throw new IllegalArgumentException("Invalid message, must have {"
                + OjbcNamespaceContext.NS_VEHICLE_SEARCH_REQUEST_DOC + "}VehicleSearchRequest as the root "
                + "instead of {" + rootNamespaceURI + "}" + rootLocalName);
    }//from   www .  j a v  a2  s. c  o  m

    NodeList systemElements = XmlUtils.xPathNodeListSearch(rootElement, "vsr:SourceSystemNameText");
    if (systemElements == null || systemElements.getLength() != 1) {
        throw new IllegalArgumentException(
                "Invalid query request message:  must specify exactly one system to query.");
    }
    Node systemElementNode = systemElements.item(0);
    String systemId = systemElementNode.getTextContent();
    if (!INCIDENT_MOCK_ADAPTER_VEHICLE_SEARCH_SYSTEM_ID.equals(systemId)) {
        throw new IllegalArgumentException(
                "Vehicle searches only allowed against static mock incident store.  Illegal system: "
                        + systemId);
    }

    List<IdentifiableDocumentWrapper> ret = new ArrayList<IdentifiableDocumentWrapper>();

    String searchXPath = buildIncidentSearchXPathFromVehicleSearchMessage(vehicleSearchRequestMessage);

    String modelYearLowerString = XmlUtils.xPathStringSearch(vehicleSearchRequestMessage,
            "/vsr-doc:VehicleSearchRequest/vsr:Vehicle/vsr:VehicleYearRange/nc:StartDate/nc:Year");
    String modelYearUpperString = XmlUtils.xPathStringSearch(vehicleSearchRequestMessage,
            "/vsr-doc:VehicleSearchRequest/vsr:Vehicle/vsr:VehicleYearRange/nc:EndDate/nc:Year");

    if (searchXPath == null && isMissing(modelYearLowerString) && isMissing(modelYearUpperString)) {
        return ret;
    }

    for (IdentifiableDocumentWrapper dw : incidentDataSource.getDocuments()) {

        Document d = dw.getDocument();
        LOG.debug("Searching document " + dw.getId());

        boolean match = (searchXPath == null || XmlUtils.xPathNodeSearch(d, searchXPath) != null);
        LOG.debug("Match=" + match + " based on xpath eval");

        if (match && (!(isMissing(modelYearLowerString) && isMissing(modelYearUpperString)))) {

            Integer modelYearLower = Integer.parseInt(modelYearLowerString);
            Integer modelYearUpper = Integer.parseInt(modelYearUpperString);

            String incidentVehicleModelYearString = XmlUtils.xPathStringSearch(d,
                    "/ir:IncidentReport/lexspd:doPublish/lexs:PublishMessageContainer/lexs:PublishMessage/lexs:DataItemPackage/lexs:Digest/lexsdigest:EntityVehicle/nc:Vehicle/nc:ItemModelYearDate");
            Integer incidentVehicleModelYear = null;

            try {
                incidentVehicleModelYear = Integer.parseInt(incidentVehicleModelYearString);
            } catch (NumberFormatException nfe) {
                nfe.printStackTrace();
                LOG.warn("Unparsable vehicle model year: " + incidentVehicleModelYearString);
            }

            if (incidentVehicleModelYear == null) {
                match = false;
            } else {
                if (modelYearLower != null) {
                    match = match && incidentVehicleModelYear >= modelYearLower;
                }
                if (modelYearUpper != null) {
                    match = match && incidentVehicleModelYear <= modelYearUpper;
                }
            }

        }

        if (match) {
            ret.add(dw);
        }

    }

    return ret;

}

From source file:org.ojbc.bundles.adapters.staticmock.StaticMockQuery.java

List<IdentifiableDocumentWrapper> incidentSearchDocumentsAsList(Document incidentSearchRequestMessage,
        DateTime baseDate) throws Exception {

    Element rootElement = incidentSearchRequestMessage.getDocumentElement();
    String rootNamespaceURI = rootElement.getNamespaceURI();
    String rootLocalName = rootElement.getLocalName();
    if (!(OjbcNamespaceContext.NS_INCIDENT_SEARCH_REQUEST_DOC.equals(rootNamespaceURI)
            && "IncidentSearchRequest".equals(rootLocalName))) {
        throw new IllegalArgumentException("Invalid message, must have {"
                + OjbcNamespaceContext.NS_INCIDENT_SEARCH_REQUEST_DOC + "}IncidentSearchRequest as the root "
                + "instead of {" + rootNamespaceURI + "}" + rootLocalName);
    }/*w  w  w  . ja  v  a2  s .  c  o  m*/

    NodeList systemElements = XmlUtils.xPathNodeListSearch(rootElement, "isr:SourceSystemNameText");
    if (systemElements == null || systemElements.getLength() == 0) {
        throw new IllegalArgumentException(
                "Invalid query request message:  must specify at least one system to query.");
    }

    List<IdentifiableDocumentWrapper> ret = new ArrayList<IdentifiableDocumentWrapper>();

    String searchXPath = buildIncidentSearchXPathFromIncidentSearchMessage(incidentSearchRequestMessage);

    String dateLowerString = XmlUtils.xPathStringSearch(incidentSearchRequestMessage,
            "/isr-doc:IncidentSearchRequest/isr:Incident/nc:ActivityDateRange/nc:StartDate/nc:DateTime");
    String dateUpperString = XmlUtils.xPathStringSearch(incidentSearchRequestMessage,
            "/isr-doc:IncidentSearchRequest/isr:Incident/nc:ActivityDateRange/nc:EndDate/nc:DateTime");

    LOG.debug("dateLowerString=" + dateLowerString);
    LOG.debug("dateUpperString=" + dateUpperString);

    if (searchXPath == null && isMissing(dateLowerString) && isMissing(dateUpperString)) {
        return ret;
    }

    DateTimeFormatter dateTimeFormatter = ISODateTimeFormat.dateTimeParser();

    for (IdentifiableDocumentWrapper dw : incidentDataSource.getDocuments()) {

        Document d = dw.getDocument();
        LOG.debug("Searching document " + dw.getId());

        boolean match = (searchXPath == null || XmlUtils.xPathNodeSearch(d, searchXPath) != null);
        LOG.debug("Match=" + match + " based on xpath eval");

        if (match && (!(isMissing(dateLowerString) && isMissing(dateUpperString)))) {

            LOG.debug("In date evaluation");

            String incidentStartDateString = XmlUtils.xPathStringSearch(d,
                    "/ir:IncidentReport/lexspd:doPublish/lexs:PublishMessageContainer/lexs:PublishMessage/lexs:DataItemPackage/lexs:Digest/lexsdigest:EntityActivity/nc:Activity[nc:ActivityCategoryText='Incident']/nc:ActivityDateRange/nc:StartDate/nc:DateTime");
            String incidentEndDateString = XmlUtils.xPathStringSearch(d,
                    "/ir:IncidentReport/lexspd:doPublish/lexs:PublishMessageContainer/lexs:PublishMessage/lexs:DataItemPackage/lexs:Digest/lexsdigest:EntityActivity/nc:Activity[nc:ActivityCategoryText='Incident']/nc:ActivityDateRange/nc:EndDate/nc:DateTime");

            if (isMissing(incidentStartDateString) && isMissing(incidentEndDateString)) {
                match = false;
            } else {
                DateTime incidentStartDateTime = null;
                DateTime incidentEndDateTime = null;
                try {
                    incidentStartDateTime = dateTimeFormatter.parseDateTime(incidentStartDateString);
                    incidentEndDateTime = dateTimeFormatter.parseDateTime(incidentEndDateString);
                } catch (Exception e) {
                    e.printStackTrace();
                    LOG.warn("Unable to parse date (either " + incidentStartDateString + " or "
                            + incidentEndDateString
                            + "). Note that null dates are ok...just means it's not part of the incident");
                }
                LOG.debug("incidentStartDateTime=" + incidentStartDateTime);
                LOG.debug("incidentEndDateTime=" + incidentEndDateTime);
                if (incidentStartDateTime == null && incidentEndDateTime == null) {
                    match = false;
                } else {
                    if (!isMissing(dateLowerString)) {
                        DateTime lowerDateTime = dateTimeFormatter.parseDateTime(dateLowerString);
                        if (incidentEndDateTime != null && incidentEndDateTime.isBefore(lowerDateTime)) {
                            match = false;
                        } else if (incidentEndDateTime == null
                                && incidentStartDateTime.isBefore(lowerDateTime)) {
                            match = false;
                        }
                    }
                    if (!isMissing(dateUpperString)) {
                        DateTime upperDateTime = dateTimeFormatter.parseDateTime(dateUpperString);
                        if (incidentStartDateTime != null && incidentStartDateTime.isAfter(upperDateTime)) {
                            match = false;
                        } else if (incidentStartDateTime == null
                                && incidentEndDateTime.isBefore(upperDateTime)) {
                            match = false;
                        }
                    }
                }
            }

        }

        if (match) {
            ret.add(dw);
        }

    }

    return ret;

}