List of usage examples for org.w3c.dom.events EventTarget toString
public String toString()
From source file:de.betterform.xml.xforms.ui.Selector.java
@Override public void performDefault(Event event) { super.performDefault(event); if (LOGGER.isDebugEnabled()) { LOGGER.debug("Selector: perform default event:" + event.getType()); }/*ww w.j a v a 2 s . co m*/ XMLEvent ev = (XMLEvent) event; String contextInfo = (String) ev.getContextInfo().get("context-info"); ArrayList list = new ArrayList(); if (contextInfo != null) { StringTokenizer tokens = new StringTokenizer(contextInfo, ";"); while (tokens.hasMoreTokens()) { list.add(tokens.nextElement()); } } String itemId; Item item; Iterator iterator = null; List elemContext = de.betterform.xml.xpath.impl.saxon.XPathUtil.getElementContext(getElement(), container.getProcessor().getBaseURI()); String xformsPrefix = null; if (this.xformsPrefix != null) { xformsPrefix = this.xformsPrefix; } else { xformsPrefix = NamespaceConstants.XFORMS_PREFIX; } String xpath = "(" + xformsPrefix + ":" + XFormsConstants.ITEM + " | *//" + xformsPrefix + ":" + XFormsConstants.ITEM + "[not(ancestor::" + NamespaceConstants.BETTERFORM_PREFIX + ":data)])/@id"; try { iterator = XPathCache.getInstance() .evaluate(elemContext, 1, xpath, extendedPrefixMapping, xpathFunctionContext).iterator(); } catch (XFormsException e) { LOGGER.error("Error evaluating xpath " + xpath); } List<EventTarget> selectList = new ArrayList<EventTarget>(); List<EventTarget> deselectList = new ArrayList<EventTarget>(); while (iterator.hasNext()) { itemId = ((NodeInfo) iterator.next()).getStringValue(); item = (Item) this.container.lookup(itemId); if (list.contains(item.getId()) && !item.isSelected()) { item.select(); selectList.add(item.getTarget()); } else if (!list.contains(item.getId()) && item.isSelected()) { item.deselect(); deselectList.add(item.getTarget()); } } for (EventTarget evt : deselectList) { try { this.container.dispatch(evt, XFormsEventNames.DESELECT, null); } catch (XFormsException e) { LOGGER.error("Error dispatching " + XFormsEventNames.DESELECT + " to target " + evt.toString()); } } deselectList.clear(); for (EventTarget evt : selectList) { try { this.container.dispatch(evt, XFormsEventNames.SELECT, null); } catch (XFormsException e) { LOGGER.error("Error dispatching " + XFormsEventNames.SELECT + " to target " + evt.toString()); } } selectList.clear(); }