You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by lu...@apache.org on 2013/03/14 19:19:03 UTC

[10/15] git commit: CIMI: Migrated MachineImage to services

CIMI: Migrated MachineImage to services

Signed-off-by: Michal fojtik <mf...@redhat.com>
TrackedAt: http://tracker.deltacloud.org/patch/ac7d8b3fe7354da3cb2d29400632bfe36694556d


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

Branch: refs/heads/master
Commit: 61b2637001273619f27991b70fb2f39606ab675c
Parents: 3303c37
Author: Michal Fojtik <mf...@redhat.com>
Authored: Fri Mar 1 12:22:27 2013 +0100
Committer: David Lutterkort <lu...@redhat.com>
Committed: Wed Mar 13 17:28:13 2013 -0700

----------------------------------------------------------------------
 server/lib/cimi/collections/machine_images.rb |    6 +-
 server/lib/cimi/models/machine_image.rb       |   28 -----------
 server/lib/cimi/service.rb                    |    1 +
 server/lib/cimi/service/machine_image.rb      |   51 ++++++++++++++++++++
 4 files changed, 55 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltacloud/blob/61b26370/server/lib/cimi/collections/machine_images.rb
----------------------------------------------------------------------
diff --git a/server/lib/cimi/collections/machine_images.rb b/server/lib/cimi/collections/machine_images.rb
index ee0033c..ce9fa6a 100644
--- a/server/lib/cimi/collections/machine_images.rb
+++ b/server/lib/cimi/collections/machine_images.rb
@@ -24,7 +24,7 @@ module CIMI::Collections
       operation :index, :with_capability => :images do
         description "List all machine configurations"
         control do
-          machine_images = MachineImage.list(self).select_by(params['$select'])
+          machine_images = MachineImage.list(self)
           respond_to do |format|
             format.xml { machine_images.to_xml }
             format.json { machine_images.to_json }
@@ -46,7 +46,7 @@ module CIMI::Collections
       operation :create, :with_capability => :create_image do
         description "Create a new machine image."
         control do
-          mi = CIMI::Model::MachineImageCreate.parse(request.body, request.content_type)
+          mi = MachineImageCreate.parse(request.body, request.content_type)
           machine_image = mi.create(self)
           headers_for_create machine_image
           respond_to do |format|
@@ -59,7 +59,7 @@ module CIMI::Collections
       operation :destroy, :with_capability => :destroy_image do
         description "Delete a specified MachineImage"
         control do
-          CIMI::Model::MachineImage.delete!(params[:id], self)
+          MachineImage.delete!(params[:id], self)
           no_content_with_status 200
         end
       end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/61b26370/server/lib/cimi/models/machine_image.rb
----------------------------------------------------------------------
diff --git a/server/lib/cimi/models/machine_image.rb b/server/lib/cimi/models/machine_image.rb
index 74f48ef..f900dae 100644
--- a/server/lib/cimi/models/machine_image.rb
+++ b/server/lib/cimi/models/machine_image.rb
@@ -26,32 +26,4 @@ class CIMI::Model::MachineImage < CIMI::Model::Base
     scalar :rel, :href
   end
 
-  def self.find(id, context)
-    images = []
-    if id == :all
-      images = context.driver.images(context.credentials)
-      images.map { |image| from_image(image, context) }
-    else
-      image = context.driver.image(context.credentials, :id => id)
-      from_image(image, context)
-    end
-  end
-
-  def self.from_image(image, context)
-    self.new(
-      :id => context.machine_image_url(image.id),
-      :name => image.id,
-      :description => image.description,
-      :state => image.state || 'UNKNOWN',
-      :type => "IMAGE",
-      :created => image.creation_time.nil? ?
-        Time.now.xmlschema : Time.parse(image.creation_time.to_s).xmlschema
-    )
-  end
-
-  def self.delete!(image_id, context)
-    context.driver.destroy_image(context.credentials, image_id)
-    new(:id => image_id).destroy
-  end
-
 end

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/61b26370/server/lib/cimi/service.rb
----------------------------------------------------------------------
diff --git a/server/lib/cimi/service.rb b/server/lib/cimi/service.rb
index 5231c24..f6b933f 100644
--- a/server/lib/cimi/service.rb
+++ b/server/lib/cimi/service.rb
@@ -26,3 +26,4 @@ require_relative './../db/volume_template'
 
 require_relative './service/base'
 require_relative './service/machine'
+require_relative './service/machine_image'

http://git-wip-us.apache.org/repos/asf/deltacloud/blob/61b26370/server/lib/cimi/service/machine_image.rb
----------------------------------------------------------------------
diff --git a/server/lib/cimi/service/machine_image.rb b/server/lib/cimi/service/machine_image.rb
new file mode 100644
index 0000000..dad26a8
--- /dev/null
+++ b/server/lib/cimi/service/machine_image.rb
@@ -0,0 +1,51 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+class CIMI::Service::MachineImage < CIMI::Service::Base
+
+  def initialize(ctx, opts)
+    super
+  end
+
+  def self.find(id, context)
+    images = []
+    if id == :all
+      images = context.driver.images(context.credentials)
+      images.map { |image| from_image(image, context) }
+    else
+      image = context.driver.image(context.credentials, :id => id)
+      from_image(image, context)
+    end
+  end
+
+  def self.from_image(image, context)
+    self.new(context, :values => {
+      :id => context.machine_image_url(image.id),
+      :name => image.id,
+      :description => image.description,
+      :state => image.state || 'UNKNOWN',
+      :type => "IMAGE",
+      :created => image.creation_time.nil? ?
+      Time.now.xmlschema : Time.parse(image.creation_time.to_s).xmlschema
+    })
+  end
+
+  def self.delete!(image_id, context)
+    context.driver.destroy_image(context.credentials, image_id)
+    new(:id => image_id).destroy
+  end
+
+
+end