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 2011/05/18 15:37:52 UTC
svn commit: r1124262 - in /incubator/deltacloud/trunk/server:
lib/deltacloud/helpers/conversion_helper.rb lib/deltacloud/models/bucket.rb
server.rb
Author: mfojtik
Date: Wed May 18 13:37:51 2011
New Revision: 1124262
URL: http://svn.apache.org/viewvc?rev=1124262&view=rev
Log:
Fixed DTACLOUD-40: Missing JSON response after create calls
Modified:
incubator/deltacloud/trunk/server/lib/deltacloud/helpers/conversion_helper.rb
incubator/deltacloud/trunk/server/lib/deltacloud/models/bucket.rb
incubator/deltacloud/trunk/server/server.rb
Modified: incubator/deltacloud/trunk/server/lib/deltacloud/helpers/conversion_helper.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/deltacloud/helpers/conversion_helper.rb?rev=1124262&r1=1124261&r2=1124262&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/lib/deltacloud/helpers/conversion_helper.rb (original)
+++ incubator/deltacloud/trunk/server/lib/deltacloud/helpers/conversion_helper.rb Wed May 18 13:37:51 2011
@@ -19,7 +19,7 @@ require 'deltacloud/base_driver'
module ConversionHelper
def convert_to_json(type, obj)
- if ( [ :image, :realm, :instance, :storage_volume, :storage_snapshot, :hardware_profile ].include?( type ) )
+ if ( [ :image, :realm, :instance, :storage_volume, :storage_snapshot, :hardware_profile, :key, :bucket, :address ].include?( type ) )
if Array.eql?(obj.class)
data = obj.collect do |o|
o.to_hash.merge({ :href => self.send(:"#{type}_url", type.eql?(:hardware_profile) ? o.name : o.id ) })
Modified: incubator/deltacloud/trunk/server/lib/deltacloud/models/bucket.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/deltacloud/models/bucket.rb?rev=1124262&r1=1124261&r2=1124262&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/lib/deltacloud/models/bucket.rb (original)
+++ incubator/deltacloud/trunk/server/lib/deltacloud/models/bucket.rb Wed May 18 13:37:51 2011
@@ -20,4 +20,11 @@ class Bucket < BaseModel
attr_accessor :size
attr_accessor :blob_list
+ alias :to_hash_original :to_hash
+
+ def to_hash
+ h = self.to_hash_original
+ h[:blob_list] = self.blob_list.collect { |blob| { :id => blob, :href => "/api/buckets/#{self.id}/#{blob.id}"}}
+ return h
+ end
end
Modified: incubator/deltacloud/trunk/server/server.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/server.rb?rev=1124262&r1=1124261&r2=1124262&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/server.rb (original)
+++ incubator/deltacloud/trunk/server/server.rb Wed May 18 13:37:51 2011
@@ -205,6 +205,7 @@ END
response.status = 201 # Created
haml :"images/show"
end
+ format.json { convert_to_json(:image, @image) }
format.html { haml :"images/show" }
end
end
@@ -314,6 +315,7 @@ collection :load_balancers do
response.status = 201 # Created
haml :"load_balancers/show"
end
+ format.json { convert_to_json(:load_balancer, @load_balancer) }
format.html { haml :"load_balancers/show" }
end
end
@@ -390,6 +392,7 @@ END
response['Location'] = instance_url(@instance.id)
haml :"instances/show"
end
+ format.json { convert_to_json(:instance, @instance) }
format.html do
redirect instance_url(@instance.id) if @instance and @instance.id
redirect instances_url
@@ -579,6 +582,7 @@ collection :storage_volumes do
@storage_volume = driver.create_storage_volume(credentials, params)
respond_to do |format|
format.html { haml :"storage_volumes/show" }
+ format.json { convert_to_json(:storage_volume, @storage_volume) }
format.xml do
response.status = 201 # Created
haml :"storage_volumes/show"
@@ -663,6 +667,7 @@ collection :keys do
response.status = 201 # Created
haml :"keys/show", :ugly => true
end
+ format.json { convert_to_json(:key, @key)}
end
end
end
@@ -816,14 +821,17 @@ collection :buckets do
control do
@bucket = driver.create_bucket(credentials, params[:name], params)
respond_to do |format|
+ format.html do
+ redirect bucket_url(@bucket.id) if @bucket and @bucket.id
+ redirect buckets_url
+ end
format.xml do
response.status = 201 # Created
response['Location'] = bucket_url(@bucket.id)
haml :"buckets/show"
end
- format.html do
- redirect bucket_url(@bucket.id) if @bucket and @bucket.id
- redirect buckets_url
+ format.json do
+ convert_to_json(:bucket, @bucket)
end
end
end
@@ -878,6 +886,7 @@ collection :addresses do
@address = driver.create_address(credentials, {})
respond_to do |format|
format.html { haml :"addresses/show" }
+ format.json { convert_to_json(:address, @address) }
format.xml do
response.status = 201 # Created
response['Location'] = address_url(@address.id)