From: Michal Fojtik <[email protected]>

Signed-off-by: Michal fojtik <[email protected]>
---
 server/lib/cimi/models.rb                   | 2 +-
 server/lib/cimi/models/base.rb              | 2 +-
 server/lib/cimi/models/cloud_entry_point.rb | 5 +++++
 server/lib/cimi/models/collection.rb        | 1 +
 server/lib/cimi/models/resource_metadata.rb | 2 --
 5 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/server/lib/cimi/models.rb b/server/lib/cimi/models.rb
index 3e7027d..7eda960 100644
--- a/server/lib/cimi/models.rb
+++ b/server/lib/cimi/models.rb
@@ -27,8 +27,8 @@ require_relative './models/action'
 require_relative './models/machine_volume'
 require_relative './models/disk'
 
-require_relative './models/cloud_entry_point'
 require_relative './models/resource_metadata'
+require_relative './models/cloud_entry_point'
 require_relative './models/volume'
 require_relative './models/volume_template'
 require_relative './models/volume_configuration'
diff --git a/server/lib/cimi/models/base.rb b/server/lib/cimi/models/base.rb
index 33bd842..5fdb69a 100644
--- a/server/lib/cimi/models/base.rb
+++ b/server/lib/cimi/models/base.rb
@@ -72,7 +72,7 @@ require 'xmlsimple'
 module CIMI::Model
 
   def self.register_as_root_entity!(klass, opts = {})
-    @root_entities ||= []
+    @root_entities ||= [CIMI::Model::CloudEntryPoint]
     @root_entities << klass
     name = klass.name.split("::").last.pluralize
     unless CIMI::Model::CloudEntryPoint.href_defined?(name)
diff --git a/server/lib/cimi/models/cloud_entry_point.rb 
b/server/lib/cimi/models/cloud_entry_point.rb
index 52a3015..7f274e9 100644
--- a/server/lib/cimi/models/cloud_entry_point.rb
+++ b/server/lib/cimi/models/cloud_entry_point.rb
@@ -15,6 +15,9 @@
 
 class CIMI::Model::CloudEntryPoint < CIMI::Model::Base
 
+  resource_attr :driver, :required => true
+  resource_attr :provider, :required => true
+
   # All possible CIMI collections, in the order in which they should appear
   # in the CEP
   COLLECTIONS = [ "resourceMetadata", "systems", "systemTemplates",
@@ -38,6 +41,8 @@ class CIMI::Model::CloudEntryPoint < CIMI::Model::Base
     self.new(entities(context).merge({
       :name => context.driver.name,
       :description => "Cloud Entry Point for the Deltacloud 
#{context.driver.name} driver",
+      :driver => context.driver.name,
+      :provider => context.current_provider,
       :id => context.cloudEntryPoint_url,
       :base_uri => context.base_uri + "/",
       :created => Time.now.xmlschema
diff --git a/server/lib/cimi/models/collection.rb 
b/server/lib/cimi/models/collection.rb
index 0587264..1836449 100644
--- a/server/lib/cimi/models/collection.rb
+++ b/server/lib/cimi/models/collection.rb
@@ -116,6 +116,7 @@ module CIMI::Model
       def list(context)
         entries = find(:all, context)
         desc = "#{self.name.split("::").last} Collection for the 
#{context.driver.name.capitalize} driver"
+        acts_as_root_entity unless collection_class
         id = context.send("#{collection_class.entry_name}_url")
         ops = []
         cimi_entity = collection_class.entry_name.to_s.singularize
diff --git a/server/lib/cimi/models/resource_metadata.rb 
b/server/lib/cimi/models/resource_metadata.rb
index 30e65d6..3ed88db 100644
--- a/server/lib/cimi/models/resource_metadata.rb
+++ b/server/lib/cimi/models/resource_metadata.rb
@@ -16,8 +16,6 @@
 
 class CIMI::Model::ResourceMetadata < CIMI::Model::Base
 
-  acts_as_root_entity
-
   text :name
 
   text :type_uri
-- 
1.8.0.2

Reply via email to