You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by mf...@apache.org on 2012/05/22 22:19:37 UTC

[8/50] [abbrv] git commit: Adds ordering of hardware profiles returned from the Provider. Ordering is first by cpu and then by memory. Addresses JIRA DTACLOUD_208 Note: This patch was backported from non-modular

Adds ordering of hardware profiles returned from the Provider. Ordering is
first by cpu and then by memory. Addresses JIRA DTACLOUD_208
Note: This patch was backported from non-modular

https://issues.apache.org/jira/browse/DTACLOUD-208


Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/bcc98a21
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/bcc98a21
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/bcc98a21

Branch: refs/heads/master
Commit: bcc98a21c596a6a21ef0c51bea3199b9cc2d3852
Parents: 1a66cee
Author: Michal Fojtik <mf...@redhat.com>
Authored: Mon May 21 11:41:58 2012 +0200
Committer: Michal fojtik <mf...@redhat.com>
Committed: Tue May 22 22:17:39 2012 +0200

----------------------------------------------------------------------
 server/lib/deltacloud/helpers/deltacloud_helper.rb |   11 +++++++++++
 server/views/hardware_profiles/index.html.haml     |    2 +-
 server/views/hardware_profiles/index.xml.haml      |    2 +-
 3 files changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/bcc98a21/server/lib/deltacloud/helpers/deltacloud_helper.rb
----------------------------------------------------------------------
diff --git a/server/lib/deltacloud/helpers/deltacloud_helper.rb b/server/lib/deltacloud/helpers/deltacloud_helper.rb
index ed3e57d..5806d15 100644
--- a/server/lib/deltacloud/helpers/deltacloud_helper.rb
+++ b/server/lib/deltacloud/helpers/deltacloud_helper.rb
@@ -266,6 +266,17 @@ module Deltacloud::Helpers
       end
     end
 
+    def order_hardware_profiles(profiles)
+      #have to deal with opaque hardware profiles
+      uncomparables = profiles.select{|x| x.cpu.nil? or x.memory.nil? }
+      if uncomparables.empty?
+        profiles.sort_by{|a| [a.cpu.default, a.memory.default] }
+      else
+        (profiles - uncomparables).sort_by{|a| [a.cpu.default, a.memory.default] } + uncomparables
+      end
+    end
+
+
     private
     def hardware_property_unit(prop)
       u = ::Deltacloud::HardwareProfile::unit(prop)

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/bcc98a21/server/views/hardware_profiles/index.html.haml
----------------------------------------------------------------------
diff --git a/server/views/hardware_profiles/index.html.haml b/server/views/hardware_profiles/index.html.haml
index 59d43eb..011e80f 100644
--- a/server/views/hardware_profiles/index.html.haml
+++ b/server/views/hardware_profiles/index.html.haml
@@ -3,7 +3,7 @@
 
 %div{ :'data-role' => :content, :'data-theme' => 'c'}
   %ul{ :'data-role' => :listview, :'data-inset' => :true }
-    - for profile in @hardware_profiles
+    - for profile in order_hardware_profiles(@hardware_profiles)
       %li{ :'data-theme' => 'c'}
         %a{ :href => hardware_profile_url(profile.name)}
           %img{ :class => 'ui-link-thumb', :src => '/images/profile.png'}

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/bcc98a21/server/views/hardware_profiles/index.xml.haml
----------------------------------------------------------------------
diff --git a/server/views/hardware_profiles/index.xml.haml b/server/views/hardware_profiles/index.xml.haml
index 25e0496..9292c5b 100644
--- a/server/views/hardware_profiles/index.xml.haml
+++ b/server/views/hardware_profiles/index.xml.haml
@@ -1,4 +1,4 @@
 !!! XML
 %hardware_profiles
-  - @hardware_profiles.each do |prof|
+  - order_hardware_profiles(@hardware_profiles).each do |prof|
     = haml :'hardware_profiles/show', :locals => { :@hardware_profile => prof, :partial => true }