Class SituationsController
In: app/controllers/situations_controller.rb
Parent: ApplicationController

Methods

check_connected   check_initialized   create   destroy   edit   index   new   show   type   update  

Public Instance methods

POST /situations POST /situations.xml

[Source]

    # File app/controllers/situations_controller.rb, line 47
47:         def create
48:                 @situation = Situation.new(params[:situation])
49:                 
50:                 respond_to do |format|
51:                         if @situation.save
52:                                 flash[:notice] = 'Situation was successfully created.'
53:                                 format.html { redirect_to(@situation) }
54:                                 format.xml  { render :xml => @situation, :status => :created, :location => @situation }
55:                                 else
56:                                 format.html { render :action => "new" }
57:                                 format.xml  { render :xml => @situation.errors, :status => :unprocessable_entity }
58:                                 end
59:                         end
60:                 end

DELETE /situations/1 DELETE /situations/1.xml

[Source]

    # File app/controllers/situations_controller.rb, line 82
82:         def destroy
83:                 @situation = Situation.find(params[:id])
84:                 @situation.destroy
85:                 
86:                 respond_to do |format|
87:                         format.html { redirect_to(situations_url) }
88:                         format.xml  { head :ok }
89:                         end
90:                 end

GET /situations/1/edit

[Source]

    # File app/controllers/situations_controller.rb, line 41
41:         def edit
42:                 @situation = Situation.find(params[:id])
43:                 end

GET /situations GET /situations.xml

[Source]

    # File app/controllers/situations_controller.rb, line 8
 8:         def index
 9:                 @situations = Situation.all
10:                 
11:                 respond_to do |format|
12:                         format.html # index.html.erb
13:                         format.xml  { render :xml => @situations }
14:                         end
15:                 end

GET /situations/new GET /situations/new.xml

[Source]

    # File app/controllers/situations_controller.rb, line 31
31:         def new
32:                 @situation = Situation.new
33:                 
34:                 respond_to do |format|
35:                         format.html # new.html.erb
36:                         format.xml  { render :xml => @situation }
37:                         end
38:                 end

GET /situations/1 GET /situations/1.xml

[Source]

    # File app/controllers/situations_controller.rb, line 19
19:         def show
20:                 @situation = Situation.find(params[:id])
21:                 
22:                 respond_to do |format|
23:                         format.html # show.html.erb
24:                         #format.xml  { render :xml => @situation }
25:                         format.xml  { render :layout => "layouts/owllink_request.xml.erb" }
26:                         end
27:                 end

[Source]

     # File app/controllers/situations_controller.rb, line 92
 92:         def type
 93:                 @situation = Situation.find(params[:id])
 94:                 kb = Owllink.get_kb session
 95:                 @request = Owllink.request_message(:namespaces => 
 96:                   {:owl => "http://www.w3.org/2002/07/owl#", :ret => "http://www.owllink.org/ext/retraction-xml#"}) {|xml| 
 97:                         xml.Tell(:kb => kb) {
 98:                                 @situation.to_OWL(xml)
 99:                         }
100:                         #    <GetTypes kb="situation" direct="true">
101:                         #        <owl:Individual abbreviatedIRI="<situation_iri>"/>
102:                         #    </GetTypes>
103:                         xml.GetTypes(:kb => kb, :direct => "true") {
104:                                 xml.owl(:NamedIndividual, :abbreviatedIRI => @situation.iri)
105:                         }
106:                         if Owllink.supports_retraction? session
107:                                 xml.ret(:Retract, :kb => kb) {
108:                                         @situation.to_OWL(xml)
109:                                 }
110:             else
111:                                 xml.ReleaseKB(:kb => kb)
112:             end
113:                 }
114:                 @reply = Owllink.post_request(@request)    
115:                 reply_doc = REXML::Document.new(@reply)     
116:                 @situation.types = reply_doc.elements.collect("/ResponseMessage/*[2]/*/owl:Class") { |element|
117:                   if Owllink.abbreviates_iris?(session)
118:                         "situation:" + element.attributes["abbreviatedIRI"].split(':')[1]
119:                   else
120:                         "situation:" + element.attributes["IRI"].split('#')[1]
121:           end
122:                 } 
123:                 @situation.save   
124:                 unless Owllink.supports_retraction? session
125:                         Owllink.set_kb(session,nil)
126:                         Owllink.set_initialized(session,false)
127:         end 
128:     end

PUT /situations/1 PUT /situations/1.xml

[Source]

    # File app/controllers/situations_controller.rb, line 64
64:         def update
65:                 params[:situation][:contact_ids] ||= [] 
66:                 @situation = Situation.find(params[:id])
67:                 
68:                 respond_to do |format|
69:                         if @situation.update_attributes(params[:situation])
70:                                 flash[:notice] = 'Situation was successfully updated.'
71:                                 format.html { redirect_to(@situation) }
72:                                 format.xml  { head :ok }
73:                                 else
74:                                 format.html { render :action => "edit" }
75:                                 format.xml  { render :xml => @situation.errors, :status => :unprocessable_entity }
76:                                 end
77:                         end
78:                 end

Protected Instance methods

[Source]

     # File app/controllers/situations_controller.rb, line 135
135:         def check_connected
136:                 unless Owllink.connected?(session)
137:                         flash[:notice] = "Connect first!"
138:                         redirect_to :action => 'index'
139:                         end  
140:                 end

[Source]

     # File app/controllers/situations_controller.rb, line 142
142:         def check_initialized
143:                 unless Owllink.initialized?(session)
144:                         flash[:notice] = "Initialize first!"
145:                         redirect_to :action => 'index'
146:                         end  
147:                 end

[Validate]