Skip to content

Commit 5d9e6c5

Browse files
rakillenrobertpatrick
authored andcommitted
Added content validation for keystore, truststore attributes
1 parent 23274a0 commit 5d9e6c5

File tree

8 files changed

+207
-55
lines changed

8 files changed

+207
-55
lines changed

core/src/main/python/wlsdeploy/aliases/model_constants.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -447,6 +447,9 @@
447447
DEFAULT_ROLE_MAPPER_NAME = 'XACMLRoleMapper'
448448
DEFAULT_ROLE_MAPPER_TYPE = XACML_ROLE_MAPPER
449449

450+
# SSL store types
451+
STORE_TYPE_SSO = 'SSO'
452+
450453
KNOWN_TOPLEVEL_MODEL_SECTIONS = [
451454
DOMAIN_INFO,
452455
TOPOLOGY,

core/src/main/python/wlsdeploy/tool/create/jps_config_helper.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"""
2-
Copyright (c) 2017, 2024, Oracle Corporation and/or its affiliates. All rights reserved.
2+
Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
33
Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
44
"""
55
import os
@@ -15,10 +15,12 @@
1515
from wlsdeploy.aliases.model_constants import DRIVER_PARAMS_TRUSTSTORE_PROPERTY
1616
from wlsdeploy.aliases.model_constants import DRIVER_PARAMS_TRUSTSTOREPWD_PROPERTY
1717
from wlsdeploy.aliases.model_constants import DRIVER_PARAMS_TRUSTSTORETYPE_PROPERTY
18+
from wlsdeploy.aliases.model_constants import STORE_TYPE_SSO
1819
from wlsdeploy.logging.platform_logger import get_logged_value
1920
from wlsdeploy.logging.platform_logger import PlatformLogger
2021
from wlsdeploy.util import string_utils
2122

23+
2224
class JpsConfigHelper(object):
2325
_logger = PlatformLogger('wlsdeploy.create')
2426
_class_name = 'JpsConfigHelper'
@@ -68,9 +70,9 @@ def __set_ssl_properties(self, xml_doc, tns_admin, truststore, truststore_type,
6870
:param keystore_password: The identity store keystore/wallet passphrase, if set
6971
"""
7072
_method_name = '__set_ssl_properties'
71-
self._logger.entering(xml_doc, tns_admin, truststore, truststore_type, get_logged_value(truststore_password),
72-
keystore, keystore_type, get_logged_value(keystore_password),
73-
class_name=self._class_name, method_name=_method_name)
73+
self._logger.entering(xml_doc, tns_admin, truststore, truststore_type,
74+
get_logged_value(truststore_password), keystore, keystore_type,
75+
get_logged_value(keystore_password), class_name=self._class_name, method_name=_method_name)
7476

7577
dom_tree = parse(xml_doc)
7678
collection = dom_tree.documentElement
@@ -86,10 +88,10 @@ def __set_ssl_properties(self, xml_doc, tns_admin, truststore, truststore_type,
8688
self.__set_property(dom_tree, prop, DRIVER_PARAMS_KEYSTORE_PROPERTY, keystore)
8789
self.__set_property(dom_tree, prop, DRIVER_PARAMS_TRUSTSTORE_PROPERTY, truststore)
8890

89-
if keystore_type != 'SSO':
91+
if keystore_type != STORE_TYPE_SSO:
9092
self.__set_property(dom_tree, prop, DRIVER_PARAMS_KEYSTOREPWD_PROPERTY, keystore_password, True)
9193

92-
if truststore_type != 'SSO':
94+
if truststore_type != STORE_TYPE_SSO:
9395
self.__set_property(dom_tree, prop, DRIVER_PARAMS_TRUSTSTOREPWD_PROPERTY, truststore_password, True)
9496

9597
# Persist the changes in the xml file

core/src/main/python/wlsdeploy/tool/util/rcu_helper.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -873,4 +873,4 @@ def __update_precheck_from_model_data_source(self, jdbc_driver_name, jdbc_conn_s
873873

874874
self.__logger.exiting(class_name=self.__class_name, method_name=_method_name,
875875
result=[new_jdbc_driver_name, new_jdbc_conn_string])
876-
return new_jdbc_driver_name, new_jdbc_conn_string
876+
return new_jdbc_driver_name, new_jdbc_conn_string

core/src/main/python/wlsdeploy/tool/validate/create_content_validator.py

Lines changed: 41 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,30 @@
1313
from wlsdeploy.aliases.location_context import LocationContext
1414
from wlsdeploy.aliases.model_constants import ADMIN_PASSWORD
1515
from wlsdeploy.aliases.model_constants import ADMIN_USERNAME
16-
from wlsdeploy.aliases.model_constants import ATP_DEFAULT_TABLESPACE
17-
from wlsdeploy.aliases.model_constants import ATP_TEMPORARY_TABLESPACE
1816
from wlsdeploy.aliases.model_constants import DATABASE_TYPE
1917
from wlsdeploy.aliases.model_constants import DEFAULT_REALM
2018
from wlsdeploy.aliases.model_constants import DOMAIN_INFO
2119
from wlsdeploy.aliases.model_constants import DOMAIN_INFO_ALIAS
20+
from wlsdeploy.aliases.model_constants import DRIVER_PARAMS_KEYSTOREPWD_PROPERTY
21+
from wlsdeploy.aliases.model_constants import DRIVER_PARAMS_KEYSTORETYPE_PROPERTY
22+
from wlsdeploy.aliases.model_constants import DRIVER_PARAMS_KEYSTORE_PROPERTY
2223
from wlsdeploy.aliases.model_constants import DRIVER_PARAMS_NET_TNS_ADMIN
24+
from wlsdeploy.aliases.model_constants import DRIVER_PARAMS_TRUSTSTOREPWD_PROPERTY
25+
from wlsdeploy.aliases.model_constants import DRIVER_PARAMS_TRUSTSTORETYPE_PROPERTY
26+
from wlsdeploy.aliases.model_constants import DRIVER_PARAMS_TRUSTSTORE_PROPERTY
2327
from wlsdeploy.aliases.model_constants import ORACLE_DATABASE_CONNECTION_TYPE
2428
from wlsdeploy.aliases.model_constants import PASSWORD
2529
from wlsdeploy.aliases.model_constants import PASSWORD_VALIDATOR
2630
from wlsdeploy.aliases.model_constants import RCU_ADMIN_PASSWORD
2731
from wlsdeploy.aliases.model_constants import RCU_DATABASE_TYPE
2832
from wlsdeploy.aliases.model_constants import RCU_DB_CONN_STRING
2933
from wlsdeploy.aliases.model_constants import RCU_DB_INFO
30-
from wlsdeploy.aliases.model_constants import RCU_DEFAULT_TABLESPACE
3134
from wlsdeploy.aliases.model_constants import RCU_PREFIX
3235
from wlsdeploy.aliases.model_constants import RCU_SCHEMA_PASSWORD
33-
from wlsdeploy.aliases.model_constants import RCU_TEMP_TBLSPACE
3436
from wlsdeploy.aliases.model_constants import REALM
3537
from wlsdeploy.aliases.model_constants import SECURITY
3638
from wlsdeploy.aliases.model_constants import SECURITY_CONFIGURATION
39+
from wlsdeploy.aliases.model_constants import STORE_TYPE_SSO
3740
from wlsdeploy.aliases.model_constants import SYSTEM_PASSWORD_VALIDATOR
3841
from wlsdeploy.aliases.model_constants import TNS_ENTRY
3942
from wlsdeploy.aliases.model_constants import TOPOLOGY
@@ -43,29 +46,16 @@
4346
from wlsdeploy.tool.validate.content_validator import ContentValidator
4447
from wlsdeploy.util import dictionary_utils
4548

46-
ALL_DB_TYPES = [
47-
RCURunner.ORACLE_DB_TYPE,
48-
RCURunner.EBR_DB_TYPE,
49-
RCURunner.SQLSERVER_DB_TYPE,
50-
RCURunner.DB2_DB_TYPE,
51-
RCURunner.MYSQL_DB_TYPE
52-
]
53-
5449
ORACLE_DB_TYPES = [
5550
RCURunner.ORACLE_DB_TYPE,
5651
RCURunner.EBR_DB_TYPE
5752
]
5853

59-
ORACLE_DB_CONNECTION_TYPES = [
54+
ORACLE_DB_SSL_CONNECTION_TYPES = [
6055
RCURunner.ORACLE_ATP_DB_TYPE,
6156
RCURunner.ORACLE_SSL_DB_TYPE
6257
]
6358

64-
DEPRECATED_DB_TYPES = [
65-
RCURunner.ORACLE_DB_TYPE,
66-
RCURunner.ORACLE_ATP_DB_TYPE,
67-
RCURunner.ORACLE_SSL_DB_TYPE
68-
]
6959

7060
class CreateDomainContentValidator(ContentValidator):
7161
"""
@@ -114,6 +104,10 @@ def __validate_rcu_db_info_section(self, info_dict):
114104
_method_name = '__validate_rcu_db_info_section'
115105
self._logger.entering(class_name=self._class_name, method_name=_method_name)
116106

107+
# This method validates fields that can only be checked in a merged model.
108+
# Simple checks that apply to an unmerged model, such as deprecations and value ranges,
109+
# are done in domain_info_validator.py .
110+
117111
if not self._model_context.get_domain_typedef().requires_rcu():
118112
return
119113

@@ -129,31 +123,21 @@ def __validate_rcu_db_info_section(self, info_dict):
129123

130124
self.__validate_rcu_connection_string(info_dict)
131125

132-
# deprecated fields
133-
self._check_deprecated_field(DATABASE_TYPE, info_dict, RCU_DB_INFO, ORACLE_DATABASE_CONNECTION_TYPE)
134-
self._check_deprecated_field(ATP_DEFAULT_TABLESPACE, info_dict, RCU_DB_INFO, RCU_DEFAULT_TABLESPACE)
135-
self._check_deprecated_field(ATP_TEMPORARY_TABLESPACE, info_dict, RCU_DB_INFO, RCU_TEMP_TBLSPACE)
136-
137-
# deprecated DATABASE_TYPE, must be ORACLE, ATP, or SSL if specified
138-
old_database_type = dictionary_utils.get_element(info_dict, DATABASE_TYPE)
139-
if old_database_type and old_database_type not in DEPRECATED_DB_TYPES:
140-
self._logger.severe(
141-
'WLSDPLY-05302', old_database_type, RCU_DB_INFO, DATABASE_TYPE,
142-
', '.join(DEPRECATED_DB_TYPES), class_name=self._class_name, method_name=_method_name)
126+
# ATP and SSL connection types must have TRUSTSTORE
127+
for field in [ORACLE_DATABASE_CONNECTION_TYPE, DATABASE_TYPE]:
128+
connection_type = dictionary_utils.get_element(info_dict, field)
129+
if connection_type and connection_type in ORACLE_DB_SSL_CONNECTION_TYPES:
130+
truststore = dictionary_utils.get_element(info_dict, DRIVER_PARAMS_TRUSTSTORE_PROPERTY)
131+
if not truststore:
132+
self._logger.severe(
133+
'WLSDPLY-05308', field, connection_type, RCU_DB_INFO,
134+
DRIVER_PARAMS_TRUSTSTORE_PROPERTY, class_name=self._class_name, method_name=_method_name)
143135

144-
# RCU_DATABASE_TYPE must be one of allowed types if specified
145-
database_type = dictionary_utils.get_element(info_dict, RCU_DATABASE_TYPE)
146-
if database_type and database_type not in ALL_DB_TYPES:
147-
self._logger.severe(
148-
'WLSDPLY-05302', database_type, RCU_DB_INFO, RCU_DATABASE_TYPE,
149-
', '.join(ALL_DB_TYPES), class_name=self._class_name, method_name=_method_name)
136+
self.__validate_store_property(DRIVER_PARAMS_TRUSTSTORE_PROPERTY, DRIVER_PARAMS_TRUSTSTORETYPE_PROPERTY,
137+
DRIVER_PARAMS_TRUSTSTOREPWD_PROPERTY, info_dict)
150138

151-
# ORACLE_DATABASE_CONNECTION_TYPE must be one of allowed types if specified
152-
connection_type = dictionary_utils.get_element(info_dict, ORACLE_DATABASE_CONNECTION_TYPE)
153-
if connection_type and connection_type not in ORACLE_DB_CONNECTION_TYPES:
154-
self._logger.severe(
155-
'WLSDPLY-05302', connection_type, RCU_DB_INFO, ORACLE_DATABASE_CONNECTION_TYPE,
156-
', '.join(ORACLE_DB_CONNECTION_TYPES), class_name=self._class_name, method_name=_method_name)
139+
self.__validate_store_property(DRIVER_PARAMS_KEYSTORE_PROPERTY, DRIVER_PARAMS_KEYSTORETYPE_PROPERTY,
140+
DRIVER_PARAMS_KEYSTOREPWD_PROPERTY, info_dict)
157141

158142
if self._model_context.is_run_rcu():
159143
admin_password = dictionary_utils.get_element(info_dict, RCU_ADMIN_PASSWORD)
@@ -189,6 +173,22 @@ def __validate_rcu_connection_string(self, rcu_info_dict):
189173
'WLSDPLY-05301', RCU_DB_INFO, RCU_DB_CONN_STRING, RCURunner.ORACLE_DB_TYPE,
190174
class_name=self._class_name, method_name=_method_name)
191175

176+
def __validate_store_property(self, store_property, type_property, pwd_property, rcu_info_dict):
177+
_method_name = '__validate_store_property'
178+
store_value = dictionary_utils.get_element(rcu_info_dict, store_property)
179+
if store_value:
180+
type_value = dictionary_utils.get_element(rcu_info_dict, type_property)
181+
if not type_value:
182+
self._logger.severe(
183+
'WLSDPLY-05310', RCU_DB_INFO, type_property, store_property,
184+
class_name=self._class_name, method_name=_method_name)
185+
186+
elif type_value.upper() != STORE_TYPE_SSO:
187+
# types other than store must have password
188+
if not dictionary_utils.get_element(rcu_info_dict, pwd_property):
189+
self._logger.severe(
190+
'WLSDPLY-05309', RCU_DB_INFO, pwd_property, type_property, type_value,
191+
class_name=self._class_name, method_name=_method_name)
192192

193193
def __has_tns_path(self, rcu_info_dict):
194194
"""
@@ -363,13 +363,6 @@ def _get_users_dictionary(self, model_dict):
363363
self._logger.exiting(class_name=self._class_name, method_name=_method_name)
364364
return users_folder
365365

366-
def _check_deprecated_field(self, field_name, info_dict, folder_name, new_field_name):
367-
_method_name = '_check_deprecated_field'
368-
if dictionary_utils.get_element(info_dict, field_name):
369-
self._logger.deprecation(
370-
'WLSDPLY-05303', folder_name, field_name, new_field_name,
371-
class_name=self._class_name, method_name=_method_name)
372-
373366

374367
def _get_system_password_validator_location():
375368
location = LocationContext()

core/src/main/python/wlsdeploy/tool/validate/domain_info_validator.py

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,33 @@
22
Copyright (c) 2024, Oracle and/or its affiliates.
33
Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
44
"""
5+
from oracle.weblogic.deploy.create import RCURunner
56
from oracle.weblogic.deploy.util import WLSDeployArchive
67

8+
from wlsdeploy.aliases.model_constants import ATP_DEFAULT_TABLESPACE
9+
from wlsdeploy.aliases.model_constants import ATP_TEMPORARY_TABLESPACE
10+
from wlsdeploy.aliases.model_constants import DATABASE_TYPE
711
from wlsdeploy.aliases.model_constants import DOMAIN_INFO
12+
from wlsdeploy.aliases.model_constants import DRIVER_PARAMS_KEYSTORETYPE_PROPERTY
813
from wlsdeploy.aliases.model_constants import DRIVER_PARAMS_KEYSTORE_PROPERTY
14+
from wlsdeploy.aliases.model_constants import DRIVER_PARAMS_TRUSTSTORETYPE_PROPERTY
915
from wlsdeploy.aliases.model_constants import DRIVER_PARAMS_TRUSTSTORE_PROPERTY
1016
from wlsdeploy.aliases.model_constants import DYNAMIC_CLUSTER_SERVER_GROUP_TARGETING_LIMITS
1117
from wlsdeploy.aliases.model_constants import MODEL_LIST_DELIMITER
18+
from wlsdeploy.aliases.model_constants import ORACLE_DATABASE_CONNECTION_TYPE
19+
from wlsdeploy.aliases.model_constants import RCU_DATABASE_TYPE
20+
from wlsdeploy.aliases.model_constants import RCU_DB_INFO
21+
from wlsdeploy.aliases.model_constants import RCU_DEFAULT_TABLESPACE
22+
from wlsdeploy.aliases.model_constants import RCU_TEMP_TBLSPACE
1223
from wlsdeploy.aliases.model_constants import SERVER_GROUP_TARGETING_LIMITS
24+
from wlsdeploy.aliases.model_constants import STORE_TYPE_SSO
1325
from wlsdeploy.aliases.model_constants import WLS_POLICIES
1426
from wlsdeploy.aliases.model_constants import WLS_ROLES
1527
from wlsdeploy.logging.platform_logger import PlatformLogger
1628
from wlsdeploy.tool.create import wlspolicies_helper
1729
from wlsdeploy.tool.create import wlsroles_helper
1830
from wlsdeploy.tool.validate.model_validator import ModelValidator
31+
from wlsdeploy.util import dictionary_utils
1932
from wlsdeploy.util import unicode_helper as str_helper
2033
from wlsdeploy.util import variables
2134

@@ -27,6 +40,31 @@
2740
DRIVER_PARAMS_TRUSTSTORE_PROPERTY
2841
]
2942

