@Test void testCheckReferenceDatatypeRulesNoRefEntity() { Attribute attr = mock(Attribute.class); when(attr.getDataType()).thenReturn(CATEGORICAL_MREF); when(attr.getName()).thenReturn("name"); assertThrows( MissingEmxAttributeAttributeValueException.class, () -> emxMetadataParser.checkReferenceDatatypeRules(0, "entityName", "emxName", attr, "")); }
protected void checkReferenceDatatypeRules( int rowIndex, String emxEntityName, String emxName, Attribute attr, String emxRefEntity) { if (attr.getDataType() != FILE && isReferenceType(attr) && Strings.isNullOrEmpty(emxRefEntity)) { throw new MissingEmxAttributeAttributeValueException( EMX_ATTRIBUTES_REF_ENTITY, attr.getName(), emxEntityName, EMX_ATTRIBUTES, rowIndex); } if (isReferenceType(attr) && attr.isNillable() && attr.isAggregatable()) { throw new NillableReferenceAggregatableException( emxEntityName, emxName, attr.getDataType(), EMX_ATTRIBUTES, rowIndex); } }
EmxMetadataParser implements MetadataParser { protected void checkReferenceDatatypeRules( int rowIndex, String emxEntityName, String emxName, Attribute attr, String emxRefEntity) { if (attr.getDataType() != FILE && isReferenceType(attr) && Strings.isNullOrEmpty(emxRefEntity)) { throw new MissingEmxAttributeAttributeValueException( EMX_ATTRIBUTES_REF_ENTITY, attr.getName(), emxEntityName, EMX_ATTRIBUTES, rowIndex); } if (isReferenceType(attr) && attr.isNillable() && attr.isAggregatable()) { throw new NillableReferenceAggregatableException( emxEntityName, emxName, attr.getDataType(), EMX_ATTRIBUTES, rowIndex); } } }
EmxMetadataParser implements MetadataParser { protected void checkReferenceDatatypeRules( int rowIndex, String emxEntityName, String emxName, Attribute attr, String emxRefEntity) { if (attr.getDataType() != FILE && isReferenceType(attr) && Strings.isNullOrEmpty(emxRefEntity)) { throw new MissingEmxAttributeAttributeValueException( EMX_ATTRIBUTES_REF_ENTITY, attr.getName(), emxEntityName, EMX_ATTRIBUTES, rowIndex); } if (isReferenceType(attr) && attr.isNillable() && attr.isAggregatable()) { throw new NillableReferenceAggregatableException( emxEntityName, emxName, attr.getDataType(), EMX_ATTRIBUTES, rowIndex); } } EmxMetadataParser(
      DataService dataService,
      PackageFactory packageFactory,
      AttributeFactory attrMetaFactory,
      EntityTypeFactory entityTypeFactory,
      TagFactory tagFactory,
      LanguageFactory languageFactory,
      L10nStringFactory l10nStringFactory,
      EntityTypeValidator entityTypeValidator,
      AttributeValidator attributeValidator,
      TagValidator tagValidator,
      EntityTypeDependencyResolver entityTypeDependencyResolver); }
EmxMetadataParser implements MetadataParser { protected void checkReferenceDatatypeRules( int rowIndex, String emxEntityName, String emxName, Attribute attr, String emxRefEntity) { if (attr.getDataType() != FILE && isReferenceType(attr) && Strings.isNullOrEmpty(emxRefEntity)) { throw new MissingEmxAttributeAttributeValueException( EMX_ATTRIBUTES_REF_ENTITY, attr.getName(), emxEntityName, EMX_ATTRIBUTES, rowIndex); } if (isReferenceType(attr) && attr.isNillable() && attr.isAggregatable()) { throw new NillableReferenceAggregatableException( emxEntityName, emxName, attr.getDataType(), EMX_ATTRIBUTES, rowIndex); } } EmxMetadataParser(
      DataService dataService,
      PackageFactory packageFactory,
      AttributeFactory attrMetaFactory,
      EntityTypeFactory entityTypeFactory,
      TagFactory tagFactory,
      LanguageFactory languageFactory,
      L10nStringFactory l10nStringFactory,
      EntityTypeValidator entityTypeValidator,
      AttributeValidator attributeValidator,
      TagValidator tagValidator,
      EntityTypeDependencyResolver entityTypeDependencyResolver); @Override ParsedMetaData parse(
      final RepositoryCollection source, @Nullable @CheckForNull String packageId); @Override EntitiesValidationReport validate(RepositoryCollection source); }
