KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > Raptor > transactions > commitSourceChange_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 java.util.*;
20
21 import Jmc.seviceLayer.base_transaction;
22 import Jmc.baseTools.*;
23 import Jmc.commonGui.*;
24 import Jmc.baseGui.*;
25 import Jmc.persist.*;
26 import Jmc.model.*;
27
28 import Raptor.model.*;
29
30 /**
31  * @author Dirk
32  *
33  * date: 03.01.2004
34  * project: WiSer-Builder
35  *
36  * <p>
37  * ...
38  * </p>
39  */

40 public class commitSourceChange_tr extends base_transaction
41 {
42
43   public commitSourceChange_tr()
44   {
45     super();
46     
47     this.pcmf_setWorkFct(new work ());
48   }
49   
50   class work implements base_executableObject_if
51   {
52     public Object JavaDoc pcmf_execObj(Object JavaDoc xObj)
53     {
54       base_guiObj l_obj = (base_guiObj)xObj;
55       base_appl_if l_appl = l_obj.pcmf_getAppl();
56       raptor_mainModel l_model= (raptor_mainModel)l_appl.pcmf_getGuiObj().pcmf_getModel();
57       base_guiObj l_tree = l_model.getPem_appTree();
58       base_guiObj l_parContainer = l_model.getPem_editWin();
59       int l_idx = 0;
60       
61       try
62       {
63         base_treeNode l_node = (base_treeNode)l_model.getPem_treeSelection();
64         
65         if (l_tree.pcmf_getValue() == ((base_treeView_if)l_tree).pcmf_getRoot())
66         {
67           l_model.pcmf_addMessage("- changes in root node not allowed, please select a widget", raptor_mainModel.RAPTOR_MESSAGE);
68           return(null);
69         }
70         
71         boolean l_selState = l_node.pcmf_ishidden();
72         base_treeNode l_parent = l_node.pcmf_getParentNode();
73         
74         base_remoteTreeMultiValue l_sel = new base_remoteTreeMultiValue ();
75         base_tpl2dataXmlReader l_r = new base_tpl2dataXmlReader (l_model.getPem_sourceWin().pcmf_getValue().toString().getBytes(), false);
76         
77         l_r.pcmf_read(l_appl.pcmf_getGuiObj().pcmf_getModelTpl(), l_sel);
78
79         base_treeNode l_new = l_sel.pcmf_getFirstSubNode();
80         l_idx = l_parent.pcmf_indexOf(l_node);
81         l_parent.pcmf_removeNode(l_node);
82         if (l_node == l_model.getPem_inEditor())
83         {
84           base_treeNode l_inEd = (base_treeNode)l_model.getPem_inEditor();
85           base_guiObj l_page = ((base_multipleModelValue_if)l_new).pcmf_getUiMap();
86                 
87           base_guiObj l_actObj = null;
88           Iterator l_it = l_parContainer.pcmf_getSubIterator();
89           Object JavaDoc l_test = null;
90           while (l_it.hasNext())
91           {
92             l_test = l_it.next();
93             if (l_test instanceof base_eventChannel_if == false)
94             {
95               l_actObj = (base_guiObj)l_test;
96               break;
97             }
98           }
99           String JavaDoc act = null;
100           if (l_actObj != null)
101           {
102             act = l_actObj.pcmf_getName();
103             l_parContainer.pcmf_removeNode(act);
104           };
105
106           if (l_inEd != null && l_inEd.pcmf_getParentNode() == null)
107           {
108             l_inEd.pcmf_releaseSubs();
109             l_model.pcmf_addMessage("- node permantentely removed", raptor_mainModel.RAPTOR_INFO);
110           }
111
112           ((base_multipleModelValue_if)l_new).pcmf_model2UI();
113           l_parContainer.pcmf_addNode(l_page.pcmf_getName(), l_page);
114           ((base_guiContainer_if)l_parContainer).pcmf_setGuiObjPosition(l_page.pcmf_getName(), 0, 0, 1, 1, "WEST");
115           l_model.setPem_inEditor(((base_multipleModelValue_if)l_new));
116         }
117         else
118           l_node.pcmf_releaseSubs();
119
120         l_sel.pcmf_removeNode(l_new);
121         l_parent.pcmf_addNode(l_new.pcmf_getName(), l_new, l_idx);
122         l_new.pcmf_HideAll();
123                 
124         if (l_selState)
125           l_new.pcmf_hide();
126         else
127           l_new.pcmf_unhide();
128         
129         l_tree.pcmf_setWidgetValue(l_new);
130         l_tree.pcmf_repaint();
131                    
132         l_model.setPem_treeSelection((base_remoteTreeMultiValue)l_new);
133         l_model.pcmf_refreshSourceView();
134         l_model.pcmf_createAutoWdgPreview((base_multipleModelValue_if)l_node, (base_multipleModelValue_if) l_new);
135         
136         l_appl.pcmf_setActive(null);
137       }
138       catch (Exception JavaDoc e)
139       {
140         l_model.pcmf_addMessage("- error parsing modified xml-source", raptor_mainModel.RAPTOR_ERROR);
141         base_log.pcmf_logException(l_appl.pcmf_getGuiObj().toString(), this, e);
142       }
143       
144       return (null);
145     };
146   };
147 }
Popular Tags