package com.constellio.app.services.migrations.scripts;
import com.constellio.app.entities.modules.MigrationResourcesProvider;
import com.constellio.app.entities.modules.MigrationScript;
import com.constellio.app.services.factories.AppLayerFactory;
import com.constellio.model.entities.Language;
import com.constellio.model.entities.records.wrappers.Collection;
import com.constellio.model.services.factories.ModelLayerFactory;
import com.constellio.model.services.search.SearchBoostManager;
import com.constellio.model.services.search.entities.SearchBoost;
public class CoreMigrationTo_6_6 implements MigrationScript {
@Override
public String getVersion() {
return "6.6";
}
@Override
public void migrate(String collection, MigrationResourcesProvider provider, AppLayerFactory appLayerFactory)
throws Exception {
setDefaultTitleBoost(collection, appLayerFactory);
}
private void setDefaultTitleBoost(String collection, AppLayerFactory appLayerFactory) {
ModelLayerFactory modelLayerFactory = appLayerFactory.getModelLayerFactory();
SearchBoostManager searchBoostManager = modelLayerFactory.getSearchBoostManager();
String titleTitle = modelLayerFactory.getMetadataSchemasManager().getSchemaTypes(collection)
.getSchema(Collection.DEFAULT_SCHEMA).get(Collection.TITLE).getLabel(Language.French);
SearchBoost oldBoost = new SearchBoost(SearchBoost.QUERY_TYPE, "title_s", titleTitle, 20d);
SearchBoost newBoost = new SearchBoost(SearchBoost.METADATA_TYPE, "title_s", titleTitle, 20d);
searchBoostManager.delete(collection, oldBoost);
searchBoostManager.add(collection, newBoost);
}
}