private void postProcessChangeVO( ChangeVO change, int windowNo, Map<String, String> context, String[] dataRow, UITab tab) { // make an updated context to get the necessary listboxvos Map<String, String> contextAfterUpdate = new HashMap<String, String>(context); int j = 0; for (UIField field : tab.getFields()) { contextAfterUpdate.put(field.getColumnName(), dataRow[j]); j++; } // now change rowData to remove password, and reload the changed // listboxes j = 0; for (UIField field : tab.getFields()) { // return an empty string for passwords etc if (field.isEncryptedField() || field.isEncryptedColumn() || "Password".equals(field.getColumnName())) change.rowData[j] = ""; if (FieldType.isClientLookup(field.getAD_Reference_ID()) && field.isDependentValue()) { if (change.changedDropDowns == null) change.changedDropDowns = new HashMap<String, ArrayList<NamePair>>(); ArrayList<NamePair> values; if (field.getAD_Reference_ID() == DisplayTypeConstants.Search) { ArrayList<String> t = new ArrayList<String>(1); t.add(context.get(field.getColumnName())); values = getLookupValueDirect(field.getAD_Field_ID(), t, true); } else values = getLookupData(windowNo, field.getAD_Field_ID(), context, true); change.changedDropDowns.put(field.getColumnName(), values); } j++; } }
public int searchTabResults( int WindowNo, int AD_Tab_ID, int queryResultID, int searchResultID, String query, int rowCount) { UITab tab = getTab(AD_Tab_ID); ArrayList<Integer> ids = new ArrayList<Integer>(); for (UIField field : tab.getFields()) { if (field.isSelectionColumn() || field.isIdentifier() && FieldType.isText(field.getAD_Reference_ID())) { ids.add(field.getAD_Field_ID()); } } return searchTabResults(WindowNo, tab, ids, queryResultID, searchResultID, query, rowCount); }
/** Fill Tab and Field arrays */ private void fillTabsFieldsAndInitFieldsAndCreateDependencyRelations(UIWindow win, int windowNO) { ArrayList<UITab> tabs = win.getTabs(); for (int j = 0; j < tabs.size(); j++) { UITab winTab = tabs.get(j); Integer tabKey = Integer.valueOf(winTab.getAD_Tab_ID()); Integer ReferencetabKey = Integer.valueOf(winTab.getReferenced_Tab_ID()); m_tabs.put(tabKey, winTab); m_referencetabs.put(ReferencetabKey, winTab); // ArrayList<UIField> fields = winTab.getFields(); for (int k = 0; k < fields.size(); k++) { UIField field = fields.get(k); field.initialize(m_context, windowNO); Integer fieldKey = Integer.valueOf(field.getAD_Field_ID()); // set the correct value if (field.isLookup()) field.getLookup().setContext(m_context, windowNO); m_fields.put(fieldKey, field); } winTab.createDependencyRelations(); } } // fillTabsFields