KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > hero > util > BonitaClient


1 package hero.util;
2
3 /*
4 *
5 * SoapClient.java -
6 * Copyright (C) 2003 Ecoo Team
7 * valdes@loria.fr
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public License
11 * as published by the Free Software Foundation; either version 2
12 * of the License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 */

23
24 import java.net.URL JavaDoc;
25 import java.util.ArrayList JavaDoc;
26 import java.util.Arrays JavaDoc;
27 import java.util.Collection JavaDoc;
28 import java.util.Iterator JavaDoc;
29
30 import org.apache.axis.client.Service;
31
32 import hero.interfaces.Constants;
33
34 import org.apache.axis.client.Stub;
35
36 import hero.net.UserSession.UserSession;
37 import hero.net.UserSession.UserSessionService;
38 import hero.net.UserSession.UserSessionServiceLocator;
39
40 import hero.net.ProjectSession.ProjectSession;
41 import hero.net.ProjectSession.ProjectSessionService;
42 import hero.net.ProjectSession.ProjectSessionServiceLocator;
43
44
45 public class BonitaClient {
46     // end points
47
private final String JavaDoc userSession = "UserSession";
48     private final String JavaDoc projectSession = "ProjectSession";
49     
50     //private ProjectSoapXML projectSoapClient;
51
private ProjectSession projectSessionClient;
52     private UserSession userSessionClient;
53     
54     // Network information
55
private String JavaDoc host;
56     private int port;
57     private String JavaDoc baseUrl = "/bonita_ws/services/";
58     
59     // User information
60
private String JavaDoc userName = null;
61     private String JavaDoc userPassword = null;
62
63     // manage transport to soap server...
64
private Service service;
65     private URL JavaDoc defaultUri;
66     private URL JavaDoc userUri;
67     private URL JavaDoc projectUri;
68     //private URL projectXMLUri;
69

70     // Persitance
71
private String JavaDoc currentProject;
72     private boolean permission = false;
73
74     //====================================================
75
private void createUserSoapCall() throws Exception JavaDoc {
76         Stub stub = ((Stub) userSessionClient);
77         stub.setUsername(this.userName);
78         stub.setPassword(this.userPassword);
79     }
80     private void createProjectSoapCall() throws Exception JavaDoc {
81         Stub stub = ((Stub) projectSessionClient);
82         stub.setUsername(this.userName);
83         stub.setPassword(this.userPassword);
84         stub.setMaintainSession(true);
85     }
86
87     //=========== Local ==================================
88
public void login(String JavaDoc user, String JavaDoc pass) throws Exception JavaDoc{
89         this.userName = user;
90         this.userPassword = pass;
91                         
92         UserSessionService serviceUS = new UserSessionServiceLocator();
93         userSessionClient = serviceUS.getUserSession(userUri);
94     
95         ProjectSessionService servicePSS = new ProjectSessionServiceLocator();
96         projectSessionClient = servicePSS.getProjectSession(projectUri);
97             
98         this.createUserSoapCall();
99         this.createProjectSoapCall();
100     }
101     public String JavaDoc getUser() throws Exception JavaDoc {
102         return (this.userName);
103     }
104     public String JavaDoc getProjectName() {
105         return this.currentProject;
106     }
107     public boolean hasPermission() {
108         return permission;
109     }
110
111     //====================================================
112

113     public BonitaClient(String JavaDoc host, int port, String JavaDoc urlBase) throws Exception JavaDoc {
114         this.host = host;
115         this.port = port;
116         this.baseUrl = urlBase;
117         // set all the possible endpoint
118
userUri = new URL JavaDoc("http://" + host + ":" + port + baseUrl + userSession);
119         projectUri = new URL JavaDoc("http://" + host + ":" + port + baseUrl + projectSession);
120     }
121
122     // SOAP ===============================================
123

124     public void initProject(String JavaDoc managerProject) throws Exception JavaDoc {
125         this.currentProject = managerProject;
126         projectSessionClient.initProject(currentProject);
127         
128         // Check the permission
129
permission = isInRole(userName, "admin");
130     }
131     
132     public void initModel(String JavaDoc managerProject) throws Exception JavaDoc {
133         this.currentProject = managerProject;
134         projectSessionClient.initModel(currentProject);
135         
136         // Check the permission
137
permission = isInRole(userName, "admin");
138     }
139     
140     public void initProject(String JavaDoc src, String JavaDoc dest) throws Exception JavaDoc {
141         this.login(this.userName,this.userPassword);
142         projectSessionClient.initProject(src,dest);
143         // Set the local var
144
this.currentProject = dest;
145     }
146
147     public void instantiateProject(String JavaDoc src) throws Exception JavaDoc {
148         this.login(this.userName,this.userPassword);
149         projectSessionClient.instantiateProject(src);
150     }
151         
152     public boolean openProject(String JavaDoc projectName) throws Exception JavaDoc {
153         initProject(projectName);
154         return true;
155     }
156     public boolean createProject(String JavaDoc projectName) throws Exception JavaDoc {
157         if (exists(projectName)) {
158             return false;
159         }
160         initProject(projectName);
161         return true;
162     }
163     
164     public boolean createModel(String JavaDoc modelName) throws Exception JavaDoc {
165         if (exists(modelName)) {
166             return false;
167         }
168         initModel(modelName);
169         return true;
170     }
171
172     public boolean cloneProject(String JavaDoc projectSrc, String JavaDoc projectDest) throws Exception JavaDoc {
173         if (exists(projectDest)) {
174             return false;
175         }
176         initProject(projectSrc, projectDest);
177         return true;
178     }
179
180     private boolean exists(String JavaDoc name) throws Exception JavaDoc {
181         Collection JavaDoc projects = getProjects();
182         Iterator JavaDoc i = projects.iterator();
183         while (i.hasNext()) {
184             String JavaDoc prj = (String JavaDoc) i.next();
185             if (prj.equalsIgnoreCase(name)) {
186                 return true;
187             }
188         }
189         return false;
190     }
191
192     public Collection JavaDoc getProjects() throws Exception JavaDoc {
193         ArrayList JavaDoc result = new ArrayList JavaDoc();
194         Object JavaDoc[] projects = userSessionClient.getProjectListNames();
195         Iterator JavaDoc i = ((java.util.List JavaDoc) Arrays.asList(projects)).iterator();
196         while (i.hasNext()) {
197             result.add(i.next());
198         }
199         return result;
200     }
201     
202     public Collection JavaDoc getProjectsList() throws Exception JavaDoc {
203         ArrayList JavaDoc result = new ArrayList JavaDoc();
204         Object JavaDoc[] projects = userSessionClient.getProjectList();
205         Iterator JavaDoc i = ((java.util.List JavaDoc) Arrays.asList(projects)).iterator();
206         while (i.hasNext()) {
207             result.add((hero.net.UserSession.BnProjectLightValue)i.next());
208         }
209         return result;
210     }
211     
212     public Collection JavaDoc getProjectInstances(String JavaDoc projectName) throws Exception JavaDoc {
213         ArrayList JavaDoc result = new ArrayList JavaDoc();
214         Object JavaDoc[] instances = userSessionClient.getProjectInstancesNames(projectName);
215         Iterator JavaDoc i = ((java.util.List JavaDoc) Arrays.asList(instances)).iterator();
216         while (i.hasNext()) {
217             result.add(i.next());
218         }
219         return result;
220     }
221
222     public Collection JavaDoc getInstances() throws Exception JavaDoc {
223         ArrayList JavaDoc result = new ArrayList JavaDoc();
224         Object JavaDoc[] instances = userSessionClient.getInstancesListNames();
225         Iterator JavaDoc i = ((java.util.List JavaDoc) Arrays.asList(instances)).iterator();
226         while (i.hasNext()) {
227             result.add(i.next());
228         }
229         return result;
230     }
231     
232     public boolean containsNode(String JavaDoc value) throws Exception JavaDoc {
233         Collection JavaDoc nodes = getNodes();
234
235         Iterator JavaDoc i = nodes.iterator();
236         while (i.hasNext()) {
237             String JavaDoc nodeName = (String JavaDoc) i.next();
238             if (value.equalsIgnoreCase(nodeName)) {
239                 return true;
240             }
241         }
242         return false;
243     }
244
245     public String JavaDoc getType() throws Exception JavaDoc {
246         return (projectSessionClient.getType());
247     }
248     
249     public String JavaDoc getStatus() throws Exception JavaDoc {
250         return (projectSessionClient.getStatus());
251     }
252     
253     public void setStatus(String JavaDoc status) throws Exception JavaDoc {
254         if (status.equals(Constants.Pj.ACTIVE))
255             projectSessionClient.activeProcess();
256         else
257             projectSessionClient.hideProcess();
258     }
259     
260     
261     public Collection JavaDoc getNodes() throws Exception JavaDoc {
262         ArrayList JavaDoc result = new ArrayList JavaDoc();
263         Object JavaDoc[] nodes = projectSessionClient.getNodesNames();
264         Iterator JavaDoc i = ((java.util.List JavaDoc) Arrays.asList(nodes)).iterator();
265         while (i.hasNext()) {
266             result.add(i.next());
267         }
268         return (result);
269     }
270     public Collection JavaDoc getEdges() throws Exception JavaDoc {
271         ArrayList JavaDoc result = new ArrayList JavaDoc();
272         Object JavaDoc[] edges = projectSessionClient.getEdgesNames();
273
274         Iterator JavaDoc i = ((java.util.List JavaDoc) Arrays.asList(edges)).iterator();
275         while (i.hasNext()) {
276             result.add(i.next());
277         }
278
279         return result;
280     }
281
282     public void addNodeProperty(String JavaDoc node, String JavaDoc key,String JavaDoc value, boolean propagate) throws Exception JavaDoc {
283         
284             projectSessionClient.setNodeProperty( node,key,value, propagate);
285         }
286         
287     public void addIteration(String JavaDoc from, String JavaDoc to, String JavaDoc condition) throws Exception JavaDoc {
288         projectSessionClient.addIteration(from,to,condition);
289     }
290     
291     public Collection JavaDoc getIterations() throws Exception JavaDoc {
292         ArrayList JavaDoc result = new ArrayList JavaDoc();
293         Object JavaDoc[] ite = projectSessionClient.getIterations();
294         
295         Iterator JavaDoc i = ((java.util.List JavaDoc) Arrays.asList(ite)).iterator();
296         while (i.hasNext()) {
297             result.add((hero.net.ProjectSession.BnIterationLightValue)i.next());
298         }
299
300         return result;
301     }
302         
303     public void addProjectProperty(String JavaDoc key,String JavaDoc value) throws Exception JavaDoc {
304         projectSessionClient.setProperty(key,value);
305     }
306     
307     public void addNodeInterHook(String JavaDoc node, String JavaDoc hook, String JavaDoc event, String JavaDoc value) throws Exception JavaDoc {
308         
309             projectSessionClient.addNodeInterHook(node,hook,event,6,value);
310     }
311     
312     public void addProjectInterHook(String JavaDoc hook, String JavaDoc event, String JavaDoc value) throws Exception JavaDoc {
313         projectSessionClient.addInterHook(hook,event,6,value);
314     }
315     
316     public void addNode(String JavaDoc name, String JavaDoc type) throws Exception JavaDoc {
317         int nodeType = 0;
318         if (type.equals("AND JOIN"))
319             nodeType = Constants.Nd.AND_JOIN_NODE;
320         if (type.equals("OR JOIN"))
321             nodeType = Constants.Nd.OR_JOIN_NODE;
322         if (type.equals("AND JOIN AUTO"))
323             nodeType = Constants.Nd.AND_JOIN_AUTOMATIC_NODE;
324         if (type.equals("OR JOIN AUTO"))
325             nodeType = Constants.Nd.OR_JOIN_AUTOMATIC_NODE;
326         if (type.equals("SUB PROCESS"))
327                     nodeType = Constants.Nd.SUB_PROCESS_NODE;
328         projectSessionClient.addNode(name, nodeType);
329
330     }
331     
332     public void addNodeSubProcess(String JavaDoc name, String JavaDoc projectName) throws Exception JavaDoc {
333         projectSessionClient.addNodeSubProcess(name,projectName);
334     }
335
336     public boolean deleteNode(String JavaDoc node) throws Exception JavaDoc {
337         projectSessionClient.deleteNode(node);
338         return true;
339     }
340     
341     public boolean deleteProject(String JavaDoc projectName) throws Exception JavaDoc {
342         userSessionClient.removeProject(projectName);
343         return true;
344     }
345
346
347     public void deleteEdges(Object JavaDoc[] edges) throws Exception JavaDoc {
348         for (int i = 0; i < edges.length; i++) {
349             projectSessionClient.deleteEdge((String JavaDoc) edges[i]);
350         }
351     }
352
353     public String JavaDoc addEdge(String JavaDoc src, String JavaDoc dest) throws Exception JavaDoc {
354         String JavaDoc name = null;
355         name = projectSessionClient.addEdge(src,dest);
356         return name;
357     }
358
359     public String JavaDoc setEdgeCondition(String JavaDoc edgeName, String JavaDoc condition) throws Exception JavaDoc {
360         projectSessionClient.setEdgeCondition(edgeName,condition);
361         return edgeName;
362     }
363     
364     public String JavaDoc getEdgeCondition(String JavaDoc edgeName) throws Exception JavaDoc {
365             return(projectSessionClient.getEdgeCondition(edgeName));
366     }
367
368     public String JavaDoc getState(String JavaDoc name) throws Exception JavaDoc {
369         int state = getNodeState(name);
370         switch (state) {
371             case Constants.Nd.INITIAL :
372                 return ("Initial");
373             case Constants.Nd.READY :
374                 return ("Ready");
375             case Constants.Nd.ANTICIPABLE :
376                 return ("Anticipable");
377             case Constants.Nd.ANTICIPATING :
378                 return ("Anticipating");
379             case Constants.Nd.EXECUTING :
380                 return ("Executing");
381             case Constants.Nd.EXECUTED :
382                 return ("Executed");
383             case Constants.Nd.TERMINATED :
384                 return ("Terminated");
385             case Constants.Nd.ANT_SUSPENDED :
386                 return ("Ant_suspended");
387             case Constants.Nd.EXEC_SUSPENDED :
388                 return ("Exec_suspended");
389         }
390         return ("");
391     }
392
393     public int getNodeState(String JavaDoc name) throws Exception JavaDoc {
394         return (projectSessionClient.getNodeState(name));
395     }
396     
397     public int getNodeType(String JavaDoc name) throws Exception JavaDoc {
398             return (projectSessionClient.getNodeType(name));
399         }
400
401     public boolean getNodeAnticipable(String JavaDoc name) throws Exception JavaDoc {
402         return (projectSessionClient.getNodeAnticipable(name));
403     }
404     
405     public String JavaDoc getNodeInterHookValue(String JavaDoc nodeName, String JavaDoc hookName) throws Exception JavaDoc {
406         return (projectSessionClient.getNodeInterHookValue(nodeName,hookName));
407     }
408     
409     public void setNodeInterHookValue(String JavaDoc nodeName, String JavaDoc hookName, String JavaDoc value) throws Exception JavaDoc {
410         projectSessionClient.setNodeInterHookValue(nodeName,hookName,value);
411     }
412     
413     public String JavaDoc getProjectInterHookValue(String JavaDoc hookName) throws Exception JavaDoc {
414         return (projectSessionClient.getInterHookValue(hookName));
415     }
416     
417     public void setProjectInterHookValue(String JavaDoc hookName, String JavaDoc value) throws Exception JavaDoc {
418         projectSessionClient.setInterHookValue(hookName,value);
419     }
420     
421     public String JavaDoc getNodeDescription(String JavaDoc nodeName) throws Exception JavaDoc {
422         return (projectSessionClient.getNodeDescription(nodeName));
423     }
424     
425     public void setNodeDescription(String JavaDoc nodeName, String JavaDoc description) throws Exception JavaDoc {
426         projectSessionClient.setNodeDescription(nodeName,description);
427     }
428
429     public void setNodeTraditional(String JavaDoc nodeName) throws Exception JavaDoc {
430         projectSessionClient.setNodeTraditional(nodeName);
431     }
432
433     public void setNodeAnticipable(String JavaDoc nodeName) throws Exception JavaDoc {
434         projectSessionClient.setNodeAnticipable(nodeName);
435     }
436
437     public String JavaDoc getEdgeInNode(String JavaDoc name) throws Exception JavaDoc {
438         return (projectSessionClient.getEdgeInNode(name));
439     }
440
441     public String JavaDoc getEdgeOutNode(String JavaDoc name) throws Exception JavaDoc {
442         return (projectSessionClient.getEdgeOutNode(name));
443     }
444
445     public boolean isActive(String JavaDoc name) throws Exception JavaDoc { //Only used by WFmanager.updateStatus
446
int state = getNodeState(name);
447         switch (state) {
448             case Constants.Nd.INITIAL :
449                 return false;
450             case Constants.Nd.READY :
451                 return false;
452             case Constants.Nd.ANTICIPABLE :
453                 return false;
454             case Constants.Nd.ANTICIPATING :
455                 return true;
456             case Constants.Nd.EXECUTING :
457                 return true;
458             case Constants.Nd.EXECUTED :
459                 return false;
460             case Constants.Nd.TERMINATED :
461                 return true;
462             case Constants.Nd.ANT_SUSPENDED :
463                 return false;
464             case Constants.Nd.EXEC_SUSPENDED :
465                 return false;
466         }
467         return false;
468     }
469
470     public String JavaDoc getType(String JavaDoc name) throws Exception JavaDoc {
471         int type = projectSessionClient.getNodeType(name);
472         switch (type) {
473             case Constants.Nd.AND_JOIN_NODE :
474                 return ("And Join");
475             case Constants.Nd.OR_JOIN_NODE :
476                 return ("Or Join");
477             case Constants.Nd.AND_JOIN_AUTOMATIC_NODE :
478                 return ("And Join Automatic");
479             case Constants.Nd.OR_JOIN_AUTOMATIC_NODE :
480                 return ("Or Join Automatic");
481             case Constants.Nd.SUB_PROCESS_NODE :
482                 return ("Sub Procss");
483         }
484         return ("");
485     }
486
487     public String JavaDoc getRole(String JavaDoc name) throws Exception JavaDoc {
488         return(projectSessionClient.getNodeRoleName(name));
489     }
490
491     public void setNodeRole(String JavaDoc node, String JavaDoc newRole) throws Exception JavaDoc {
492         projectSessionClient.setNodeRole(node,newRole);
493     }
494                 
495
496     public String JavaDoc getDeadline(String JavaDoc name) throws Exception JavaDoc {
497         return(projectSessionClient.getNodeDeadline(name));
498     }
499     
500     public void setDeadline(String JavaDoc node, long dl) throws Exception JavaDoc {
501         projectSessionClient.setNodeDeadline(node,dl);
502     }
503
504     public Collection JavaDoc getRoles() throws Exception JavaDoc {
505         ArrayList JavaDoc result = new ArrayList JavaDoc();
506         Object JavaDoc[] roles = projectSessionClient.getRolesNames();
507         Iterator JavaDoc i = ((java.util.List JavaDoc) Arrays.asList(roles)).iterator();
508         while (i.hasNext()) {
509             result.add(i.next());
510         }
511         return (result);
512     }
513
514     public Collection JavaDoc getUsersInProject() throws Exception JavaDoc {
515         ArrayList JavaDoc result = new ArrayList JavaDoc();
516         Object JavaDoc[] users = projectSessionClient.getUsers();
517         Iterator JavaDoc i = ((java.util.List JavaDoc) Arrays.asList(users)).iterator();
518         while (i.hasNext()) {
519             result.add(i.next());
520         }
521         return (result);
522     }
523
524     public Collection JavaDoc getAllUsers() throws Exception JavaDoc {
525         ArrayList JavaDoc result = new ArrayList JavaDoc();
526         Object JavaDoc[] users = projectSessionClient.getAllUsers();
527         Iterator JavaDoc i = ((java.util.List JavaDoc) Arrays.asList(users)).iterator();
528         while (i.hasNext()) {
529             result.add(i.next());
530         }
531         return (result);
532     }
533
534     public void addUser(String JavaDoc name) throws Exception JavaDoc {
535         projectSessionClient.addUser(name);
536     }
537     public void addRole(String JavaDoc name, String JavaDoc desc) throws Exception JavaDoc {
538         projectSessionClient.addRole(name,desc);
539     }
540     public void setUserRole(String JavaDoc name, String JavaDoc role) throws Exception JavaDoc {
541         projectSessionClient.setUserRole(name,role);
542     }
543     
544     public void addRoleMapper(String JavaDoc role, String JavaDoc mapper, String JavaDoc type) throws Exception JavaDoc {
545         int mapperType=0;
546         if (type.equals(Constants.Mapper.PROPERTIESMAPPER))
547             mapperType=1;
548         if (type.equals(Constants.Mapper.CUSTOMMAPPER))
549             mapperType=2;
550         projectSessionClient.addRoleMapper(role,mapper,mapperType);
551     }
552     
553     public void addNodePerformerAssigment(String JavaDoc node, String JavaDoc name, String JavaDoc type, String JavaDoc property) throws Exception JavaDoc {
554         int performerType=0;
555         if (type.equals(Constants.PerformerAssigment.PROPERTIESPA))
556             performerType=1;
557         projectSessionClient.addNodePerformerAssign(node, name, performerType, property);
558     }
559
560     public boolean isInRole(String JavaDoc name, String JavaDoc role) throws Exception JavaDoc {
561         Object JavaDoc[] projects = projectSessionClient.getUserRolesInProjectNames(name);
562
563         Iterator JavaDoc i = ((java.util.List JavaDoc) Arrays.asList(projects)).iterator();
564         while (i.hasNext()) {
565             String JavaDoc roleName = (String JavaDoc) i.next();
566             if (roleName.equals(role))
567                 return true;
568         }
569         return false;
570     }
571
572     public Collection JavaDoc getToDoList(String JavaDoc project) throws Exception JavaDoc {
573         ArrayList JavaDoc result = new ArrayList JavaDoc();
574         Object JavaDoc[] activity = userSessionClient.getToDoList(project);
575         Iterator JavaDoc i = ((java.util.List JavaDoc) Arrays.asList(activity)).iterator();
576         while (i.hasNext()) {
577             result.add(i.next());
578         }
579         return result;
580     }
581     
582     public Collection JavaDoc getActivityList(String JavaDoc project) throws Exception JavaDoc {
583         ArrayList JavaDoc result = new ArrayList JavaDoc();
584         Object JavaDoc[] activity = userSessionClient.getActivityList(project);
585         Iterator JavaDoc i = ((java.util.List JavaDoc) Arrays.asList(activity)).iterator();
586         while (i.hasNext()) {
587             result.add(i.next());
588         }
589         return result;
590     }
591
592     
593     public Object JavaDoc[] getProjectNodes() throws Exception JavaDoc {
594             return(projectSessionClient.getNodes());
595         }
596         
597     public Collection JavaDoc getProperties() throws Exception JavaDoc {
598         ArrayList JavaDoc result = new ArrayList JavaDoc();
599         Object JavaDoc[] prop = projectSessionClient.getPropertiesKey();
600         Iterator JavaDoc i = ((java.util.List JavaDoc) Arrays.asList(prop)).iterator();
601         while (i.hasNext()) {
602             result.add(i.next());
603         }
604         return result;
605     }
606     
607     public void setEditNode(String JavaDoc node, String JavaDoc role, String JavaDoc description, long date) throws Exception JavaDoc {
608             projectSessionClient.setEditNode(node, role, description,date);
609         }
610
611     public void startActivity(String JavaDoc project, String JavaDoc activity) throws Exception JavaDoc {
612         userSessionClient.startActivity(project,activity);
613     }
614
615     public void terminateActivity(String JavaDoc project, String JavaDoc activity) throws Exception JavaDoc {
616         userSessionClient.terminateActivity(project,activity);
617     }
618     public void cancelActivity(String JavaDoc project, String JavaDoc activity) throws Exception JavaDoc {
619         userSessionClient.cancelActivity(project,activity);
620     }
621     
622     public void terminateProject(String JavaDoc project) throws Exception JavaDoc {
623         userSessionClient.terminate(project);
624     }
625     public hero.net.ProjectSession.StrutsNodeValue getStrutsNode(String JavaDoc name) throws Exception JavaDoc {
626         return(projectSessionClient.getStrutsNode(name));
627     }
628
629 }
630
Popular Tags