KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > Raptor > transactions > querySearch_tr


1 /*******************************************************************************
2  * Copyright (c) 2004, Dirk von der Weiden.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Common Public License v1.0
5  * which accompanies this distribution.
6  *
7  * Contributors:
8  * Dirk von der Weiden - initial API and implementation
9  *
10  * Created on 04.04.2004
11  *
12  * date: 04.04.2004
13  * project: WiSer Builder
14  *
15  *******************************************************************************/

16
17 package Raptor.transactions;
18
19 import Jmc.seviceLayer.base_transaction;
20 import Jmc.baseTools.*;
21 import Jmc.commonGui.*;
22 import Jmc.model.*;
23 import Jmc.connector.*;
24 import Jmc.baseGui.*;
25
26 import java.util.*;
27
28 import Raptor.model.*;
29
30 public class querySearch_tr extends base_transaction
31 {
32   public querySearch_tr()
33   {
34     super();
35     
36     this.pcmf_setWorkFct(new work ());
37   }
38   
39   class work implements base_executableObject_if
40   {
41     public model_query l_query = new model_query();
42     private boolean pem_first = false;
43     public remote_container l_cont = new remote_container ();
44     
45     private class tableselect implements base_guiListener
46     {
47       public void pcmf_execListener(base_guiObj xParam) throws Exception JavaDoc
48       {
49         Iterator l_it = ((base_multiSelectable_if)xParam).pcmf_getValues().pcmf_getValueIt();
50         l_cont.pcmf_clearRemoteValues_S2C();
51         int l_row = 0;
52         Object JavaDoc l_value = null;
53         while (l_it.hasNext())
54         {
55           l_row = Integer.parseInt(l_it.next().toString());
56           l_value = ((model_query.node_desc)work.this.l_query.pcmf_getObj(l_row)).pcm_value;
57           if (l_value instanceof base_registredObject)
58             l_cont.pcmf_addRemoteValue_S2C(((base_registredObject)l_value));
59         }
60         
61         base_dialog_if l_dialog = (base_dialog_if)base_registredObject.pcmf_getObjByName("Query_dlg");
62         base_guiObj l_tabPane= (base_guiObj)l_dialog.pcmf_getGuiObj().pcmf_getSubNode("QueryTab");
63         base_guiObj l_resform = (base_guiObj)l_tabPane.pcmf_getSubNode("Result");
64         base_guiObj l_val = (base_guiObj)l_resform.pcmf_getSubNode("Selection");
65                 
66         l_val.pcmf_setValue(l_cont);
67         l_val.pcmf_repaint();
68         
69         return;
70       }
71     }
72
73     private class tablegoTo implements base_guiListener
74     {
75       public void pcmf_execListener(base_guiObj xParam) throws Exception JavaDoc
76       {
77         base_guiObj l_obj = (base_guiObj)xParam;
78         base_appl_if l_appl = l_obj.pcmf_getAppl();
79         raptor_mainModel l_model= (raptor_mainModel)l_appl.pcmf_getGuiObj().pcmf_getModel();
80         
81         try
82         {
83           base_dialog_if l_dialog = (base_dialog_if)base_registredObject.pcmf_getObjByName("Query_dlg");
84           base_guiObj l_tabPane= (base_guiObj)l_dialog.pcmf_getGuiObj().pcmf_getSubNode("QueryTab");
85
86           base_guiObj l_resform = (base_guiObj)l_tabPane.pcmf_getSubNode("Result");
87           base_guiObj l_val = (base_guiObj)l_resform.pcmf_getSubNode("Selection");
88         
89           l_model.getPem_appTree().pcmf_setValue(l_val.pcmf_getValue());
90           l_model.getPem_appTree().pcmf_repaint();
91
92           Object JavaDoc l_select = l_model.getPem_appTree().pcmf_getValue();
93           if (l_select instanceof base_multipleModelValue_if)
94             l_model.setPem_treeSelection((base_multipleModelValue_if)l_select);
95           else
96           if (l_select instanceof base_treeNode)
97           {
98             Object JavaDoc l_tobj = ((base_treeNode)l_select).pcmf_getValue();
99             if (l_tobj instanceof base_multipleModelValue_if)
100               l_model.setPem_treeSelection((base_multipleModelValue_if)l_tobj);
101           }
102           l_model.pcmf_refreshSourceView();
103         }
104         catch (Exception JavaDoc e)
105         {
106           l_model.pcmf_addMessage("- please mark a valid jump-target", raptor_mainModel.RAPTOR_MESSAGE);
107           base_log.pcmf_logException(l_appl.pcmf_getGuiObj().pcmf_getName(), this, e);
108         }
109         
110         return;
111       }
112     }
113     
114     public Object JavaDoc pcmf_execObj(Object JavaDoc xObj)
115     {
116       base_guiObj l_obj = (base_guiObj)xObj;
117       base_appl_if l_appl = l_obj.pcmf_getAppl();
118       raptor_mainModel l_model= (raptor_mainModel)l_appl.pcmf_getGuiObj().pcmf_getModel();
119       base_multipleModelValue_if l_selection = l_model.getPem_treeSelection();
120       
121       Collection l_tableRows = new Vector ();
122       Collection l_header = new Vector ();
123       l_header.add("Node ");
124       l_header.add("Name ");
125       l_header.add("Path ");
126       l_header.add("Value ");
127       
128       l_tableRows.add(l_header);
129       
130       // Daten aus GUI holen
131
base_dialog_if l_dialog = (base_dialog_if)base_registredObject.pcmf_getObjByName("Query_dlg");
132       base_guiObj l_tabPane= (base_guiObj)l_dialog.pcmf_getGuiObj().pcmf_getSubNode("QueryTab");
133       base_guiObj l_form = (base_guiObj)l_tabPane.pcmf_getSubNode("Query");
134       base_guiObj l_attr = (base_guiObj)l_form.pcmf_getSubNode("AttrInput");
135       base_guiObj l_node = (base_guiObj)l_form.pcmf_getSubNode("NodeInput");
136       base_guiObj l_path = (base_guiObj)l_form.pcmf_getSubNode("PathInput");
137       base_guiObj l_val = (base_guiObj)l_form.pcmf_getSubNode("ValueInput");
138
139       base_guiObj l_resform = (base_guiObj)l_tabPane.pcmf_getSubNode("Result");
140       base_table_if l_table = (base_table_if)l_resform.pcmf_getSubNode("pane").pcmf_getSubNode("ResTable");
141       base_guiObj l_sel = (base_guiObj)l_resform.pcmf_getSubNode("go");
142       
143       if (!this.pem_first)
144       {
145         l_table.pcmf_getGuiObj().pcmf_addListener(new tableselect());
146         l_sel.pcmf_addListener(new tablegoTo());
147         
148         this.pem_first = true;
149       }
150       
151       try
152       {
153         l_query.pcmf_resetQuery();
154         l_query.pcmf_setAttrExpr(l_attr.pcmf_getValue().toString());
155         l_query.pcmf_setPathExpr(l_path.pcmf_getValue().toString());
156         l_query.pcmf_setValueExpr(l_val.pcmf_getValue().toString());
157         l_query.pcmf_setNodeExpr(l_node.pcmf_getValue().toString());
158         
159         Iterator l_it = l_query.pcmf_execQuery(l_selection).iterator();
160         model_query.node_desc l_desc = null;
161         Collection l_row = null;
162         while (l_it.hasNext())
163         {
164           l_desc = (model_query.node_desc)l_it.next();
165           l_row = new Vector();
166           if (l_desc.pcm_value instanceof base_multipleModelValue_if)
167             l_row.add(l_desc.pcm_value);
168           else
169             l_row.add("-");
170             
171           l_row.add(l_desc.pcm_name);
172           l_row.add(l_desc.pcm_path);
173           l_row.add(l_desc.pcm_value.toString());
174           l_tableRows.add(l_row);
175         }
176         l_table.pcmf_refresh(l_tableRows);
177       }
178       catch (Exception JavaDoc e)
179       {
180         l_model.pcmf_addMessage("- error in query", raptor_mainModel.RAPTOR_ERROR);
181         base_log.pcmf_logException(l_appl.pcmf_getGuiObj().pcmf_getName(), this, e);
182       };
183       
184       if (l_table.pcmf_getRowCount() > 200)
185         l_appl.pcmf_getGuiObj().pcmf_repaint();
186         
187       l_tabPane.pcmf_setValue("Result");
188       l_tabPane.pcmf_repaint();
189       l_appl.pcmf_setActive(null);
190       
191       return (null);
192     };
193   };
194 }
Popular Tags