Remove unneeded tagged field from ReadDataParams as suggested by FIXME.
This means we pass through the selected mode.
JIRA: NETCONF-1044
Change-Id: Ia64ed6b1de3daefb3d38caa234c7c6eaa48f8f59
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
// FIXME: this should be a record once we have JDK17+
public final class ReadDataParams implements Immutable {
private static final @NonNull ReadDataParams EMPTY =
- new ReadDataParams(ContentParam.ALL, null, null, null, false, null);
+ new ReadDataParams(ContentParam.ALL, null, null, null, null);
private final @NonNull ContentParam content;
private final WithDefaultsParam withDefaults;
private final PrettyPrintParam prettyPrint;
private final FieldsParam fields;
private final DepthParam depth;
- private final boolean tagged;
private ReadDataParams(final ContentParam content, final DepthParam depth, final FieldsParam fields,
- final WithDefaultsParam withDefaults, final boolean tagged, final PrettyPrintParam prettyPrint) {
+ final WithDefaultsParam withDefaults, final PrettyPrintParam prettyPrint) {
this.content = requireNonNull(content);
this.depth = depth;
this.fields = fields;
this.withDefaults = withDefaults;
- this.tagged = tagged;
this.prettyPrint = prettyPrint;
}
}
public static @NonNull ReadDataParams of(final ContentParam content, final DepthParam depth,
- final FieldsParam fields, final WithDefaultsParam withDefaults, final boolean tagged,
- final PrettyPrintParam prettyPrint) {
- return new ReadDataParams(content, depth, fields, withDefaults, tagged, prettyPrint);
+ final FieldsParam fields, final WithDefaultsParam withDefaults, final PrettyPrintParam prettyPrint) {
+ return new ReadDataParams(content, depth, fields, withDefaults, prettyPrint);
}
public @NonNull ContentParam content() {
return prettyPrint;
}
- // FIXME: for migration only
- public boolean tagged() {
- return tagged;
- }
-
@Override
public String toString() {
final var helper = MoreObjects.toStringHelper(this).add("content", content.paramValue());
if (withDefaults != null) {
helper.add("withDefaults", withDefaults.paramValue());
}
- helper.add("tagged", tagged);
if (prettyPrint != null) {
helper.add("prettyPrint", prettyPrint.value());
}
FieldsParam fields = null;
WithDefaultsParam withDefaults = null;
PrettyPrintParam prettyPrint = null;
- boolean tagged = false;
for (Entry<String, List<String>> entry : uriInfo.getQueryParameters().entrySet()) {
final String paramName = entry.getKey();
fields = optionalParam(FieldsParam::forUriValue, paramName, paramValues);
break;
case WithDefaultsParam.uriName:
- final var defaultsVal = optionalParam(WithDefaultsParam::forUriValue, paramName, paramValues);
- if (defaultsVal != null) {
- tagged = switch (defaultsVal) {
- case REPORT_ALL -> {
- withDefaults = null;
- yield false;
- }
- case REPORT_ALL_TAGGED -> {
- withDefaults = null;
- yield true;
- }
- default -> {
- withDefaults = defaultsVal;
- yield false;
- }
- };
- }
+ withDefaults = optionalParam(WithDefaultsParam::forUriValue, paramName, paramValues);
break;
case PrettyPrintParam.uriName:
prettyPrint = optionalParam(PrettyPrintParam::forUriValue, paramName, paramValues);
}
}
- return ReadDataParams.of(content, depth, fields, withDefaults, tagged, prettyPrint);
+ return ReadDataParams.of(content, depth, fields, withDefaults, prettyPrint);
}
public static @NonNull WriteDataParams newWriteDataParams(final UriInfo uriInfo) {
package org.opendaylight.restconf.nb.rfc8040.databind.jaxrs;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.withSettings;
@Test
public void parseUriParametersDefaultTest() {
// no parameters, default values should be used
- final var params = assertParams(QueryParams::newReadDataParams, new MultivaluedHashMap<String, String>());
+ final var params = assertParams(QueryParams::newReadDataParams, new MultivaluedHashMap<>());
assertEquals(ContentParam.ALL, params.content());
assertNull(params.depth());
assertNull(params.fields());
}
/**
- * Testing parsing of with-defaults parameter which value matches 'report-all-tagged' setting - default value should
- * be set to {@code null} and tagged flag should be set to {@code true}.
+ * Testing parsing of with-defaults parameter which value matches 'report-all-tagged' setting.
*/
@Test
public void parseUriParametersWithDefaultAndTaggedTest() {
final var params = assertParams(QueryParams::newReadDataParams, WithDefaultsParam.uriName, "report-all-tagged");
- assertNull(params.withDefaults());
- assertTrue(params.tagged());
+ assertEquals(WithDefaultsParam.REPORT_ALL_TAGGED, params.withDefaults());
}
/**
- * Testing parsing of with-defaults parameter which value matches 'report-all' setting - default value should
- * be set to {@code null} and tagged flag should be set to {@code false}.
+ * Testing parsing of with-defaults parameter which value matches 'report-all' setting.
*/
@Test
public void parseUriParametersWithDefaultAndReportAllTest() {
final var params = assertParams(QueryParams::newReadDataParams, WithDefaultsParam.uriName, "report-all");
- assertNull(params.withDefaults());
- assertFalse(params.tagged());
+ assertEquals(WithDefaultsParam.REPORT_ALL, params.withDefaults());
}
/**
public void parseUriParametersWithDefaultAndNonTaggedTest() {
final var params = assertParams(QueryParams::newReadDataParams, WithDefaultsParam.uriName, "explicit");
assertEquals(WithDefaultsParam.EXPLICIT, params.withDefaults());
- assertFalse(params.tagged());
}
/**