private static String getTargetDocumentName(ReferenceDataType reference) { return reference.getTargetType().getName(); }
private void replaceTemporaryTypeInReference(ReferenceDataType referenceDataType) { if (referenceDataType.getTargetType() instanceof TemporaryStructuredDataType) { referenceDataType.setTargetType((DocumentType) getDataType(referenceDataType.getTargetType().getId())); } // TODO should we recursively invoke replaceTemporaryTypes for the target type? It should only ever be a doc type }
private static void requireIdOfMatchingType(ReferenceDataType referenceType, DocumentId id) { final String expectedTypeName = referenceType.getTargetType().getName(); if (!id.getDocType().equals(expectedTypeName)) { throw new IllegalArgumentException(String.format( "Can't assign document ID '%s' (of type '%s') to reference of document type '%s'", id, id.getDocType(), expectedTypeName)); } }
private void buildConfig(ReferenceDataType type, DocumenttypesConfig.Documenttype.Builder documentBuilder) { ReferenceDataType refType = type; DocumenttypesConfig.Documenttype.Referencetype.Builder refBuilder = new DocumenttypesConfig.Documenttype.Referencetype.Builder(); refBuilder.id(refType.getId()); refBuilder.target_type_id(type.getTargetType().getId()); documentBuilder.referencetype(refBuilder); }
} else if (type instanceof ReferenceDataType) { ReferenceDataType t = (ReferenceDataType) type; if (t.getTargetType() instanceof TemporaryStructuredDataType) { DataType targetType = resolveTemporariesRecurse(t.getTargetType(), repo, docs); t.setTargetType((StructuredDataType) targetType);
builder.referencetype(new Datatype.Referencetype.Builder().target_type_id(refType.getTargetType().getId())); } else { throw new IllegalArgumentException("Can not create config for data type '" + type.getName());