001package de.deepamehta.plugins.d3renderer;
002
003import de.deepamehta.core.model.CompositeValueModel;
004import de.deepamehta.core.osgi.PluginActivator;
005import de.deepamehta.core.service.PluginService;
006import de.deepamehta.core.service.annotation.ConsumesService;
007
008import de.deepamehta.plugins.topicmaps.TopicmapRenderer;
009import de.deepamehta.plugins.topicmaps.service.TopicmapsService;
010
011
012
013public class D3RendererPlugin extends PluginActivator implements TopicmapRenderer {
014
015    // *** Hook Implementations ***
016
017    @Override
018    @ConsumesService("de.deepamehta.plugins.topicmaps.service.TopicmapsService")
019    public void serviceArrived(PluginService service) {
020        ((TopicmapsService) service).registerTopicmapRenderer(this);
021    }
022
023    // *** TopicmapRenderer Implementation ***
024
025    @Override
026    public String getUri() {
027        return "dm4.d3js_renderer";
028    }
029
030    // ### TODO: copy in DefaultTopicmapRenderer.java
031    @Override
032    public CompositeValueModel initialTopicmapState() {
033        return new CompositeValueModel()
034            .put("dm4.topicmaps.translation", new CompositeValueModel()
035                .put("dm4.topicmaps.translation_x", 0)
036                .put("dm4.topicmaps.translation_y", 0)
037            );
038    }
039}