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.

Reply via email to