@Override public FieldValue get() { if(!stream.hasNext()) { throw new IllegalStateException("Cannot generate any more keys - all used"); } return new ReferenceValue(stream.next()); } }
@Override public void init(FieldValue value) { ReferenceValue referenceValue = (ReferenceValue) value; RecordRef recordRef = referenceValue.getOnlyReference(); viewModel.setInitialSelection(referenceValue.getReferences()); }
@Override public void onNext(FieldValue fieldValue) { int keyId = -1; if(fieldValue instanceof ReferenceValue) { String key = ((ReferenceValue) fieldValue).getOnlyRecordId(rightFormId); if(key != null) { keyId = keyId(key); } } keys.add(keyId); }
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; }
@Override public Collection<Integer> toParameters(FieldValue value) { ReferenceValue referenceValue = (ReferenceValue) value; ResourceId resourceId = referenceValue.getOnlyReference().getRecordId(); Preconditions.checkArgument(resourceId.getDomain() == domain, "id %s does not match expected domain %s", resourceId.asString(), Character.toString(domain)); return Collections.singleton(CuidAdapter.getLegacyIdFromCuid(resourceId)); } }
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 FormulaNode binaryFunction(FormulaFunction function) { FormulaNode left = new SymbolNode(fieldId); FormulaNode right; if(value instanceof EnumValue) { right = new ConstantNode(((EnumValue) value)); } else if(value instanceof Quantity) { right = new ConstantNode(((Quantity) value)); } else if(value instanceof TextValue) { right = new ConstantNode(((TextValue) value)); } else if(value instanceof ReferenceValue) { right = new SymbolNode(((ReferenceValue) value).getOnlyReference().getRecordId()); } else { throw new IllegalStateException("value: " + value); } return new FunctionCallNode(function, left, right); }
@Override public void fireValueChanged() { valueUpdater.update(selectedSuggestion != null ? new ReferenceValue(selectedSuggestion.getRef()) : new ReferenceValue()); }
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 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; } }
} else if(change.getKey().equals(CuidAdapter.locationField(activity.getId()))) { ReferenceValue value = (ReferenceValue) change.getValue(); if(value.getOnlyReference().getRecordId().getDomain() == CuidAdapter.LOCATION_DOMAIN) { baseTable.update(change.getKey(), change.getValue()); } else { baseTable.update(change.getKey(), dummyLocationReference(value.getOnlyReference()));
public Promise<Void> setInitialSelection(Iterable<RecordRef> refs) { return setInitialSelection(new ReferenceValue(refs)); }
@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 String readString(FieldValue value) { if(value instanceof ReferenceValue) { ReferenceValue ref = (ReferenceValue) value; if(ref.getReferences().size() == 1) { return ref.getOnlyReference().getRecordId().asString(); } } return null; } }
} else if(change.getKey().equals(CuidAdapter.locationField(activity.getId()))) { ReferenceValue value = (ReferenceValue) change.getValue(); if(value.getOnlyReference().getRecordId().getDomain() == CuidAdapter.LOCATION_DOMAIN) { baseTable.set(change.getKey(), change.getValue()); } else { baseTable.set(change.getKey(), dummyLocationReference(value.getOnlyReference()));
@Override public void onSuccess(Set<RecordRef> result) { if (result.isEmpty()) { fieldUpdater.update(FieldInput.EMPTY); } else { fieldUpdater.update(new FieldInput(new ReferenceValue(result))); } } });
@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(); }
public Choice toChoice(TypedFormRecord instance) { if(isRoot()) { return new Choice(getFormId(), instance.getId(), instance.getString(labelFieldId)); } else { ReferenceValue parentRefValue = (ReferenceValue) instance.get(parentFieldId); RecordRef parentRef = parentRefValue.getOnlyReference(); return new Choice(getFormId(), instance.getId(), instance.getString(labelFieldId), parentRef); } } }
@Override public FieldValue get() { TestForm rangeForm; if(rangeForms.size() == 1) { rangeForm = rangeForms.get(0); } else { rangeForm = rangeForms.get(random.nextInt(rangeForms.size())); } int index = random.nextInt(rangeForm.getRecords().size()); RecordRef recordRef = rangeForm.getRecords().get(index).getRef(); return new ReferenceValue(recordRef); } }
@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(); }