]
Radoslav Husar updated WFLY-9622:
---------------------------------
Component/s: (was: Clustering)
(was: mod_cluster)
Already done for clustering and mod_cluster – removing from the component list.
Eliminate uses of ModelNode.resolve()
-------------------------------------
Key: WFLY-9622
URL:
https://issues.jboss.org/browse/WFLY-9622
Project: WildFly
Issue Type: Task
Components: JCA, JMS, JPA / Hibernate, Management
Reporter: Brian Stansberry
Priority: Major
Code inspection shows there are 16 uses of ModelNode.resolve() in WildFly's own code
base, 12 in production code and 4 in test code. We should eliminate these, as
WildFly's expression resolution is more complex than the ModelNode.resolve() contract,
including vault support for which its' hard to imagine us wanting support in DMR
itself. So these uses should switch to resolution from the OperationContext or, if
that's not feasible, e.g. in test code, use something like
ExpressionResolver.TEST_RESOLVER.
Current uses:
{code}
Method
resolve()
Found usages (16 usages found)
Production (12 usages found)
Unclassified usage (12 usages found)
wildfly-connector (3 usages found)
org.jboss.as.connector.subsystems.common.pool (2 usages found)
PoolConfigurationRWHandler.PoolConfigurationWriteHandler (1 usage
found)
revertUpdateToRuntime(OperationContext, ModelNode, String,
ModelNode, ModelNode, List<PoolConfiguration>) (1 usage found)
126 updatePoolConfigs(handback, parameterName,
valueToRestore.resolve());
PoolStatisticsRuntimeAttributeWriteHandler (1 usage found)
execute(OperationContext, ModelNode) (1 usage found)
58 final ModelNode resolvedValue = newValue.resolve();
org.jboss.as.connector.subsystems.datasources (1 usage found)
Constants (1 usage found)
297 validateParameter(parameterName, value.resolve());
wildfly-jpa (4 usages found)
org.jboss.as.jpa.management (1 usage found)
ManagementResourceDefinition (1 usage found)
registerAttributes(ManagementResourceRegistration) (1 usage
found)
154 final ModelNode value =
operation.get(ModelDescriptionConstants.VALUE).resolve();
org.jboss.as.jpa.subsystem (3 usages found)
JPASubSystemAdd (3 usages found)
performBoottime(OperationContext, ModelNode, ModelNode) (3
usages found)
78 runtimeValidator.validate(operation.resolve());
125 final String dataSourceName =
defaultDSNode.resolve().asString();
131
ExtendedPersistenceInheritance.valueOf(defaultExtendedPersistenceInheritanceNode.resolve().asString());
wildfly-messaging-activemq (4 usages found)
org.wildfly.extension.messaging.activemq.deployment (4 usages found)
MessagingXmlInstallDeploymentUnitProcessor (4 usages found)
deploy(DeploymentPhaseContext) (4 usages found)
76 final ModelNode entries =
topic.getDestination().resolve().get(CommonAttributes.DESTINATION_ENTRIES.getName());
97 final ModelNode entries =
destination.resolve().get(CommonAttributes.DESTINATION_ENTRIES.getName());
100 final String selector =
destination.hasDefined(SELECTOR.getName()) ?
destination.get(SELECTOR.getName()).resolve().asString() : null;
101 final boolean durable =
destination.hasDefined(DURABLE.getName()) ?
destination.get(DURABLE.getName()).resolve().asBoolean() : false;
wildfly-mod_cluster-extension (1 usage found)
org.wildfly.extension.mod_cluster (1 usage found)
ProxyListValidator (1 usage found)
validateResolvedParameter(String, ModelNode) (1 usage found)
59 validateParameter(parameterName, value.resolve());
Test (4 usages found)
Unclassified usage (4 usages found)
wildfly-clustering-jgroups-extension (4 usages found)
org.jboss.as.clustering.jgroups.subsystem (4 usages found)
OperationsTestCase (4 usages found)
testSubsystemReadWriteOperations() (1 usage found)
52 Assert.assertEquals("ee",
result.get(RESULT).resolve().asString());
testTransportReadWriteOperation() (1 usage found)
75 Assert.assertEquals("rack1",
result.get(RESULT).resolve().asString());
testTransportPropertyReadWriteOperation() (1 usage found)
114 Assert.assertEquals("true",
result.get(RESULT).resolve().asString());
testProtocolPropertyReadWriteOperation() (1 usage found)
195 Assert.assertEquals("value",
result.get(RESULT).resolve().asString());
{code}