001    package de.deepamehta.core.service;
002    
003    import de.deepamehta.core.Type;
004    
005    
006    
007    public 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    }