1919import oracle .weblogic .deploy .util .ScriptRunnerException ;
2020import oracle .weblogic .deploy .util .StringUtils ;
2121
22- import org .python .core .PyClass ;
2322import org .python .core .PyDictionary ;
2423import org .python .core .PyString ;
2524
@@ -72,7 +71,7 @@ public class RCURunner {
7271 private boolean atpDB = false ;
7372 private boolean sslDB = false ;
7473
75- private String atpSSlArgs = null ;
74+ private String sslArgs = null ;
7675 private String atpAdminUser = null ;
7776 private String rcuAdminUser = DB_USER ;
7877 private String atpDefaultTablespace = null ;
@@ -136,36 +135,23 @@ public static RCURunner createRunner(String domainType, String oracleHome, Strin
136135 * @param javaHome the JAVA_HOME location
137136 * @param rcuSchemas the list of RCU schemas to create (this list should not include STB)
138137 * @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
140139 * @throws CreateException if a parameter validation error occurs
141140 */
142141 public static RCURunner createAtpRunner (String domainType , String oracleHome , String javaHome , String rcuDb ,
143142 List <String > rcuSchemas , String rcuPrefix , String rcuVariables ,
144143 String databaseType , PyDictionary runnerMap ,
145- PyDictionary connectionProperties ) throws CreateException {
144+ PyDictionary sslConnectionProperties ) throws CreateException {
146145
147146 RCURunner runner = new RCURunner (domainType , oracleHome , javaHome , rcuDb , rcuPrefix , rcuSchemas , rcuVariables );
148147
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 );
165149
150+ addExtraSSLPropertyFromMap (runnerMap , sslConnectionProperties , sslArgs , "javax.net.ssl.keyStorePassword" );
151+ addExtraSSLPropertyFromMap (runnerMap , sslConnectionProperties , sslArgs , "javax.net.ssl.trustStorePassword" );
166152
167153 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 ();
169155
170156 runner .atpAdminUser = get (runnerMap , "atp.admin.user" );
171157 runner .atpDefaultTablespace = get (runnerMap , "atp.default.tablespace" );
@@ -174,6 +160,21 @@ public static RCURunner createAtpRunner(String domainType, String oracleHome, St
174160 return runner ;
175161 }
176162
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+
177178 private static void addExtraSSLPropertyFromMap (PyDictionary runnerMap , PyDictionary connectionProperties ,
178179 StringBuilder sslArgs , String key ) {
179180 if (!connectionProperties .has_key (new PyString (key )) &&
@@ -199,44 +200,16 @@ private static void addExtraSSLPropertyFromMap(PyDictionary runnerMap, PyDiction
199200 */
200201 public static RCURunner createSslRunner (String domainType , String oracleHome , String javaHome , String rcuDb ,
201202 String rcuPrefix , List <String > rcuSchemas , String rcuVariables ,
202- PyDictionary rcuProperties ) throws CreateException {
203+ PyDictionary rcuProperties ,
204+ PyDictionary sslConnectionProperties ) throws CreateException {
203205
204- String tnsAdmin = get (rcuProperties , "oracle.net.tns_admin" );
205206
206207 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-
218208
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 );
237210
238211 runner .sslDB = true ;
239- runner .atpSSlArgs = sslArgs .toString ();
212+ runner .sslArgs = sslArgs .toString ();
240213 return runner ;
241214 }
242215
@@ -377,11 +350,11 @@ private String[] getCommandLineArgs(String operationSwitch) {
377350 arguments .add (SERVER_DN_SWITCH );
378351 arguments .add ("CN=ignored" );
379352 arguments .add (SSLARGS );
380- arguments .add (atpSSlArgs );
353+ arguments .add (sslArgs );
381354 } else if (sslDB ) {
382355 arguments .add (USE_SSL_SWITCH );
383356 arguments .add (SSLARGS );
384- arguments .add (atpSSlArgs );
357+ arguments .add (sslArgs );
385358 arguments .add (DB_ROLE_SWITCH );
386359 arguments .add (DB_ROLE );
387360 arguments .add (DB_USER_SWITCH );
0 commit comments