Skip to content

Commit ef5adc8

Browse files
rakillenddsharpe
authored andcommitted
Add 12.2.1.4 MBeans in Server and ServerTemplate (#431)
* WDT for new 12214 to deliver to user * clean up the version numbers in the typedef files * convert indents to spaces * Add new 12.2.1.4 MBeans to Server and ServerTemplate This reverts commit 0f674d7. * JIRA WDT-293 - Added folder versions to WebServiceResiliency; revised unit tests to support * JIRA WDT-293 - Corrected server template WLST path * JIRA WDT-293 - Change WebService and WebServiceResiliency to single/unpredictable types
1 parent 41d207f commit ef5adc8

File tree

4 files changed

+76
-24
lines changed

4 files changed

+76
-24
lines changed

core/src/main/resources/oracle/weblogic/deploy/aliases/category_modules/Server.json

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1222,6 +1222,8 @@
12221222
},
12231223
"WebService": {
12241224
"wlst_type": "WebService",
1225+
"child_folders_type": "single_unpredictable",
1226+
"default_name_value": "${NO_NAME_0:%SERVER%}",
12251227
"folders": {
12261228
"WebServiceReliability": {
12271229
"wlst_type": "WebServiceReliability",
@@ -1238,7 +1240,7 @@
12381240
},
12391241
"wlst_attributes_path": "WP001",
12401242
"wlst_paths": {
1241-
"WP001": "/Server${:s}/%SERVER%/WebService/${NO_NAME_0:%SERVER%}/WebServiceReliability/${NO_NAME_0:%SERVER%}"
1243+
"WP001": "/Server${:s}/%SERVER%/WebService/%SERVER_WEBSERVICE%/WebServiceReliability/${NO_NAME_0:%SERVER%}"
12421244
}
12431245
},
12441246
"WebServicePersistence": {
@@ -1259,7 +1261,7 @@
12591261
},
12601262
"wlst_attributes_path": "WP001",
12611263
"wlst_paths": {
1262-
"WP001": "/Server${:s}/%SERVER%/WebService/${NO_NAME_0:%SERVER%}/WebServicePersistence/${NO_NAME_0:%SERVER%}/WebServiceLogicalStore${:s}/%STORE%"
1264+
"WP001": "/Server${:s}/%SERVER%/WebService/%SERVER_WEBSERVICE%/WebServicePersistence/${NO_NAME_0:%SERVER%}/WebServiceLogicalStore${:s}/%STORE%"
12631265
}
12641266
},
12651267
"WebServicePhysicalStore": {
@@ -1275,7 +1277,7 @@
12751277
},
12761278
"wlst_attributes_path": "WP001",
12771279
"wlst_paths": {
1278-
"WP001": "/Server${:s}/%SERVER%/WebService/${NO_NAME_0:%SERVER%}/WebServicePersistence/${NO_NAME_0:%SERVER%}/WebServicePhysicalStore${:s}/%STORE%"
1280+
"WP001": "/Server${:s}/%SERVER%/WebService/%SERVER_WEBSERVICE%/WebServicePersistence/${NO_NAME_0:%SERVER%}/WebServicePhysicalStore${:s}/%STORE%"
12791281
}
12801282
}
12811283
},
@@ -1285,7 +1287,7 @@
12851287
},
12861288
"wlst_attributes_path": "WP001",
12871289
"wlst_paths": {
1288-
"WP001": "/Server${:s}/%SERVER%/WebService/${NO_NAME_0:%SERVER%}/WebServicePersistence/${NO_NAME_0:%SERVER%}"
1290+
"WP001": "/Server${:s}/%SERVER%/WebService/%SERVER_WEBSERVICE%/WebServicePersistence/${NO_NAME_0:%SERVER%}"
12891291
}
12901292
},
12911293
"WebServiceBuffering": {
@@ -1302,7 +1304,7 @@
13021304
},
13031305
"wlst_attributes_path": "WP001",
13041306
"wlst_paths": {
1305-
"WP001": "/Server${:s}/%SERVER%/WebService/${NO_NAME_0:%SERVER%}/WebServiceBuffering/${NO_NAME_0:%SERVER%}/WebServiceRequestBufferingQueue/${NO_NAME_0:%SERVER%}"
1307+
"WP001": "/Server${:s}/%SERVER%/WebService/%SERVER_WEBSERVICE%/WebServiceBuffering/${NO_NAME_0:%SERVER%}/WebServiceRequestBufferingQueue/${NO_NAME_0:%SERVER%}"
13061308
}
13071309
},
13081310
"WebServiceResponseBufferingQueue": {
@@ -1316,7 +1318,7 @@
13161318
},
13171319
"wlst_attributes_path": "WP001",
13181320
"wlst_paths": {
1319-
"WP001": "/Server${:s}/%SERVER%/WebService/${NO_NAME_0:%SERVER%}/WebServiceBuffering/${NO_NAME_0:%SERVER%}/WebServiceResponseBufferingQueue/${NO_NAME_0:%SERVER%}"
1321+
"WP001": "/Server${:s}/%SERVER%/WebService/%SERVER_WEBSERVICE%/WebServiceBuffering/${NO_NAME_0:%SERVER%}/WebServiceResponseBufferingQueue/${NO_NAME_0:%SERVER%}"
13201322
}
13211323
}
13221324
},
@@ -1328,7 +1330,23 @@
13281330
},
13291331
"wlst_attributes_path": "WP001",
13301332
"wlst_paths": {
1331-
"WP001": "/Server${:s}/%SERVER%/WebService/${NO_NAME_0:%SERVER%}/WebServiceBuffering/${NO_NAME_0:%SERVER%}"
1333+
"WP001": "/Server${:s}/%SERVER%/WebService/%SERVER_WEBSERVICE%/WebServiceBuffering/${NO_NAME_0:%SERVER%}"
1334+
}
1335+
},
1336+
"WebServiceResiliency": {
1337+
"wlst_type": "WebServiceResiliency",
1338+
"child_folders_type": "single_unpredictable",
1339+
"default_name_value": "${NO_NAME_0:%SERVER%}",
1340+
"version": "[12.2.1.4,)",
1341+
"folders": {},
1342+
"attributes": {
1343+
"Notes": [ {"version": "[12.2.1.4,)", "wlst_mode": "both", "wlst_name": "Notes", "wlst_path": "WP001", "value": {"default": "None" }, "wlst_type": "string" } ],
1344+
"RetryCount": [ {"version": "[12.2.1.4,)", "wlst_mode": "both", "wlst_name": "RetryCount", "wlst_path": "WP001", "value": {"default": 0 }, "wlst_type": "integer" } ],
1345+
"RetryDelay": [ {"version": "[12.2.1.4,)", "wlst_mode": "both", "wlst_name": "RetryDelay", "wlst_path": "WP001", "value": {"default": 5000 }, "wlst_type": "integer" } ]
1346+
},
1347+
"wlst_attributes_path": "WP001",
1348+
"wlst_paths": {
1349+
"WP001": "/Server${:s}/%SERVER%/WebService/%SERVER_WEBSERVICE%/WebServiceResiliency/%SERVER_WEBSERVICERESILIENCY%"
13321350
}
13331351
}
13341352
},
@@ -1342,7 +1360,7 @@
13421360
},
13431361
"wlst_attributes_path": "WP001",
13441362
"wlst_paths": {
1345-
"WP001": "/Server${:s}/%SERVER%/WebService/${NO_NAME_0:%SERVER%}"
1363+
"WP001": "/Server${:s}/%SERVER%/WebService/%SERVER_WEBSERVICE%"
13461364
}
13471365
}
13481366
},

core/src/main/resources/oracle/weblogic/deploy/aliases/category_modules/ServerTemplate.json

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1226,6 +1226,8 @@
12261226
},
12271227
"WebService": {
12281228
"wlst_type": "WebService",
1229+
"child_folders_type": "single_unpredictable",
1230+
"default_name_value": "${NO_NAME_0:%SERVERTEMPLATE%}",
12291231
"version": "[12.1.2,)",
12301232
"folders": {
12311233
"WebServiceReliability": {
@@ -1244,7 +1246,7 @@
12441246
},
12451247
"wlst_attributes_path": "WP001",
12461248
"wlst_paths": {
1247-
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/${NO_NAME_0:%SERVERTEMPLATE%}/WebServiceReliability/${NO_NAME_0:%SERVERTEMPLATE%}"
1249+
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/%SERVERTEMPLATE_WEBSERVICE%/WebServiceReliability/${NO_NAME_0:%SERVERTEMPLATE%}"
12481250
}
12491251
},
12501252
"WebServicePersistence": {
@@ -1267,7 +1269,7 @@
12671269
},
12681270
"wlst_attributes_path": "WP001",
12691271
"wlst_paths": {
1270-
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/${NO_NAME_0:%SERVERTEMPLATE%}/WebServicePersistence/${NO_NAME_0:%SERVERTEMPLATE%}/WebServiceLogicalStore${:s}/%STORE%"
1272+
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/%SERVERTEMPLATE_WEBSERVICE%/WebServicePersistence/${NO_NAME_0:%SERVERTEMPLATE%}/WebServiceLogicalStore${:s}/%STORE%"
12711273
}
12721274
},
12731275
"WebServicePhysicalStore": {
@@ -1284,7 +1286,7 @@
12841286
},
12851287
"wlst_attributes_path": "WP001",
12861288
"wlst_paths": {
1287-
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/${NO_NAME_0:%SERVERTEMPLATE%}/WebServicePersistence/${NO_NAME_0:%SERVERTEMPLATE%}/WebServicePhysicalStore${:s}/%STORE%"
1289+
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/%SERVERTEMPLATE_WEBSERVICE%/WebServicePersistence/${NO_NAME_0:%SERVERTEMPLATE%}/WebServicePhysicalStore${:s}/%STORE%"
12881290
}
12891291
}
12901292
},
@@ -1294,7 +1296,7 @@
12941296
},
12951297
"wlst_attributes_path": "WP001",
12961298
"wlst_paths": {
1297-
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/${NO_NAME_0:%SERVERTEMPLATE%}/WebServicePersistence/${NO_NAME_0:%SERVERTEMPLATE%}"
1299+
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/%SERVERTEMPLATE_WEBSERVICE%/WebServicePersistence/${NO_NAME_0:%SERVERTEMPLATE%}"
12981300
}
12991301
},
13001302
"WebServiceBuffering": {
@@ -1313,7 +1315,7 @@
13131315
},
13141316
"wlst_attributes_path": "WP001",
13151317
"wlst_paths": {
1316-
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/${NO_NAME_0:%SERVERTEMPLATE%}/WebServiceBuffering/${NO_NAME_0:%SERVERTEMPLATE%}/WebServiceRequestBufferingQueue/${NO_NAME_0:%SERVERTEMPLATE%}"
1318+
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/%SERVERTEMPLATE_WEBSERVICE%/WebServiceBuffering/${NO_NAME_0:%SERVERTEMPLATE%}/WebServiceRequestBufferingQueue/${NO_NAME_0:%SERVERTEMPLATE%}"
13171319
}
13181320
},
13191321
"WebServiceResponseBufferingQueue": {
@@ -1328,7 +1330,7 @@
13281330
},
13291331
"wlst_attributes_path": "WP001",
13301332
"wlst_paths": {
1331-
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/${NO_NAME_0:%SERVERTEMPLATE%}/WebServiceBuffering/${NO_NAME_0:%SERVERTEMPLATE%}/WebServiceResponseBufferingQueue/${NO_NAME_0:%SERVERTEMPLATE%}"
1333+
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/%SERVERTEMPLATE_WEBSERVICE%/WebServiceBuffering/${NO_NAME_0:%SERVERTEMPLATE%}/WebServiceResponseBufferingQueue/${NO_NAME_0:%SERVERTEMPLATE%}"
13321334
}
13331335
}
13341336
},
@@ -1340,7 +1342,23 @@
13401342
},
13411343
"wlst_attributes_path": "WP001",
13421344
"wlst_paths": {
1343-
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/${NO_NAME_0:%SERVERTEMPLATE%}/WebServiceBuffering/${NO_NAME_0:%SERVERTEMPLATE%}"
1345+
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/%SERVERTEMPLATE_WEBSERVICE%/WebServiceBuffering/${NO_NAME_0:%SERVERTEMPLATE%}"
1346+
}
1347+
},
1348+
"WebServiceResiliency": {
1349+
"wlst_type": "WebServiceResiliency",
1350+
"child_folders_type": "single_unpredictable",
1351+
"default_name_value": "${NO_NAME_0:%SERVERTEMPLATE%}",
1352+
"version": "[12.2.1.4,)",
1353+
"folders": {},
1354+
"attributes": {
1355+
"Notes": [ {"version": "[12.2.1.4,)", "wlst_mode": "both", "wlst_name": "Notes", "wlst_path": "WP001", "value": {"default": "None" }, "wlst_type": "string" } ],
1356+
"RetryCount": [ {"version": "[12.2.1.4,)", "wlst_mode": "both", "wlst_name": "RetryCount", "wlst_path": "WP001", "value": {"default": 0 }, "wlst_type": "integer" } ],
1357+
"RetryDelay": [ {"version": "[12.2.1.4,)", "wlst_mode": "both", "wlst_name": "RetryDelay", "wlst_path": "WP001", "value": {"default": "5000" }, "wlst_type": "string" } ]
1358+
},
1359+
"wlst_attributes_path": "WP001",
1360+
"wlst_paths": {
1361+
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/%SERVERTEMPLATE_WEBSERVICE%/WebServiceResiliency/%SERVERTEMPLATE_WEBSERVICERESILIENCY%"
13441362
}
13451363
}
13461364
},
@@ -1354,7 +1372,7 @@
13541372
},
13551373
"wlst_attributes_path": "WP001",
13561374
"wlst_paths": {
1357-
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/${NO_NAME_0:%SERVERTEMPLATE%}"
1375+
"WP001": "/ServerTemplate${:s}/%SERVERTEMPLATE%/WebService/%SERVERTEMPLATE_WEBSERVICE%"
13581376
}
13591377
}
13601378
},

core/src/test/python/attributes_test.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,13 @@
1515

1616
class AttributesTestCase(unittest.TestCase):
1717
"""
18-
1) Unit tests must be a class that extends unittest.TestCase
19-
2) Class methods with names starting with 'test' will be executed by the framework (all others skipped)
18+
This test verifies that the each alias folder name and attribute name matches the value of its 'wlst_type'
19+
field for 12.2.1.3 offline WLST.
20+
21+
This test only verifies internal consistency of the alias map, not against the WLST instance.
22+
23+
Folders and attributes added after 12.2.1.3 do not adhere to this rule, and are not verified here. The
24+
Developer Guide clarifies that they should match the WLST name for the WLS release in which they were added.
2025
"""
2126
wls_version = '12.2.1.3'
2227

@@ -38,6 +43,11 @@ def testAttributeNames(self):
3843
def _check_folder(self, name, location, aliases):
3944
wlst_name = aliases.get_wlst_mbean_type(location)
4045

46+
if wlst_name is None:
47+
# folders added since 12.2.1.3 are not in the alias structure.
48+
# they do not follow the name matching rule, so it is OK to skip them here.
49+
return
50+
4151
if not self._is_filtered_folder(name, location) and wlst_name != name:
4252
message = self._format(_FOLDER_MISMATCH_MSG, name, location.get_folder_path(), wlst_name)
4353
self.assertEqual(name, wlst_name, message)
@@ -65,7 +75,6 @@ def _format(self, key, *args):
6575
def _is_filtered_folder(self, name, location):
6676
result = False
6777

68-
6978
if name == 'Domain':
7079
result = True
7180
elif location.get_folder_path() == '/JDBCSystemResource/JdbcResource/JDBCDriverParams/Properties' and \

core/src/test/python/attributes_type_test.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,16 @@
1212

1313
class AttributesTypeTestCase(unittest.TestCase):
1414
"""
15-
1) Unit tests must be a class that extends unittest.TestCase
16-
2) Class methods with names starting with 'test' will be executed by the framework (all others skipped)
15+
This test verifies that the every alias attribute that has the model type "delimited_string" returns a
16+
comma-delimited string for method get_model_attribute_name_and_value. The model should always use
17+
comma-delimited values, except for the special case of delimited_string[space], which has special handling.
18+
19+
This test currently only verifies attributes for the 12.2.1.3 offline alias structure. Values that are
20+
obsolete in 12.2.1.3, or were created since 12.2.1.3 are not included.
1721
"""
1822
wls_version = '12.2.1.3'
1923

2024
def testDelimitedAttributes(self):
21-
# This test ensures that delimited attributes are always comma-delimited for the model.
22-
# Space-delimited attributes are allowed to bypass this rule.
23-
2425
model_context = ModelContext("test", {})
2526
aliases = Aliases(model_context=model_context, wlst_mode=WlstModes.OFFLINE, wls_version=self.wls_version)
2627

@@ -33,6 +34,12 @@ def testDelimitedAttributes(self):
3334
self._check_folder(location, aliases)
3435

3536
def _check_folder(self, location, aliases):
37+
wlst_name = aliases.get_wlst_mbean_type(location)
38+
if wlst_name is None:
39+
# folders added since 12.2.1.3 are not in the alias structure.
40+
# this test does not validate attributes in those folders.
41+
return
42+
3643
test_value = ['one', 'two']
3744
expected_value = ','.join(test_value)
3845

0 commit comments

Comments
 (0)