Reordered class fields, separated fields with different keywords, and removed empty double lines within the openapi package.
JIRA: NETCONF-938
Change-Id: Ia601693fa7f12db1984d9163649106c1c1d96e31
Signed-off-by: Yaroslav Lastivka <yaroslav.lastivka@pantheon.tech>
import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
public abstract class BaseYangOpenApiGenerator {
-
private static final String CONTROLLER_RESOURCE_NAME = "Controller";
public static final List<Map<String, List<String>>> SECURITY = List.of(Map.of("basicAuth", List.of()));
import org.opendaylight.yangtools.yang.model.api.SchemaNode;
public class DefinitionNames {
-
private final HashMap<SchemaNode, String> discriminators;
private final Set<String> names;
public String getDiscriminator(final SchemaNode node) {
return discriminators.get(node);
}
-
}
import org.opendaylight.yangtools.yang.model.api.type.Uint8TypeDefinition;
public final class PathsStream extends InputStream {
+ private static final String OPERATIONS = "operations";
+ private static final String DATA = "data";
+
private final Iterator<? extends Module> iterator;
private final OpenApiBodyWriter writer;
private final EffectiveModelContext schemaContext;
private final ByteArrayOutputStream stream;
private final JsonGenerator generator;
- private static final String OPERATIONS = "operations";
- private static final String DATA = "data";
private boolean hasRootPostLink;
private boolean hasAddedDataStore;
private Reader reader;
if (keyType instanceof Uint64TypeDefinition) {
return "integer";
}
-
if (keyType instanceof DecimalTypeDefinition) {
return "number";
}
-
if (keyType instanceof BooleanTypeDefinition) {
return "boolean";
}
import org.opendaylight.yangtools.yang.model.api.SchemaNode;
public final class GetEntity extends OperationEntity {
-
private final boolean isConfig;
public GetEntity(final @Nullable SchemaNode schema, final @NonNull String deviceName,
generator.writeEndArray(); //end of params
}
-
protected static void generateMediaTypeSchemaRef(final @NonNull JsonGenerator generator,
final @NonNull String mediaType, final @NonNull String ref) throws IOException {
generator.writeObjectFieldStart(mediaType);
import org.opendaylight.yangtools.yang.model.api.SchemaNode;
public final class PatchEntity extends OperationEntity {
-
private final @NonNull String fullName;
public PatchEntity(final @NonNull SchemaNode schema, final @NonNull String deviceName,
import org.opendaylight.yangtools.yang.model.api.SchemaNode;
public final class PostEntity extends OperationEntity {
-
- private final @Nullable DocumentedNode parentNode;
private static final String INPUT_SUFFIX = "_input";
private static final String INPUT_KEY = "input";
private static final String POST_DESCRIPTION = """
guidelines of RFC 8040, which allows us to create only one resource in POST request.
""";
+ private final @Nullable DocumentedNode parentNode;
+
public PostEntity(final @NonNull SchemaNode schema, final @NonNull String deviceName,
final @NonNull String moduleName, final @NonNull List<ParameterEntity> parameters,
final @NonNull String refPath, final @Nullable DocumentedNode parentNode) {
generator.writeEndObject();
}
-
@Override
public void generateBasics(@NonNull JsonGenerator generator) throws IOException {
final var description = description();
private static final String OBJECT_TYPE = "object";
private static final String NUMBER_TYPE = "number";
private static final String TYPE = "type";
-
private static final Pattern AUTOMATON_SPECIAL_CHARACTERS = Pattern.compile("[@&\"<>#~]");
// Adaptation from YANG regex to Automaton regex
// See https://github.com/mifmif/Generex/blob/master/src/main/java/com/mifmif/common/regex/Generex.java
this.parentName = requireNonNull(parentName);
this.definitionNames = requireNonNull(definitionNames);
generate(stack, isParentConfig);
-
}
private void generate(final SchemaInferenceStack stack, final boolean isParentConfig) throws IOException {
final var localName = schemaNode.getQName().getLocalName();
final var nodeName = parentName + "_" + localName;
-
final String discriminator;
if (!definitionNames.isListedNode(schemaNode)) {
final var parentNameConfigLocalName = parentName + "_" + localName;
import org.opendaylight.yangtools.yang.model.api.SchemaNode;
public final class PutEntity extends OperationEntity {
-
private final @NonNull String fullName;
public PutEntity(final @NonNull SchemaNode schema, final @NonNull String deviceName,
return defaultValue != null;
}
-
public Object getExample() {
return example;
}
return example != null;
}
-
public String getFormat() {
return format;
}
return format != null;
}
-
public Integer getMinItems() {
return minItems;
}
return minItems != null;
}
-
public Boolean getUniqueItems() {
return uniqueItems;
}
return uniqueItems != null;
}
-
public List<String> getEnums() {
return enums;
}
return enums != null;
}
-
public Integer getMinLength() {
return minLength;
}
return minLength != null;
}
-
public Integer getMaxLength() {
return maxLength;
}
import org.slf4j.LoggerFactory;
public class MountPointOpenApi implements DOMMountPointListener, AutoCloseable {
-
private static final Logger LOG = LoggerFactory.getLogger(MountPointOpenApi.class);
-
private static final String DATASTORES_REVISION = "-";
private static final String DATASTORES_LABEL = "Datastores";
private final Map<YangInstanceIdentifier, Long> instanceIdToLongId =
new ConcurrentSkipListMap<>((o1, o2) -> o1.toString().compareToIgnoreCase(o2.toString()));
private final Map<Long, YangInstanceIdentifier> longIdToInstanceId = new ConcurrentHashMap<>();
-
private final AtomicLong idKey = new AtomicLong(0);
private Registration registration;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
public final class RestDocgenUtil {
+ private static final Map<XMLNamespace, Map<Optional<Revision>, Module>> NAMESPACE_AND_REVISION_TO_MODULE =
+ new HashMap<>();
private RestDocgenUtil() {
// Hidden on purpose
}
- private static final Map<XMLNamespace, Map<Optional<Revision>, Module>> NAMESPACE_AND_REVISION_TO_MODULE =
- new HashMap<>();
-
/**
* Resolve path argument name for {@code node}.
*