EmxMetadataParser implements MetadataParser { protected void checkReferenceDatatypeRules( int rowIndex, String emxEntityName, String emxName, Attribute attr, String emxRefEntity) { if (attr.getDataType() != FILE && isReferenceType(attr) && Strings.isNullOrEmpty(emxRefEntity)) { throw new MissingEmxAttributeAttributeValueException( EMX_ATTRIBUTES_REF_ENTITY, attr.getName(), emxEntityName, EMX_ATTRIBUTES, rowIndex); } if (isReferenceType(attr) && attr.isNillable() && attr.isAggregatable()) { throw new NillableReferenceAggregatableException( emxEntityName, emxName, attr.getDataType(), EMX_ATTRIBUTES, rowIndex); } } EmxMetadataParser(
      DataService dataService,
      PackageFactory packageFactory,
      AttributeFactory attrMetaFactory,
      EntityTypeFactory entityTypeFactory,
      TagFactory tagFactory,
      LanguageFactory languageFactory,
      L10nStringFactory l10nStringFactory,
      EntityTypeValidator entityTypeValidator,
      AttributeValidator attributeValidator,
      TagValidator tagValidator,
      EntityTypeDependencyResolver entityTypeDependencyResolver); @Override ParsedMetaData parse(
      final RepositoryCollection source, @Nullable @CheckForNull String packageId); @Override EntitiesValidationReport validate(RepositoryCollection source); static final String EMX_PACKAGES; static final String EMX_ENTITIES; static final String EMX_ATTRIBUTES; static final String EMX_PACKAGE_NAME; static final String EMX_PACKAGE_DESCRIPTION; static final String EMX_PACKAGE_PARENT; static final String EMX_PACKAGE_TAGS; static final String EMX_PACKAGE_LABEL; static final String EMX_ENTITIES_NAME; static final String EMX_ENTITIES_PACKAGE; static final String EMX_ENTITIES_LABEL; static final String EMX_ENTITIES_DESCRIPTION; static final String EMX_ENTITIES_ABSTRACT; static final String EMX_ENTITIES_EXTENDS; static final String EMX_ENTITIES_BACKEND; static final String EMX_ENTITIES_TAGS; static final String EMX_ATTRIBUTES_NAME; static final String EMX_ATTRIBUTES_ENTITY; static final String EMX_ATTRIBUTES_REF_ENTITY; static final String EMX_ATTRIBUTES_MAPPED_BY; static final String EMX_ATTRIBUTES_DEFAULT_VALUE; static final String EMX_ATTRIBUTES_ID_ATTRIBUTE; static final String EMX_ATTRIBUTES_LOOKUP_ATTRIBUTE; static final String EMX_ATTRIBUTES_LABEL_ATTRIBUTE; static final String EMX_ATTRIBUTES_PART_OF_ATTRIBUTE; static final String EMX_ATTRIBUTES_AGGREGATEABLE; static final String EMX_ATTRIBUTES_DATA_TYPE; static final String EMX_ATTRIBUTES_EXPRESSION; static final String EMX_ATTRIBUTES_NILLABLE; static final String EMX_ATTRIBUTES_VISIBLE; static final String EMX_ATTRIBUTES_LABEL; static final String EMX_ATTRIBUTES_DESCRIPTION; static final String EMX_ATTRIBUTES_ENUM_OPTIONS; static final String EMX_ATTRIBUTES_RANGE_MIN; static final String EMX_ATTRIBUTES_RANGE_MAX; static final String EMX_ATTRIBUTES_READ_ONLY; static final String EMX_ATTRIBUTES_UNIQUE; static final String EMX_ATTRIBUTES_VALIDATION_EXPRESSION; static final String EMX_ATTRIBUTES_TAGS; static final String EMX_ATTRIBUTES_AUTO; static final String AUTO; }