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