source: scenarios/InTheWild/cmionInTheWild/src/cmion/inTheWild/woz/ITWEmysWoz.java @ 1446

Revision 1446, 4.9 KB checked in by michael.kriegel, 7 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1/*     
2    CMION classes for "in the wild" scenario
3        Copyright(C) 2009 Heriot Watt University
4
5        This library is free software; you can redistribute it and/or
6        modify it under the terms of the GNU Lesser General Public
7        License as published by the Free Software Foundation; either
8        version 2.1 of the License, or (at your option) any later version.
9
10        This library is distributed in the hope that it will be useful,
11        but WITHOUT ANY WARRANTY; without even the implied warranty of
12        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13        Lesser General Public License for more details.
14
15        You should have received a copy of the GNU Lesser General Public
16        License along with this library; if not, write to the Free Software
17        Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
18
19        Authors:  Michael Kriegel
20
21        Revision History:
22  ---
23  27/11/2009      Michael Kriegel <mk95@hw.ac.uk>
24  First version.
25  --- 
26*/
27
28package cmion.inTheWild.woz;
29
30import javax.swing.SwingUtilities;
31
32import cmion.architecture.IArchitecture;
33import cmion.level3.AgentMindConnector;
34import cmion.level3.MindAction;
35
36public class ITWEmysWoz extends AgentMindConnector {
37
38        /** reference to the gui */
39        ITWEmysWozFrame wozGUI;
40       
41        public ITWEmysWoz(IArchitecture architecture) {
42                // call parent constructor
43                super(architecture);
44                // create gui
45                SwingUtilities.invokeLater(new Runnable()
46                {
47                        public void run() {
48                                wozGUI = new ITWEmysWozFrame(ITWEmysWoz.this);
49                                wozGUI.setLocationRelativeTo(null);
50                                wozGUI.setVisible(true);
51                        }
52                });     
53        }
54
55        @Override
56        protected void architectureReady() {}
57
58
59        @Override
60        public void awakeMind() {}
61
62
63        @Override
64        public boolean isMindSleeping()
65        {
66                return false;
67        }
68
69        /** print the failure of a Greta Action in the log*/   
70        @Override
71        protected void processActionFailure(MindAction a)
72        {
73                String newLogLine = null;
74                if (a.getName().equals("wozTalk") && a.getSubject().equals("Sarah"))
75                        newLogLine = "FAIL!!!!!" + a.getParameters().get(0);
76                else if (a.getName().equals("wozEmotion") && a.getSubject().equals("Sarah"))
77                        newLogLine = "FAIL!!!!! emotion: " + a.getParameters().get(0);
78                else if (a.getName().equals("wozGaze") && a.getSubject().equals("Sarah"))
79                        newLogLine = "FAIL!!!!! gaze: " + a.getParameters().get(0);
80                else if (a.getName().equals("wozQuestion") && a.getSubject().equals("Sarah"))
81                        newLogLine = "FAIL!!!!! question: " + a.getParameters().get(0) + " " + a.getParameters().get(1);
82
83                final String finalLogLine = newLogLine;
84               
85                if (finalLogLine!=null)
86                {
87                        SwingUtilities.invokeLater(new Runnable()
88                        {
89                                public void run()
90                                {
91                                        wozGUI.newLogLine("Greta",finalLogLine);
92                                }
93                        });             
94                }               
95        }
96       
97        /** print the success of a Greta Action in the log*/
98        @Override
99        protected void processActionSuccess(MindAction a)
100        {
101                String newLogLine = null;
102                if (a.getName().equals("wozTalk") && a.getSubject().equals("Sarah"))
103                        newLogLine = a.getParameters().get(0);
104                else if (a.getName().equals("wozEmotion") && a.getSubject().equals("Sarah"))
105                        newLogLine = "***** emotion: " + a.getParameters().get(0);
106                else if (a.getName().equals("wozGaze") && a.getSubject().equals("Sarah"))
107                        newLogLine = "***** gaze: " + a.getParameters().get(0);
108                else if (a.getName().equals("wozQuestion") && a.getSubject().equals("Sarah"))
109                        newLogLine = "***** question: " + a.getParameters().get(0) + " " + a.getParameters().get(1);
110                else if (a.getName().equals("wozSendSMS") && a.getSubject().equals("Sarah"))
111                        newLogLine = "sms: " + a.getParameters().get(1);
112
113               
114                final String finalLogLine = newLogLine;
115               
116                if (finalLogLine!=null)
117                {
118                        SwingUtilities.invokeLater(new Runnable()
119                        {
120                                public void run()
121                                {
122                                        wozGUI.newLogLine("Greta",finalLogLine);
123                                }
124                        });             
125                }
126        }
127
128        @Override
129        protected void processEntityAdded(String entityName) {}
130
131        @Override
132        protected void processEntityRemoved(String entityName) {}
133
134        @Override
135        protected void processPropertyChanged(String entityName,
136                        String propertyName, String propertyValue, boolean persistent) {}
137
138        @Override
139        protected void processPropertyRemoved(String entityName, String propertyName) {}
140
141
142        /** this method handles actions by the user (e.g. send an sms) */
143        @Override
144        protected void processRemoteAction(final MindAction remoteAction)
145        {
146                if (remoteAction.getName().equals("sms") && remoteAction.getParameters().size()>0)
147                {
148                        SwingUtilities.invokeLater(new Runnable()
149                        {
150                                public void run()
151                                {
152                                        wozGUI.newLogLine(remoteAction.getSubject(),remoteAction.getParameters().get(0));
153                                }
154                        });             
155                }
156               
157        }
158
159
160
161        @Override
162        public void sendMindToSleep() {}
163
164        @Override
165        protected void processActionCancellation(MindAction a) {
166                // TODO Auto-generated method stub
167               
168        }
169
170        @Override
171        protected void processRawMessage(String message) {
172                // TODO Auto-generated method stub
173               
174        }
175       
176       
177       
178}
Note: See TracBrowser for help on using the repository browser.