package com.constellio.model.services.records; import com.constellio.model.entities.schemas.Metadata; import com.constellio.model.entities.schemas.MetadataValueType; import com.constellio.model.services.schemas.builders.MetadataBuilder; import com.constellio.sdk.tests.schemas.TestsSchemasSetup; public class RecordServicesTestSchemaSetup extends TestsSchemasSetup { public RecordServicesTestSchemaSetup withAMetadataCopiedInAnotherSchema() { MetadataBuilder copiedMeta = zeDefaultSchemaBuilder.create("copiedMeta").setType(MetadataValueType.STRING); MetadataBuilder referenceToZeSchema = anOtherDefaultSchemaBuilder.create("referenceToZeSchema") .defineReferencesTo(zeSchemaTypeBuilder); MetadataBuilder copiedDataInAnotherSchema = anOtherDefaultSchemaBuilder.create("metadataWithCopiedEntry") .setType(MetadataValueType.STRING) .defineDataEntry().asCopied(referenceToZeSchema, copiedMeta); anOtherDefaultSchemaBuilder.create("manualMeta").setType(MetadataValueType.STRING); MetadataBuilder referenceToAnotherSchema = aThirdSchemaTypeBuilder.getDefaultSchema() .create("referenceToAnotherSchema") .defineReferencesTo(anOtherSchemaTypeBuilder); athirdDefaultSchemaBuilder.create("metadataWithCopiedEntry").setType(MetadataValueType.STRING) .defineDataEntry().asCopied(referenceToAnotherSchema, copiedDataInAnotherSchema); athirdDefaultSchemaBuilder.create("manualMeta").setType(MetadataValueType.STRING); return this; } public class ZeSchemaMetadatas extends TestsSchemasSetup.ZeSchemaMetadatas { public Metadata getCopiedMeta() { return getMetadata(code() + "_copiedMeta"); } } public class AnotherSchemaMetadatas extends TestsSchemasSetup.AnotherSchemaMetadatas { public Metadata referenceToZeSchema() { return getMetadata(code() + "_referenceToZeSchema"); } public Metadata manualMeta() { return getMetadata(code() + "_manualMeta"); } public Metadata metadataWithCopiedEntry() { return getMetadata(code() + "_metadataWithCopiedEntry"); } } public class ThirdSchemaMetadatas extends TestsSchemasSetup.ThirdSchemaMetadatas { public Metadata referenceToAnotherSchema() { return getMetadata(code() + "_referenceToAnotherSchema"); } public Metadata manualMeta() { return getMetadata(code() + "_manualMeta"); } public Metadata metadataWithCopiedEntry() { return getMetadata(code() + "_metadataWithCopiedEntry"); } } }