001package de.deepamehta.core.service;
002
003import de.deepamehta.core.Type;
004
005
006
007public abstract class Migration {
008
009    // ---------------------------------------------------------------------------------------------- Instance Variables
010
011    protected DeepaMehtaService dms;
012
013    // -------------------------------------------------------------------------------------------------- Public Methods
014
015    public void setCoreService(DeepaMehtaService dms) {
016        this.dms = dms;
017    }
018
019    public abstract void run();
020
021    // ----------------------------------------------------------------------------------------------- Protected Methods
022
023    // Convenience method ### FIXME: belongs to Webclient module
024    protected final void addTopicTypeSetting(String topicTypeUri, String setting, Object value) {
025        addTypeSetting(dms.getTopicType(topicTypeUri), setting, value);
026    }
027
028    // Convenience method ### FIXME: belongs to Webclient module
029    protected final void addAssociationTypeSetting(String assocTypeUri, String setting, Object value) {
030        addTypeSetting(dms.getAssociationType(assocTypeUri), setting, value);
031    }
032
033    // ---
034
035    // Convenience method ### FIXME: belongs to Webclient module
036    protected final void addTypeSetting(Type type, String setting, Object value) {
037        type.getViewConfig().addSetting("dm4.webclient.view_config", "dm4.webclient." + setting, value);
038    }
039}