43+
ALL_DB_TYPES = [
44+
RCURunner.ORACLE_DB_TYPE,
45+
RCURunner.EBR_DB_TYPE,
46+
RCURunner.SQLSERVER_DB_TYPE,
47+
RCURunner.DB2_DB_TYPE,
48+
RCURunner.MYSQL_DB_TYPE
49+
]
50+
51+
ORACLE_DB_CONNECTION_TYPES = [
52+
RCURunner.ORACLE_ATP_DB_TYPE,
53+
RCURunner.ORACLE_SSL_DB_TYPE
54+
]
55+
56+
STORE_TYPES = [
57+
STORE_TYPE_SSO,
58+
'PKCS12',
59+
'JKS'
60+
]
61+
62+
DEPRECATED_DB_TYPES = [
63+
RCURunner.ORACLE_DB_TYPE,
64+
RCURunner.ORACLE_ATP_DB_TYPE,
65+
RCURunner.ORACLE_SSL_DB_TYPE
66+
]
67+
3068

3169
class DomainInfoValidator(ModelValidator):
3270
"""
@@ -54,6 +92,10 @@ def validate(self, model_dict):
5492
self.validate_model_section(DOMAIN_INFO, model_dict,
5593
self._aliases.get_model_section_top_level_folder_names(DOMAIN_INFO))
5694

95+
####################
96+
# OVERRIDE METHODS
97+
####################
98+
5799
# Override
58100
def _validate_folder(self, model_node, location):
59101
"""
@@ -67,6 +109,8 @@ def _validate_folder(self, model_node, location):
67109
self.__validate_wlsroles_section(model_node)
68110
elif folder_name == WLS_POLICIES:
69111
self.__validate_wlspolicies_section(model_node)
112+
elif folder_name == RCU_DB_INFO:
113+
self.__validate_rcu_db_info_section(model_node)
70114

