@Override public Object toHrdProperty(ReferenceValue value) { if (value.getReferences().isEmpty()) { return null; } else if (value.getReferences().size() == 1) { return value.getOnlyReference().toQualifiedString(); } else { List<String> ids = new ArrayList<>(); for (RecordRef ref : value.getReferences()) { ids.add(ref.toQualifiedString()); } return ids; } }
private boolean compare(ReferenceValue refValue, TextValue textValue) { if(refValue.getReferences().size() == 1) { RecordRef recordRef = refValue.getReferences().iterator().next(); return recordRef.getRecordId().asString().equals(textValue.asString()); } return false; }
private boolean isEmpty(FieldValue value) { return value == null || (value instanceof EnumValue && ((EnumValue) value).getResourceIds().isEmpty()) || (value instanceof ReferenceValue && ((ReferenceValue) value).getReferences().isEmpty()) || (value instanceof AttachmentValue && ((AttachmentValue) value).getValues().isEmpty()); }
private Set<Integer> getAdminEntities(TypedRecordUpdate update) { Set<Integer> set = Sets.newHashSet(); ReferenceValue value = (ReferenceValue) update.getChangedFieldValues().get(adminFieldId); if(value != null) { for (RecordRef ref : value.getReferences()) { set.add(CuidAdapter.getLegacyIdFromCuid(ref.getRecordId())); } } return set; }
@Override public void init(FieldValue value) { ReferenceValue referenceValue = (ReferenceValue) value; RecordRef recordRef = referenceValue.getOnlyReference(); viewModel.setInitialSelection(referenceValue.getReferences()); }
@Override public String readString(FieldValue value) { if(value instanceof ReferenceValue) { ReferenceValue ref = (ReferenceValue) value; if(ref.getReferences().size() == 1) { return ref.getOnlyReference().getRecordId().asString(); } } return null; } }
@Override public Promise<Void> setValue(ReferenceValue value) { RecordRef newValue = Iterables.getFirst(value.getReferences(), null); if(!Objects.equals(newValue, this.value)) { this.value = newValue; if(newValue == null) { suggestBox.setValue(null); } else { suggestBox.setValue(findDisplayLabel(newValue)); } } return Promise.done(); }
@Override public Promise<Void> setValue(ReferenceValue value) { Set<RecordRef> ids = value.getReferences(); for (CheckBox entry : controls) { RecordRef ref = RecordRef.fromQualifiedString(entry.getFormValue()); entry.setValue(ids.contains(ref)); } return Promise.done(); }
@Override public Promise<Void> setValue(ReferenceValue value) { Set<String> selectedRecords = new HashSet<>(); for (RecordRef recordRef : value.getReferences()) { selectedRecords.add(recordRef.toQualifiedString()); } if(selectedRecords.isEmpty()) { dropBox.setSelectedIndex(0); } else { for (int i = 0; i != dropBox.getItemCount(); ++i) { if (selectedRecords.contains(dropBox.getValue(i))) { dropBox.setSelectedIndex(i); break; } } } return Promise.done(); }
public Promise<Void> setInitialSelection(ReferenceValue value) { final InitialSelection initialSelection = new InitialSelection(tree); return initialSelection.fetch(locator, value.getReferences()).then(new Function<Void, Void>() { @Nullable @Override public Void apply(@Nullable Void input) { selection.putAll(initialSelection.getSelection()); for (Level level : tree.getLevels()) { LevelView view = widgetMap.get(level.getFormId()); if (level.isRoot() || hasSelection(level.getParent())) { view.setEnabled(true); view.setChoices(choices(level)); } else { view.setEnabled(false); } if (hasSelection(level)) { view.setSelection(getSelection(level)); } } return null; } }); }
Optional<ResourceId> labelFieldId = findLabelField(form.get().getFormClass()); for (RecordRef ref : value.getReferences()) { Optional<FormRecord> record = form.get().get(ref.getRecordId()); if (record.isPresent()) { for (RecordRef ref : value.getReferences()) { String label = labelMap.get(ref.getRecordId()); if(label == null) {
@Override public void onNext(FieldValue fieldValue) { int count = 0; int key = -1; if(fieldValue instanceof ReferenceValue) { ReferenceValue referenceValue = (ReferenceValue) fieldValue; for (RecordRef id : referenceValue.getReferences()) { if(id.getFormId().equals(rightFormId)) { count++; key = keyId(id); } } } if(count == 1) { keys.add(key); } else { keys.add(-1); } }
private void findChildren(Set<NodeKey> children, FormClass schema, TypedFormRecord record) { // Add referenced records for (FieldValue value : record.getFieldValueMap().values()) { if (value instanceof ReferenceValue) { for (RecordRef recordRef : ((ReferenceValue) value).getReferences()) { if (!formTree.getFormMetadata(recordRef.getFormId()).isAccessible()) { continue; } children.add(new RecordKey(recordRef)); } } } // Add sub forms for (FormField formField : schema.getFields()) { if (formField.getType() instanceof SubFormReferenceType) { SubFormReferenceType subFormType = (SubFormReferenceType) formField.getType(); children.add(new SubFormKey(record.getRef(), subFormType.getClassId())); } } }
@Override public void renderTo(RecordTree recordTree, SafeHtmlBuilder html) { ReferenceValue fieldValue = (ReferenceValue) recordTree.getRoot().get(field.getId()); if(fieldValue == null) { return; } html.appendHtmlConstant("<h3>"); html.appendEscaped(field.getLabel()); html.appendHtmlConstant("</h3>"); Iterator<RecordRef> recordRefs = fieldValue.getReferences().iterator(); while (recordRefs.hasNext()) { Maybe<String> label = keySet.label(recordTree, recordRefs.next()); if(label.isVisible()) { html.appendEscaped(label.get()); } else { html.appendEscaped("#REF!"); } if(recordRefs.hasNext()) { html.appendHtmlConstant("<br>"); } } } }
private Set<ResourceId> school(String name) { // Find id of the school with this name ResourceId id = null; ColumnView nameColumn = resultSet.getColumnView("name"); ColumnView idColumn = resultSet.getColumnView("id"); for (int i = 0; i < resultSet.getNumRows(); i++) { if (name.equals(nameColumn.getString(i))) { id = ResourceId.valueOf(idColumn.getString(i)); break; } } if(id == null) { throw new AssertionError("No school named '" + name + "'"); } Promise<TypedFormRecord> record = locator.getFormInstance(SCHOOL_FORM_CLASS, id); ReferenceValue value = (ReferenceValue) record.get().get(CuidAdapter.field(SCHOOL_FORM_CLASS, CuidAdapter.ADMIN_FIELD)); Set<ResourceId> recordIds = new HashSet<>(); for (RecordRef recordRef : value.getReferences()) { recordIds.add(recordRef.getRecordId()); } return recordIds; }