Skip to content

Commit d127fc9

Browse files
committed
Fix reading resource attributes
1 parent 7b09f6e commit d127fc9

File tree

3 files changed

+14
-18
lines changed

3 files changed

+14
-18
lines changed

meta/src/main/java/org/jboss/hal/meta/description/AttributeDescription.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ public boolean listOrObjectValueType() {
194194
* Checks if the attribute description is of type {@link ModelType#OBJECT} with an object value-type that only contains
195195
* {@linkplain ModelType#simple() simple attributes} or lists of simple attributes.
196196
*/
197-
public boolean simpleValueType() {
197+
public boolean simpleRecord() {
198198
try {
199199
ModelType type = get(TYPE).asType();
200200
if (type == OBJECT) {

meta/src/test/java/org/jboss/hal/meta/description/AttributeDescriptionTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@ void undefined() {
2929
assertEquals("undefined", attributeDescription.description());
3030
assertFalse(attributeDescription.deprecation().isDefined());
3131
assertEquals("", attributeDescription.formatType());
32-
assertFalse(attributeDescription.simpleValueType());
32+
assertFalse(attributeDescription.simpleRecord());
3333
}
3434
}

ui/src/main/java/org/jboss/hal/ui/resource/ResourceAttribute.java

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424

2525
import org.jboss.hal.dmr.ModelNode;
2626
import org.jboss.hal.dmr.ModelNodeHelper;
27-
import org.jboss.hal.dmr.Property;
2827
import org.jboss.hal.meta.Metadata;
2928
import org.jboss.hal.meta.description.AttributeDescription;
3029
import org.jboss.hal.meta.description.AttributeDescriptions;
@@ -64,7 +63,7 @@ static List<ResourceAttribute> resourceAttributes(OperationDescription operation
6463
Predicate<AttributeDescription> predicate) {
6564
List<ResourceAttribute> resourceAttributes = new ArrayList<>();
6665
for (AttributeDescription description : operationDescription.parameters()) {
67-
if (description.simpleValueType()) {
66+
if (description.simpleRecord()) {
6867
AttributeDescriptions nestedDescriptions = description.valueTypeAttributeDescriptions();
6968
for (AttributeDescription nestedDescription : nestedDescriptions) {
7069
if (predicate.test(nestedDescription)) {
@@ -81,7 +80,7 @@ static List<ResourceAttribute> resourceAttributes(OperationDescription operation
8180
}
8281

8382
/**
84-
* Collects and returns a list of resource attributes based on an existing resource.
83+
* Collects and returns a list of resource attributes based on an existing resource and its metadata.
8584
*
8685
* @param resource The model node representing the resource.
8786
* @param metadata The metadata containing resource descriptions and attribute descriptions.
@@ -91,22 +90,19 @@ static List<ResourceAttribute> resourceAttributes(OperationDescription operation
9190
static List<ResourceAttribute> resourceAttributes(ModelNode resource, Metadata metadata,
9291
Predicate<AttributeDescription> predicate) {
9392
List<ResourceAttribute> resourceAttributes = new ArrayList<>();
94-
for (Property property : resource.asPropertyList()) {
95-
String name = property.getName();
96-
AttributeDescription description = metadata.resourceDescription().attributes().get(name);
97-
if (description.simpleValueType()) {
98-
AttributeDescriptions nestedDescriptions = description.valueTypeAttributeDescriptions();
99-
for (AttributeDescription nestedDescription : nestedDescriptions) {
100-
if (predicate.test(nestedDescription)) {
101-
ModelNode nestedValue = ModelNodeHelper.nested(resource, nestedDescription.fullyQualifiedName());
102-
resourceAttributes.add(
103-
new ResourceAttribute(nestedValue, nestedDescription, metadata.securityContext()));
93+
for (AttributeDescription ad : metadata.resourceDescription().attributes()) {
94+
if (ad.simpleRecord()) {
95+
AttributeDescriptions nads = ad.valueTypeAttributeDescriptions();
96+
for (AttributeDescription nad : nads) {
97+
if (predicate.test(nad)) {
98+
ModelNode nestedValue = ModelNodeHelper.nested(resource, nad.fullyQualifiedName());
99+
resourceAttributes.add(new ResourceAttribute(nestedValue, nad, metadata.securityContext()));
104100
}
105101
}
106102
} else {
107-
if (predicate.test(description)) {
108-
ModelNode value = property.getValue();
109-
resourceAttributes.add(new ResourceAttribute(value, description, metadata.securityContext()));
103+
if (predicate.test(ad)) {
104+
ModelNode value = resource.get(ad.name());
105+
resourceAttributes.add(new ResourceAttribute(value, ad, metadata.securityContext()));
110106
}
111107
}
112108
}

0 commit comments

Comments
 (0)