throw new DavException(DavServletResponse.SC_BAD_REQUEST);
}
List typeList = new ArrayList();
Element el = DomUtil.getChildElement(reqInfo, XML_EVENTTYPE, NAMESPACE);
if (el != null) {
ElementIterator it = DomUtil.getChildren(el);
while (it.hasNext()) {
Element typeElem = it.nextElement();
EventType et = new SimpleEventType(typeElem.getLocalName(), DomUtil.getNamespace(typeElem));
typeList.add(et);
}
} else {
log.warn("'subscriptioninfo' must contain an 'eventtype' child element.");
throw new DavException(DavServletResponse.SC_BAD_REQUEST);
}
if (typeList.isEmpty()) {
log.warn("'subscriptioninfo' must at least indicate a single event type.");
throw new DavException(DavServletResponse.SC_BAD_REQUEST);
}
eventTypes = (EventType[]) typeList.toArray(new EventType[typeList.size()]);
List filters = new ArrayList();
el = DomUtil.getChildElement(reqInfo, XML_FILTER, NAMESPACE);
if (el != null) {
ElementIterator it = DomUtil.getChildren(el);
while (it.hasNext()) {
Filter f = new Filter(it.nextElement());
filters.add(f);
}
}
this.filters = (Filter[])filters.toArray(new Filter[filters.size()]);