Author: mes
Date: 2011-05-04 16:19:56 -0700 (Wed, 04 May 2011)
New Revision: 24930
Modified:
core3/layout-api/trunk/src/main/java/org/cytoscape/view/layout/CyLayoutAlgorithmManager.java
core3/layout-api/trunk/src/main/java/org/cytoscape/view/layout/internal/CyLayoutsImpl.java
core3/layout-api/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
core3/layout-api/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
Moved menu handling into service metadata.
Modified:
core3/layout-api/trunk/src/main/java/org/cytoscape/view/layout/CyLayoutAlgorithmManager.java
===================================================================
---
core3/layout-api/trunk/src/main/java/org/cytoscape/view/layout/CyLayoutAlgorithmManager.java
2011-05-04 22:29:26 UTC (rev 24929)
+++
core3/layout-api/trunk/src/main/java/org/cytoscape/view/layout/CyLayoutAlgorithmManager.java
2011-05-04 23:19:56 UTC (rev 24930)
@@ -37,8 +37,6 @@
*/
public interface CyLayoutAlgorithmManager {
- String PREF_MENU_KEY = "preferredMenu";
- String PREF_MENU_DEFAULT = "Cytoscape Layouts";
String DEFAULT_LAYOUT_NAME = "grid";
String DEFAULT_LAYOUT_PROPERTY_NAME = "layout.default";
@@ -65,5 +63,4 @@
*/
CyLayoutAlgorithm getDefaultLayout();
- String getMenuName(CyLayoutAlgorithm layout);
}
Modified:
core3/layout-api/trunk/src/main/java/org/cytoscape/view/layout/internal/CyLayoutsImpl.java
===================================================================
---
core3/layout-api/trunk/src/main/java/org/cytoscape/view/layout/internal/CyLayoutsImpl.java
2011-05-04 22:29:26 UTC (rev 24929)
+++
core3/layout-api/trunk/src/main/java/org/cytoscape/view/layout/internal/CyLayoutsImpl.java
2011-05-04 23:19:56 UTC (rev 24930)
@@ -30,16 +30,15 @@
package org.cytoscape.view.layout.internal;
+import org.cytoscape.property.CyProperty;
import org.cytoscape.view.layout.CyLayoutAlgorithmManager;
import org.cytoscape.view.layout.CyLayoutAlgorithm;
import org.cytoscape.view.layout.internal.algorithms.GridNodeLayout;
-import org.cytoscape.view.model.CyNetworkView;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
+import java.util.Properties;
/**
@@ -49,11 +48,11 @@
public class CyLayoutsImpl implements CyLayoutAlgorithmManager {
private HashMap<String, CyLayoutAlgorithm> layoutMap;
- private HashMap<CyLayoutAlgorithm, String> menuNameMap;
+ private final Properties props;
- public CyLayoutsImpl() {
+ public CyLayoutsImpl(CyProperty<Properties> p) {
+ props = p.getProperties();
layoutMap = new HashMap<String,CyLayoutAlgorithm>();
- menuNameMap = new HashMap<CyLayoutAlgorithm,String>();
addLayout(new GridNodeLayout(null), new HashMap());
}
@@ -68,12 +67,8 @@
* @param menu The menu that this should appear under
*/
public void addLayout(CyLayoutAlgorithm layout, Map props) {
- String prefMenu =
(String)props.get(CyLayoutAlgorithmManager.PREF_MENU_KEY);
- if ( prefMenu == null || prefMenu.equals("") )
- prefMenu = CyLayoutAlgorithmManager.PREF_MENU_DEFAULT;
-
- layoutMap.put(layout.getName(),layout);
- menuNameMap.put(layout, prefMenu);
+ if ( layout != null )
+ layoutMap.put(layout.getName(),layout);
}
/**
@@ -82,8 +77,8 @@
* @param layout The layout to remove
*/
public void removeLayout(CyLayoutAlgorithm layout, Map props) {
- layoutMap.remove(layout.getName());
- menuNameMap.remove(layout);
+ if ( layout != null )
+ layoutMap.remove(layout.getName());
}
/**
@@ -95,7 +90,7 @@
*/
@Override
public CyLayoutAlgorithm getLayout(String name) {
- if (layoutMap.containsKey(name))
+ if (name != null && layoutMap.containsKey(name))
return layoutMap.get(name);
return null;
}
@@ -118,21 +113,15 @@
*/
@Override
public CyLayoutAlgorithm getDefaultLayout() {
- // See if the user has set the layout.default property
-// String defaultLayout =
CytoscapeInit.getProperties().getProperty("layout.default");
-//
-// if ((defaultLayout == null) ||
!layoutMap.containsKey(defaultLayout)) {
-// defaultLayout = "grid";
-// }
- String defaultLayout =
CyLayoutAlgorithmManager.DEFAULT_LAYOUT_NAME;
+ // See if the user has set the layout.default property
+ String defaultLayout =
props.getProperty(CyLayoutAlgorithmManager.DEFAULT_LAYOUT_PROPERTY_NAME);
+ if ((defaultLayout == null) ||
!layoutMap.containsKey(defaultLayout)) {
+ defaultLayout = "grid";
+ }
+ defaultLayout = CyLayoutAlgorithmManager.DEFAULT_LAYOUT_NAME;
+
CyLayoutAlgorithm l = layoutMap.get(defaultLayout);
return l;
}
-
- // Ack.
- @Override
- public String getMenuName(CyLayoutAlgorithm layout) {
- return menuNameMap.get(layout);
- }
}
Modified:
core3/layout-api/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
---
core3/layout-api/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2011-05-04 22:29:26 UTC (rev 24929)
+++
core3/layout-api/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2011-05-04 23:19:56 UTC (rev 24930)
@@ -20,5 +20,9 @@
<osgi:reference id="undoSupportServiceRef"
interface="org.cytoscape.work.undo.UndoSupport">
</osgi:reference>
+
+ <osgi:reference id="cyPropertyServiceRef"
interface="org.cytoscape.property.CyProperty"
+ filter="(cyPropertyName=coreSettings)" />
+
</beans>
Modified:
core3/layout-api/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
---
core3/layout-api/trunk/src/main/resources/META-INF/spring/bundle-context.xml
2011-05-04 22:29:26 UTC (rev 24929)
+++
core3/layout-api/trunk/src/main/resources/META-INF/spring/bundle-context.xml
2011-05-04 23:19:56 UTC (rev 24930)
@@ -18,7 +18,9 @@
<context:annotation-config />
- <bean id="cyLayouts"
class="org.cytoscape.view.layout.internal.CyLayoutsImpl"/>
+ <bean id="cyLayouts"
class="org.cytoscape.view.layout.internal.CyLayoutsImpl">
+ <constructor-arg ref="cyPropertyServiceRef"/>
+ </bean>
<bean id="gridNodeLayout"
class="org.cytoscape.view.layout.internal.algorithms.GridNodeLayout">
<constructor-arg ref="undoSupportServiceRef"/>
--
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.