1 PACKAGE BODY CCT_MIGRATE_MW as
2 /* $Header: cctmigmb.pls 115.3 2004/06/22 02:47:02 gvasvani noship $ */
3 procedure migrate_middleware(p_mw1_id IN NUMBER,p_mw2_id IN NUMBER,p_name IN VARCHAR2 )
4 IS
5 l_mw_id NUMBER;
6 BEGIN
7 l_mw_id := '';
8 if (p_name is not null) then
9 begin
10 select middleware_id into l_mw_id from cct_middlewares
11 where middleware_type_id= p_mw1_id
12 and config_name=p_name
13 and nvl(f_deletedflag,'Y') <> 'D';
14 Exception
15 WHEN OTHERS THEN
16 return; --Given Config Name doesn't exists.
17 end;
18
19 update cct_middlewares set middleware_type_id=p_mw2_id
20 where middleware_type_id=p_mw1_id
21 and config_name=p_name;
22 else
23 update cct_middlewares set middleware_type_id=p_mw2_id
24 where middleware_type_id=p_mw1_id;
25
26 end if;
27 delete_params(p_mw1_id,p_mw2_id,l_mw_id);
28 update_params(p_mw1_id,p_mw2_id,l_mw_id);
29
30 --Delete older middleware type id, so it doesn't appear in Admin UI.
31 if (l_mw_id is null) then
32 delete cct_middleware_types
33 where middleware_type_id=p_mw1_id;
34 end if;
35 END;
36
37 procedure delete_params(p_mw1_id IN NUMBER,p_mw2_id IN NUMBER, p_mw_id IN NUMBER )
38 IS
39 BEGIN
40 SAVEPOINT CCT_MIDDLEWARE_DELETE_SAV;
41
42 if (p_mw_id is null) then
43 delete from cct_middleware_values where nvl(f_deletedflag,'Y') <> 'D'
44 and middleware_param_id IN
45 (
46 select mw.middleware_param_id
47 from cct_middleware_params mw
48 where middleware_type_id=p_mw1_id and nvl(mw.f_deletedflag,'Y') <> 'D'
49
50 minus
51
52 select mw1.middleware_param_id
53 from cct_middleware_params mw1, cct_middleware_params mw2
54 where mw1.middleware_type_id=p_mw1_id and mw2.middleware_type_id=p_mw2_id
55 and mw1.name=mw2.name
56 and nvl(mw1.f_deletedflag,'Y') <> 'D'
57 ) ;
58 else
59 delete from cct_middleware_values where middleware_id=p_mw_id and nvl(f_deletedflag,'Y') <> 'D'
60 and middleware_param_id IN
61 (
62 select mw.middleware_param_id
63 from cct_middleware_params mw
64 where middleware_type_id=p_mw1_id and nvl(mw.f_deletedflag,'Y') <> 'D'
65
66 minus
67
68 select mw1.middleware_param_id
69 from cct_middleware_params mw1, cct_middleware_params mw2
70 where mw1.middleware_type_id=p_mw1_id and mw2.middleware_type_id=p_mw2_id
71 and mw1.name=mw2.name
72 and nvl(mw1.f_deletedflag,'Y') <> 'D'
73
74 ) ;
75 end if;
76 EXCEPTION
77 WHEN OTHERS THEN
78 rollback TO SAVEPOINT CCT_MIDDLEWARE_DELETE_SAV;
79 raise_application_error(-20011, sqlerrm || 'Could not delete middlewares') ;
80 END;
81
82 procedure update_params(p_mw1_id IN NUMBER,p_mw2_id IN NUMBER, p_mw_id IN NUMBER )
83 IS
84 l_mw1_param_id cct_middleware_params.middleware_param_id%type;
85 l_mw2_param_id cct_middleware_params.middleware_param_id%type;
86
87 CURSOR c_mw IS
88 select mw1.middleware_param_id, mw2.middleware_param_id
89 from cct_middleware_params mw1, cct_middleware_params mw2
90 where mw1.middleware_type_id=p_mw1_id and mw2.middleware_type_id=p_mw2_id
91 and mw1.name=mw2.name
92 and nvl(mw1.f_deletedflag,'Y') <> 'D';
93 BEGIN
94 SAVEPOINT CCT_MIDDLEWARE_UPDATE_SAV;
95 OPEN c_mw;
96 LOOP
97 FETCH c_mw INTO l_mw1_param_id, l_mw2_param_id;
98 IF c_mw%NOTFOUND THEN
99 CLOSE c_mw;
100 exit;
101 ELSIF (p_mw_id is null) then
102 update cct_middleware_values Set middleware_param_id = l_mw2_param_id
103 where middleware_param_id = l_mw1_param_id and nvl(f_deletedflag,'Y') <> 'D' ;
104 ELSE
105 update cct_middleware_values Set middleware_param_id = l_mw2_param_id
106 where middleware_id=p_mw_id and middleware_param_id = l_mw1_param_id
107 and nvl(f_deletedflag,'Y') <> 'D' ;
108 END IF;
109 END LOOP;
110
111 EXCEPTION
112 WHEN OTHERS THEN
113 rollback TO SAVEPOINT CCT_MIDDLEWARE_UPDATE_SAV;
114 raise_application_error(-20012, sqlerrm || 'Could not update middlewares') ;
115 end;
116
117 procedure update_agent_params(p_mw1_id IN NUMBER,p_mw2_id IN NUMBER, p_mw_id IN NUMBER )
118 IS
119 l_mw1_param_id jtf_rs_resource_values.resource_param_id%type;
120 l_mw2_param_id jtf_rs_resource_values.resource_param_id%type;
121
122 CURSOR c_mw IS
123 select mw1.resource_param_id, mw2.resource_param_id
124 from jtf_rs_resource_params mw1, jtf_rs_resource_params mw2
125 where mw1.param_type=p_mw1_id and mw2.param_type=p_mw2_id
126 and mw1.name=mw2.name;
127 BEGIN
128 SAVEPOINT CCT_MIDDLEWARE_UPDATE_AGT_SAV;
129 OPEN c_mw;
130 LOOP
131 FETCH c_mw INTO l_mw1_param_id, l_mw2_param_id;
132 IF c_mw%NOTFOUND THEN
133 CLOSE c_mw;
134 exit;
135 ELSIF (p_mw_id is null) then
136 update jtf_rs_resource_values Set resource_param_id = l_mw2_param_id
137 where resource_param_id = l_mw1_param_id ;
138 ELSE
139 update jtf_rs_resource_values Set resource_param_id = l_mw2_param_id
140 where value_type=p_mw_id and resource_param_id = l_mw1_param_id ;
141 END IF;
142 END LOOP;
143
144 EXCEPTION
145 WHEN OTHERS THEN
146 rollback TO SAVEPOINT CCT_MIDDLEWARE_UPDATE_AGT_SAV;
147 raise_application_error(-20012, sqlerrm || 'Could not update agent paras') ;
148 end;
149
150 END CCT_MIGRATE_MW;