19
19
import oracle .weblogic .deploy .util .ScriptRunnerException ;
20
20
import oracle .weblogic .deploy .util .StringUtils ;
21
21
22
- import org .python .core .PyClass ;
23
22
import org .python .core .PyDictionary ;
24
23
import org .python .core .PyString ;
25
24
@@ -72,7 +71,7 @@ public class RCURunner {
72
71
private boolean atpDB = false ;
73
72
private boolean sslDB = false ;
74
73
75
- private String atpSSlArgs = null ;
74
+ private String sslArgs = null ;
76
75
private String atpAdminUser = null ;
77
76
private String rcuAdminUser = DB_USER ;
78
77
private String atpDefaultTablespace = null ;
@@ -136,36 +135,23 @@ public static RCURunner createRunner(String domainType, String oracleHome, Strin
136
135
* @param javaHome the JAVA_HOME location
137
136
* @param rcuSchemas the list of RCU schemas to create (this list should not include STB)
138
137
* @param rcuVariables a comma separated list of key=value variables
139
- * @param connectionProperties dictionary of ATP specific arguments
138
+ * @param sslConnectionProperties dictionary of ATP specific arguments
140
139
* @throws CreateException if a parameter validation error occurs
141
140
*/
142
141
public static RCURunner createAtpRunner (String domainType , String oracleHome , String javaHome , String rcuDb ,
143
142
List <String > rcuSchemas , String rcuPrefix , String rcuVariables ,
144
143
String databaseType , PyDictionary runnerMap ,
145
- PyDictionary connectionProperties ) throws CreateException {
144
+ PyDictionary sslConnectionProperties ) throws CreateException {
146
145
147
146
RCURunner runner = new RCURunner (domainType , oracleHome , javaHome , rcuDb , rcuPrefix , rcuSchemas , rcuVariables );
148
147
149
- StringBuilder sslArgs = new StringBuilder ();
150
-
151
- for (Object connectionProperty : connectionProperties .keys ()) {
152
- if (sslArgs .length () != 0 ) {
153
- sslArgs .append (',' );
154
- }
155
- sslArgs .append (connectionProperty .toString ());
156
- sslArgs .append ('=' );
157
- PyDictionary valueObject = (PyDictionary )connectionProperties
158
- .get (new PyString (connectionProperty .toString ()));
159
- sslArgs .append (valueObject .get (new PyString ("Value" )));
160
- }
161
-
162
-
163
- addExtraSSLPropertyFromMap (runnerMap , connectionProperties , sslArgs , "javax.net.ssl.keyStorePassword" );
164
- addExtraSSLPropertyFromMap (runnerMap , connectionProperties , sslArgs , "javax.net.ssl.trustStorePassword" );
148
+ StringBuilder sslArgs = getSSLArgsStringBuilder (sslConnectionProperties );
165
149
150
+ addExtraSSLPropertyFromMap (runnerMap , sslConnectionProperties , sslArgs , "javax.net.ssl.keyStorePassword" );
151
+ addExtraSSLPropertyFromMap (runnerMap , sslConnectionProperties , sslArgs , "javax.net.ssl.trustStorePassword" );
166
152
167
153
runner .atpDB = true ; // "ATP".equals(databaseType); // or scan if there are any 'ssl' in properties ?
168
- runner .atpSSlArgs = sslArgs .toString ();
154
+ runner .sslArgs = sslArgs .toString ();
169
155
170
156
runner .atpAdminUser = get (runnerMap , "atp.admin.user" );
171
157
runner .atpDefaultTablespace = get (runnerMap , "atp.default.tablespace" );
@@ -174,6 +160,21 @@ public static RCURunner createAtpRunner(String domainType, String oracleHome, St
174
160
return runner ;
175
161
}
176
162
163
+ private static StringBuilder getSSLArgsStringBuilder (PyDictionary connectionProperties ) {
164
+ StringBuilder sslArgs = new StringBuilder ();
165
+
166
+ for (Object connectionProperty : connectionProperties .keys ()) {
167
+ if (sslArgs .length () != 0 ) {
168
+ sslArgs .append (',' );
169
+ }
170
+ String key = connectionProperty .toString ();
171
+ sslArgs .append (key );
172
+ sslArgs .append ('=' );
173
+ sslArgs .append (get (connectionProperties , key ));
174
+ }
175
+ return sslArgs ;
176
+ }
177
+
177
178
private static void addExtraSSLPropertyFromMap (PyDictionary runnerMap , PyDictionary connectionProperties ,
178
179
StringBuilder sslArgs , String key ) {
179
180
if (!connectionProperties .has_key (new PyString (key )) &&
@@ -199,44 +200,16 @@ private static void addExtraSSLPropertyFromMap(PyDictionary runnerMap, PyDiction
199
200
*/
200
201
public static RCURunner createSslRunner (String domainType , String oracleHome , String javaHome , String rcuDb ,
201
202
String rcuPrefix , List <String > rcuSchemas , String rcuVariables ,
202
- PyDictionary rcuProperties ) throws CreateException {
203
+ PyDictionary rcuProperties ,
204
+ PyDictionary sslConnectionProperties ) throws CreateException {
203
205
204
- String tnsAdmin = get (rcuProperties , "oracle.net.tns_admin" );
205
206
206
207
RCURunner runner = new RCURunner (domainType , oracleHome , javaHome , rcuDb , rcuPrefix , rcuSchemas , rcuVariables );
207
- String trustStorePassword = get (rcuProperties , "javax.net.ssl.trustStorePassword" );
208
- String trustStore = get (rcuProperties , "javax.net.ssl.keyStore" );
209
- String trustStoreType = get (rcuProperties , "javax.net.ssl.keyStoreType" );
210
- String keyStorePassword = get (rcuProperties , "javax.net.ssl.keyStorePassword" );
211
- String keyStore = get (rcuProperties , "javax.net.ssl.keyStore" );
212
- String keyStoreType = get (rcuProperties , "javax.net.ssl.keyStoreType" );
213
- String matchType = get (rcuProperties , "oracle.net.ssl_server_dn_match" );
214
- if (matchType == null || matchType .equals ("None" )) {
215
- matchType = Boolean .FALSE .toString ();
216
- }
217
-
218
208
219
- StringBuilder sslArgs = new StringBuilder ();
220
- sslArgs .append ("oracle.net.tns_admin=" );
221
- sslArgs .append (tnsAdmin );
222
-
223
- sslArgs .append (",javax.net.ssl.trustStore=" );
224
- sslArgs .append (tnsAdmin + "/" + trustStore );
225
- sslArgs .append (",javax.net.ssl.trustStoreType=" + trustStoreType );
226
- // If wallet type is SSO, no password present
227
- if (trustStorePassword != null && !trustStorePassword .equals ("None" )) {
228
- sslArgs .append (",javax.net.ssl.trustStorePassword=" + trustStorePassword );
229
- }
230
- sslArgs .append (",javax.net.ssl.keyStore=" );
231
- sslArgs .append (tnsAdmin + "/" + keyStore );
232
- sslArgs .append (",javax.net.ssl.keyStoreType=" + keyStoreType );
233
- if (keyStorePassword != null && !keyStorePassword .equals ("None" )) {
234
- sslArgs .append (",javax.net.ssl.keyStorePassword=" + keyStorePassword );
235
- }
236
- sslArgs .append (",oracle.net.ssl_server_dn_match=" + matchType );
209
+ StringBuilder sslArgs = getSSLArgsStringBuilder (sslConnectionProperties );
237
210
238
211
runner .sslDB = true ;
239
- runner .atpSSlArgs = sslArgs .toString ();
212
+ runner .sslArgs = sslArgs .toString ();
240
213
return runner ;
241
214
}
242
215
@@ -377,11 +350,11 @@ private String[] getCommandLineArgs(String operationSwitch) {
377
350
arguments .add (SERVER_DN_SWITCH );
378
351
arguments .add ("CN=ignored" );
379
352
arguments .add (SSLARGS );
380
- arguments .add (atpSSlArgs );
353
+ arguments .add (sslArgs );
381
354
} else if (sslDB ) {
382
355
arguments .add (USE_SSL_SWITCH );
383
356
arguments .add (SSLARGS );
384
- arguments .add (atpSSlArgs );
357
+ arguments .add (sslArgs );
385
358
arguments .add (DB_ROLE_SWITCH );
386
359
arguments .add (DB_ROLE );
387
360
arguments .add (DB_USER_SWITCH );
0 commit comments