package com.constellio.app.modules.complementary.esRmRobots.extensions; import java.util.Arrays; import java.util.List; import com.constellio.app.modules.complementary.ESRMRobotsModule; import com.constellio.app.modules.es.extensions.api.ConnectorMappingExtension; import com.constellio.app.modules.es.extensions.api.params.CustomTargetFlagsParams; import com.constellio.app.modules.es.extensions.api.params.TargetMetadataCreationParams; import com.constellio.app.modules.es.services.mapping.ConnectorMappingService.ConnectorMappingTransaction; import com.constellio.app.modules.rm.services.RMSchemasRecordsServices; public class EsRmRobotsMappingExtension extends ConnectorMappingExtension { public static final String MAP_IN_RM_MODULE = ESRMRobotsModule.ID + ".mapInRM"; private final RMSchemasRecordsServices rm; public EsRmRobotsMappingExtension(RMSchemasRecordsServices rm) { this.rm = rm; } @Override public List<String> getCustomTargetFlags(CustomTargetFlagsParams params) { return Arrays.asList(MAP_IN_RM_MODULE); } @Override public void beforeTargetMetadataCreation(TargetMetadataCreationParams params) { if (params.hasTargetFlag(MAP_IN_RM_MODULE)) { ConnectorMappingTransaction transaction = params.getTransaction(); transaction.createTargetUserMetadata(rm.folder.schema(), params.getTarget()); transaction.createTargetUserMetadata(rm.defaultDocumentSchema(), params.getTarget()); } } }