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 }