public String getDataBindMessage() { StringBuffer message = new StringBuffer(""); Iterator<Element> widgetIt = widgetList.iterator(); Set<Element> keys = bindingMap.keySet(); while (widgetIt.hasNext()) { Element element = widgetIt.next(); int parentHasError = validateParentElementError(element); if (parentHasError == 0) { String content = getCurrentWidgetPosition(element); if (!message.toString().equals("")) { content += "+ "; } content = content + element.getName(); if (XWT.isTracking(Tracking.NAME)) { Attribute nameAttr = element.getAttribute("Name"); if (nameAttr == null) { nameAttr = element.getAttribute(IConstants.XWT_X_NAMESPACE, "Name"); } if (nameAttr != null) { content += " <" + nameAttr.getContent() + ">"; } } message.append(content); if (XWT.isTracking(Tracking.DATABINDING)) { if (keys.contains(element)) { message.append(bindingMap.get(element)); } else { message.append("\n"); } } } } return message.toString(); }
public void tracking(Object swtObject, Element element, Object dataContext) { String bindingMessage = ""; if (swtObject instanceof Binding) { String error = ""; Binding newInstance = (Binding) swtObject; String path = null; Attribute attr = element.getAttribute("Path"); if (null == attr) attr = element.getAttribute("path"); if (null != attr) path = attr.getContent(); Object dataContext2 = null; try { dataContext2 = newInstance.getValue(null); if (path != null && path.length() > 0) { String[] paths = path.trim().split("\\."); if (paths.length > 1) { String path1 = ""; for (int i = 0; i < paths.length - 1; i++) { path1 = paths[i]; if (dataContext2 != null) { dataContext2 = getObserveData(dataContext2, path1); } } } } } catch (Exception ex) { addErrorWidgetId(element.getParent().getParent().getId()); setBindingErrorMessage("-> Error"); error = "-> Error"; } if (dataContext2 != null) { bindingMessage = " (DataContext=" + dataContext2.getClass().getSimpleName() + ", Path=" + path + ")" + error + "\n"; addBindingMessageToMap( (Element) element.getParent().getParent(), bindingMessage); // bindingMap.put((Element) element.getParent().getParent(), // bindingMessage); } } else if (swtObject instanceof Widget) { addWidgetElement(element); if (dataContext != null) { bindingMessage = " (DataContext=" + dataContext.getClass().getSimpleName() + ")\n"; addBindingMessageToMap(element, bindingMessage); } } else if (JFacesHelper.isViewer(swtObject)) { if (dataContext != null) { bindingMessage = " (DataContext=" + dataContext.getClass().getSimpleName() + ")\n"; addBindingMessageToMap(element, bindingMessage); // bindingMap.put(element, bindingMessage); } } else if (element.attributeNames(IConstants.XWT_X_NAMESPACE).length > 0) { // ?? if (element.getParent() != null && element.getParent().getParent() != null) { bindingMessage = " (DataContext=" + element.getName() + ")\n"; addBindingMessageToMap( (Element) element.getParent().getParent(), bindingMessage); // bindingMap.put((Element) element.getParent().getParent(), // bindingMessage); } } }