package org.molgenis.test.data.staticentity; import org.molgenis.data.meta.SystemEntityType; import org.molgenis.data.meta.model.Attribute; import org.molgenis.data.meta.model.Package; import org.molgenis.test.data.EntityTestHarness; import org.molgenis.test.data.TestPackage; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import static java.util.Objects.requireNonNull; import static org.molgenis.data.meta.AttributeType.*; import static org.molgenis.data.meta.model.EntityType.AttributeRole.ROLE_ID; import static org.molgenis.data.meta.model.EntityType.AttributeRole.ROLE_LABEL; import static org.molgenis.data.meta.model.Package.PACKAGE_SEPARATOR; @Component public class TestEntityStaticMetaData extends SystemEntityType { private static final String SIMPLE_NAME = "TypeTestStatic"; public static final String TEST_ENTITY = TestPackage.PACKAGE_TEST_ENTITY + PACKAGE_SEPARATOR + SIMPLE_NAME; private final Package testPackage; private final TestRefEntityStaticMetaData testRefEntityStaticMetaData; @Autowired public TestEntityStaticMetaData(TestPackage testPackage, TestRefEntityStaticMetaData testRefEntityStaticMetaData) { super(SIMPLE_NAME, TestPackage.PACKAGE_TEST_ENTITY); this.testPackage = requireNonNull(testPackage); this.testRefEntityStaticMetaData = testRefEntityStaticMetaData; } @Override public void init() { setPackage(testPackage); addAttribute(EntityTestHarness.ATTR_ID, ROLE_ID).setAuto(true); addAttribute(EntityTestHarness.ATTR_STRING, ROLE_LABEL).setNillable(false); addAttribute(EntityTestHarness.ATTR_BOOL).setDataType(BOOL); addAttribute(EntityTestHarness.ATTR_CATEGORICAL).setDataType(CATEGORICAL) .setRefEntity(testRefEntityStaticMetaData); addAttribute(EntityTestHarness.ATTR_CATEGORICAL_MREF).setDataType(CATEGORICAL_MREF) .setRefEntity(testRefEntityStaticMetaData); addAttribute(EntityTestHarness.ATTR_DATE).setDataType(DATE); addAttribute(EntityTestHarness.ATTR_DATETIME).setDataType(DATE_TIME); addAttribute(EntityTestHarness.ATTR_EMAIL).setDataType(EMAIL); addAttribute(EntityTestHarness.ATTR_DECIMAL).setDataType(DECIMAL); addAttribute(EntityTestHarness.ATTR_HTML).setDataType(HTML); addAttribute(EntityTestHarness.ATTR_HYPERLINK).setDataType(HYPERLINK); addAttribute(EntityTestHarness.ATTR_LONG).setDataType(LONG); addAttribute(EntityTestHarness.ATTR_INT).setDataType(INT); addAttribute(EntityTestHarness.ATTR_SCRIPT).setDataType(SCRIPT); addAttribute(EntityTestHarness.ATTR_XREF).setDataType(XREF).setRefEntity(testRefEntityStaticMetaData); addAttribute(EntityTestHarness.ATTR_MREF).setDataType(MREF).setRefEntity(testRefEntityStaticMetaData); Attribute compound = addAttribute(EntityTestHarness.ATTR_COMPOUND).setDataType(COMPOUND); addAttribute(EntityTestHarness.ATTR_COMPOUND_CHILD_INT).setDataType(INT).setParent(compound); } }