package com.constellio.app.modules.rm.migrations; import static com.constellio.model.entities.CorePermissions.USE_EXTERNAL_APIS_FOR_COLLECTION; import static java.util.Arrays.asList; import com.constellio.app.entities.modules.MetadataSchemasAlterationHelper; import com.constellio.app.entities.modules.MigrationResourcesProvider; import com.constellio.app.entities.modules.MigrationScript; import com.constellio.app.modules.rm.constants.RMRoles; import com.constellio.app.modules.rm.model.CopyRetentionRuleFactory; import com.constellio.app.modules.rm.model.calculators.category.CategoryDefaultCopyRuleInRuleCalculator; import com.constellio.app.modules.rm.model.calculators.category.CategoryDefaultCopyRuleInRuleCalculator.CategoryDefaultCopyRuleCalculator; import com.constellio.app.modules.rm.model.calculators.category.CategoryDefaultCopyRuleInRuleCalculator.CategoryDefaultRetentionRuleCalculator; import com.constellio.app.modules.rm.wrappers.Category; import com.constellio.app.modules.rm.wrappers.Document; import com.constellio.app.modules.rm.wrappers.Folder; import com.constellio.app.modules.rm.wrappers.RetentionRule; import com.constellio.app.services.factories.AppLayerFactory; import com.constellio.app.services.schemasDisplay.SchemaTypesDisplayTransactionBuilder; import com.constellio.app.services.schemasDisplay.SchemasDisplayManager; import com.constellio.model.entities.records.wrappers.Event; import com.constellio.model.entities.schemas.MetadataValueType; import com.constellio.model.entities.schemas.Schemas; import com.constellio.model.services.schemas.builders.MetadataSchemaTypeBuilder; import com.constellio.model.services.schemas.builders.MetadataSchemaTypesBuilder; import com.constellio.model.services.security.roles.RolesManager; public class RMMigrationTo6_5_36 implements MigrationScript { @Override public String getVersion() { return "6.5.36"; } @Override public void migrate(String collection, MigrationResourcesProvider provider, AppLayerFactory appLayerFactory) throws Exception { new SchemaAlterationsFor6_5_36(collection, provider, appLayerFactory).migrate(); } public static class SchemaAlterationsFor6_5_36 extends MetadataSchemasAlterationHelper { protected SchemaAlterationsFor6_5_36(String collection, MigrationResourcesProvider provider, AppLayerFactory factory) { super(collection, provider, factory); } @Override protected void migrate(MetadataSchemaTypesBuilder typesBuilder) { SchemasDisplayManager schemaDisplayManager = appLayerFactory.getMetadataSchemasDisplayManager(); SchemaTypesDisplayTransactionBuilder transaction = schemaDisplayManager.newTransactionBuilderFor(collection); transaction.in(Event.SCHEMA_TYPE) .addToTable(Event.RECORD_ID) .beforeMetadata(Event.TITLE); schemaDisplayManager.execute(transaction.build()); } } }