List of usage examples for org.w3c.dom Element getLocalName
public String getLocalName();
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; }