def validateRCUArgsAndModel(model_context, model, alias_helper): has_atpdbinfo = 0 domain_info = model[model_constants.DOMAIN_INFO] if domain_info is not None: if model_constants.RCU_DB_INFO in domain_info: rcu_db_info = RcuDbInfo(alias_helper, domain_info[model_constants.RCU_DB_INFO]) has_tns_admin = rcu_db_info.has_tns_admin() has_regular_db = rcu_db_info.is_regular_db() has_atpdbinfo = rcu_db_info.has_atpdbinfo() if model_context.get_archive_file_name() and not has_regular_db: System.setProperty('oracle.jdbc.fanEnabled', 'false') # 1. If it does not have the oracle.net.tns_admin specified, then extract to domain/atpwallet # 2. If it is plain old regular oracle db, do nothing # 3. If it deos not have tns_admin in the model, then the wallet must be in the archive if not has_tns_admin: # extract the wallet first archive_file = WLSDeployArchive( model_context.get_archive_file_name()) atp_wallet_zipentry = None if archive_file: atp_wallet_zipentry = archive_file.getATPWallet() if atp_wallet_zipentry and model[ model_constants.TOPOLOGY]['Name']: extract_path = atp_helper.extract_walletzip( model, model_context, archive_file, atp_wallet_zipentry) # update the model to add the tns_admin model[model_constants.DOMAIN_INFO][ model_constants.RCU_DB_INFO][ model_constants. DRIVER_PARAMS_NET_TNS_ADMIN] = extract_path else: __logger.severe('WLSDPLY-12411', error=None, class_name=_class_name, method_name="validateRCUArgsAndModel") __clean_up_temp_files() tool_exit.end(model_context, CommandLineArgUtil.PROG_ERROR_EXIT_CODE) else: if model_context.get_domain_typedef().required_rcu(): if not model_context.get_rcu_database( ) or not model_context.get_rcu_prefix(): __logger.severe('WLSDPLY-12408', model_context.get_domain_type(), CommandLineArgUtil.RCU_DB_SWITCH, CommandLineArgUtil.RCU_PREFIX_SWITCH) __clean_up_temp_files() tool_exit.end(model_context, CommandLineArgUtil.PROG_ERROR_EXIT_CODE) return has_atpdbinfo
validate_model(model, model_context, aliases) if filter_helper.apply_filters(model, "create"): # if any filters were applied, re-validate the model validate_model(model, model_context, aliases) try: has_atp = validateRCUArgsAndModel(model_context, model, alias_helper) # check if there is an atpwallet and extract in the domain dir # it is to support non JRF domain but user wants to use ATP database archive_file_name = model_context.get_archive_file_name() if not has_atp and archive_file_name and os.path.exists( archive_file_name): archive_file = WLSDeployArchive(archive_file_name) if archive_file: atp_wallet_zipentry = archive_file.getATPWallet() if atp_wallet_zipentry: atp_helper.extract_walletzip(model, model_context, archive_file, atp_wallet_zipentry) creator = DomainCreator(model, model_context, aliases) creator.create() if has_atp: rcu_properties_map = model[model_constants.DOMAIN_INFO][ model_constants.RCU_DB_INFO] rcu_db_info = RcuDbInfo(alias_helper, rcu_properties_map) atp_helper.fix_jps_config(rcu_db_info, model_context) except WLSDeployArchiveIOException, ex: