Author: kono
Date: 2010-10-28 18:21:10 -0700 (Thu, 28 Oct 2010)
New Revision: 22653
Modified:
core3/vizmap-api/trunk/src/main/java/org/cytoscape/view/vizmap/VisualMappingManager.java
core3/vizmap-api/trunk/src/main/java/org/cytoscape/view/vizmap/VisualStyleFactory.java
core3/vizmap-api/trunk/src/test/java/org/cytoscape/view/vizmap/AbstractVisualMappingManagerTest.java
core3/vizmap-api/trunk/src/test/java/org/cytoscape/view/vizmap/AbstractVisualStyleFactoryTest.java
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi-vizmapper.xml
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-vizmapper.xml
core3/vizmap-impl/trunk/src/main/java/org/cytoscape/view/vizmap/internal/VisualMappingManagerImpl.java
core3/vizmap-impl/trunk/src/main/java/org/cytoscape/view/vizmap/internal/VisualStyleFactoryImpl.java
core3/vizmap-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
core3/vizmap-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
core3/vizmap-impl/trunk/src/test/java/org/cytoscape/view/vizmap/VisualMappingManagerTest.java
core3/vizmap-impl/trunk/src/test/java/org/cytoscape/view/vizmap/VisualStyleTest.java
Log:
Default Visual Style will be imported as a service for VisualMappingManager.
VizmapGUI should use it.
Modified:
core3/vizmap-api/trunk/src/main/java/org/cytoscape/view/vizmap/VisualMappingManager.java
===================================================================
---
core3/vizmap-api/trunk/src/main/java/org/cytoscape/view/vizmap/VisualMappingManager.java
2010-10-29 01:01:46 UTC (rev 22652)
+++
core3/vizmap-api/trunk/src/main/java/org/cytoscape/view/vizmap/VisualMappingManager.java
2010-10-29 01:21:10 UTC (rev 22653)
@@ -73,7 +73,9 @@
* @param networkViewModel
* Target network view
*
- * @return VisualStyle associated with the network view model.
+ * @return VisualStyle associated with the network view model. This is
+ * always non-null value. If there is no mapping from given view
+ * model to a style, then default style will be used.
*/
VisualStyle getVisualStyle(final CyNetworkView networkViewModel);
@@ -84,21 +86,28 @@
*
*/
Set<VisualStyle> getAllVisualStyles();
-
-
+
/**
* Add a new {...@link VisualStyle} to this manager.
*
- * @param visualStyle new visual style to be registered.
+ * @param visualStyle
+ * new visual style to be registered.
*/
void addVisualStyle(final VisualStyle visualStyle);
-
-
+
/**
* Remove a VisualStyle from this manager.
*
- * @param visualStyle VisualStyle to be removed.
+ * @param visualStyle
+ * VisualStyle to be removed.
*/
void removeVisualStyle(VisualStyle visualStyle);
+ /**
+ * Return default {...@link VisualStyle}. This is just an empty visual
style.
+ *
+ * @return default Visual Style.
+ */
+ VisualStyle getDefaultVisualStyle();
+
}
Modified:
core3/vizmap-api/trunk/src/main/java/org/cytoscape/view/vizmap/VisualStyleFactory.java
===================================================================
---
core3/vizmap-api/trunk/src/main/java/org/cytoscape/view/vizmap/VisualStyleFactory.java
2010-10-29 01:01:46 UTC (rev 22652)
+++
core3/vizmap-api/trunk/src/main/java/org/cytoscape/view/vizmap/VisualStyleFactory.java
2010-10-29 01:21:10 UTC (rev 22653)
@@ -18,7 +18,7 @@
*
* @return New VisualStyle object.
*/
- VisualStyle createVisualStyle(final String title, final VisualLexicon
lexicon);
+ VisualStyle getInstance(final String title, final VisualLexicon
lexicon);
/**
@@ -30,6 +30,6 @@
* @return New VisualStyle copied from the original.
*
*/
- VisualStyle createVisualStyle(final VisualStyle original);
+ VisualStyle getInstance(final VisualStyle original);
}
Modified:
core3/vizmap-api/trunk/src/test/java/org/cytoscape/view/vizmap/AbstractVisualMappingManagerTest.java
===================================================================
---
core3/vizmap-api/trunk/src/test/java/org/cytoscape/view/vizmap/AbstractVisualMappingManagerTest.java
2010-10-29 01:01:46 UTC (rev 22652)
+++
core3/vizmap-api/trunk/src/test/java/org/cytoscape/view/vizmap/AbstractVisualMappingManagerTest.java
2010-10-29 01:21:10 UTC (rev 22653)
@@ -3,7 +3,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
-import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.*;
import org.cytoscape.view.model.CyNetworkView;
import org.junit.Test;
@@ -11,6 +11,7 @@
public abstract class AbstractVisualMappingManagerTest {
protected VisualMappingManager vmm;
+ protected VisualStyle defaultStyle;
@Test
public void testVisualMappingManager() {
@@ -21,18 +22,29 @@
public void testGetAndSetVisualStyle() {
final VisualStyle style1 = mock(VisualStyle.class);
final VisualStyle style2 = mock(VisualStyle.class);
+ final VisualStyle style3 = mock(VisualStyle.class);
final CyNetworkView view1 = mock(CyNetworkView.class);
final CyNetworkView view2 = mock(CyNetworkView.class);
+ final CyNetworkView view3 = mock(CyNetworkView.class);
assertNotNull(vmm.getAllVisualStyles());
- assertEquals(0, vmm.getAllVisualStyles().size());
+ //Should contain default style.
+ assertEquals(1, vmm.getAllVisualStyles().size());
+ assertEquals(defaultStyle, vmm.getDefaultVisualStyle());
+
vmm.setVisualStyle(style1, view1);
vmm.addVisualStyle(style2);
vmm.setVisualStyle(style2, view2);
+ final VisualStyle targetStyle = vmm.getVisualStyle(view3);
- assertEquals(2, vmm.getAllVisualStyles().size());
+ assertEquals(defaultStyle, targetStyle);
+ assertEquals(3, vmm.getAllVisualStyles().size());
+
+ vmm.setVisualStyle(style3, view3);
+ assertEquals(4, vmm.getAllVisualStyles().size());
+ assertEquals(style3, vmm.getVisualStyle(view3));
}
Modified:
core3/vizmap-api/trunk/src/test/java/org/cytoscape/view/vizmap/AbstractVisualStyleFactoryTest.java
===================================================================
---
core3/vizmap-api/trunk/src/test/java/org/cytoscape/view/vizmap/AbstractVisualStyleFactoryTest.java
2010-10-29 01:01:46 UTC (rev 22652)
+++
core3/vizmap-api/trunk/src/test/java/org/cytoscape/view/vizmap/AbstractVisualStyleFactoryTest.java
2010-10-29 01:21:10 UTC (rev 22653)
@@ -29,12 +29,12 @@
assertNotNull(lexicon);
final String title = "original style";
- final VisualStyle style = factory.createVisualStyle(title,
lexicon);
+ final VisualStyle style = factory.getInstance(title, lexicon);
assertNotNull(style);
assertEquals(lexicon, style.getVisualLexicon());
- final VisualStyle copyStyle = factory.createVisualStyle(style);
+ final VisualStyle copyStyle = factory.getInstance(style);
assertNotNull(copyStyle);
assertEquals(title, copyStyle.getTitle());
Modified:
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi-vizmapper.xml
===================================================================
---
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi-vizmapper.xml
2010-10-29 01:01:46 UTC (rev 22652)
+++
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi-vizmapper.xml
2010-10-29 01:21:10 UTC (rev 22653)
@@ -5,6 +5,10 @@
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi-1.0.xsd"
default-lazy-init="false">
+
+ <!-- Export Ding's default VS as service. -->
+ <osgi:service id="defaultVSService" ref="defaultVS"
auto-export="interfaces" />
+
<!-- Export Service Listeners -->
<osgi:service id="selectedVisualStyleManagerService"
ref="selectedVisualStyleManager" auto-export="interfaces" />
Modified:
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-vizmapper.xml
===================================================================
---
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-vizmapper.xml
2010-10-29 01:01:46 UTC (rev 22652)
+++
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-vizmapper.xml
2010-10-29 01:21:10 UTC (rev 22653)
@@ -14,8 +14,7 @@
<!-- Setting (property) file for VizMapper GUI. This bean can be
injected
as a regular Java Property object. -->
- <util:properties id="vizmapUIResource"
- location="/META-INF/spring/config/vizmapui.properties" />
+ <util:properties id="vizmapUIResource"
location="/META-INF/spring/config/vizmapui.properties" />
<context:property-placeholder
location="/META-INF/spring/config/vizmapui.properties" />
Modified:
core3/vizmap-impl/trunk/src/main/java/org/cytoscape/view/vizmap/internal/VisualMappingManagerImpl.java
===================================================================
---
core3/vizmap-impl/trunk/src/main/java/org/cytoscape/view/vizmap/internal/VisualMappingManagerImpl.java
2010-10-29 01:01:46 UTC (rev 22652)
+++
core3/vizmap-impl/trunk/src/main/java/org/cytoscape/view/vizmap/internal/VisualMappingManagerImpl.java
2010-10-29 01:21:10 UTC (rev 22653)
@@ -50,6 +50,8 @@
*
*/
public class VisualMappingManagerImpl implements VisualMappingManager {
+
+ private VisualStyle defaultStyle;
private final Map<CyNetworkView, VisualStyle> network2VisualStyleMap;
private final Set<VisualStyle> visualStyles;
@@ -57,14 +59,26 @@
private final CyEventHelper cyEventHelper;
public VisualMappingManagerImpl(final CyEventHelper eventHelper) {
- if (eventHelper == null)
- throw new IllegalArgumentException("CyEventHelper
cannot be null");
+ if(eventHelper == null)
+ throw new NullPointerException("CyEventHelper cannot be
null");
this.cyEventHelper = eventHelper;
visualStyles = new HashSet<VisualStyle>();
network2VisualStyleMap = new HashMap<CyNetworkView,
VisualStyle>();
}
+
+ /**
+ * This is for OSGi service listener.
+ */
+ public void addDefaultStyle(final VisualStyle defaultStyle, Map props) {
+ this.defaultStyle = defaultStyle;
+ visualStyles.add(this.defaultStyle);
+ }
+
+ public void removeDefaultStyle(final VisualStyle defaultStyle, Map
props) {
+ // TODO: support multiple engines!
+ }
/**
* Get VisualStyle for the given view model.
@@ -78,9 +92,15 @@
public VisualStyle getVisualStyle(CyNetworkView nv) {
if(nv == null)
throw new NullPointerException("network view is null.");
- if(network2VisualStyleMap.containsKey(nv) == false)
- throw new IllegalArgumentException("No such network
view is registered in this manager.");
+ if(network2VisualStyleMap.containsKey(nv) == false) {
+ if(this.defaultStyle == null)
+ throw new IllegalStateException("No rendering
engine is available, and cannot create default style!");
+
+ // Not registered yet. Provide default style.
+ network2VisualStyleMap.put(nv, defaultStyle);
+ return defaultStyle;
+ }
return network2VisualStyleMap.get(nv);
}
@@ -116,6 +136,8 @@
@Override public void removeVisualStyle(VisualStyle vs) {
if(vs == null)
throw new NullPointerException("Visual Style is null.");
+ if(vs == defaultStyle)
+ throw new IllegalArgumentException("Cannot remove
default visual style.");
if(this.network2VisualStyleMap.values().contains(vs))
throw new IllegalArgumentException("Visual Style is
associated with a view and cannot be removed.");
@@ -145,4 +167,9 @@
public Set<VisualStyle> getAllVisualStyles() {
return visualStyles;
}
+
+ @Override
+ public VisualStyle getDefaultVisualStyle() {
+ return defaultStyle;
+ }
}
Modified:
core3/vizmap-impl/trunk/src/main/java/org/cytoscape/view/vizmap/internal/VisualStyleFactoryImpl.java
===================================================================
---
core3/vizmap-impl/trunk/src/main/java/org/cytoscape/view/vizmap/internal/VisualStyleFactoryImpl.java
2010-10-29 01:01:46 UTC (rev 22652)
+++
core3/vizmap-impl/trunk/src/main/java/org/cytoscape/view/vizmap/internal/VisualStyleFactoryImpl.java
2010-10-29 01:21:10 UTC (rev 22653)
@@ -18,7 +18,7 @@
}
@Override
- public VisualStyle createVisualStyle(final VisualStyle original) {
+ public VisualStyle getInstance(final VisualStyle original) {
final VisualStyle copyVS = new
VisualStyleImpl(original.getTitle(), original.getVisualLexicon());
// TODO: copy everything! This is incomplete
@@ -37,7 +37,7 @@
@Override
- public VisualStyle createVisualStyle(String title, final VisualLexicon
lexicon) {
+ public VisualStyle getInstance(String title, final VisualLexicon
lexicon) {
return new VisualStyleImpl(title, lexicon);
}
Modified:
core3/vizmap-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
---
core3/vizmap-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2010-10-29 01:01:46 UTC (rev 22652)
+++
core3/vizmap-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2010-10-29 01:21:10 UTC (rev 22653)
@@ -18,5 +18,15 @@
<!-- Import Services -->
<osgi:reference id="cyEventHelperServiceRef"
interface="org.cytoscape.event.CyEventHelper" />
+
+
+ <!-- Import Default Style. -->
+ <osgi:set id="defaultStyleSet"
+ interface="org.cytoscape.view.vizmap.VisualStyle"
+ cardinality="0..N">
+ <osgi:listener bind-method="addDefaultStyle"
+ unbind-method="removeDefaultStyle"
ref="visualMappingManager" />
+ </osgi:set>
+
</beans>
Modified:
core3/vizmap-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
---
core3/vizmap-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
2010-10-29 01:01:46 UTC (rev 22652)
+++
core3/vizmap-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
2010-10-29 01:21:10 UTC (rev 22653)
@@ -18,6 +18,7 @@
<context:annotation-config />
+
<bean id="visualMappingManager"
class="org.cytoscape.view.vizmap.internal.VisualMappingManagerImpl">
<constructor-arg ref="cyEventHelperServiceRef" />
Modified:
core3/vizmap-impl/trunk/src/test/java/org/cytoscape/view/vizmap/VisualMappingManagerTest.java
===================================================================
---
core3/vizmap-impl/trunk/src/test/java/org/cytoscape/view/vizmap/VisualMappingManagerTest.java
2010-10-29 01:01:46 UTC (rev 22652)
+++
core3/vizmap-impl/trunk/src/test/java/org/cytoscape/view/vizmap/VisualMappingManagerTest.java
2010-10-29 01:21:10 UTC (rev 22653)
@@ -1,7 +1,7 @@
package org.cytoscape.view.vizmap;
-import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.*;
import org.cytoscape.event.CyEventHelper;
import org.cytoscape.view.vizmap.internal.VisualMappingManagerImpl;
@@ -15,7 +15,13 @@
@Before
public void setUp() throws Exception {
final CyEventHelper eventHelper = mock(CyEventHelper.class);
+ defaultStyle = mock(VisualStyle.class);
+ when(defaultStyle.getTitle()).thenReturn("DEFAULT");
+
vmm = new VisualMappingManagerImpl(eventHelper);
+
+ // In the real implementations, this will be done through OSGi.
+ ((VisualMappingManagerImpl)vmm).addDefaultStyle(defaultStyle,
null);
}
@After
Modified:
core3/vizmap-impl/trunk/src/test/java/org/cytoscape/view/vizmap/VisualStyleTest.java
===================================================================
---
core3/vizmap-impl/trunk/src/test/java/org/cytoscape/view/vizmap/VisualStyleTest.java
2010-10-29 01:01:46 UTC (rev 22652)
+++
core3/vizmap-impl/trunk/src/test/java/org/cytoscape/view/vizmap/VisualStyleTest.java
2010-10-29 01:21:10 UTC (rev 22653)
@@ -27,7 +27,7 @@
helperMock);
originalTitle = "Style 1";
newTitle = "Style 2";
- style = visualStyleFactory.createVisualStyle(originalTitle,
lexicon);
+ style = visualStyleFactory.getInstance(originalTitle, lexicon);
}
@After
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.