001    package de.deepamehta.plugins.d3renderer;
002    
003    import de.deepamehta.core.model.CompositeValueModel;
004    import de.deepamehta.core.osgi.PluginActivator;
005    import de.deepamehta.core.service.PluginService;
006    import de.deepamehta.core.service.annotation.ConsumesService;
007    
008    import de.deepamehta.plugins.topicmaps.TopicmapRenderer;
009    import de.deepamehta.plugins.topicmaps.service.TopicmapsService;
010    
011    
012    
013    public 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    }