71115
# Override
72116
def _validate_attribute(self, attribute_name, attribute_value, valid_attr_infos, path_tokens_attr_keys,
@@ -91,6 +135,10 @@ def _validate_single_path_in_archive(self, path, attribute_name, model_folder_pa
91135

92136
ModelValidator._validate_single_path_in_archive(self, path, attribute_name, model_folder_path)
93137

138+
####################
139+
# PRIVATE METHODS
140+
####################
141+
94142
def __validate_wlspolicies_section(self, policies_dict):
95143
__method_name = '__validate_wlspolicies_section'
96144
self._logger.entering(class_name=_class_name, method_name=__method_name)
@@ -112,6 +160,46 @@ def __validate_wlsroles_section(self, roles_dict):
112160

113161
self._logger.exiting(class_name=_class_name, method_name=__method_name)
114162

163+
def __validate_rcu_db_info_section(self, info_dict):
164+
_method_name = '__validate_rcu_db_info_section'
165+
166+
# This method validates fields that can be checked in an unmerged model,
167+
# such as deprecations and value ranges.
168+
# Checks that must be done on a merged model are done in create_content_validator.py .
169+
170+
self._check_deprecated_field(DATABASE_TYPE, info_dict, RCU_DB_INFO, ORACLE_DATABASE_CONNECTION_TYPE)
171+
self._check_deprecated_field(ATP_DEFAULT_TABLESPACE, info_dict, RCU_DB_INFO, RCU_DEFAULT_TABLESPACE)
172+
self._check_deprecated_field(ATP_TEMPORARY_TABLESPACE, info_dict, RCU_DB_INFO, RCU_TEMP_TBLSPACE)
173+
174+
# deprecated DATABASE_TYPE, must be ORACLE, ATP, or SSL if specified
175+
old_database_type = dictionary_utils.get_element(info_dict, DATABASE_TYPE)
176+
if old_database_type and old_database_type not in DEPRECATED_DB_TYPES:
177+
self._logger.severe(
178+
'WLSDPLY-05302', old_database_type, RCU_DB_INFO, DATABASE_TYPE,
179+
', '.join(DEPRECATED_DB_TYPES), class_name=_class_name, method_name=_method_name)
180+
181+
# RCU_DATABASE_TYPE must be one of allowed types if specified
182+
database_type = dictionary_utils.get_element(info_dict, RCU_DATABASE_TYPE)
183+
if database_type and database_type not in ALL_DB_TYPES:
184+
self._logger.severe(
185+
'WLSDPLY-05302', database_type, RCU_DB_INFO, RCU_DATABASE_TYPE,
186+
', '.join(ALL_DB_TYPES), class_name=_class_name, method_name=_method_name)
187+
188+
# ORACLE_DATABASE_CONNECTION_TYPE must be one of allowed types if specified
189+
connection_type = dictionary_utils.get_element(info_dict, ORACLE_DATABASE_CONNECTION_TYPE)
190+
if connection_type and connection_type not in ORACLE_DB_CONNECTION_TYPES:
191+
self._logger.severe(
192+
'WLSDPLY-05302', connection_type, RCU_DB_INFO, ORACLE_DATABASE_CONNECTION_TYPE,
193+
', '.join(ORACLE_DB_CONNECTION_TYPES), class_name=_class_name, method_name=_method_name)
194+
195+
# *StoreType must be one of allowed types if specified
196+
for type_field in [DRIVER_PARAMS_TRUSTSTORETYPE_PROPERTY, DRIVER_PARAMS_KEYSTORETYPE_PROPERTY]:
197+
type_value = dictionary_utils.get_element(info_dict, type_field)
198+
if type_value and type_value.upper() not in STORE_TYPES:
199+
self._logger.severe(
200+
'WLSDPLY-05302', type_value, RCU_DB_INFO, type_field,
201+
', '.join(STORE_TYPES), class_name=_class_name, method_name=_method_name)
202+
115203
def __validate_server_group_targeting_limits(self, attribute_key, attribute_value, model_folder_path):
116204
"""
117205
Verify that entries in the ServerGroupTargetingLimits and DynamicClusterServerGroupTargetingLimits are
@@ -185,3 +273,9 @@ def __is_path_in_zipped_archive_wallet(self, path):
185273
archive, entries = self._archive_helper.get_wallet_entries(wallet_path)
186274

187275
return file_name in entries
276+
277+
def _check_deprecated_field(self, field_name, info_dict, folder_name, new_field_name):
278+
_method_name = '_check_deprecated_field'
279+
if dictionary_utils.get_element(info_dict, field_name):
280+
self._logger.deprecation('WLSDPLY-05303', folder_name, field_name, new_field_name,
281+
class_name=_class_name, method_name=_method_name)

core/src/main/resources/oracle/weblogic/deploy/messages/wlsdeploy_rb.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -657,6 +657,9 @@ WLSDPLY-05304={0} field {1} is required, and not specified in the model
657657
WLSDPLY-05305={0} field {1} is required to run RCU, and not specified in the model
658658
WLSDPLY-05306=For database type {0}, {1} field {2} or {3} must be specified, or the archive file must contain an RCU wallet
659659
WLSDPLY-05307=For database type {0}, {1} field {2} or {3} must be specified
660+
WLSDPLY-05308=For {0} {1}, {2} field {3} must be specified
661+
WLSDPLY-05309={0} field {1} must be specified for {2} value of {3}
662+
WLSDPLY-05310={0} field {1} must be specified if {2} is specified
660663

661664
# oracle/weblogic/deploy/validate/PasswordValidator.java
662665
WLSDPLY-05400=Password validation failed because the username was not provided

0 commit comments

Comments
 (0)