deltacloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From martha.c.ch...@gmail.com
Subject [PATCH 4/5] added address templates view files and address_template to entities
Date Mon, 14 Jan 2013 14:41:21 GMT
From: NjeriChelimo <martha.c.chumo@gmail.com>

---
 clients/cimi/app.rb                             |    1 +
 clients/cimi/lib/entities.rb                    |    1 +
 clients/cimi/lib/entities/address_template.rb   |   30 +++++++++++++++++++++++
 clients/cimi/views/address_templates/index.haml |   23 +++++++++++++++++
 clients/cimi/views/address_templates/show.haml  |   30 +++++++++++++++++++++++
 5 files changed, 85 insertions(+)
 create mode 100644 clients/cimi/lib/entities/address_template.rb
 create mode 100644 clients/cimi/views/address_templates/index.haml
 create mode 100644 clients/cimi/views/address_templates/show.haml

diff --git a/clients/cimi/app.rb b/clients/cimi/app.rb
index 9247254..988430a 100644
--- a/clients/cimi/app.rb
+++ b/clients/cimi/app.rb
@@ -20,6 +20,7 @@ module CIMI::Frontend
   class Application < Sinatra::Base
 
     use CIMI::Frontend::Address
+    use CIMI::Frontend::AddressTemplate
     use CIMI::Frontend::CloudEntryPoint
     use CIMI::Frontend::MachineConfiguration
     use CIMI::Frontend::MachineImage
diff --git a/clients/cimi/lib/entities.rb b/clients/cimi/lib/entities.rb
index 841c4e6..bb431ea 100644
--- a/clients/cimi/lib/entities.rb
+++ b/clients/cimi/lib/entities.rb
@@ -21,6 +21,7 @@ end
 require 'entities/base_entity'
 require 'entities/cloud_entry_point'
 require 'entities/address'
+require 'entities/address_template'
 require 'entities/machine_configuration'
 require 'entities/machine_admin'
 require 'entities/machine_image'
diff --git a/clients/cimi/lib/entities/address_template.rb b/clients/cimi/lib/entities/address_template.rb
new file mode 100644
index 0000000..667e647
--- /dev/null
+++ b/clients/cimi/lib/entities/address_template.rb
@@ -0,0 +1,30 @@
+# 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::Frontend::AddressTemplate < CIMI::Frontend::Entity
+
+  get '/cimi/address_templates/:id' do
+    address_templates_xml = get_entity('address_templates', params[:id], credentials)
+    @address_template = CIMI::Model::AddressTemplate.from_xml(address_templates_xml)
+    haml :'address_templates/show'
+  end
+
+  get '/cimi/address_templates' do
+    address_template_xml = get_entity_collection('address_templates', credentials)
+    @address_templates = CIMI::Model::AddressTemplateCollection.from_xml(address_template_xml)
+    haml :'address_templates/index'
+  end
+
+end
diff --git a/clients/cimi/views/address_templates/index.haml b/clients/cimi/views/address_templates/index.haml
new file mode 100644
index 0000000..93d1e48
--- /dev/null
+++ b/clients/cimi/views/address_templates/index.haml
@@ -0,0 +1,23 @@
+- @title=collection_name @address_templates
+
+- content_for :breadcrumb do
+  %ul.breadcrumb
+    %li
+      %a{ :href => "/cimi/cloudEntryPoint"} CloudEntryPoint
+      %span.divider="/"
+    %li.active
+      AddressTemplateCollection
+
+- content_for :actions do
+  %p
+    %a{ :href => "#{@address_templates.id}?format=xml", :class => 'label warning' }
XML
+    %a{ :href => "#{@address_templates.id}?format=json", :class => 'label warning'
} JSON
+
+%ul
+  - @address_templates.address_templates.each do |template|
+    %li
+      %a{ :href => "/cimi/address_templates/#{href_to_id(template.id)}"}=href_to_id(template.id)
+
+-details do
+  -row 'ID', @address_templates.id
+  -row 'Count', @address_templates.count
diff --git a/clients/cimi/views/address_templates/show.haml b/clients/cimi/views/address_templates/show.haml
new file mode 100644
index 0000000..aac2ff5
--- /dev/null
+++ b/clients/cimi/views/address_templates/show.haml
@@ -0,0 +1,30 @@
+- @title="#{@address_template.name}"
+
+- content_for :breadcrumb do
+  %ul.breadcrumb
+    %li
+      %a{ :href => "/cimi/cloudEntryPoint"} CloudEntryPoint
+      %span.divider="/"
+    %li
+      %a{ :href => "/cimi/network_port_templates"} AddressTemplateCollection
+      %span.divider="/"
+    %li.active
+      = @address_template.name
+
+- content_for :actions do
+  %p
+    %a{ :href => "#{@address_template.id}?format=xml", :class => 'label warning' }
XML
+    %a{ :href => "#{@address_template.id}?format=json", :class => 'label warning' }
JSON
+
+-details do
+  -row 'ID', @address_template.id
+  -row 'Name',@address_template.name
+  -row 'Description',@address_template.description
+  -row 'Created',@address_template.created
+  -row 'IP',@address_template.ip
+  -row 'Host name',@address_template.hostname
+  -row 'Allocation',@address_template.allocation
+  -row 'Default gateway',@address_template.default_gateway
+  -row 'DNS',@address_template.dns
+  -row 'Protocol',@address_template.protocol
+  -row 'mask',@address_template.mask
-- 
1.7.9.5


Mime
View raw message