001 package com.poemspace.dm4; 002 003 import java.util.HashMap; 004 import java.util.Map; 005 006 import de.deepamehta.core.RelatedTopic; 007 import de.deepamehta.core.TopicType; 008 import de.deepamehta.core.model.AssociationDefinitionModel; 009 import de.deepamehta.core.service.DeepaMehtaService; 010 011 public class MigrationUtils { 012 013 public static final String AFFILIATION = "dm4.poemspace.affiliation"; 014 015 public static final String ART = "dm4.poemspace.art"; 016 017 public static final String LIST = "dm4.poemspace.list"; 018 019 public static final String PRESS = "dm4.poemspace.press"; 020 021 public static final String PROJECT = "dm4.poemspace.project"; 022 023 public static final String PUBLIC = "dm4.poemspace.public"; 024 025 public static final String YEAR = "dm4.poemspace.year"; 026 027 public static String[] CONTACT_URIS = { "dm4.contacts.person", "dm4.contacts.institution" }; 028 029 public static void changeIcon(DeepaMehtaService dms, String typeUri, String iconPath) { 030 dms.getTopicType(typeUri).getViewConfig() 031 .addSetting("dm4.webclient.view_config", "dm4.webclient.icon", iconPath); 032 } 033 034 public static void addCriteriaAssocDefs(DeepaMehtaService dms, String typeUri, 035 String... criteriaTypeUris) { 036 TopicType topicType = dms.getTopicType(typeUri); 037 for (String uri : criteriaTypeUris) { 038 topicType.addAssocDef(new AssociationDefinitionModel("dm4.core.aggregation_def",// 039 typeUri, uri, "dm4.core.one", "dm4.core.many")); 040 } 041 } 042 043 public static Map<String, Long> getIdsByValue(DeepaMehtaService dms, String typeUri) { 044 HashMap<String, Long> map = new HashMap<String, Long>(); 045 for (RelatedTopic topic : dms.getTopics(typeUri, false, 0).getItems()) { 046 map.put(topic.getSimpleValue().toString(), topic.getId()); 047 } 048 return map; 049 } 050 051 }