From 39f11fa4ae2bf10e236ef20b1de173cc97bff1e7 Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Thu, 22 Jan 2026 12:54:20 +0300 Subject: [PATCH 01/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../internal/MessageSerializerGenerator.java | 17 +- .../idto/IDTOSerializerGenerator.java | 344 ++++++++++++++++++ .../IgniteDataTransferObjectProcessor.java | 263 +++++++++++++ modules/core/pom.xml | 1 + .../IgniteDataTransferObjectSerializer.java | 45 +++ ...ncryptionReencryptionStatusCommandArg.java | 47 --- 6 files changed, 661 insertions(+), 56 deletions(-) create mode 100644 modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java create mode 100644 modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java create mode 100644 modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java delete mode 100644 modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionReencryptionStatusCommandArg.java diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java index 03420b425ccf7..f95ce9aac0f2a 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java @@ -60,15 +60,15 @@ * Generates serializer class for given {@code Message} class. The generated serializer follows the naming convention: * {@code org.apache.ignite.internal.codegen.[MessageClassName]Serializer}. */ -class MessageSerializerGenerator { +public class MessageSerializerGenerator { /** */ - private static final String EMPTY = ""; + public static final String EMPTY = ""; /** */ - private static final String TAB = " "; + public static final String TAB = " "; /** */ - private static final String NL = System.lineSeparator(); + public static final String NL = System.lineSeparator(); /** */ private static final String PKG_NAME = "org.apache.ignite.internal.codegen"; @@ -81,7 +81,7 @@ class MessageSerializerGenerator { " */"; /** */ - private static final String METHOD_JAVADOC = "/** */"; + public static final String METHOD_JAVADOC = "/** */"; /** */ private static final String RETURN_FALSE_STMT = "return false;"; @@ -403,7 +403,7 @@ else if (assignableFrom(erasedType(type), type(Collection.class.getName()))) { "MessageCollectionItemType." + messageCollectionItemType(typeArgs.get(0))); } - else if (enumType(type)) { + else if (enumType(env, type)) { Element element = env.getTypeUtils().asElement(type); imports.add(element.toString()); @@ -609,8 +609,7 @@ else if (assignableFrom(erasedType(type), type(Collection.class.getName()))) { returnFalseIfReadFailed(name, collectionReader, "MessageCollectionItemType." + messageCollectionItemType(typeArgs.get(0))); } - - else if (enumType(type)) { + else if (enumType(env, type)) { String fieldPrefix = typeNameToFieldName(env.getTypeUtils().asElement(type).getSimpleName().toString()); boolean hasCustMapperAnn = field.getAnnotation(CustomMapper.class) != null; @@ -856,7 +855,7 @@ private boolean assignableFrom(TypeMirror type, TypeMirror superType) { } /** */ - private boolean enumType(TypeMirror type) { + public static boolean enumType(ProcessingEnvironment env, TypeMirror type) { Element element = env.getTypeUtils().asElement(type); return element != null && element.getKind() == ElementKind.ENUM; diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java new file mode 100644 index 0000000000000..7a24dd18ae72c --- /dev/null +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java @@ -0,0 +1,344 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.idto; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.ObjectInput; +import java.io.ObjectOutput; +import java.io.PrintWriter; +import java.io.Writer; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; +import java.util.function.Function; +import javax.annotation.processing.FilerException; +import javax.annotation.processing.ProcessingEnvironment; +import javax.lang.model.element.Element; +import javax.lang.model.element.ElementKind; +import javax.lang.model.element.Modifier; +import javax.lang.model.element.TypeElement; +import javax.lang.model.element.VariableElement; +import javax.lang.model.type.ArrayType; +import javax.lang.model.type.PrimitiveType; +import javax.lang.model.type.TypeKind; +import javax.lang.model.type.TypeMirror; +import javax.tools.JavaFileObject; +import org.apache.ignite.internal.util.typedef.F; +import org.apache.ignite.lang.IgniteBiTuple; + +import static org.apache.ignite.internal.MessageSerializerGenerator.NL; +import static org.apache.ignite.internal.MessageSerializerGenerator.TAB; +import static org.apache.ignite.internal.MessageSerializerGenerator.enumType; + +/** + * Generates serializer class for given {@code IgniteDataTransferObject} class. + * The generated serializer follows the naming convention: + * {@code org.apache.ignite.internal.codegen.[IDTOClassName]Serializer}. + */ +public class IDTOSerializerGenerator { + /** */ + static final String PKG_NAME = "org.apache.ignite.internal.codegen.idto"; + + /** */ + public static final String DTO_SERDES_INTERFACE = "org.apache.ignite.internal.dto.IgniteDataTransferObjectSerializer"; + + /** */ + static final String CLS_JAVADOC = "/** " + NL + + " * This class is generated automatically." + NL + + " *" + NL + + " * @see org.apache.ignite.internal.dto.IgniteDataTransferObject" + NL + + " */"; + + /** */ + private final ProcessingEnvironment env; + + /** */ + private final TypeElement type; + + /** */ + private final Set imports = new HashSet<>(); + + /** */ + private static final Map> TYPE_SERDES = new HashMap<>(); + + { + TYPE_SERDES.put(boolean.class.getName(), F.t("out.writeBoolean(obj.${f}());", "obj.${f}(in.readBoolean());")); + TYPE_SERDES.put(byte.class.getName(), F.t("out.write(obj.${f}());", "obj.${f}(in.read());")); + TYPE_SERDES.put(short.class.getName(), F.t("out.writeShort(obj.${f}());", "obj.${f}(in.readShort());")); + TYPE_SERDES.put(int.class.getName(), F.t("out.writeInt(obj.${f}());", "obj.${f}(in.readInt());")); + TYPE_SERDES.put(long.class.getName(), F.t("out.writeLong(obj.${f}());", "obj.${f}(in.readLong());")); + TYPE_SERDES.put(float.class.getName(), F.t("out.writeFloat(obj.${f}());", "obj.${f}(in.readFloat());")); + TYPE_SERDES.put(double.class.getName(), F.t("out.writeDouble(obj.${f}());", "obj.${f}(in.readDouble());")); + + IgniteBiTuple objSerdes = F.t("out.writeObject(obj.${f}());", "obj.${f}((${c})in.readObject());"); + + TYPE_SERDES.put(Boolean.class.getName(), objSerdes); + TYPE_SERDES.put(Byte.class.getName(), objSerdes); + TYPE_SERDES.put(Short.class.getName(), objSerdes); + TYPE_SERDES.put(Integer.class.getName(), objSerdes); + TYPE_SERDES.put(Long.class.getName(), objSerdes); + TYPE_SERDES.put(Float.class.getName(), objSerdes); + TYPE_SERDES.put(Double.class.getName(), objSerdes); + + TYPE_SERDES.put(String.class.getName(), F.t("U.writeString(out, obj.${f}());", "obj.${f}(U.readString(in));")); + TYPE_SERDES.put(UUID.class.getName(), F.t("U.writeUuid(out, obj.${f}());", "obj.${f}(U.readUuid(in));")); + TYPE_SERDES.put("org.apache.ignite.lang.IgniteUuid", F.t("U.writeIgniteUuid(out, obj.${f}());", "obj.${f}(U.readIgniteUuid(in));")); + TYPE_SERDES.put("org.apache.ignite.internal.processors.cache.version.GridCacheVersion", objSerdes); + + TYPE_SERDES.put(Map.class.getName(), F.t("U.writeMap(out, obj.${f}());", "obj.${f}(U.readMap(in));")); + } + + /** */ + private static final IgniteBiTuple ENUM_SERDES = + F.t("U.writeEnum(out, obj.${f}());", "obj.${f}(U.readEnum(in, ${c}.class));"); + + /** */ + private static final IgniteBiTuple OBJ_ARRAY_SERDES = + F.t("U.writeArray(out, obj.${f}());", "obj.${f}(U.readArray(in, ${c}.class));"); + + /** */ + private static final Map> ARRAY_TYPE_SERDES = new HashMap<>(); + + { + ARRAY_TYPE_SERDES.put(byte.class.getName(), F.t("U.writeByteArray(out, obj.${f}());", "obj.${f}(U.readByteArray(in));")); + ARRAY_TYPE_SERDES.put(int.class.getName(), F.t("U.writeIntArray(out, obj.${f}());", "obj.${f}(U.readIntArray(in));")); + ARRAY_TYPE_SERDES.put(long.class.getName(), F.t("U.writeLongArray(out, obj.${f}());", "obj.${f}(U.readLongArray(in));")); + ARRAY_TYPE_SERDES.put(String.class.getName(), OBJ_ARRAY_SERDES); + ARRAY_TYPE_SERDES.put(UUID.class.getName(), OBJ_ARRAY_SERDES); + } + + /** */ + public IDTOSerializerGenerator(ProcessingEnvironment env, TypeElement type) { + this.env = env; + this.type = type; + } + + /** */ + public String serializerFQN() { + return PKG_NAME + "." + serializerName(); + } + + /** */ + private String serializerName() { + return type.getSimpleName() + "Serializer"; + } + + /** */ + public void generate() throws Exception { + imports.add("org.apache.ignite.internal.dto.IgniteDataTransferObjectSerializer"); + imports.add(type.getQualifiedName().toString()); + imports.add(ObjectOutput.class.getName()); + imports.add(ObjectInput.class.getName()); + imports.add(IOException.class.getName()); + imports.add("org.apache.ignite.internal.util.typedef.internal.U"); + + String clsName = String.valueOf(type.getSimpleName()); + + List flds = fields(type); + + List write = generateWrite(clsName, flds); + List read = generateRead(clsName, flds); + + try { + JavaFileObject file = env.getFiler().createSourceFile(serializerFQN()); + + try (Writer writer = file.openWriter()) { + writeClassHeader(writer, clsName); + + for (String line : write) { + writer.write(TAB); + writer.write(line); + writer.write(NL); + } + + writer.write(NL); + for (String line : read) { + writer.write(TAB); + writer.write(line); + writer.write(NL); + } + + writer.write("}"); + writer.write(NL); + + writer.flush(); + } + } + catch (FilerException e) { + // IntelliJ IDEA parses Ignite's pom.xml and configures itself to use this annotation processor on each Run. + // During a Run, it invokes the processor and may fail when attempting to generate sources that already exist. + // There is no a setting to disable this invocation. The IntelliJ community suggests a workaround — delegating + // all Run commands to Maven. However, this significantly slows down test startup time. + // This hack checks whether the content of a generating file is identical to already existed file, and skips + // handling this class if it is. +/* + if (!identicalFileIsAlreadyGenerated(serCode, serClsName)) { + env.getMessager().printMessage( + Diagnostic.Kind.ERROR, + "MessageSerializer " + serClsName + " is already generated. Try 'mvn clean install' to fix the issue." + ); + + throw e; + } +*/ + throw e; + } + } + + /** */ + private List generateRead(String clsName, List flds) { + List code = new ArrayList<>(); + + code.add("/** {@inheritDoc} */"); + code.add("@Override public void readExternal(" + clsName + " obj, ObjectInput in) throws IOException, ClassNotFoundException {"); + fieldsSerdes(flds, IgniteBiTuple::get2).forEach(line -> code.add(TAB + line)); + code.add("}"); + + return code; + } + + /** */ + private List generateWrite(String clsName, List flds) { + List code = new ArrayList<>(); + + code.add("/** {@inheritDoc} */"); + code.add("@Override public void writeExternal(" + clsName + " obj, ObjectOutput out) throws IOException {"); + + fieldsSerdes(flds, IgniteBiTuple::get1).forEach(line -> code.add(TAB + line)); + + code.add("}"); + + return code; + } + + /** */ + private List fieldsSerdes( + List flds, + Function, String> patternProvider + ) { + List code = new ArrayList<>(); + + for (VariableElement fld : flds) { + TypeMirror type = fld.asType(); + TypeMirror comp = null; + + IgniteBiTuple serDes; + + if (type.getKind() == TypeKind.ARRAY) { + comp = ((ArrayType)type).getComponentType(); + + serDes = enumType(env, comp) ? OBJ_ARRAY_SERDES : ARRAY_TYPE_SERDES.get(typeName(comp)); + } + else + serDes = enumType(env, type) ? ENUM_SERDES : TYPE_SERDES.get(typeName(type)); + + if (serDes != null) { + String pattern = patternProvider.apply(serDes); + + code.add(pattern + .replaceAll("\\$\\{f}", fld.getSimpleName().toString()) + .replaceAll("\\$\\{c}", className(comp == null ? type : comp))); + } + else + code.add("// Unsupported type: " + typeName(type) + " " + fld.getSimpleName() + " " + type.getClass().getName()); + } + + return code; + } + + /** */ + private String className(TypeMirror type) { + if (type instanceof PrimitiveType) + return typeName(type); + + String fqn = typeName(type); + + if (!fqn.startsWith("java.lang")) + imports.add(fqn); + + return simpleName(fqn); + } + + /** */ + public static String simpleName(String fqn) { + return fqn.substring(fqn.lastIndexOf('.') + 1); + } + + /** */ + private void writeClassHeader(Writer writer, String clsName) throws IOException { + try (InputStream in = getClass().getClassLoader().getResourceAsStream("license.txt"); + BufferedReader reader = new BufferedReader(new InputStreamReader(in))) { + + PrintWriter out = new PrintWriter(writer); + + String line; + + while ((line = reader.readLine()) != null) + out.println(line); + } + + writer.write(NL); + writer.write("package " + PKG_NAME + ";" + NL + NL); + + for (String regularImport: imports) + writer.write("import " + regularImport + ";" + NL); + + writer.write(NL); + writer.write(CLS_JAVADOC); + writer.write(NL); + writer.write("public class " + serializerName() + " implements " + simpleName(DTO_SERDES_INTERFACE) + "<" + clsName + "> {" + NL); + } + + /** */ + private List fields(TypeElement type) { + List res = new ArrayList<>(); + + while (type != null) { + for (Element el: type.getEnclosedElements()) { + if (el.getKind() != ElementKind.FIELD) + continue; + + if (el.getModifiers().contains(Modifier.STATIC)) + continue; + + res.add((VariableElement)el); + } + + Element superType = env.getTypeUtils().asElement(type.getSuperclass()); + + type = (TypeElement)superType; + } + + return res; + } + + /** */ + private static String typeName(TypeMirror comp) { + String n = comp.toString(); + int genIdx = n.indexOf('<'); + + return genIdx == -1 ? n : n.substring(0, genIdx); + } +} diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java new file mode 100644 index 0000000000000..5504c06dfbe07 --- /dev/null +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java @@ -0,0 +1,263 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.idto; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.io.Writer; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; +import javax.annotation.processing.AbstractProcessor; +import javax.annotation.processing.RoundEnvironment; +import javax.annotation.processing.SupportedAnnotationTypes; +import javax.annotation.processing.SupportedSourceVersion; +import javax.lang.model.SourceVersion; +import javax.lang.model.element.AnnotationMirror; +import javax.lang.model.element.Element; +import javax.lang.model.element.ElementKind; +import javax.lang.model.element.Modifier; +import javax.lang.model.element.TypeElement; +import javax.lang.model.type.TypeMirror; +import javax.tools.Diagnostic; +import javax.tools.JavaFileObject; + +import static org.apache.ignite.internal.MessageSerializerGenerator.NL; +import static org.apache.ignite.internal.MessageSerializerGenerator.TAB; +import static org.apache.ignite.internal.idto.IDTOSerializerGenerator.CLS_JAVADOC; +import static org.apache.ignite.internal.idto.IDTOSerializerGenerator.DTO_SERDES_INTERFACE; +import static org.apache.ignite.internal.idto.IDTOSerializerGenerator.PKG_NAME; +import static org.apache.ignite.internal.idto.IDTOSerializerGenerator.simpleName; + +/** + * + */ +@SupportedAnnotationTypes("org.apache.ignite.internal.management.api.Argument") +@SupportedSourceVersion(SourceVersion.RELEASE_11) +public class IgniteDataTransferObjectProcessor extends AbstractProcessor { + /** Base interface that every message must implement. */ + private static final String DTO_CLASS = "org.apache.ignite.internal.dto.IgniteDataTransferObject"; + + /** Base interface that every message must implement. */ + private static final String ARG_ANNOTATION = "org.apache.ignite.internal.management.api.Argument"; + + /** Factory class name. */ + public static final String FACTORY_CLASS = "IDTOSerializerFactory"; + + /** + * Processes all classes extending the {@code IgniteDataTransferObject} and generates corresponding serializer code. + */ + @Override public boolean process(Set annotations, RoundEnvironment roundEnv) { + TypeMirror dtoCls = processingEnv.getElementUtils().getTypeElement(DTO_CLASS).asType(); + TypeMirror argAnnotation = processingEnv.getElementUtils().getTypeElement(ARG_ANNOTATION).asType(); + + Map genSerDes = new HashMap<>(); + + for (Element el: roundEnv.getRootElements()) { + if (el.getKind() != ElementKind.CLASS) + continue; + + TypeElement clazz = (TypeElement)el; + + if (!processingEnv.getTypeUtils().isAssignable(clazz.asType(), dtoCls)) + continue; + + if (clazz.getModifiers().contains(Modifier.ABSTRACT)) + continue; + + if (!clazz.getModifiers().contains(Modifier.PUBLIC)) + continue; + + if (!hasArgumentFields(clazz, argAnnotation)) + continue; + + try { + IDTOSerializerGenerator gen = new IDTOSerializerGenerator(processingEnv, clazz); + + gen.generate(); + + genSerDes.put(clazz, gen.serializerFQN()); + } + catch (Exception e) { + processingEnv.getMessager().printMessage( + Diagnostic.Kind.ERROR, + "Failed to generate a dto serializer:" + e.getMessage(), + clazz + ); + } + } + + try { + generateFactory(genSerDes); + } + catch (IOException e) { + processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "Failed to generate a serializer factory:" + e.getMessage()); + } + + return false; + } + + /** */ + private void generateFactory(Map genSerDes) throws IOException { + JavaFileObject file = processingEnv.getFiler().createSourceFile(PKG_NAME + "." + FACTORY_CLASS); + + try (Writer writer = file.openWriter()) { + writeClassHeader(writer, genSerDes.keySet()); + + writer.write(TAB); + writer.write("/** */"); + writer.write(NL); + writer.write(TAB); + writer.write("private static final " + FACTORY_CLASS + " instance = new " + FACTORY_CLASS + "();"); + writer.write(NL); + writer.write(NL); + + writer.write(TAB); + writer.write("/** */"); + writer.write(NL); + writer.write(TAB); + writer.write("private final Map, " + simpleName(DTO_SERDES_INTERFACE) + "> serdes = new HashMap();"); + writer.write(NL); + writer.write(NL); + + constructor(genSerDes, writer); + writer.write(NL); + + getInstance(writer); + writer.write(NL); + + serializer(writer); + + writer.write("}"); + writer.write(NL); + + writer.flush(); + } + } + + /** */ + private void serializer(Writer writer) throws IOException { + writer.write(TAB); + writer.write("/** */"); + writer.write(NL); + writer.write(TAB); + + String genericType = ""; + + writer.write("public " + genericType + " " + simpleName(DTO_SERDES_INTERFACE) + " serializer(Class cls) {"); + writer.write(NL); + writer.write(TAB); + writer.write(TAB); + writer.write("return serdes.get(cls);"); + writer.write(NL); + writer.write(TAB); + writer.write("}"); + writer.write(NL); + } + + /** */ + private static void getInstance(Writer writer) throws IOException { + writer.write(TAB); + writer.write("/** */"); + writer.write(NL); + writer.write(TAB); + writer.write("public static " + FACTORY_CLASS + " getInstance() {"); + writer.write(NL); + writer.write(TAB); + writer.write(TAB); + writer.write("return instance;"); + writer.write(NL); + writer.write(TAB); + writer.write("}"); + writer.write(NL); + } + + /** */ + private static void constructor(Map genSerDes, Writer writer) throws IOException { + writer.write(TAB); + writer.write("/** */"); + writer.write(NL); + writer.write(TAB); + writer.write("private " + FACTORY_CLASS + "() {"); + writer.write(NL); + + for (Map.Entry e : genSerDes.entrySet()) { + writer.write(TAB); + writer.write(TAB); + writer.write("serdes.put(" + e.getKey().getSimpleName() + ".class, new " + simpleName(e.getValue()) + "());"); + writer.write(NL); + } + + writer.write(TAB); + writer.write("}"); + writer.write(NL); + } + + /** */ + private void writeClassHeader(Writer writer, Set dtoClss) throws IOException { + try (InputStream in = getClass().getClassLoader().getResourceAsStream("license.txt"); + BufferedReader reader = new BufferedReader(new InputStreamReader(in))) { + + PrintWriter out = new PrintWriter(writer); + + String line; + + while ((line = reader.readLine()) != null) + out.println(line); + } + + writer.write(NL); + writer.write("package " + PKG_NAME + ";" + NL + NL); + + for (TypeElement dtoCls : dtoClss) + writer.write("import " + dtoCls.getQualifiedName() + ";" + NL); + + writer.write("import " + Map.class.getName() + ";" + NL); + writer.write("import " + HashMap.class.getName() + ";" + NL); + writer.write("import " + DTO_SERDES_INTERFACE + ";" + NL); + writer.write("import " + DTO_CLASS + ";" + NL); + + writer.write(NL); + writer.write(CLS_JAVADOC); + writer.write(NL); + writer.write("public class " + FACTORY_CLASS + " {" + NL); + } + + /** */ + private boolean hasArgumentFields(TypeElement type, TypeMirror argAnnotation) { + while (type != null) { + for (Element el: type.getEnclosedElements()) { + if (el.getKind() != ElementKind.FIELD) + continue; + + for (AnnotationMirror am : el.getAnnotationMirrors()) { + if (am.getAnnotationType().equals(argAnnotation)) + return true; + } + } + + Element superType = processingEnv.getTypeUtils().asElement(type.getSuperclass()); + type = (TypeElement)superType; + } + + return false; + } +} diff --git a/modules/core/pom.xml b/modules/core/pom.xml index 536bfb760197d..0175c77aeb24b 100644 --- a/modules/core/pom.xml +++ b/modules/core/pom.xml @@ -386,6 +386,7 @@ ${ignite.generated.source.path} org.apache.ignite.internal.MessageProcessor + org.apache.ignite.internal.idto.IgniteDataTransferObjectProcessor -Xmaxerrs diff --git a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java new file mode 100644 index 0000000000000..e43eaeeb420be --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.dto; + +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; + +/** + * @param + */ +public interface IgniteDataTransferObjectSerializer { + /** + * + * @param instance + * @param out + * @throws IOException + */ + void writeExternal(T instance, ObjectOutput out) throws IOException; + + /** + * + * @param instance + * @param in + * @return + * @throws IOException + * @throws ClassNotFoundException + */ + void readExternal(T instance, ObjectInput in) throws IOException, ClassNotFoundException; +} diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionReencryptionStatusCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionReencryptionStatusCommandArg.java deleted file mode 100644 index e418d6594969c..0000000000000 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionReencryptionStatusCommandArg.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.management.encryption; - -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; -import org.apache.ignite.internal.dto.IgniteDataTransferObject; -import org.apache.ignite.internal.management.api.Argument; -import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; - -/** */ -public class EncryptionReencryptionStatusCommandArg extends IgniteDataTransferObject { - /** */ - private static final long serialVersionUID = 0; - - /** */ - @Positional - @Argument(example = "cacheGroupName") - private String cacheGroupName; - - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, cacheGroupName); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - cacheGroupName = U.readString(in); - } -} From 3f15eb9d631f7f00a9421da368b3eb0e06e4c4dd Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Thu, 22 Jan 2026 14:31:05 +0300 Subject: [PATCH 02/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../internal/MessageSerializerGenerator.java | 8 +- .../idto/IDTOSerializerGenerator.java | 90 +++++++++++-------- .../IgniteDataTransferObjectProcessor.java | 52 ++++++++--- .../dto/IgniteDataTransferObject.java | 29 +++++- .../management/SystemViewCommandArg.java | 20 ----- 5 files changed, 121 insertions(+), 78 deletions(-) diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java index f95ce9aac0f2a..c14faa5ac13e1 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java @@ -136,7 +136,7 @@ void generate(TypeElement type, List fields) throws Exception { // all Run commands to Maven. However, this significantly slows down test startup time. // This hack checks whether the content of a generating file is identical to already existed file, and skips // handling this class if it is. - if (!identicalFileIsAlreadyGenerated(serCode, serClsName)) { + if (!identicalFileIsAlreadyGenerated(env, serCode, PKG_NAME, serClsName)) { env.getMessager().printMessage( Diagnostic.Kind.ERROR, "MessageSerializer " + serClsName + " is already generated. Try 'mvn clean install' to fix the issue."); @@ -881,9 +881,9 @@ private String capitalizeOnlyFirst(String input) { } /** @return {@code true} if trying to generate file with the same content. */ - private boolean identicalFileIsAlreadyGenerated(String srcCode, String clsName) { + public static boolean identicalFileIsAlreadyGenerated(ProcessingEnvironment env, String srcCode, String pkg, String clsName) { try { - String fileName = PKG_NAME.replace('.', '/') + '/' + clsName + ".java"; + String fileName = pkg.replace('.', '/') + '/' + clsName + ".java"; FileObject prevFile = env.getFiler().getResource(StandardLocation.SOURCE_OUTPUT, "", fileName); String prevFileContent; @@ -903,7 +903,7 @@ private boolean identicalFileIsAlreadyGenerated(String srcCode, String clsName) } /** */ - private String content(Reader reader) throws IOException { + private static String content(Reader reader) throws IOException { BufferedReader br = new BufferedReader(reader); StringBuilder sb = new StringBuilder(); String line; diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java index 7a24dd18ae72c..24107fc5f6529 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java @@ -24,6 +24,7 @@ import java.io.ObjectInput; import java.io.ObjectOutput; import java.io.PrintWriter; +import java.io.StringWriter; import java.io.Writer; import java.util.ArrayList; import java.util.HashMap; @@ -44,6 +45,7 @@ import javax.lang.model.type.PrimitiveType; import javax.lang.model.type.TypeKind; import javax.lang.model.type.TypeMirror; +import javax.tools.Diagnostic; import javax.tools.JavaFileObject; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.lang.IgniteBiTuple; @@ -51,6 +53,7 @@ import static org.apache.ignite.internal.MessageSerializerGenerator.NL; import static org.apache.ignite.internal.MessageSerializerGenerator.TAB; import static org.apache.ignite.internal.MessageSerializerGenerator.enumType; +import static org.apache.ignite.internal.MessageSerializerGenerator.identicalFileIsAlreadyGenerated; /** * Generates serializer class for given {@code IgniteDataTransferObject} class. @@ -146,7 +149,41 @@ private String serializerName() { } /** */ - public void generate() throws Exception { + public boolean generate() throws Exception { + String serClsName = type.getSimpleName() + "Serializer"; + String serCode = generateSerializerCode(); + + try { + JavaFileObject file = env.getFiler().createSourceFile(PKG_NAME + "." + serClsName); + + try (Writer writer = file.openWriter()) { + writer.append(serCode); + writer.flush(); + } + + return true; + } + catch (FilerException e) { + // IntelliJ IDEA parses Ignite's pom.xml and configures itself to use this annotation processor on each Run. + // During a Run, it invokes the processor and may fail when attempting to generate sources that already exist. + // There is no a setting to disable this invocation. The IntelliJ community suggests a workaround — delegating + // all Run commands to Maven. However, this significantly slows down test startup time. + // This hack checks whether the content of a generating file is identical to already existed file, and skips + // handling this class if it is. + if (!identicalFileIsAlreadyGenerated(env, serCode, PKG_NAME, serClsName)) { + env.getMessager().printMessage( + Diagnostic.Kind.ERROR, + serClsName + " is already generated. Try 'mvn clean install' to fix the issue."); + + throw e; + } + + return false; + } + } + + /** */ + private String generateSerializerCode() throws IOException { imports.add("org.apache.ignite.internal.dto.IgniteDataTransferObjectSerializer"); imports.add(type.getQualifiedName().toString()); imports.add(ObjectOutput.class.getName()); @@ -161,49 +198,26 @@ public void generate() throws Exception { List write = generateWrite(clsName, flds); List read = generateRead(clsName, flds); - try { - JavaFileObject file = env.getFiler().createSourceFile(serializerFQN()); - - try (Writer writer = file.openWriter()) { - writeClassHeader(writer, clsName); - - for (String line : write) { - writer.write(TAB); - writer.write(line); - writer.write(NL); - } + try (Writer writer = new StringWriter()) { + writeClassHeader(writer, clsName); + for (String line : write) { + writer.write(TAB); + writer.write(line); writer.write(NL); - for (String line : read) { - writer.write(TAB); - writer.write(line); - writer.write(NL); - } + } - writer.write("}"); + writer.write(NL); + for (String line : read) { + writer.write(TAB); + writer.write(line); writer.write(NL); - - writer.flush(); } - } - catch (FilerException e) { - // IntelliJ IDEA parses Ignite's pom.xml and configures itself to use this annotation processor on each Run. - // During a Run, it invokes the processor and may fail when attempting to generate sources that already exist. - // There is no a setting to disable this invocation. The IntelliJ community suggests a workaround — delegating - // all Run commands to Maven. However, this significantly slows down test startup time. - // This hack checks whether the content of a generating file is identical to already existed file, and skips - // handling this class if it is. -/* - if (!identicalFileIsAlreadyGenerated(serCode, serClsName)) { - env.getMessager().printMessage( - Diagnostic.Kind.ERROR, - "MessageSerializer " + serClsName + " is already generated. Try 'mvn clean install' to fix the issue." - ); - throw e; - } -*/ - throw e; + writer.write("}"); + writer.write(NL); + + return writer.toString(); } } diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java index 5504c06dfbe07..79dbdd015bbbd 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java @@ -22,11 +22,13 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; +import java.io.StringWriter; import java.io.Writer; import java.util.HashMap; import java.util.Map; import java.util.Set; import javax.annotation.processing.AbstractProcessor; +import javax.annotation.processing.FilerException; import javax.annotation.processing.RoundEnvironment; import javax.annotation.processing.SupportedAnnotationTypes; import javax.annotation.processing.SupportedSourceVersion; @@ -42,6 +44,7 @@ import static org.apache.ignite.internal.MessageSerializerGenerator.NL; import static org.apache.ignite.internal.MessageSerializerGenerator.TAB; +import static org.apache.ignite.internal.MessageSerializerGenerator.identicalFileIsAlreadyGenerated; import static org.apache.ignite.internal.idto.IDTOSerializerGenerator.CLS_JAVADOC; import static org.apache.ignite.internal.idto.IDTOSerializerGenerator.DTO_SERDES_INTERFACE; import static org.apache.ignite.internal.idto.IDTOSerializerGenerator.PKG_NAME; @@ -92,9 +95,8 @@ public class IgniteDataTransferObjectProcessor extends AbstractProcessor { try { IDTOSerializerGenerator gen = new IDTOSerializerGenerator(processingEnv, clazz); - gen.generate(); - - genSerDes.put(clazz, gen.serializerFQN()); + if (gen.generate()) + genSerDes.put(clazz, gen.serializerFQN()); } catch (Exception e) { processingEnv.getMessager().printMessage( @@ -105,21 +107,47 @@ public class IgniteDataTransferObjectProcessor extends AbstractProcessor { } } + if (genSerDes.isEmpty()) + return true; + try { - generateFactory(genSerDes); + String factoryFQN = PKG_NAME + "." + FACTORY_CLASS; + String factoryCode = generateFactory(genSerDes); + + try { + JavaFileObject file = processingEnv.getFiler().createSourceFile(factoryFQN); + + try (Writer writer = file.openWriter()) { + writer.append(factoryCode); + writer.flush(); + } + } + catch (FilerException e) { + // IntelliJ IDEA parses Ignite's pom.xml and configures itself to use this annotation processor on each Run. + // During a Run, it invokes the processor and may fail when attempting to generate sources that already exist. + // There is no a setting to disable this invocation. The IntelliJ community suggests a workaround — delegating + // all Run commands to Maven. However, this significantly slows down test startup time. + // This hack checks whether the content of a generating file is identical to already existed file, and skips + // handling this class if it is. + if (!identicalFileIsAlreadyGenerated(processingEnv, factoryCode, PKG_NAME, FACTORY_CLASS)) { + processingEnv.getMessager().printMessage( + Diagnostic.Kind.ERROR, + FACTORY_CLASS + " is already generated. Try 'mvn clean install' to fix the issue."); + + throw e; + } + } } - catch (IOException e) { - processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "Failed to generate a serializer factory:" + e.getMessage()); + catch (Exception e) { + processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "Failed to generate a dto factory:" + e.getMessage()); } - return false; + return true; } /** */ - private void generateFactory(Map genSerDes) throws IOException { - JavaFileObject file = processingEnv.getFiler().createSourceFile(PKG_NAME + "." + FACTORY_CLASS); - - try (Writer writer = file.openWriter()) { + private String generateFactory(Map genSerDes) throws IOException { + try (Writer writer = new StringWriter()) { writeClassHeader(writer, genSerDes.keySet()); writer.write(TAB); @@ -149,7 +177,7 @@ private void generateFactory(Map genSerDes) throws IOExcept writer.write("}"); writer.write(NL); - writer.flush(); + return writer.toString(); } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObject.java b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObject.java index 2013554e55038..bc26b70839c12 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObject.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObject.java @@ -26,6 +26,7 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Set; +import org.apache.ignite.internal.codegen.idto.IDTOSerializerFactory; import org.jetbrains.annotations.Nullable; /** @@ -68,14 +69,24 @@ public abstract class IgniteDataTransferObject implements Externalizable { * @param out Output object to write data content. * @throws IOException If I/O errors occur. */ - protected abstract void writeExternalData(ObjectOutput out) throws IOException; + protected void writeExternalData(ObjectOutput out) throws IOException { + throw new UnsupportedOperationException("Please, implement custom method or provide support in IDTOSerializerGenerator"); + } /** {@inheritDoc} */ @Override public void writeExternal(ObjectOutput out) throws IOException { out.writeInt(MAGIC); try (IgniteDataTransferObjectOutput dtout = new IgniteDataTransferObjectOutput(out)) { - writeExternalData(dtout); + IgniteDataTransferObjectSerializer serializer = IDTOSerializerFactory.getInstance().serializer(getClass()); + + if (serializer == null) { + writeExternalData(dtout); + + return; + } + + serializer.writeExternal(this, dtout); } } @@ -86,7 +97,9 @@ public abstract class IgniteDataTransferObject implements Externalizable { * @throws IOException If I/O errors occur. * @throws ClassNotFoundException If the class for an object being restored cannot be found. */ - protected abstract void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException; + protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { + throw new UnsupportedOperationException("Please, implement custom method or provide support in IDTOSerializerGenerator"); + } /** {@inheritDoc} */ @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { @@ -97,7 +110,15 @@ public abstract class IgniteDataTransferObject implements Externalizable { "[actual=" + Integer.toHexString(hdr) + ", expected=" + Integer.toHexString(MAGIC) + "]"); try (IgniteDataTransferObjectInput dtin = new IgniteDataTransferObjectInput(in)) { - readExternalData(dtin); + IgniteDataTransferObjectSerializer serializer = IDTOSerializerFactory.getInstance().serializer(getClass()); + + if (serializer == null) { + readExternalData(dtin); + + return; + } + + serializer.readExternal(this, dtin); } } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/SystemViewCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/SystemViewCommandArg.java index e7c7c78cb0b51..ac7ac0aa11327 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/SystemViewCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/SystemViewCommandArg.java @@ -17,15 +17,11 @@ package org.apache.ignite.internal.management; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.ArgumentGroup; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @ArgumentGroup(value = {"nodeIds", "nodeId", "allNodes"}, optional = true, onlyOneOf = true) @@ -59,22 +55,6 @@ public class SystemViewCommandArg extends IgniteDataTransferObject { @Argument(description = "Get the system view from all nodes. If not set, random node will be chosen") private boolean allNodes; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, systemViewName); - U.writeUuid(out, nodeId); - U.writeArray(out, nodeIds); - out.writeBoolean(allNodes); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - systemViewName = U.readString(in); - nodeId = U.readUuid(in); - nodeIds = U.readArray(in, UUID.class); - allNodes = in.readBoolean(); - } - /** */ public String systemViewName() { return systemViewName; From ab1ff1ae1f5fd03e6932ceaa33b08e1e5df2ccc6 Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Thu, 22 Jan 2026 15:03:13 +0300 Subject: [PATCH 03/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../management/ChangeTagCommandArg.java | 14 -------- .../management/DeactivateCommandArg.java | 16 ---------- .../management/SetStateCommandArg.java | 18 ----------- .../management/ShutdownPolicyCommandArg.java | 14 -------- .../baseline/BaselineAddCommandArg.java | 18 ----------- .../BaselineAutoAdjustCommandArg.java | 20 ------------ .../management/baseline/BaselineCommand.java | 13 -------- .../baseline/BaselineVersionCommandArg.java | 17 ---------- .../cache/CacheClearCommandArg.java | 14 -------- .../cache/CacheContentionCommandArg.java | 18 ----------- .../cache/CacheCreateCommandArg.java | 16 ---------- .../cache/CacheDestroyCommandArg.java | 16 ---------- .../cache/CacheDistributionCommandArg.java | 20 ------------ .../cache/CacheFindGarbageCommandArg.java | 22 ------------- .../cache/CacheIdleVerifyCommandArg.java | 22 ------------- .../CacheIndexesForceRebuildCommandArg.java | 22 ------------- .../cache/CacheIndexesListCommandArg.java | 20 ------------ .../CacheIndexesRebuildStatusCommandArg.java | 14 -------- .../management/cache/CacheListCommandArg.java | 24 -------------- .../cache/CacheMetricsCommandArg.java | 18 ----------- .../CacheResetLostPartitionsCommandArg.java | 14 -------- ...CacheScheduleIndexesRebuildCommandArg.java | 24 -------------- .../cache/CacheValidateIndexesCommandArg.java | 28 ---------------- .../cache/scan/CacheScanCommandArg.java | 18 ----------- .../CdcDeleteLostSegmentLinksCommandArg.java | 14 -------- .../management/cdc/CdcResendCommandArg.java | 14 -------- .../checkpoint/CheckpointCommandArg.java | 18 ----------- .../ConsistencyRepairCommandArg.java | 20 ------------ .../DefragmentationScheduleCommandArg.java | 20 ------------ .../DiagnosticPagelocksCommandArg.java | 20 ------------ .../encryption/EncryptionCacheGroupArg.java | 14 -------- .../EncryptionChangeMasterKeyCommandArg.java | 14 -------- ...yptionReencryptionRateLimitCommandArg.java | 13 -------- .../management/kill/KillClientCommandArg.java | 16 ---------- .../kill/KillComputeCommandArg.java | 14 -------- .../kill/KillContinuousCommandArg.java | 16 ---------- .../management/kill/KillScanCommandArg.java | 18 ----------- .../kill/KillServiceCommandArg.java | 14 -------- .../kill/KillSnapshotCommandArg.java | 16 ---------- .../management/kill/KillSqlCommandArg.java | 19 +---------- .../kill/KillTransactionCommandArg.java | 14 -------- .../meta/MetaDetailsCommandArg.java | 17 +--------- .../management/meta/MetaRemoveCommandArg.java | 17 ---------- .../management/meta/MetaUpdateCommandArg.java | 14 -------- .../management/metric/MetricCommandArg.java | 16 ---------- .../MetricConfigureHistogramCommandArg.java | 18 ----------- .../MetricConfigureHitrateCommandArg.java | 17 ---------- .../PersistenceBackupCachesTaskArg.java | 18 ----------- .../PersistenceCleanCachesTaskArg.java | 18 ----------- .../persistence/PersistenceCommand.java | 13 -------- .../property/PropertyGetCommandArg.java | 14 -------- .../property/PropertyListCommandArg.java | 13 -------- .../property/PropertySetCommandArg.java | 18 ----------- .../RollingUpgradeEnableCommandArg.java | 16 ---------- .../snapshot/SnapshotCancelCommandArg.java | 16 ---------- .../snapshot/SnapshotCheckCommandArg.java | 18 ----------- .../snapshot/SnapshotCreateCommandArg.java | 20 ------------ .../snapshot/SnapshotRestoreCommandArg.java | 30 ----------------- .../tracing/TracingConfigurationCommand.java | 13 -------- .../TracingConfigurationGetAllCommandArg.java | 18 ----------- .../TracingConfigurationGetCommandArg.java | 20 ------------ .../TracingConfigurationSetCommandArg.java | 21 +----------- .../internal/management/tx/TxCommandArg.java | 32 ------------------- .../management/tx/TxInfoCommandArg.java | 18 ----------- .../management/wal/WalDeleteCommandArg.java | 14 -------- .../management/wal/WalStateCommandArg.java | 14 -------- 66 files changed, 3 insertions(+), 1154 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/ChangeTagCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/ChangeTagCommandArg.java index 9080445578b65..922ffe8a80647 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/ChangeTagCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/ChangeTagCommandArg.java @@ -17,15 +17,11 @@ package org.apache.ignite.internal.management; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.CliConfirmArgument; import org.apache.ignite.internal.management.api.Positional; import org.apache.ignite.internal.util.typedef.F; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @CliConfirmArgument @@ -38,16 +34,6 @@ public class ChangeTagCommandArg extends IgniteDataTransferObject { @Argument(example = "newTagValue") private String newTagValue; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, newTagValue); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - newTagValue = U.readString(in); - } - /** */ public String newTagValue() { return newTagValue; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/DeactivateCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/DeactivateCommandArg.java index 31a53374aa265..72ca6fac80119 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/DeactivateCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/DeactivateCommandArg.java @@ -17,13 +17,9 @@ package org.apache.ignite.internal.management; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.CliConfirmArgument; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @CliConfirmArgument @@ -38,18 +34,6 @@ public class DeactivateCommandArg extends IgniteDataTransferObject { /** */ private String clusterName; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - out.writeBoolean(force); - U.writeString(out, clusterName); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - force = in.readBoolean(); - clusterName = U.readString(in); - } - /** */ public boolean force() { return force; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/SetStateCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/SetStateCommandArg.java index 10b9ae80ba574..24009edf9229a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/SetStateCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/SetStateCommandArg.java @@ -17,16 +17,12 @@ package org.apache.ignite.internal.management; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.cluster.ClusterState; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.CliConfirmArgument; import org.apache.ignite.internal.management.api.EnumDescription; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @CliConfirmArgument @@ -58,20 +54,6 @@ public class SetStateCommandArg extends IgniteDataTransferObject { /** */ private String clusterName; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeEnum(out, state); - out.writeBoolean(force); - U.writeString(out, clusterName); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - state = U.readEnum(in, ClusterState.class); - force = in.readBoolean(); - clusterName = U.readString(in); - } - /** */ public ClusterState state() { return state; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/ShutdownPolicyCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/ShutdownPolicyCommandArg.java index d3fcf55d8323c..e976ef5b5bd1a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/ShutdownPolicyCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/ShutdownPolicyCommandArg.java @@ -17,15 +17,11 @@ package org.apache.ignite.internal.management; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.ShutdownPolicy; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.EnumDescription; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class ShutdownPolicyCommandArg extends IgniteDataTransferObject { @@ -47,16 +43,6 @@ public class ShutdownPolicyCommandArg extends IgniteDataTransferObject { ) private ShutdownPolicy shutdownPolicy; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeEnum(out, shutdownPolicy); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - shutdownPolicy = U.readEnum(in, ShutdownPolicy.class); - } - /** */ public ShutdownPolicy shutdownPolicy() { return shutdownPolicy; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineAddCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineAddCommandArg.java index 1561f0df71f1e..1170deaeb8165 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineAddCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineAddCommandArg.java @@ -17,14 +17,10 @@ package org.apache.ignite.internal.management.baseline; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.CliConfirmArgument; import org.apache.ignite.internal.management.api.Positional; import org.apache.ignite.internal.management.baseline.BaselineCommand.BaselineTaskArg; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @CliConfirmArgument @@ -37,20 +33,6 @@ public class BaselineAddCommandArg extends BaselineTaskArg { @Argument(example = "consistentId1[,consistentId2,....,consistentIdN]") private String[] consistentIDs; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - super.writeExternalData(out); - - U.writeArray(out, consistentIDs); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - super.readExternalData(in); - - consistentIDs = U.readArray(in, String.class); - } - /** */ public String[] consistentIDs() { return consistentIDs; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineAutoAdjustCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineAutoAdjustCommandArg.java index bc39c4b131992..992a8898687ce 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineAutoAdjustCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineAutoAdjustCommandArg.java @@ -17,16 +17,12 @@ package org.apache.ignite.internal.management.baseline; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.ArgumentGroup; import org.apache.ignite.internal.management.api.CliConfirmArgument; import org.apache.ignite.internal.management.api.EnumDescription; import org.apache.ignite.internal.management.api.Positional; import org.apache.ignite.internal.management.baseline.BaselineCommand.BaselineTaskArg; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @CliConfirmArgument @@ -63,22 +59,6 @@ public enum Enabled { ENABLE } - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - super.writeExternalData(out); - - U.writeEnum(out, enabled); - out.writeObject(timeout); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - super.readExternalData(in); - - enabled = U.readEnum(in, Enabled.class); - timeout = (Long)in.readObject(); - } - /** */ public Enabled enabled() { return enabled; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineCommand.java b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineCommand.java index 06f3e7968e228..0116a3a8ce99c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineCommand.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineCommand.java @@ -17,9 +17,6 @@ package org.apache.ignite.internal.management.baseline; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.Collection; import java.util.function.Consumer; import org.apache.ignite.cluster.ClusterNode; @@ -84,16 +81,6 @@ public abstract static class BaselineTaskArg extends IgniteDataTransferObject { @Argument(optional = true, description = "Show the full list of node ips") private boolean verbose; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - out.writeBoolean(verbose); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - verbose = in.readBoolean(); - } - /** */ public boolean verbose() { return verbose; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineVersionCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineVersionCommandArg.java index 3441d8b1b8da4..39641c53d98d2 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineVersionCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineVersionCommandArg.java @@ -17,9 +17,6 @@ package org.apache.ignite.internal.management.baseline; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.CliConfirmArgument; import org.apache.ignite.internal.management.api.Positional; @@ -36,20 +33,6 @@ public class BaselineVersionCommandArg extends BaselineTaskArg { @Argument(example = "topologyVersion") private long topologyVersion; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - super.writeExternalData(out); - - out.writeLong(topologyVersion); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - super.readExternalData(in); - - topologyVersion = in.readLong(); - } - /** */ public long topologyVersion() { return topologyVersion; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheClearCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheClearCommandArg.java index 9a01eed153e3c..3019935a36753 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheClearCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheClearCommandArg.java @@ -17,12 +17,8 @@ package org.apache.ignite.internal.management.cache; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class CacheClearCommandArg extends IgniteDataTransferObject { @@ -33,16 +29,6 @@ public class CacheClearCommandArg extends IgniteDataTransferObject { @Argument(description = "specifies a comma-separated list of cache names to be cleared") private String[] caches; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeArray(out, caches); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - caches = U.readArray(in, String.class); - } - /** */ public String[] caches() { return caches; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheContentionCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheContentionCommandArg.java index 0c16176b72209..e11eefb45fcc5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheContentionCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheContentionCommandArg.java @@ -17,14 +17,10 @@ package org.apache.ignite.internal.management.cache; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class CacheContentionCommandArg extends IgniteDataTransferObject { @@ -46,20 +42,6 @@ public class CacheContentionCommandArg extends IgniteDataTransferObject { @Argument(optional = true, example = "maxPrint") private int maxPrint = 10; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - out.writeInt(minQueueSize); - U.writeUuid(out, nodeId); - out.writeInt(maxPrint); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - minQueueSize = in.readInt(); - nodeId = U.readUuid(in); - maxPrint = in.readInt(); - } - /** */ public UUID nodeId() { return nodeId; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheCreateCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheCreateCommandArg.java index 1a88b048b10b0..a855739344730 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheCreateCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheCreateCommandArg.java @@ -19,8 +19,6 @@ import java.io.File; import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.IgniteException; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; @@ -59,20 +57,6 @@ private void readFile() { } } - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, springxmlconfig); - U.writeString(out, fileContent); - out.writeBoolean(skipExisting); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - springxmlconfig = U.readString(in); - fileContent = U.readString(in); - skipExisting = in.readBoolean(); - } - /** */ public String springxmlconfig() { return springxmlconfig; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheDestroyCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheDestroyCommandArg.java index f5d880d31d98f..49c585412c2b7 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheDestroyCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheDestroyCommandArg.java @@ -17,13 +17,9 @@ package org.apache.ignite.internal.management.cache; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.ArgumentGroup; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @ArgumentGroup(value = {"destroyAllCaches", "caches"}, onlyOneOf = true, optional = false) @@ -40,18 +36,6 @@ public class CacheDestroyCommandArg extends IgniteDataTransferObject { @Argument(description = "permanently destroy all user-created caches") private boolean destroyAllCaches; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeArray(out, caches); - out.writeBoolean(destroyAllCaches); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - caches = U.readArray(in, String.class); - destroyAllCaches = in.readBoolean(); - } - /** */ public boolean destroyAllCaches() { return destroyAllCaches; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheDistributionCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheDistributionCommandArg.java index 2f942ee7db3c0..42192bcfe5db0 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheDistributionCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheDistributionCommandArg.java @@ -17,15 +17,11 @@ package org.apache.ignite.internal.management.cache; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.CommandUtils; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class CacheDistributionCommandArg extends IgniteDataTransferObject { @@ -49,22 +45,6 @@ public class CacheDistributionCommandArg extends IgniteDataTransferObject { @Argument(optional = true, example = "attrName1,...,attrNameN") private String[] userAttributes; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, nodeIdOrNull); - U.writeArray(out, caches); - U.writeUuid(out, nodeId); - U.writeArray(out, userAttributes); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - nodeIdOrNull = U.readString(in); - caches = U.readArray(in, String.class); - nodeId = U.readUuid(in); - userAttributes = U.readArray(in, String.class); - } - /** */ private void parse(String value) { if (!"null".equals(value)) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheFindGarbageCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheFindGarbageCommandArg.java index f842abf797613..b2e9686d72d19 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheFindGarbageCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheFindGarbageCommandArg.java @@ -17,15 +17,11 @@ package org.apache.ignite.internal.management.cache; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.CommandUtils; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class CacheFindGarbageCommandArg extends IgniteDataTransferObject { @@ -66,24 +62,6 @@ private void parse(String value) { groups = CommandUtils.parseVal(value, String[].class); } - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, value); - U.writeString(out, value2); - U.writeArray(out, groups); - U.writeArray(out, nodeIds); - out.writeBoolean(delete); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - value = U.readString(in); - value2 = U.readString(in); - groups = U.readArray(in, String.class); - nodeIds = U.readArray(in, UUID.class); - delete = in.readBoolean(); - } - /** */ public UUID[] nodeIds() { return nodeIds; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIdleVerifyCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIdleVerifyCommandArg.java index 894cb0e2b3609..d263547456f86 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIdleVerifyCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIdleVerifyCommandArg.java @@ -17,9 +17,6 @@ package org.apache.ignite.internal.management.cache; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; import org.apache.ignite.IgniteException; @@ -27,7 +24,6 @@ import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.EnumDescription; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; import static java.lang.String.format; @@ -90,24 +86,6 @@ private void validateRegexes(String[] string) { } } - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeArray(out, caches); - out.writeBoolean(skipZeros); - out.writeBoolean(checkCrc); - U.writeArray(out, excludeCaches); - U.writeEnum(out, cacheFilter); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - caches = U.readArray(in, String.class); - skipZeros = in.readBoolean(); - checkCrc = in.readBoolean(); - excludeCaches = U.readArray(in, String.class); - cacheFilter = U.readEnum(in, CacheFilterEnum.class); - } - /** */ public String[] caches() { return caches; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesForceRebuildCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesForceRebuildCommandArg.java index a124a3c6802cb..026e5b1828d4f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesForceRebuildCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesForceRebuildCommandArg.java @@ -17,14 +17,10 @@ package org.apache.ignite.internal.management.cache; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.ArgumentGroup; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @ArgumentGroup(value = {"nodeIds", "allNodes", "nodeId"}, onlyOneOf = true, optional = false) @@ -59,24 +55,6 @@ public class CacheIndexesForceRebuildCommandArg extends IgniteDataTransferObject example = "groupName1,...groupNameN") private String[] groupNames; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeUuid(out, nodeId); - U.writeArray(out, cacheNames); - U.writeArray(out, groupNames); - U.writeArray(out, nodeIds); - out.writeBoolean(allNodes); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - nodeId = U.readUuid(in); - cacheNames = U.readArray(in, String.class); - groupNames = U.readArray(in, String.class); - nodeIds = U.readArray(in, UUID.class); - allNodes = in.readBoolean(); - } - /** */ public UUID nodeId() { return nodeId; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesListCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesListCommandArg.java index 812dd52e3adbf..867cb5a13b174 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesListCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesListCommandArg.java @@ -17,15 +17,11 @@ package org.apache.ignite.internal.management.cache; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class CacheIndexesListCommandArg extends IgniteDataTransferObject { @@ -75,22 +71,6 @@ private boolean validateRegEx(String name, String regex) { } } - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeUuid(out, nodeId); - U.writeString(out, groupName); - U.writeString(out, cacheName); - U.writeString(out, indexName); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - nodeId = U.readUuid(in); - groupName = U.readString(in); - cacheName = U.readString(in); - indexName = U.readString(in); - } - /** */ public UUID nodeId() { return nodeId; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesRebuildStatusCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesRebuildStatusCommandArg.java index 1c84bdbef3296..ec483178e87e9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesRebuildStatusCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesRebuildStatusCommandArg.java @@ -17,13 +17,9 @@ package org.apache.ignite.internal.management.cache; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class CacheIndexesRebuildStatusCommandArg extends IgniteDataTransferObject { @@ -37,16 +33,6 @@ public class CacheIndexesRebuildStatusCommandArg extends IgniteDataTransferObjec optional = true) private UUID nodeId; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeUuid(out, nodeId); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - nodeId = U.readUuid(in); - } - /** */ public UUID nodeId() { return nodeId; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheListCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheListCommandArg.java index eedaac2da3355..d99cf9c975956 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheListCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheListCommandArg.java @@ -17,15 +17,11 @@ package org.apache.ignite.internal.management.cache; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.ArgumentGroup; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @ArgumentGroup(value = {"groups", "seq"}, onlyOneOf = true, optional = true) @@ -61,26 +57,6 @@ public class CacheListCommandArg extends IgniteDataTransferObject { @Argument(description = "print information about sequences") private boolean seq; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, regex); - out.writeBoolean(config); - U.writeUuid(out, nodeId); - U.writeString(out, outputFormat); - out.writeBoolean(groups); - out.writeBoolean(seq); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - regex = U.readString(in); - config = in.readBoolean(); - nodeId = U.readUuid(in); - outputFormat = U.readString(in); - groups = in.readBoolean(); - seq = in.readBoolean(); - } - /** */ public String regex() { return regex; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsCommandArg.java index 624f7757f09df..e311e33e4b648 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsCommandArg.java @@ -17,15 +17,11 @@ package org.apache.ignite.internal.management.cache; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.ArgumentGroup; import org.apache.ignite.internal.management.api.EnumDescription; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @ArgumentGroup(value = {"caches", "allCaches"}, onlyOneOf = true, optional = false) @@ -59,20 +55,6 @@ public class CacheMetricsCommandArg extends IgniteDataTransferObject { @Argument(description = "applies operation to all user caches") private boolean allCaches; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeEnum(out, operation); - U.writeArray(out, caches); - out.writeBoolean(allCaches); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - operation = U.readEnum(in, CacheMetricsOperation.class); - caches = U.readArray(in, String.class); - allCaches = in.readBoolean(); - } - /** */ public CacheMetricsOperation operation() { return operation; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheResetLostPartitionsCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheResetLostPartitionsCommandArg.java index 391b615651937..f2082c0a968b1 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheResetLostPartitionsCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheResetLostPartitionsCommandArg.java @@ -17,13 +17,9 @@ package org.apache.ignite.internal.management.cache; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class CacheResetLostPartitionsCommandArg extends IgniteDataTransferObject { @@ -35,16 +31,6 @@ public class CacheResetLostPartitionsCommandArg extends IgniteDataTransferObject @Argument(example = "cacheName1,...,cacheNameN") private String[] caches; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeArray(out, caches); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - caches = U.readArray(in, String.class); - } - /** */ public String[] caches() { return caches; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheScheduleIndexesRebuildCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheScheduleIndexesRebuildCommandArg.java index 3fc90052e1556..26e918ffe1b49 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheScheduleIndexesRebuildCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheScheduleIndexesRebuildCommandArg.java @@ -17,9 +17,6 @@ package org.apache.ignite.internal.management.cache; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; @@ -33,7 +30,6 @@ import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.ArgumentGroup; import org.apache.ignite.internal.util.typedef.F; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @ArgumentGroup(value = {"nodeIds", "allNodes", "nodeId"}, onlyOneOf = true, optional = true) @@ -79,26 +75,6 @@ public class CacheScheduleIndexesRebuildCommandArg extends IgniteDataTransferObj /** Cache name -> indexes. */ private Map> cacheToIndexes; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeUuid(out, nodeId); - U.writeString(out, cacheNames); - U.writeArray(out, groupNames); - U.writeMap(out, cacheToIndexes); - U.writeArray(out, nodeIds); - out.writeBoolean(allNodes); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - nodeId = U.readUuid(in); - cacheNames = U.readString(in); - groupNames = U.readArray(in, String.class); - cacheToIndexes = U.readMap(in); - nodeIds = U.readArray(in, UUID.class); - allNodes = in.readBoolean(); - } - /** */ private void parse() { cacheToIndexes = new HashMap<>(); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheValidateIndexesCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheValidateIndexesCommandArg.java index c186e436f7187..b9317a509d58d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheValidateIndexesCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheValidateIndexesCommandArg.java @@ -17,15 +17,11 @@ package org.apache.ignite.internal.management.cache; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.CommandUtils; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class CacheValidateIndexesCommandArg extends IgniteDataTransferObject { @@ -84,30 +80,6 @@ private void parse(String value) { caches = CommandUtils.parseVal(value, String[].class); } - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, value); - U.writeString(out, value2); - U.writeArray(out, caches); - U.writeArray(out, nodeIds); - out.writeInt(checkFirst); - out.writeInt(checkThrough); - out.writeBoolean(checkCrc); - out.writeBoolean(checkSizes); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - value = U.readString(in); - value2 = U.readString(in); - caches = U.readArray(in, String.class); - nodeIds = U.readArray(in, UUID.class); - checkFirst = in.readInt(); - checkThrough = in.readInt(); - checkCrc = in.readBoolean(); - checkSizes = in.readBoolean(); - } - /** */ public String value2() { return value2; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/scan/CacheScanCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/scan/CacheScanCommandArg.java index 3af1c1c821c0f..e439b742c3259 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/scan/CacheScanCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/scan/CacheScanCommandArg.java @@ -17,13 +17,9 @@ package org.apache.ignite.internal.management.cache.scan; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class CacheScanCommandArg extends IgniteDataTransferObject { @@ -46,20 +42,6 @@ public class CacheScanCommandArg extends IgniteDataTransferObject { @Argument(description = "limit count of entries to scan (" + DFLT_LIMIT + " by default)", example = "N", optional = true) private int limit = DFLT_LIMIT; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, cacheName); - U.writeString(out, outputFormat); - out.writeInt(limit); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - cacheName = U.readString(in); - outputFormat = U.readString(in); - limit = in.readInt(); - } - /** */ public String outputFormat() { return outputFormat; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cdc/CdcDeleteLostSegmentLinksCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cdc/CdcDeleteLostSegmentLinksCommandArg.java index 86a011020dbe0..2ff54191b2eb7 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cdc/CdcDeleteLostSegmentLinksCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cdc/CdcDeleteLostSegmentLinksCommandArg.java @@ -17,14 +17,10 @@ package org.apache.ignite.internal.management.cdc; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.CliConfirmArgument; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @CliConfirmArgument @@ -37,16 +33,6 @@ public class CdcDeleteLostSegmentLinksCommandArg extends IgniteDataTransferObjec "If not set, the command will affect all server nodes") private UUID nodeId; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeUuid(out, nodeId); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - nodeId = U.readUuid(in); - } - /** */ public UUID nodeId() { return nodeId; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cdc/CdcResendCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cdc/CdcResendCommandArg.java index b2fa30bf59e19..1fb71875d85d9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cdc/CdcResendCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cdc/CdcResendCommandArg.java @@ -17,12 +17,8 @@ package org.apache.ignite.internal.management.cdc; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class CdcResendCommandArg extends IgniteDataTransferObject { @@ -36,16 +32,6 @@ public class CdcResendCommandArg extends IgniteDataTransferObject { ) private String[] caches; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeArray(out, caches); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - caches = U.readArray(in, String.class); - } - /** */ public String[] caches() { return caches; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/checkpoint/CheckpointCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/checkpoint/CheckpointCommandArg.java index f5f40c9a54961..7cde16988400c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/checkpoint/CheckpointCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/checkpoint/CheckpointCommandArg.java @@ -17,12 +17,8 @@ package org.apache.ignite.internal.management.checkpoint; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; -import org.apache.ignite.internal.util.typedef.internal.U; /** Checkpoint command arguments. */ public class CheckpointCommandArg extends IgniteDataTransferObject { @@ -41,20 +37,6 @@ public class CheckpointCommandArg extends IgniteDataTransferObject { @Argument(description = "Timeout in milliseconds", optional = true) private long timeout = -1; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, reason); - out.writeBoolean(waitForFinish); - out.writeLong(timeout); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - reason = U.readString(in); - waitForFinish = in.readBoolean(); - timeout = in.readLong(); - } - /** */ public String reason() { return reason; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/consistency/ConsistencyRepairCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/consistency/ConsistencyRepairCommandArg.java index dba4bd6f74154..5b34081c52274 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/consistency/ConsistencyRepairCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/consistency/ConsistencyRepairCommandArg.java @@ -17,14 +17,10 @@ package org.apache.ignite.internal.management.consistency; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.cache.ReadRepairStrategy; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.EnumDescription; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class ConsistencyRepairCommandArg extends IgniteDataTransferObject { @@ -72,22 +68,6 @@ public void ensureParams() { } } - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, cache); - U.writeIntArray(out, partitions); - U.writeEnum(out, strategy); - out.writeBoolean(parallel); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - cache = U.readString(in); - partitions = U.readIntArray(in); - strategy = U.readEnum(in, ReadRepairStrategy.class); - parallel = in.readBoolean(); - } - /** */ public int[] partitions() { return partitions; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/defragmentation/DefragmentationScheduleCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/defragmentation/DefragmentationScheduleCommandArg.java index 682e2f9d2cb0c..ab43e66a34c9b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/defragmentation/DefragmentationScheduleCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/defragmentation/DefragmentationScheduleCommandArg.java @@ -17,12 +17,8 @@ package org.apache.ignite.internal.management.defragmentation; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.defragmentation.DefragmentationCommand.DefragmentationStatusCommandArg; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class DefragmentationScheduleCommandArg extends DefragmentationStatusCommandArg { @@ -37,22 +33,6 @@ public class DefragmentationScheduleCommandArg extends DefragmentationStatusComm @Argument(example = "cache1,cache2,cache3", optional = true) private String[] caches; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - super.writeExternalData(out); - - U.writeArray(out, nodes); - U.writeArray(out, caches); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - super.readExternalData(in); - - nodes = U.readArray(in, String.class); - caches = U.readArray(in, String.class); - } - /** */ public String[] nodes() { return nodes; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/diagnostic/DiagnosticPagelocksCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/diagnostic/DiagnosticPagelocksCommandArg.java index 8bb42454571dc..a3d1c10253cad 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/diagnostic/DiagnosticPagelocksCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/diagnostic/DiagnosticPagelocksCommandArg.java @@ -17,15 +17,11 @@ package org.apache.ignite.internal.management.diagnostic; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.ArgumentGroup; import org.apache.ignite.internal.management.api.EnumDescription; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; import static org.apache.ignite.internal.management.diagnostic.Operation.DUMP_LOG; @@ -71,22 +67,6 @@ private void ensureOperationAndPath(Operation op, String path) { throw new IllegalArgumentException("Path can be specified only in DUMP mode."); } - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeEnum(out, operation); - U.writeString(out, path); - out.writeBoolean(all); - U.writeArray(out, nodes); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - operation = U.readEnum(in, Operation.class); - path = U.readString(in); - all = in.readBoolean(); - nodes = U.readArray(in, String.class); - } - /** */ public String[] nodes() { return nodes; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionCacheGroupArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionCacheGroupArg.java index acc5661baaf98..62b43ffc78bb4 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionCacheGroupArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionCacheGroupArg.java @@ -17,13 +17,9 @@ package org.apache.ignite.internal.management.encryption; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class EncryptionCacheGroupArg extends IgniteDataTransferObject { @@ -35,16 +31,6 @@ public class EncryptionCacheGroupArg extends IgniteDataTransferObject { @Argument(example = "cacheGroupName") private String cacheGroupName; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, cacheGroupName); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - cacheGroupName = U.readString(in); - } - /** */ public String cacheGroupName() { return cacheGroupName; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionChangeMasterKeyCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionChangeMasterKeyCommandArg.java index 1afd5d321a5d9..ffa0403153fdf 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionChangeMasterKeyCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionChangeMasterKeyCommandArg.java @@ -17,13 +17,9 @@ package org.apache.ignite.internal.management.encryption; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class EncryptionChangeMasterKeyCommandArg extends IgniteDataTransferObject { @@ -35,16 +31,6 @@ public class EncryptionChangeMasterKeyCommandArg extends IgniteDataTransferObjec @Argument(example = "newMasterKeyName") private String newMasterKeyName; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, newMasterKeyName); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - newMasterKeyName = U.readString(in); - } - /** */ public String newMasterKeyName() { return newMasterKeyName; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionReencryptionRateLimitCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionReencryptionRateLimitCommandArg.java index 60dc932f02672..4ba0b4ce10ed3 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionReencryptionRateLimitCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionReencryptionRateLimitCommandArg.java @@ -17,9 +17,6 @@ package org.apache.ignite.internal.management.encryption; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; @@ -34,16 +31,6 @@ public class EncryptionReencryptionRateLimitCommandArg extends IgniteDataTransfe @Argument(optional = true, description = "Decimal value to change re-encryption rate limit (MB/s)") private Double newLimit; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - out.writeObject(newLimit); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - newLimit = (Double)in.readObject(); - } - /** */ public Double newLimit() { return newLimit; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillClientCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillClientCommandArg.java index 57cf89df4e20c..fb9283edd233b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillClientCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillClientCommandArg.java @@ -17,14 +17,10 @@ package org.apache.ignite.internal.management.kill; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class KillClientCommandArg extends IgniteDataTransferObject { @@ -40,18 +36,6 @@ public class KillClientCommandArg extends IgniteDataTransferObject { @Argument(description = "Node id to drop connection from", optional = true) private UUID nodeId; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, connectionId); - U.writeUuid(out, nodeId); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - connectionId = U.readString(in); - nodeId = U.readUuid(in); - } - /** */ public String connectionId() { return connectionId; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillComputeCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillComputeCommandArg.java index 7dcd9f63fe83e..f195da579a7d9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillComputeCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillComputeCommandArg.java @@ -17,13 +17,9 @@ package org.apache.ignite.internal.management.kill; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.lang.IgniteUuid; /** */ @@ -36,16 +32,6 @@ public class KillComputeCommandArg extends IgniteDataTransferObject { @Argument(description = "Session identifier") private IgniteUuid sessionId; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeIgniteUuid(out, sessionId); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - sessionId = U.readIgniteUuid(in); - } - /** */ public IgniteUuid sessionId() { return sessionId; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillContinuousCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillContinuousCommandArg.java index 01c8be66db5bf..6f7920647b464 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillContinuousCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillContinuousCommandArg.java @@ -17,14 +17,10 @@ package org.apache.ignite.internal.management.kill; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class KillContinuousCommandArg extends IgniteDataTransferObject { @@ -41,18 +37,6 @@ public class KillContinuousCommandArg extends IgniteDataTransferObject { @Argument(description = "Routine identifier") private UUID routineId; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeUuid(out, originNodeId); - U.writeUuid(out, routineId); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - originNodeId = U.readUuid(in); - routineId = U.readUuid(in); - } - /** */ public UUID originNodeId() { return originNodeId; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillScanCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillScanCommandArg.java index f71484f9a21f7..de8139e6af3dd 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillScanCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillScanCommandArg.java @@ -17,14 +17,10 @@ package org.apache.ignite.internal.management.kill; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class KillScanCommandArg extends IgniteDataTransferObject { @@ -46,20 +42,6 @@ public class KillScanCommandArg extends IgniteDataTransferObject { @Argument(description = "Query identifier") private long queryId; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeUuid(out, originNodeId); - U.writeString(out, cacheName); - out.writeLong(queryId); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - originNodeId = U.readUuid(in); - cacheName = U.readString(in); - queryId = in.readLong(); - } - /** */ public UUID originNodeId() { return originNodeId; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillServiceCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillServiceCommandArg.java index 45fbcf7e63a75..0d2e572ed405c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillServiceCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillServiceCommandArg.java @@ -17,13 +17,9 @@ package org.apache.ignite.internal.management.kill; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class KillServiceCommandArg extends IgniteDataTransferObject { @@ -35,16 +31,6 @@ public class KillServiceCommandArg extends IgniteDataTransferObject { @Argument(description = "Service name") private String name; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, name); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - name = U.readString(in); - } - /** */ public String name() { return name; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSnapshotCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSnapshotCommandArg.java index d24c494b984a8..afb8898548eee 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSnapshotCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSnapshotCommandArg.java @@ -17,14 +17,10 @@ package org.apache.ignite.internal.management.kill; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; import org.apache.ignite.internal.management.kill.SnapshotCancelTask.CancelSnapshotArg; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class KillSnapshotCommandArg extends CancelSnapshotArg { @@ -39,18 +35,6 @@ public class KillSnapshotCommandArg extends CancelSnapshotArg { /** */ private String snapshotName; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeUuid(out, requestId); - U.writeString(out, snapshotName); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - requestId = U.readUuid(in); - snapshotName = U.readString(in); - } - /** {@inheritDoc} */ @Override public UUID requestId() { return requestId; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSqlCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSqlCommandArg.java index 95bcbc0dc374c..fd78ae80e4761 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSqlCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSqlCommandArg.java @@ -17,15 +17,12 @@ package org.apache.ignite.internal.management.kill; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; import org.apache.ignite.internal.util.typedef.T2; -import org.apache.ignite.internal.util.typedef.internal.U; + import static org.apache.ignite.internal.QueryMXBeanImpl.EXPECTED_GLOBAL_QRY_ID_FORMAT; import static org.apache.ignite.internal.sql.command.SqlKillQueryCommand.parseGlobalQueryId; @@ -45,20 +42,6 @@ public class KillSqlCommandArg extends IgniteDataTransferObject { /** */ private long qryId; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, queryId); - U.writeUuid(out, nodeId); - out.writeLong(qryId); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - queryId = U.readString(in); - nodeId = U.readUuid(in); - qryId = in.readLong(); - } - /** */ public UUID nodeId() { return nodeId; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillTransactionCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillTransactionCommandArg.java index 16aff9e5d4999..a04e58978d404 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillTransactionCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillTransactionCommandArg.java @@ -17,13 +17,9 @@ package org.apache.ignite.internal.management.kill; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class KillTransactionCommandArg extends IgniteDataTransferObject { @@ -35,16 +31,6 @@ public class KillTransactionCommandArg extends IgniteDataTransferObject { @Argument(description = "Transaction identifier") private String xid; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, xid); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - xid = U.readString(in); - } - /** */ public String xid() { return xid; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaDetailsCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaDetailsCommandArg.java index fb72f57cb0c57..81980347aec15 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaDetailsCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaDetailsCommandArg.java @@ -17,13 +17,10 @@ package org.apache.ignite.internal.management.meta; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.ArgumentGroup; -import org.apache.ignite.internal.util.typedef.internal.U; + import static org.apache.ignite.internal.management.meta.MetaListCommand.printInt; /** */ @@ -40,18 +37,6 @@ public class MetaDetailsCommandArg extends IgniteDataTransferObject { @Argument(optional = true, example = "", javaStyleName = true) private String typeName; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - out.writeInt(typeId); - U.writeString(out, typeName); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - typeId = in.readInt(); - typeName = U.readString(in); - } - /** */ public int typeId() { return typeId; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaRemoveCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaRemoveCommandArg.java index 8231eea68dd37..3702d75a562e9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaRemoveCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaRemoveCommandArg.java @@ -18,15 +18,12 @@ package org.apache.ignite.internal.management.meta; import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.io.OutputStream; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.ArgumentGroup; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @ArgumentGroup(value = {"typeId", "typeName"}, onlyOneOf = true, optional = false) @@ -38,20 +35,6 @@ public class MetaRemoveCommandArg extends MetaDetailsCommandArg { @Argument(optional = true, example = "") private String out; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - super.writeExternalData(out); - - U.writeString(out, this.out); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - super.readExternalData(in); - - out = U.readString(in); - } - /** */ public String out() { return out; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaUpdateCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaUpdateCommandArg.java index 811b5a042fed2..ebd30e56553d3 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaUpdateCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaUpdateCommandArg.java @@ -20,8 +20,6 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; @@ -41,18 +39,6 @@ public class MetaUpdateCommandArg extends IgniteDataTransferObject { /** Marshaled metadata. */ private byte[] metaMarshalled; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, in); - U.writeByteArray(out, metaMarshalled); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - this.in = U.readString(in); - metaMarshalled = U.readByteArray(in); - } - /** */ public byte[] metaMarshalled() { return metaMarshalled; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricCommandArg.java index 560e867b0fa6a..545dcdbaa7fc4 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricCommandArg.java @@ -17,14 +17,10 @@ package org.apache.ignite.internal.management.metric; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class MetricCommandArg extends IgniteDataTransferObject { @@ -40,18 +36,6 @@ public class MetricCommandArg extends IgniteDataTransferObject { @Argument(description = "Node id", optional = true) private UUID nodeId; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, name); - U.writeUuid(out, nodeId); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - name = U.readString(in); - nodeId = U.readUuid(in); - } - /** */ public UUID nodeId() { return nodeId; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureHistogramCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureHistogramCommandArg.java index 793e07beb3b0c..9730af3a21ce7 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureHistogramCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureHistogramCommandArg.java @@ -17,13 +17,9 @@ package org.apache.ignite.internal.management.metric; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; import org.apache.ignite.internal.util.typedef.F; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class MetricConfigureHistogramCommandArg extends MetricCommandArg { @@ -35,20 +31,6 @@ public class MetricConfigureHistogramCommandArg extends MetricCommandArg { @Positional private long[] newBounds; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - super.writeExternalData(out); - - U.writeLongArray(out, newBounds); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - super.readExternalData(in); - - newBounds = U.readLongArray(in); - } - /** */ public long[] newBounds() { return newBounds; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureHitrateCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureHitrateCommandArg.java index a54f52b592233..5893d6d200075 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureHitrateCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureHitrateCommandArg.java @@ -17,9 +17,6 @@ package org.apache.ignite.internal.management.metric; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; @@ -33,20 +30,6 @@ public class MetricConfigureHitrateCommandArg extends MetricCommandArg { @Positional private long newRateTimeInterval; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - super.writeExternalData(out); - - out.writeLong(newRateTimeInterval); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - super.readExternalData(in); - - newRateTimeInterval = in.readLong(); - } - /** */ public long newRateTimeInterval() { return newRateTimeInterval; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceBackupCachesTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceBackupCachesTaskArg.java index 579de355f7be3..185fc1d9d99e6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceBackupCachesTaskArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceBackupCachesTaskArg.java @@ -17,12 +17,8 @@ package org.apache.ignite.internal.management.persistence; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class PersistenceBackupCachesTaskArg extends PersistenceCommand.PersistenceTaskArg { @@ -34,20 +30,6 @@ public class PersistenceBackupCachesTaskArg extends PersistenceCommand.Persisten @Argument(example = "cache1,cache2,cache3") private String[] caches; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - super.writeExternalData(out); - - U.writeArray(out, caches); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - super.readExternalData(in); - - caches = U.readArray(in, String.class); - } - /** */ public String[] caches() { return caches; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceCleanCachesTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceCleanCachesTaskArg.java index 2d503799d702c..81b373b7d35a8 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceCleanCachesTaskArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceCleanCachesTaskArg.java @@ -17,12 +17,8 @@ package org.apache.ignite.internal.management.persistence; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class PersistenceCleanCachesTaskArg extends PersistenceCommand.PersistenceTaskArg { @@ -34,20 +30,6 @@ public class PersistenceCleanCachesTaskArg extends PersistenceCommand.Persistenc @Argument(example = "cache1,cache2,cache3") private String[] caches; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - super.writeExternalData(out); - - U.writeArray(out, caches); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - super.readExternalData(in); - - caches = U.readArray(in, String.class); - } - /** */ public String[] caches() { return caches; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceCommand.java b/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceCommand.java index 6ddc1578831fa..c3f726bb18cb5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceCommand.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceCommand.java @@ -17,9 +17,6 @@ package org.apache.ignite.internal.management.persistence; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.function.Consumer; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.CommandRegistryImpl; @@ -62,16 +59,6 @@ public PersistenceCommand() { public abstract static class PersistenceTaskArg extends IgniteDataTransferObject { /** */ private static final long serialVersionUID = 0; - - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - // No-op. - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - // No-op. - } } /** */ diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertyGetCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertyGetCommandArg.java index 3c3a7adc658d7..00469ed7ece32 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertyGetCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertyGetCommandArg.java @@ -17,12 +17,8 @@ package org.apache.ignite.internal.management.property; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class PropertyGetCommandArg extends IgniteDataTransferObject { @@ -33,16 +29,6 @@ public class PropertyGetCommandArg extends IgniteDataTransferObject { @Argument(example = "") private String name; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, name); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - name = U.readString(in); - } - /** */ public String name() { return name; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertyListCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertyListCommandArg.java index 6f7ecfd8d1f90..aad5c9a2cac3b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertyListCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertyListCommandArg.java @@ -17,9 +17,6 @@ package org.apache.ignite.internal.management.property; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; @@ -32,16 +29,6 @@ public class PropertyListCommandArg extends IgniteDataTransferObject { @Argument(optional = true, description = "Print detailed information: name, value, description") private boolean info; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - out.writeBoolean(info); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - info = in.readBoolean(); - } - /** */ public boolean info() { return info; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertySetCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertySetCommandArg.java index 01d777af16032..125e2d7adf6a4 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertySetCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertySetCommandArg.java @@ -17,11 +17,7 @@ package org.apache.ignite.internal.management.property; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.management.api.Argument; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class PropertySetCommandArg extends PropertyGetCommandArg { @@ -32,20 +28,6 @@ public class PropertySetCommandArg extends PropertyGetCommandArg { @Argument(example = "") private String val; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - super.writeExternalData(out); - - U.writeString(out, val); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - super.readExternalData(in); - - val = U.readString(in); - } - /** */ public String val() { return val; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableCommandArg.java index 16cccf4eafe67..3cd081b7b882a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableCommandArg.java @@ -17,13 +17,9 @@ package org.apache.ignite.internal.management.rollingupgrade; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** Rolling upgrade enable command argument. */ public class RollingUpgradeEnableCommandArg extends IgniteDataTransferObject { @@ -60,16 +56,4 @@ public boolean force() { public void force(boolean force) { this.force = force; } - - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, targetVersion); - out.writeBoolean(force); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - targetVersion = U.readString(in); - force = in.readBoolean(); - } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCancelCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCancelCommandArg.java index 68462aead81f8..4374e74ca5801 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCancelCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCancelCommandArg.java @@ -17,14 +17,10 @@ package org.apache.ignite.internal.management.snapshot; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.UUID; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.ArgumentGroup; import org.apache.ignite.internal.management.kill.SnapshotCancelTask.CancelSnapshotArg; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @ArgumentGroup(value = {"id", "name"}, optional = false, onlyOneOf = true) @@ -40,18 +36,6 @@ public class SnapshotCancelCommandArg extends CancelSnapshotArg { @Argument(description = "Snapshot name (deprecated)", optional = true) private String name; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeUuid(out, id); - U.writeString(out, name); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - id = U.readUuid(in); - name = U.readString(in); - } - /** */ public UUID id() { return id; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCheckCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCheckCommandArg.java index 294fa54f7749f..1850715a46c08 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCheckCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCheckCommandArg.java @@ -17,13 +17,9 @@ package org.apache.ignite.internal.management.snapshot; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class SnapshotCheckCommandArg extends IgniteDataTransferObject { @@ -48,20 +44,6 @@ public class SnapshotCheckCommandArg extends IgniteDataTransferObject { "The command will check incremental snapshots sequentially from 1 to the specified index") private int increment; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, snapshotName); - U.writeString(out, src); - out.writeInt(increment); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - snapshotName = U.readString(in); - src = U.readString(in); - increment = in.readInt(); - } - /** */ public String snapshotName() { return snapshotName; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCreateCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCreateCommandArg.java index f933cc4c67135..06530fe7a4371 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCreateCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCreateCommandArg.java @@ -17,13 +17,9 @@ package org.apache.ignite.internal.management.snapshot; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class SnapshotCreateCommandArg extends IgniteDataTransferObject { @@ -53,22 +49,6 @@ public class SnapshotCreateCommandArg extends IgniteDataTransferObject { "Full snapshot must be accessible via --dest and snapshot_name") private boolean incremental; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, snapshotName); - U.writeString(out, dest); - out.writeBoolean(sync); - out.writeBoolean(incremental); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - snapshotName = U.readString(in); - dest = U.readString(in); - sync = in.readBoolean(); - incremental = in.readBoolean(); - } - /** */ public String snapshotName() { return snapshotName; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotRestoreCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotRestoreCommandArg.java index 4b79fd77ca2db..c923ae65b6c96 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotRestoreCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotRestoreCommandArg.java @@ -17,14 +17,10 @@ package org.apache.ignite.internal.management.snapshot; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.ArgumentGroup; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @@ -89,32 +85,6 @@ public void ensureOptions() { throw new IllegalArgumentException("--sync and --status can't be used together"); } - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, snapshotName); - out.writeInt(increment); - U.writeArray(out, groups); - U.writeString(out, src); - out.writeBoolean(sync); - out.writeBoolean(check); - out.writeBoolean(status); - out.writeBoolean(cancel); - out.writeBoolean(start); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - snapshotName = U.readString(in); - increment = in.readInt(); - groups = U.readArray(in, String.class); - src = U.readString(in); - sync = in.readBoolean(); - check = in.readBoolean(); - status = in.readBoolean(); - cancel = in.readBoolean(); - start = in.readBoolean(); - } - /** */ public boolean start() { return start; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationCommand.java b/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationCommand.java index 82dc5477a348f..afd2479ed9367 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationCommand.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationCommand.java @@ -17,9 +17,6 @@ package org.apache.ignite.internal.management.tracing; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.Collection; import java.util.function.Consumer; import org.apache.ignite.cluster.ClusterNode; @@ -79,16 +76,6 @@ public TracingConfigurationCommand() { public abstract static class TracingConfigurationCommandArg extends IgniteDataTransferObject { /** */ private static final long serialVersionUID = 0; - - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - // No-op. - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - // No-op. - } } /** */ diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationGetAllCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationGetAllCommandArg.java index 7eac6fbebb35e..a1714fb9b786a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationGetAllCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationGetAllCommandArg.java @@ -17,13 +17,9 @@ package org.apache.ignite.internal.management.tracing; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.EnumDescription; import org.apache.ignite.internal.management.tracing.TracingConfigurationCommand.TracingConfigurationCommandArg; -import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.spi.tracing.Scope; /** */ @@ -51,20 +47,6 @@ public class TracingConfigurationGetAllCommandArg extends TracingConfigurationCo ) private Scope scope; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - super.writeExternalData(out); - - U.writeEnum(out, scope); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - super.readExternalData(in); - - scope = U.readEnum(in, Scope.class); - } - /** */ public Scope scope() { return scope; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationGetCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationGetCommandArg.java index 20218668a3b4a..2e531e905201d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationGetCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationGetCommandArg.java @@ -17,13 +17,9 @@ package org.apache.ignite.internal.management.tracing; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.EnumDescription; import org.apache.ignite.internal.management.tracing.TracingConfigurationCommand.TracingConfigurationCommandArg; -import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.spi.tracing.Scope; /** */ @@ -55,22 +51,6 @@ public class TracingConfigurationGetCommandArg extends TracingConfigurationComma @Argument(optional = true) private String label; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - super.writeExternalData(out); - - U.writeEnum(out, scope); - U.writeString(out, label); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - super.readExternalData(in); - - scope = U.readEnum(in, Scope.class); - label = U.readString(in); - } - /** */ public Scope scope() { return scope; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationSetCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationSetCommandArg.java index afe7be4147bfb..bcbc1137c46ae 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationSetCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationSetCommandArg.java @@ -17,12 +17,9 @@ package org.apache.ignite.internal.management.tracing; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.management.api.Argument; -import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.spi.tracing.Scope; + import static org.apache.ignite.spi.tracing.TracingConfigurationParameters.SAMPLING_RATE_ALWAYS; import static org.apache.ignite.spi.tracing.TracingConfigurationParameters.SAMPLING_RATE_NEVER; @@ -40,22 +37,6 @@ public class TracingConfigurationSetCommandArg extends TracingConfigurationGetCo @Argument(optional = true, example = "Set of scopes with comma as separator DISCOVERY|EXCHANGE|COMMUNICATION|TX|SQL") private Scope[] includedScopes; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - super.writeExternalData(out); - - out.writeDouble(samplingRate); - U.writeArray(out, includedScopes); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - super.readExternalData(in); - - samplingRate = in.readDouble(); - includedScopes = U.readArray(in, Scope.class); - } - /** */ public double samplingRate() { return samplingRate; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxCommandArg.java index 307c4a98f4434..636c050ccd6b7 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxCommandArg.java @@ -17,9 +17,6 @@ package org.apache.ignite.internal.management.tx; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; import org.apache.ignite.internal.management.api.Argument; @@ -27,7 +24,6 @@ import org.apache.ignite.internal.management.api.CliConfirmArgument; import org.apache.ignite.internal.management.api.EnumDescription; import org.apache.ignite.internal.util.typedef.internal.A; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @CliConfirmArgument @@ -88,34 +84,6 @@ public class TxCommandArg extends TxCommand.AbstractTxCommandArg { @Argument(optional = true) private boolean kill; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, xid); - out.writeObject(minDuration); - out.writeObject(minSize); - U.writeString(out, label); - out.writeBoolean(servers); - out.writeBoolean(clients); - U.writeArray(out, nodes); - out.writeObject(limit); - U.writeEnum(out, order); - out.writeBoolean(kill); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - xid = U.readString(in); - minDuration = (Long)in.readObject(); - minSize = (Integer)in.readObject(); - label = U.readString(in); - servers = in.readBoolean(); - clients = in.readBoolean(); - nodes = U.readArray(in, String.class); - limit = (Integer)in.readObject(); - order = U.readEnum(in, TxSortOrder.class); - kill = in.readBoolean(); - } - /** */ public String xid() { return xid; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxInfoCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxInfoCommandArg.java index 2edf59b8cdcd7..07ed60875feb1 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxInfoCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxInfoCommandArg.java @@ -17,15 +17,11 @@ package org.apache.ignite.internal.management.tx; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.Positional; import org.apache.ignite.internal.processors.cache.version.GridCacheVersion; -import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.lang.IgniteUuid; /** */ @@ -46,20 +42,6 @@ public class TxInfoCommandArg extends TxCommand.AbstractTxCommandArg { /** */ private GridCacheVersion gridCacheVersion; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeString(out, value); - U.writeIgniteUuid(out, uuid); - out.writeObject(gridCacheVersion); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - value = U.readString(in); - uuid = U.readIgniteUuid(in); - gridCacheVersion = (GridCacheVersion)in.readObject(); - } - /** */ public void uuid(IgniteUuid uuid) { this.uuid = uuid; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/wal/WalDeleteCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/wal/WalDeleteCommandArg.java index 47a486e15acbc..11501bf863b91 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/wal/WalDeleteCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/wal/WalDeleteCommandArg.java @@ -17,14 +17,10 @@ package org.apache.ignite.internal.management.wal; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; import org.apache.ignite.internal.management.api.CliConfirmArgument; import org.apache.ignite.internal.management.api.Positional; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ @CliConfirmArgument @@ -37,16 +33,6 @@ public class WalDeleteCommandArg extends IgniteDataTransferObject { @Argument(optional = true, example = "consistentId1,consistentId2,....,consistentIdN") private String[] consistentIds; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeArray(out, consistentIds); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - consistentIds = U.readArray(in, String.class); - } - /** */ public String[] consistentIds() { return consistentIds; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/wal/WalStateCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/wal/WalStateCommandArg.java index 9cf59a5ff9f73..f7b12060a6876 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/wal/WalStateCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/wal/WalStateCommandArg.java @@ -17,12 +17,8 @@ package org.apache.ignite.internal.management.wal; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.Argument; -import org.apache.ignite.internal.util.typedef.internal.U; /** */ public class WalStateCommandArg extends IgniteDataTransferObject { @@ -36,16 +32,6 @@ public class WalStateCommandArg extends IgniteDataTransferObject { ) private String[] groups; - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - U.writeArray(out, groups); - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - groups = U.readArray(in, String.class); - } - /** */ public String[] groups() { return groups; From 45720ab60d0fbb4045dddbe8ebd4018debed4a86 Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Fri, 23 Jan 2026 11:49:41 +0300 Subject: [PATCH 04/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../apache/ignite/internal/idto/IDTOSerializerGenerator.java | 2 +- .../ignite/internal/idto/IgniteDataTransferObjectProcessor.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java index 24107fc5f6529..52dc636c84d90 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java @@ -276,7 +276,7 @@ private List fieldsSerdes( .replaceAll("\\$\\{c}", className(comp == null ? type : comp))); } else - code.add("// Unsupported type: " + typeName(type) + " " + fld.getSimpleName() + " " + type.getClass().getName()); + throw new IllegalStateException("Unsupported type: " + type); } return code; diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java index 79dbdd015bbbd..ef41eb6d6b876 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java @@ -162,7 +162,7 @@ private String generateFactory(Map genSerDes) throws IOExce writer.write("/** */"); writer.write(NL); writer.write(TAB); - writer.write("private final Map, " + simpleName(DTO_SERDES_INTERFACE) + "> serdes = new HashMap();"); + writer.write("private final Map, " + simpleName(DTO_SERDES_INTERFACE) + "> serdes = new HashMap<>();"); writer.write(NL); writer.write(NL); From bc0e9f0fb523ce2dde02ca7b8aefabb927f3c687 Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Fri, 23 Jan 2026 23:05:13 +0300 Subject: [PATCH 05/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../IgniteDataTransferObjectProcessor.java | 33 +++++++++++++++++-- .../dto/IgniteDataTransferObject.java | 5 +-- .../ignite/internal/util/IgniteUtils.java | 30 +++++++++++++++++ .../internal/visor/VisorTaskArgument.java | 1 + 4 files changed, 65 insertions(+), 4 deletions(-) diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java index ef41eb6d6b876..b3f6f1c482a8a 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java @@ -69,6 +69,9 @@ public class IgniteDataTransferObjectProcessor extends AbstractProcessor { * Processes all classes extending the {@code IgniteDataTransferObject} and generates corresponding serializer code. */ @Override public boolean process(Set annotations, RoundEnvironment roundEnv) { + if (roundEnv.errorRaised()) + return true; + TypeMirror dtoCls = processingEnv.getElementUtils().getTypeElement(DTO_CLASS).asType(); TypeMirror argAnnotation = processingEnv.getElementUtils().getTypeElement(ARG_ANNOTATION).asType(); @@ -95,7 +98,7 @@ public class IgniteDataTransferObjectProcessor extends AbstractProcessor { try { IDTOSerializerGenerator gen = new IDTOSerializerGenerator(processingEnv, clazz); - if (gen.generate()) + if (gen.generate() && !clazz.toString().contains("SystemView")) genSerDes.put(clazz, gen.serializerFQN()); } catch (Exception e) { @@ -194,7 +197,32 @@ private void serializer(Writer writer) throws IOException { writer.write(NL); writer.write(TAB); writer.write(TAB); - writer.write("return serdes.get(cls);"); + writer.write("IgniteDataTransferObjectSerializer res = (IgniteDataTransferObjectSerializer)serdes.get(cls);"); + writer.write(NL); + writer.write(NL); + writer.write(TAB); + writer.write(TAB); + writer.write("if (res == null && getClass().desiredAssertionStatus()) {"); + writer.write(NL); + writer.write(TAB); + writer.write(TAB); + writer.write(TAB); + writer.write("res = U.loadSerializer(cls);"); + writer.write(NL); + writer.write(NL); + writer.write(TAB); + writer.write(TAB); + writer.write(TAB); + writer.write("serdes.put(cls, res);"); + writer.write(NL); + writer.write(TAB); + writer.write(TAB); + writer.write("}"); + writer.write(NL); + writer.write(NL); + writer.write(TAB); + writer.write(TAB); + writer.write("return res;"); writer.write(NL); writer.write(TAB); writer.write("}"); @@ -262,6 +290,7 @@ private void writeClassHeader(Writer writer, Set dtoClss) throws IO writer.write("import " + HashMap.class.getName() + ";" + NL); writer.write("import " + DTO_SERDES_INTERFACE + ";" + NL); writer.write("import " + DTO_CLASS + ";" + NL); + writer.write("import org.apache.ignite.internal.util.typedef.internal.U;" + NL); writer.write(NL); writer.write(CLS_JAVADOC); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObject.java b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObject.java index bc26b70839c12..d96951d53b8c9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObject.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObject.java @@ -27,6 +27,7 @@ import java.util.List; import java.util.Set; import org.apache.ignite.internal.codegen.idto.IDTOSerializerFactory; +import org.apache.ignite.internal.util.IgniteUtils; import org.jetbrains.annotations.Nullable; /** @@ -80,7 +81,7 @@ protected void writeExternalData(ObjectOutput out) throws IOException { try (IgniteDataTransferObjectOutput dtout = new IgniteDataTransferObjectOutput(out)) { IgniteDataTransferObjectSerializer serializer = IDTOSerializerFactory.getInstance().serializer(getClass()); - if (serializer == null) { + if (serializer == IgniteUtils.EMPTY) { writeExternalData(dtout); return; @@ -112,7 +113,7 @@ protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoun try (IgniteDataTransferObjectInput dtin = new IgniteDataTransferObjectInput(in)) { IgniteDataTransferObjectSerializer serializer = IDTOSerializerFactory.getInstance().serializer(getClass()); - if (serializer == null) { + if (serializer == IgniteUtils.EMPTY) { readExternalData(dtin); return; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java index 0e175970852f0..cab06e8525171 100755 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java @@ -178,8 +178,11 @@ import org.apache.ignite.internal.binary.builder.BinaryObjectBuilderEx; import org.apache.ignite.internal.cluster.ClusterGroupEmptyCheckedException; import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException; +import org.apache.ignite.internal.codegen.idto.IDTOSerializerFactory; import org.apache.ignite.internal.compute.ComputeTaskCancelledCheckedException; import org.apache.ignite.internal.compute.ComputeTaskTimeoutCheckedException; +import org.apache.ignite.internal.dto.IgniteDataTransferObject; +import org.apache.ignite.internal.dto.IgniteDataTransferObjectSerializer; import org.apache.ignite.internal.events.DiscoveryCustomEvent; import org.apache.ignite.internal.logger.IgniteLoggerEx; import org.apache.ignite.internal.managers.communication.GridIoPolicy; @@ -8241,4 +8244,31 @@ public void clearAllListener() { listeners.clear(); } } + + /** */ + public static final IgniteDataTransferObjectSerializer EMPTY = new IgniteDataTransferObjectSerializer() { + /** {@inheritDoc} */ + @Override public void writeExternal(Object instance, ObjectOutput out) { + // No-op. + } + + /** {@inheritDoc} */ + @Override public void readExternal(Object instance, ObjectInput in) { + // No-op. + } + }; + + /** */ + public static IgniteDataTransferObjectSerializer loadSerializer(Class cls) { + try { + Class cls0 = IgniteUtils.class.getClassLoader() + .loadClass(IDTOSerializerFactory.class.getPackage().getName() + "." + cls.getSimpleName() + "Serializer"); + + return (IgniteDataTransferObjectSerializer)cls0.getDeclaredConstructor().newInstance(); + } + catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | + InvocationTargetException e) { + return (IgniteDataTransferObjectSerializer)EMPTY; + } + } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorTaskArgument.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorTaskArgument.java index 4baa71d1ff157..5244dc8a6176b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorTaskArgument.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorTaskArgument.java @@ -121,6 +121,7 @@ public boolean isDebug() { /** {@inheritDoc} */ @Override protected void writeExternalData(ObjectOutput out) throws IOException { + // TODO: FIXME - NOT IDTO METHODS! U.writeCollection(out, nodes); out.writeObject(arg); out.writeBoolean(debug); From 6959ecc2e95f889a46e3d7d3cc12cd710b59d192 Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Fri, 23 Jan 2026 23:05:35 +0300 Subject: [PATCH 06/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../ignite/internal/idto/IgniteDataTransferObjectProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java index b3f6f1c482a8a..4d6115253ce95 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java @@ -98,7 +98,7 @@ public class IgniteDataTransferObjectProcessor extends AbstractProcessor { try { IDTOSerializerGenerator gen = new IDTOSerializerGenerator(processingEnv, clazz); - if (gen.generate() && !clazz.toString().contains("SystemView")) + if (gen.generate()) genSerDes.put(clazz, gen.serializerFQN()); } catch (Exception e) { From 308ddd6a043b8076181152dde7036ffe870129de Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Sat, 24 Jan 2026 00:14:13 +0300 Subject: [PATCH 07/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../java/org/apache/ignite/internal/visor/VisorTaskArgument.java | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorTaskArgument.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorTaskArgument.java index 5244dc8a6176b..4baa71d1ff157 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorTaskArgument.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorTaskArgument.java @@ -121,7 +121,6 @@ public boolean isDebug() { /** {@inheritDoc} */ @Override protected void writeExternalData(ObjectOutput out) throws IOException { - // TODO: FIXME - NOT IDTO METHODS! U.writeCollection(out, nodes); out.writeObject(arg); out.writeBoolean(debug); From baa6d7b9a8226e57277d47b65b197c336c62bf8f Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Sat, 24 Jan 2026 00:16:06 +0300 Subject: [PATCH 08/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../org/apache/ignite/internal/MessageSerializerGenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java index c14faa5ac13e1..28b04ba2bce85 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java @@ -62,7 +62,7 @@ */ public class MessageSerializerGenerator { /** */ - public static final String EMPTY = ""; + private static final String EMPTY = ""; /** */ public static final String TAB = " "; From d58705f8a847040585cc203b56477ab5879458f0 Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Sat, 24 Jan 2026 13:25:28 +0300 Subject: [PATCH 09/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../idto/IDTOSerializerGenerator.java | 202 ++++++++++-------- .../IgniteDataTransferObjectProcessor.java | 200 ++++++++++------- 2 files changed, 233 insertions(+), 169 deletions(-) diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java index 52dc636c84d90..1ea0f1cbb501b 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java @@ -56,34 +56,25 @@ import static org.apache.ignite.internal.MessageSerializerGenerator.identicalFileIsAlreadyGenerated; /** - * Generates serializer class for given {@code IgniteDataTransferObject} class. + * Generates serializer class for given {@code IgniteDataTransferObject} extension. * The generated serializer follows the naming convention: * {@code org.apache.ignite.internal.codegen.[IDTOClassName]Serializer}. */ public class IDTOSerializerGenerator { - /** */ + /** Package for serializers. */ static final String PKG_NAME = "org.apache.ignite.internal.codegen.idto"; - /** */ + /** Serializer interface. */ public static final String DTO_SERDES_INTERFACE = "org.apache.ignite.internal.dto.IgniteDataTransferObjectSerializer"; - /** */ + /** Class javadoc */ static final String CLS_JAVADOC = "/** " + NL + " * This class is generated automatically." + NL + " *" + NL + " * @see org.apache.ignite.internal.dto.IgniteDataTransferObject" + NL + " */"; - /** */ - private final ProcessingEnvironment env; - - /** */ - private final TypeElement type; - - /** */ - private final Set imports = new HashSet<>(); - - /** */ + /** Type name to write/read code for the type. */ private static final Map> TYPE_SERDES = new HashMap<>(); { @@ -113,15 +104,15 @@ public class IDTOSerializerGenerator { TYPE_SERDES.put(Map.class.getName(), F.t("U.writeMap(out, obj.${f}());", "obj.${f}(U.readMap(in));")); } - /** */ + /** Write/Read code for enum. */ private static final IgniteBiTuple ENUM_SERDES = F.t("U.writeEnum(out, obj.${f}());", "obj.${f}(U.readEnum(in, ${c}.class));"); - /** */ + /** Write/Read code for array. */ private static final IgniteBiTuple OBJ_ARRAY_SERDES = F.t("U.writeArray(out, obj.${f}());", "obj.${f}(U.readArray(in, ${c}.class));"); - /** */ + /** Type name to write/read code for the array of type. */ private static final Map> ARRAY_TYPE_SERDES = new HashMap<>(); { @@ -132,23 +123,33 @@ public class IDTOSerializerGenerator { ARRAY_TYPE_SERDES.put(UUID.class.getName(), OBJ_ARRAY_SERDES); } - /** */ + /** Environment. */ + private final ProcessingEnvironment env; + + /** Type to generated serializer for. */ + private final TypeElement type; + + /** Serializer imports. */ + private final Set imports = new HashSet<>(); + + /** + * @param env Environment. + * @param type Type to generate serializer for. + */ public IDTOSerializerGenerator(ProcessingEnvironment env, TypeElement type) { this.env = env; this.type = type; } - /** */ + /** @return Fully qualified name for generated class. */ public String serializerFQN() { return PKG_NAME + "." + serializerName(); } - /** */ - private String serializerName() { - return type.getSimpleName() + "Serializer"; - } - - /** */ + /** + * @return {@code True} if generation succeed. + * @throws Exception in case of error. + */ public boolean generate() throws Exception { String serClsName = type.getSimpleName() + "Serializer"; String serCode = generateSerializerCode(); @@ -182,7 +183,7 @@ public boolean generate() throws Exception { } } - /** */ + /** @return Code for the calss implementing {@code org.apache.ignite.internal.dto.IgniteDataTransferObjectSerializer}. */ private String generateSerializerCode() throws IOException { imports.add("org.apache.ignite.internal.dto.IgniteDataTransferObjectSerializer"); imports.add(type.getQualifiedName().toString()); @@ -191,15 +192,15 @@ private String generateSerializerCode() throws IOException { imports.add(IOException.class.getName()); imports.add("org.apache.ignite.internal.util.typedef.internal.U"); - String clsName = String.valueOf(type.getSimpleName()); + String simpleClsName = String.valueOf(type.getSimpleName()); List flds = fields(type); - List write = generateWrite(clsName, flds); - List read = generateRead(clsName, flds); + List write = generateWrite(simpleClsName, flds); + List read = generateRead(simpleClsName, flds); try (Writer writer = new StringWriter()) { - writeClassHeader(writer, clsName); + writeClassHeader(writer, simpleClsName); for (String line : write) { writer.write(TAB); @@ -221,19 +222,36 @@ private String generateSerializerCode() throws IOException { } } - /** */ - private List generateRead(String clsName, List flds) { - List code = new ArrayList<>(); + /** + * @param writer Writer to write class to. + * @param simpleClsName Class name + * @throws IOException + */ + private void writeClassHeader(Writer writer, String simpleClsName) throws IOException { + try (InputStream in = getClass().getClassLoader().getResourceAsStream("license.txt"); + BufferedReader reader = new BufferedReader(new InputStreamReader(in))) { - code.add("/** {@inheritDoc} */"); - code.add("@Override public void readExternal(" + clsName + " obj, ObjectInput in) throws IOException, ClassNotFoundException {"); - fieldsSerdes(flds, IgniteBiTuple::get2).forEach(line -> code.add(TAB + line)); - code.add("}"); + PrintWriter out = new PrintWriter(writer); - return code; + String line; + + while ((line = reader.readLine()) != null) + out.println(line); + } + + writer.write(NL); + writer.write("package " + PKG_NAME + ";" + NL + NL); + + for (String regularImport: imports) + writer.write("import " + regularImport + ";" + NL); + + writer.write(NL); + writer.write(CLS_JAVADOC); + writer.write(NL); + writer.write("public class " + serializerName() + " implements " + simpleName(DTO_SERDES_INTERFACE) + "<" + simpleClsName + "> {" + NL); } - /** */ + /** @return Lines for generated {@code IgniteDataTransferObjectSerializer#writeExternal(T, ObjectOutput)} method. */ private List generateWrite(String clsName, List flds) { List code = new ArrayList<>(); @@ -247,10 +265,26 @@ private List generateWrite(String clsName, List flds) { return code; } - /** */ + /** @return Lines for generated {@code IgniteDataTransferObjectSerializer#readExternal(T, ObjectInput)} method. */ + private List generateRead(String clsName, List flds) { + List code = new ArrayList<>(); + + code.add("/** {@inheritDoc} */"); + code.add("@Override public void readExternal(" + clsName + " obj, ObjectInput in) throws IOException, ClassNotFoundException {"); + fieldsSerdes(flds, IgniteBiTuple::get2).forEach(line -> code.add(TAB + line)); + code.add("}"); + + return code; + } + + /** + * @param flds Fields to generated serdes for. + * @param lineProvider Function to generated serdes code for the field. + * @return Lines to serdes fields. + */ private List fieldsSerdes( List flds, - Function, String> patternProvider + Function, String> lineProvider ) { List code = new ArrayList<>(); @@ -263,17 +297,17 @@ private List fieldsSerdes( if (type.getKind() == TypeKind.ARRAY) { comp = ((ArrayType)type).getComponentType(); - serDes = enumType(env, comp) ? OBJ_ARRAY_SERDES : ARRAY_TYPE_SERDES.get(typeName(comp)); + serDes = enumType(env, comp) ? OBJ_ARRAY_SERDES : ARRAY_TYPE_SERDES.get(className(comp)); } else - serDes = enumType(env, type) ? ENUM_SERDES : TYPE_SERDES.get(typeName(type)); + serDes = enumType(env, type) ? ENUM_SERDES : TYPE_SERDES.get(className(type)); if (serDes != null) { - String pattern = patternProvider.apply(serDes); + String pattern = lineProvider.apply(serDes); code.add(pattern .replaceAll("\\$\\{f}", fld.getSimpleName().toString()) - .replaceAll("\\$\\{c}", className(comp == null ? type : comp))); + .replaceAll("\\$\\{c}", simpleClassName(comp == null ? type : comp))); } else throw new IllegalStateException("Unsupported type: " + type); @@ -282,50 +316,7 @@ private List fieldsSerdes( return code; } - /** */ - private String className(TypeMirror type) { - if (type instanceof PrimitiveType) - return typeName(type); - - String fqn = typeName(type); - - if (!fqn.startsWith("java.lang")) - imports.add(fqn); - - return simpleName(fqn); - } - - /** */ - public static String simpleName(String fqn) { - return fqn.substring(fqn.lastIndexOf('.') + 1); - } - - /** */ - private void writeClassHeader(Writer writer, String clsName) throws IOException { - try (InputStream in = getClass().getClassLoader().getResourceAsStream("license.txt"); - BufferedReader reader = new BufferedReader(new InputStreamReader(in))) { - - PrintWriter out = new PrintWriter(writer); - - String line; - - while ((line = reader.readLine()) != null) - out.println(line); - } - - writer.write(NL); - writer.write("package " + PKG_NAME + ";" + NL + NL); - - for (String regularImport: imports) - writer.write("import " + regularImport + ";" + NL); - - writer.write(NL); - writer.write(CLS_JAVADOC); - writer.write(NL); - writer.write("public class " + serializerName() + " implements " + simpleName(DTO_SERDES_INTERFACE) + "<" + clsName + "> {" + NL); - } - - /** */ + /** @return List of non-static and non-transient field for given {@code type}. */ private List fields(TypeElement type) { List res = new ArrayList<>(); @@ -334,7 +325,7 @@ private List fields(TypeElement type) { if (el.getKind() != ElementKind.FIELD) continue; - if (el.getModifiers().contains(Modifier.STATIC)) + if (el.getModifiers().contains(Modifier.STATIC) || el.getModifiers().contains(Modifier.TRANSIENT)) continue; res.add((VariableElement)el); @@ -348,11 +339,38 @@ private List fields(TypeElement type) { return res; } - /** */ - private static String typeName(TypeMirror comp) { + /** @return FQN of {@code comp}. */ + private static String className(TypeMirror comp) { String n = comp.toString(); int genIdx = n.indexOf('<'); return genIdx == -1 ? n : n.substring(0, genIdx); } + + /** @return Serializer class name. */ + private String serializerName() { + return type.getSimpleName() + "Serializer"; + } + + /** + * Adds to imports if class need to be imported explicitly. + * + * @return Simple class name. + */ + private String simpleClassName(TypeMirror type) { + if (type instanceof PrimitiveType) + return className(type); + + String fqn = className(type); + + if (!fqn.startsWith("java.lang")) + imports.add(fqn); + + return simpleName(fqn); + } + + /** @return Simple class name. */ + public static String simpleName(String fqn) { + return fqn.substring(fqn.lastIndexOf('.') + 1); + } } diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java index 4d6115253ce95..366e1c5ecda91 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java @@ -51,15 +51,23 @@ import static org.apache.ignite.internal.idto.IDTOSerializerGenerator.simpleName; /** - * + * Generates implementations of {@code IgniteDataTransferObjectSerializer} for all supported classes. + * Generates factory {@code IDTOSerializerFactory} to get instance of serializer for given class. + * See, {@code IgniteDataTransferObject#writeExternal(ObjectOutput)} and {@code IgniteDataTransferObject#writeExternal(ObjectInput)} to get + * insight of using serializers. */ @SupportedAnnotationTypes("org.apache.ignite.internal.management.api.Argument") @SupportedSourceVersion(SourceVersion.RELEASE_11) public class IgniteDataTransferObjectProcessor extends AbstractProcessor { - /** Base interface that every message must implement. */ + /** Base class that every dto must extends. */ private static final String DTO_CLASS = "org.apache.ignite.internal.dto.IgniteDataTransferObject"; - /** Base interface that every message must implement. */ + /** + * Annotation used in management commands. + * For now, we restrict set of generated serdes to all management commands argument classes. + * Because, they strictly follows Ignite codestyle convention. + * Providing support of all other inheritor of {@code IgniteDataTransferObject} is matter of following improvements. + */ private static final String ARG_ANNOTATION = "org.apache.ignite.internal.management.api.Argument"; /** Factory class name. */ @@ -110,12 +118,23 @@ public class IgniteDataTransferObjectProcessor extends AbstractProcessor { } } + // IDE recompile only modified classes. Don't want to touch factory in the case no matching classes was recompiled. if (genSerDes.isEmpty()) return true; + generateFactory(genSerDes); + + return true; + } + + /** + * Generates and writes factory. + * @param genSerDes Generated serdes classes. + */ + private void generateFactory(Map genSerDes) { try { String factoryFQN = PKG_NAME + "." + FACTORY_CLASS; - String factoryCode = generateFactory(genSerDes); + String factoryCode = factoryCode(genSerDes); try { JavaFileObject file = processingEnv.getFiler().createSourceFile(factoryFQN); @@ -144,12 +163,14 @@ public class IgniteDataTransferObjectProcessor extends AbstractProcessor { catch (Exception e) { processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "Failed to generate a dto factory:" + e.getMessage()); } - - return true; } - /** */ - private String generateFactory(Map genSerDes) throws IOException { + /** + * @param genSerDes Generated serdes classes. + * @return Factory code. + * @throws IOException In case of error. + */ + private String factoryCode(Map genSerDes) throws IOException { try (Writer writer = new StringWriter()) { writeClassHeader(writer, genSerDes.keySet()); @@ -169,7 +190,7 @@ private String generateFactory(Map genSerDes) throws IOExce writer.write(NL); writer.write(NL); - constructor(genSerDes, writer); + constructor(writer, genSerDes); writer.write(NL); getInstance(writer); @@ -184,52 +205,49 @@ private String generateFactory(Map genSerDes) throws IOExce } } - /** */ - private void serializer(Writer writer) throws IOException { - writer.write(TAB); - writer.write("/** */"); - writer.write(NL); - writer.write(TAB); + /** + * Generates class header. + * + * @param writer Writer to write code to. + * @param dtoClss DTO classes to import. + * @throws IOException In case of error. + */ + private void writeClassHeader(Writer writer, Set dtoClss) throws IOException { + try (InputStream in = getClass().getClassLoader().getResourceAsStream("license.txt"); + BufferedReader reader = new BufferedReader(new InputStreamReader(in))) { - String genericType = ""; + PrintWriter out = new PrintWriter(writer); + + String line; + + while ((line = reader.readLine()) != null) + out.println(line); + } - writer.write("public " + genericType + " " + simpleName(DTO_SERDES_INTERFACE) + " serializer(Class cls) {"); - writer.write(NL); - writer.write(TAB); - writer.write(TAB); - writer.write("IgniteDataTransferObjectSerializer res = (IgniteDataTransferObjectSerializer)serdes.get(cls);"); - writer.write(NL); - writer.write(NL); - writer.write(TAB); - writer.write(TAB); - writer.write("if (res == null && getClass().desiredAssertionStatus()) {"); - writer.write(NL); - writer.write(TAB); - writer.write(TAB); - writer.write(TAB); - writer.write("res = U.loadSerializer(cls);"); - writer.write(NL); - writer.write(NL); - writer.write(TAB); - writer.write(TAB); - writer.write(TAB); - writer.write("serdes.put(cls, res);"); - writer.write(NL); - writer.write(TAB); - writer.write(TAB); - writer.write("}"); - writer.write(NL); writer.write(NL); - writer.write(TAB); - writer.write(TAB); - writer.write("return res;"); + writer.write("package " + PKG_NAME + ";" + NL + NL); + + for (TypeElement dtoCls : dtoClss) + writer.write("import " + dtoCls.getQualifiedName() + ";" + NL); + + writer.write("import " + Map.class.getName() + ";" + NL); + writer.write("import " + HashMap.class.getName() + ";" + NL); + writer.write("import " + DTO_SERDES_INTERFACE + ";" + NL); + writer.write("import " + DTO_CLASS + ";" + NL); + writer.write("import org.apache.ignite.internal.util.typedef.internal.U;" + NL); + writer.write(NL); - writer.write(TAB); - writer.write("}"); + writer.write(CLS_JAVADOC); writer.write(NL); + writer.write("public class " + FACTORY_CLASS + " {" + NL); } - /** */ + /** + * Generates static {@code getInstance} method. + * + * @param writer Writer to write code to. + * @throws IOException In case of error. + */ private static void getInstance(Writer writer) throws IOException { writer.write(TAB); writer.write("/** */"); @@ -246,8 +264,14 @@ private static void getInstance(Writer writer) throws IOException { writer.write(NL); } - /** */ - private static void constructor(Map genSerDes, Writer writer) throws IOException { + /** + * Generates private constructor. + * + * @param writer Writer to write code to. + * @param genSerDes Serdes to support in factory. + * @throws IOException In case of error. + */ + private static void constructor(Writer writer, Map genSerDes) throws IOException { writer.write(TAB); writer.write("/** */"); writer.write(NL); @@ -267,38 +291,61 @@ private static void constructor(Map genSerDes, Writer write writer.write(NL); } - /** */ - private void writeClassHeader(Writer writer, Set dtoClss) throws IOException { - try (InputStream in = getClass().getClassLoader().getResourceAsStream("license.txt"); - BufferedReader reader = new BufferedReader(new InputStreamReader(in))) { - - PrintWriter out = new PrintWriter(writer); - - String line; - - while ((line = reader.readLine()) != null) - out.println(line); - } - + /** + * Generates method to get serializer from factory. + * + * @param writer Writer to write code to. + * @throws IOException In case of error. + */ + private void serializer(Writer writer) throws IOException { + writer.write(TAB); + writer.write("/** */"); writer.write(NL); - writer.write("package " + PKG_NAME + ";" + NL + NL); - - for (TypeElement dtoCls : dtoClss) - writer.write("import " + dtoCls.getQualifiedName() + ";" + NL); + writer.write(TAB); - writer.write("import " + Map.class.getName() + ";" + NL); - writer.write("import " + HashMap.class.getName() + ";" + NL); - writer.write("import " + DTO_SERDES_INTERFACE + ";" + NL); - writer.write("import " + DTO_CLASS + ";" + NL); - writer.write("import org.apache.ignite.internal.util.typedef.internal.U;" + NL); + String genericType = ""; + writer.write("public " + genericType + " " + simpleName(DTO_SERDES_INTERFACE) + " serializer(Class cls) {"); writer.write(NL); - writer.write(CLS_JAVADOC); + writer.write(TAB); + writer.write(TAB); + writer.write("IgniteDataTransferObjectSerializer res = (IgniteDataTransferObjectSerializer)serdes.get(cls);"); + writer.write(NL); + writer.write(NL); + writer.write(TAB); + writer.write(TAB); + writer.write("if (res == null && getClass().desiredAssertionStatus()) {"); + writer.write(NL); + writer.write(TAB); + writer.write(TAB); + writer.write(TAB); + writer.write("res = U.loadSerializer(cls);"); + writer.write(NL); + writer.write(NL); + writer.write(TAB); + writer.write(TAB); + writer.write(TAB); + writer.write("serdes.put(cls, res);"); + writer.write(NL); + writer.write(TAB); + writer.write(TAB); + writer.write("}"); + writer.write(NL); + writer.write(NL); + writer.write(TAB); + writer.write(TAB); + writer.write("return res;"); + writer.write(NL); + writer.write(TAB); + writer.write("}"); writer.write(NL); - writer.write("public class " + FACTORY_CLASS + " {" + NL); } - /** */ + /** + * @param type Type to analyze. + * @param argAnnotation Annotation to find. + * @return {@code True} if type has fields annotated with the {@code argAnnotation}, {@code false} otherwise. + */ private boolean hasArgumentFields(TypeElement type, TypeMirror argAnnotation) { while (type != null) { for (Element el: type.getEnclosedElements()) { @@ -311,8 +358,7 @@ private boolean hasArgumentFields(TypeElement type, TypeMirror argAnnotation) { } } - Element superType = processingEnv.getTypeUtils().asElement(type.getSuperclass()); - type = (TypeElement)superType; + type = (TypeElement)processingEnv.getTypeUtils().asElement(type.getSuperclass()); } return false; From 2f51d3d94ee278c1d35cbaa840c32a6bbfdc3154 Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Sat, 24 Jan 2026 13:31:16 +0300 Subject: [PATCH 10/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../internal/idto/IgniteDataTransferObjectProcessor.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java index 366e1c5ecda91..95ee6186c8ea1 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java @@ -314,11 +314,15 @@ private void serializer(Writer writer) throws IOException { writer.write(NL); writer.write(TAB); writer.write(TAB); - writer.write("if (res == null && getClass().desiredAssertionStatus()) {"); + writer.write("if (res == null) {"); writer.write(NL); writer.write(TAB); writer.write(TAB); writer.write(TAB); + // IDE can invoke partial recompile during development. + // In this case there will be only part (one) of serdes in the map initially. + // We want to correctly initialize and trying to load serializer dynamically. + // Other case to do it custom commands. writer.write("res = U.loadSerializer(cls);"); writer.write(NL); writer.write(NL); From bea02ab3330bdb320fd13e08f7fe525de8cb7f7e Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Sat, 24 Jan 2026 14:16:45 +0300 Subject: [PATCH 11/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../apache/ignite/internal/idto/IDTOSerializerGenerator.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java index 1ea0f1cbb501b..fe8d3cc300a19 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java @@ -248,7 +248,8 @@ private void writeClassHeader(Writer writer, String simpleClsName) throws IOExce writer.write(NL); writer.write(CLS_JAVADOC); writer.write(NL); - writer.write("public class " + serializerName() + " implements " + simpleName(DTO_SERDES_INTERFACE) + "<" + simpleClsName + "> {" + NL); + writer.write("public class " + serializerName() + " implements " + simpleName(DTO_SERDES_INTERFACE) + + "<" + simpleClsName + "> {" + NL); } /** @return Lines for generated {@code IgniteDataTransferObjectSerializer#writeExternal(T, ObjectOutput)} method. */ From 1913eca4d0316b9347f62391446447b17ac50cee Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Sun, 25 Jan 2026 11:57:11 +0300 Subject: [PATCH 12/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../internal/management/cache/CacheIdleVerifyCommandArg.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIdleVerifyCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIdleVerifyCommandArg.java index d263547456f86..fc5e63f20333a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIdleVerifyCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIdleVerifyCommandArg.java @@ -76,6 +76,9 @@ public class CacheIdleVerifyCommandArg extends IgniteDataTransferObject { * @param string To validate that given name is valed regex. */ private void validateRegexes(String[] string) { + if (string == null) + return; + for (String s : string) { try { Pattern.compile(s); From 9d9e5b8378bae56f9ef6371e67c87d78e90cfd64 Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Mon, 26 Jan 2026 13:36:12 +0300 Subject: [PATCH 13/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../internal/MessageSerializerGenerator.java | 9 ++-- .../idto/IDTOSerializerGenerator.java | 50 +++++++++---------- .../IgniteDataTransferObjectProcessor.java | 20 +++++--- .../management/ChangeTagCommandArg.java | 2 +- .../management/DeactivateCommandArg.java | 4 +- .../management/SetStateCommandArg.java | 6 +-- .../management/ShutdownPolicyCommandArg.java | 2 +- .../management/SystemViewCommandArg.java | 8 +-- .../baseline/BaselineAddCommandArg.java | 2 +- .../BaselineAutoAdjustCommandArg.java | 4 +- .../management/baseline/BaselineCommand.java | 2 +- .../baseline/BaselineVersionCommandArg.java | 2 +- .../cache/CacheClearCommandArg.java | 2 +- .../cache/CacheContentionCommandArg.java | 6 +-- .../cache/CacheCreateCommandArg.java | 6 +-- .../cache/CacheDestroyCommandArg.java | 4 +- .../cache/CacheDistributionCommandArg.java | 8 +-- .../cache/CacheFindGarbageCommandArg.java | 10 ++-- .../cache/CacheIdleVerifyCommandArg.java | 10 ++-- .../CacheIndexesForceRebuildCommandArg.java | 10 ++-- .../cache/CacheIndexesListCommandArg.java | 8 +-- .../CacheIndexesRebuildStatusCommandArg.java | 2 +- .../management/cache/CacheListCommandArg.java | 12 ++--- .../cache/CacheMetricsCommandArg.java | 6 +-- .../CacheResetLostPartitionsCommandArg.java | 2 +- ...CacheScheduleIndexesRebuildCommandArg.java | 12 ++--- .../cache/CacheValidateIndexesCommandArg.java | 16 +++--- .../cache/scan/CacheScanCommandArg.java | 6 +-- .../CdcDeleteLostSegmentLinksCommandArg.java | 2 +- .../management/cdc/CdcResendCommandArg.java | 2 +- .../checkpoint/CheckpointCommandArg.java | 6 +-- .../ConsistencyRepairCommandArg.java | 6 +-- .../DefragmentationScheduleCommandArg.java | 4 +- .../DiagnosticPagelocksCommandArg.java | 8 +-- .../encryption/EncryptionCacheGroupArg.java | 2 +- .../EncryptionChangeMasterKeyCommandArg.java | 2 +- ...yptionReencryptionRateLimitCommandArg.java | 2 +- .../management/kill/KillClientCommandArg.java | 4 +- .../kill/KillComputeCommandArg.java | 2 +- .../kill/KillContinuousCommandArg.java | 4 +- .../management/kill/KillScanCommandArg.java | 6 +-- .../kill/KillServiceCommandArg.java | 2 +- .../kill/KillSnapshotCommandArg.java | 4 +- .../management/kill/KillSqlCommandArg.java | 6 +-- .../kill/KillTransactionCommandArg.java | 2 +- .../meta/MetaDetailsCommandArg.java | 4 +- .../management/meta/MetaRemoveCommandArg.java | 2 +- .../management/meta/MetaUpdateCommandArg.java | 4 +- .../management/metric/MetricCommandArg.java | 4 +- .../MetricConfigureHistogramCommandArg.java | 2 +- .../MetricConfigureHitrateCommandArg.java | 2 +- .../MetricConfigureMaxValueCommandArg.java | 2 +- .../PersistenceBackupCachesTaskArg.java | 2 +- .../PersistenceCleanCachesTaskArg.java | 2 +- .../property/PropertyGetCommandArg.java | 2 +- .../property/PropertyListCommandArg.java | 2 +- .../property/PropertySetCommandArg.java | 2 +- .../RollingUpgradeEnableCommandArg.java | 4 +- .../snapshot/SnapshotCancelCommandArg.java | 4 +- .../snapshot/SnapshotCheckCommandArg.java | 6 +-- .../snapshot/SnapshotCreateCommandArg.java | 8 +-- .../snapshot/SnapshotRestoreCommandArg.java | 18 +++---- .../TracingConfigurationGetAllCommandArg.java | 2 +- .../TracingConfigurationGetCommandArg.java | 4 +- .../TracingConfigurationSetCommandArg.java | 4 +- .../internal/management/tx/TxCommandArg.java | 20 ++++---- .../management/tx/TxInfoCommandArg.java | 6 +-- .../management/wal/WalDeleteCommandArg.java | 2 +- .../management/wal/WalStateCommandArg.java | 2 +- 69 files changed, 203 insertions(+), 202 deletions(-) diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java index 28b04ba2bce85..a253c05897098 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java @@ -119,10 +119,11 @@ void generate(TypeElement type, List fields) throws Exception { imports.add(type.getQualifiedName().toString()); String serClsName = type.getSimpleName() + "Serializer"; + String serFqnClsName = PKG_NAME + "." + serClsName; String serCode = generateSerializerCode(serClsName); try { - JavaFileObject file = env.getFiler().createSourceFile(PKG_NAME + "." + serClsName); + JavaFileObject file = env.getFiler().createSourceFile(serFqnClsName); try (Writer writer = file.openWriter()) { writer.append(serCode); @@ -136,7 +137,7 @@ void generate(TypeElement type, List fields) throws Exception { // all Run commands to Maven. However, this significantly slows down test startup time. // This hack checks whether the content of a generating file is identical to already existed file, and skips // handling this class if it is. - if (!identicalFileIsAlreadyGenerated(env, serCode, PKG_NAME, serClsName)) { + if (!identicalFileIsAlreadyGenerated(env, serCode, serFqnClsName)) { env.getMessager().printMessage( Diagnostic.Kind.ERROR, "MessageSerializer " + serClsName + " is already generated. Try 'mvn clean install' to fix the issue."); @@ -881,9 +882,9 @@ private String capitalizeOnlyFirst(String input) { } /** @return {@code true} if trying to generate file with the same content. */ - public static boolean identicalFileIsAlreadyGenerated(ProcessingEnvironment env, String srcCode, String pkg, String clsName) { + public static boolean identicalFileIsAlreadyGenerated(ProcessingEnvironment env, String srcCode, String fqnClsName) { try { - String fileName = pkg.replace('.', '/') + '/' + clsName + ".java"; + String fileName = fqnClsName.replace('.', '/') + ".java"; FileObject prevFile = env.getFiler().getResource(StandardLocation.SOURCE_OUTPUT, "", fileName); String prevFileContent; diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java index fe8d3cc300a19..a7f2ebcad633f 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java @@ -61,9 +61,6 @@ * {@code org.apache.ignite.internal.codegen.[IDTOClassName]Serializer}. */ public class IDTOSerializerGenerator { - /** Package for serializers. */ - static final String PKG_NAME = "org.apache.ignite.internal.codegen.idto"; - /** Serializer interface. */ public static final String DTO_SERDES_INTERFACE = "org.apache.ignite.internal.dto.IgniteDataTransferObjectSerializer"; @@ -78,15 +75,15 @@ public class IDTOSerializerGenerator { private static final Map> TYPE_SERDES = new HashMap<>(); { - TYPE_SERDES.put(boolean.class.getName(), F.t("out.writeBoolean(obj.${f}());", "obj.${f}(in.readBoolean());")); - TYPE_SERDES.put(byte.class.getName(), F.t("out.write(obj.${f}());", "obj.${f}(in.read());")); - TYPE_SERDES.put(short.class.getName(), F.t("out.writeShort(obj.${f}());", "obj.${f}(in.readShort());")); - TYPE_SERDES.put(int.class.getName(), F.t("out.writeInt(obj.${f}());", "obj.${f}(in.readInt());")); - TYPE_SERDES.put(long.class.getName(), F.t("out.writeLong(obj.${f}());", "obj.${f}(in.readLong());")); - TYPE_SERDES.put(float.class.getName(), F.t("out.writeFloat(obj.${f}());", "obj.${f}(in.readFloat());")); - TYPE_SERDES.put(double.class.getName(), F.t("out.writeDouble(obj.${f}());", "obj.${f}(in.readDouble());")); + TYPE_SERDES.put(boolean.class.getName(), F.t("out.writeBoolean(obj.${f});", "obj.${f} = in.readBoolean();")); + TYPE_SERDES.put(byte.class.getName(), F.t("out.write(obj.${f});", "obj.${f} = in.read();")); + TYPE_SERDES.put(short.class.getName(), F.t("out.writeShort(obj.${f});", "obj.${f} = in.readShort();")); + TYPE_SERDES.put(int.class.getName(), F.t("out.writeInt(obj.${f});", "obj.${f} = in.readInt();")); + TYPE_SERDES.put(long.class.getName(), F.t("out.writeLong(obj.${f});", "obj.${f} = in.readLong();")); + TYPE_SERDES.put(float.class.getName(), F.t("out.writeFloat(obj.${f});", "obj.${f} = in.readFloat();")); + TYPE_SERDES.put(double.class.getName(), F.t("out.writeDouble(obj.${f});", "obj.${f} = in.readDouble();")); - IgniteBiTuple objSerdes = F.t("out.writeObject(obj.${f}());", "obj.${f}((${c})in.readObject());"); + IgniteBiTuple objSerdes = F.t("out.writeObject(obj.${f});", "obj.${f} = (${c})in.readObject();"); TYPE_SERDES.put(Boolean.class.getName(), objSerdes); TYPE_SERDES.put(Byte.class.getName(), objSerdes); @@ -96,29 +93,29 @@ public class IDTOSerializerGenerator { TYPE_SERDES.put(Float.class.getName(), objSerdes); TYPE_SERDES.put(Double.class.getName(), objSerdes); - TYPE_SERDES.put(String.class.getName(), F.t("U.writeString(out, obj.${f}());", "obj.${f}(U.readString(in));")); - TYPE_SERDES.put(UUID.class.getName(), F.t("U.writeUuid(out, obj.${f}());", "obj.${f}(U.readUuid(in));")); - TYPE_SERDES.put("org.apache.ignite.lang.IgniteUuid", F.t("U.writeIgniteUuid(out, obj.${f}());", "obj.${f}(U.readIgniteUuid(in));")); + TYPE_SERDES.put(String.class.getName(), F.t("U.writeString(out, obj.${f});", "obj.${f} = U.readString(in);")); + TYPE_SERDES.put(UUID.class.getName(), F.t("U.writeUuid(out, obj.${f});", "obj.${f} = U.readUuid(in);")); + TYPE_SERDES.put("org.apache.ignite.lang.IgniteUuid", F.t("U.writeIgniteUuid(out, obj.${f});", "obj.${f} = U.readIgniteUuid(in);")); TYPE_SERDES.put("org.apache.ignite.internal.processors.cache.version.GridCacheVersion", objSerdes); - TYPE_SERDES.put(Map.class.getName(), F.t("U.writeMap(out, obj.${f}());", "obj.${f}(U.readMap(in));")); + TYPE_SERDES.put(Map.class.getName(), F.t("U.writeMap(out, obj.${f});", "obj.${f} = U.readMap(in);")); } /** Write/Read code for enum. */ private static final IgniteBiTuple ENUM_SERDES = - F.t("U.writeEnum(out, obj.${f}());", "obj.${f}(U.readEnum(in, ${c}.class));"); + F.t("U.writeEnum(out, obj.${f});", "obj.${f} = U.readEnum(in, ${c}.class);"); /** Write/Read code for array. */ private static final IgniteBiTuple OBJ_ARRAY_SERDES = - F.t("U.writeArray(out, obj.${f}());", "obj.${f}(U.readArray(in, ${c}.class));"); + F.t("U.writeArray(out, obj.${f});", "obj.${f} = U.readArray(in, ${c}.class);"); /** Type name to write/read code for the array of type. */ private static final Map> ARRAY_TYPE_SERDES = new HashMap<>(); { - ARRAY_TYPE_SERDES.put(byte.class.getName(), F.t("U.writeByteArray(out, obj.${f}());", "obj.${f}(U.readByteArray(in));")); - ARRAY_TYPE_SERDES.put(int.class.getName(), F.t("U.writeIntArray(out, obj.${f}());", "obj.${f}(U.readIntArray(in));")); - ARRAY_TYPE_SERDES.put(long.class.getName(), F.t("U.writeLongArray(out, obj.${f}());", "obj.${f}(U.readLongArray(in));")); + ARRAY_TYPE_SERDES.put(byte.class.getName(), F.t("U.writeByteArray(out, obj.${f});", "obj.${f} = U.readByteArray(in);")); + ARRAY_TYPE_SERDES.put(int.class.getName(), F.t("U.writeIntArray(out, obj.${f});", "obj.${f} = U.readIntArray(in);")); + ARRAY_TYPE_SERDES.put(long.class.getName(), F.t("U.writeLongArray(out, obj.${f});", "obj.${f} = U.readLongArray(in);")); ARRAY_TYPE_SERDES.put(String.class.getName(), OBJ_ARRAY_SERDES); ARRAY_TYPE_SERDES.put(UUID.class.getName(), OBJ_ARRAY_SERDES); } @@ -143,7 +140,7 @@ public IDTOSerializerGenerator(ProcessingEnvironment env, TypeElement type) { /** @return Fully qualified name for generated class. */ public String serializerFQN() { - return PKG_NAME + "." + serializerName(); + return type.getQualifiedName() + "Serializer"; } /** @@ -151,11 +148,11 @@ public String serializerFQN() { * @throws Exception in case of error. */ public boolean generate() throws Exception { - String serClsName = type.getSimpleName() + "Serializer"; + String fqnClsName = serializerFQN(); String serCode = generateSerializerCode(); try { - JavaFileObject file = env.getFiler().createSourceFile(PKG_NAME + "." + serClsName); + JavaFileObject file = env.getFiler().createSourceFile(fqnClsName); try (Writer writer = file.openWriter()) { writer.append(serCode); @@ -171,10 +168,10 @@ public boolean generate() throws Exception { // all Run commands to Maven. However, this significantly slows down test startup time. // This hack checks whether the content of a generating file is identical to already existed file, and skips // handling this class if it is. - if (!identicalFileIsAlreadyGenerated(env, serCode, PKG_NAME, serClsName)) { + if (!identicalFileIsAlreadyGenerated(env, serCode, fqnClsName)) { env.getMessager().printMessage( Diagnostic.Kind.ERROR, - serClsName + " is already generated. Try 'mvn clean install' to fix the issue."); + fqnClsName + " is already generated. Try 'mvn clean install' to fix the issue."); throw e; } @@ -186,7 +183,6 @@ public boolean generate() throws Exception { /** @return Code for the calss implementing {@code org.apache.ignite.internal.dto.IgniteDataTransferObjectSerializer}. */ private String generateSerializerCode() throws IOException { imports.add("org.apache.ignite.internal.dto.IgniteDataTransferObjectSerializer"); - imports.add(type.getQualifiedName().toString()); imports.add(ObjectOutput.class.getName()); imports.add(ObjectInput.class.getName()); imports.add(IOException.class.getName()); @@ -240,7 +236,7 @@ private void writeClassHeader(Writer writer, String simpleClsName) throws IOExce } writer.write(NL); - writer.write("package " + PKG_NAME + ";" + NL + NL); + writer.write("package " + env.getElementUtils().getPackageOf(type).toString() + ";" + NL + NL); for (String regularImport: imports) writer.write("import " + regularImport + ";" + NL); diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java index 95ee6186c8ea1..59cf5649b156e 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java @@ -47,7 +47,6 @@ import static org.apache.ignite.internal.MessageSerializerGenerator.identicalFileIsAlreadyGenerated; import static org.apache.ignite.internal.idto.IDTOSerializerGenerator.CLS_JAVADOC; import static org.apache.ignite.internal.idto.IDTOSerializerGenerator.DTO_SERDES_INTERFACE; -import static org.apache.ignite.internal.idto.IDTOSerializerGenerator.PKG_NAME; import static org.apache.ignite.internal.idto.IDTOSerializerGenerator.simpleName; /** @@ -59,6 +58,9 @@ @SupportedAnnotationTypes("org.apache.ignite.internal.management.api.Argument") @SupportedSourceVersion(SourceVersion.RELEASE_11) public class IgniteDataTransferObjectProcessor extends AbstractProcessor { + /** Package for serializers. */ + private static final String FACTORY_PKG_NAME = "org.apache.ignite.internal.codegen.idto"; + /** Base class that every dto must extends. */ private static final String DTO_CLASS = "org.apache.ignite.internal.dto.IgniteDataTransferObject"; @@ -133,7 +135,7 @@ public class IgniteDataTransferObjectProcessor extends AbstractProcessor { */ private void generateFactory(Map genSerDes) { try { - String factoryFQN = PKG_NAME + "." + FACTORY_CLASS; + String factoryFQN = FACTORY_PKG_NAME + "." + FACTORY_CLASS; String factoryCode = factoryCode(genSerDes); try { @@ -151,7 +153,7 @@ private void generateFactory(Map genSerDes) { // all Run commands to Maven. However, this significantly slows down test startup time. // This hack checks whether the content of a generating file is identical to already existed file, and skips // handling this class if it is. - if (!identicalFileIsAlreadyGenerated(processingEnv, factoryCode, PKG_NAME, FACTORY_CLASS)) { + if (!identicalFileIsAlreadyGenerated(processingEnv, factoryCode, FACTORY_PKG_NAME + "." + FACTORY_CLASS)) { processingEnv.getMessager().printMessage( Diagnostic.Kind.ERROR, FACTORY_CLASS + " is already generated. Try 'mvn clean install' to fix the issue."); @@ -172,7 +174,7 @@ private void generateFactory(Map genSerDes) { */ private String factoryCode(Map genSerDes) throws IOException { try (Writer writer = new StringWriter()) { - writeClassHeader(writer, genSerDes.keySet()); + writeClassHeader(writer, genSerDes); writer.write(TAB); writer.write("/** */"); @@ -212,7 +214,7 @@ private String factoryCode(Map genSerDes) throws IOExceptio * @param dtoClss DTO classes to import. * @throws IOException In case of error. */ - private void writeClassHeader(Writer writer, Set dtoClss) throws IOException { + private void writeClassHeader(Writer writer, Map dtoClss) throws IOException { try (InputStream in = getClass().getClassLoader().getResourceAsStream("license.txt"); BufferedReader reader = new BufferedReader(new InputStreamReader(in))) { @@ -225,10 +227,12 @@ private void writeClassHeader(Writer writer, Set dtoClss) throws IO } writer.write(NL); - writer.write("package " + PKG_NAME + ";" + NL + NL); + writer.write("package " + FACTORY_PKG_NAME + ";" + NL + NL); - for (TypeElement dtoCls : dtoClss) - writer.write("import " + dtoCls.getQualifiedName() + ";" + NL); + for (Map.Entry e : dtoClss.entrySet()) { + writer.write("import " + e.getKey().getQualifiedName() + ";" + NL); + writer.write("import " + e.getValue() + ";" + NL); + } writer.write("import " + Map.class.getName() + ";" + NL); writer.write("import " + HashMap.class.getName() + ";" + NL); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/ChangeTagCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/ChangeTagCommandArg.java index 922ffe8a80647..1d75cdd0fa811 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/ChangeTagCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/ChangeTagCommandArg.java @@ -32,7 +32,7 @@ public class ChangeTagCommandArg extends IgniteDataTransferObject { /** */ @Positional @Argument(example = "newTagValue") - private String newTagValue; + String newTagValue; /** */ public String newTagValue() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/DeactivateCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/DeactivateCommandArg.java index 72ca6fac80119..989fc9d97bedd 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/DeactivateCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/DeactivateCommandArg.java @@ -29,10 +29,10 @@ public class DeactivateCommandArg extends IgniteDataTransferObject { /** */ @Argument(optional = true) - private boolean force; + boolean force; /** */ - private String clusterName; + String clusterName; /** */ public boolean force() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/SetStateCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/SetStateCommandArg.java index 24009edf9229a..5b003d1c12787 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/SetStateCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/SetStateCommandArg.java @@ -45,14 +45,14 @@ public class SetStateCommandArg extends IgniteDataTransferObject { "Activate cluster. Cache updates are denied" } ) - private ClusterState state; + ClusterState state; /** */ @Argument(optional = true, description = "If true, cluster deactivation will be forced") - private boolean force; + boolean force; /** */ - private String clusterName; + String clusterName; /** */ public ClusterState state() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/ShutdownPolicyCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/ShutdownPolicyCommandArg.java index e976ef5b5bd1a..fdf85d21e57bd 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/ShutdownPolicyCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/ShutdownPolicyCommandArg.java @@ -41,7 +41,7 @@ public class ShutdownPolicyCommandArg extends IgniteDataTransferObject { "Node will stop if and only if it does not store any unique partitions, that don't have another copies in the cluster" } ) - private ShutdownPolicy shutdownPolicy; + ShutdownPolicy shutdownPolicy; /** */ public ShutdownPolicy shutdownPolicy() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/SystemViewCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/SystemViewCommandArg.java index ac7ac0aa11327..bc15cc485bcc7 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/SystemViewCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/SystemViewCommandArg.java @@ -34,14 +34,14 @@ public class SystemViewCommandArg extends IgniteDataTransferObject { @Argument(description = "Name of the system view which content should be printed." + " Both \"SQL\" and \"Java\" styles of system view name are supported" + " (e.g. SQL_TABLES and sql.tables will be handled similarly)") - private String systemViewName; + String systemViewName; /** */ @Argument( description = "ID of the node to get the system view from (deprecated. Use --node-ids instead). " + "If not set, random node will be chosen" ) - private UUID nodeId; + UUID nodeId; /** ID of the nodes to get the system view content from. */ @Argument( @@ -49,11 +49,11 @@ public class SystemViewCommandArg extends IgniteDataTransferObject { "If not set, random node will be chosen", example = "nodeId1,nodeId2,.." ) - private UUID[] nodeIds; + UUID[] nodeIds; /** Flag to get the system view from all nodes. */ @Argument(description = "Get the system view from all nodes. If not set, random node will be chosen") - private boolean allNodes; + boolean allNodes; /** */ public String systemViewName() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineAddCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineAddCommandArg.java index 1170deaeb8165..e138d40a9cce9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineAddCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineAddCommandArg.java @@ -31,7 +31,7 @@ public class BaselineAddCommandArg extends BaselineTaskArg { /** */ @Positional @Argument(example = "consistentId1[,consistentId2,....,consistentIdN]") - private String[] consistentIDs; + String[] consistentIDs; /** */ public String[] consistentIDs() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineAutoAdjustCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineAutoAdjustCommandArg.java index 992a8898687ce..37346f88e5aa6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineAutoAdjustCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineAutoAdjustCommandArg.java @@ -44,11 +44,11 @@ public class BaselineAutoAdjustCommandArg extends BaselineTaskArg { "Disable baseline auto adjust" } ) - private Enabled enabled; + Enabled enabled; /** */ @Argument(optional = true, example = "", withoutPrefix = true) - private Long timeout; + Long timeout; /** */ public enum Enabled { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineCommand.java b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineCommand.java index 0116a3a8ce99c..cedeea0bbbed5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineCommand.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineCommand.java @@ -79,7 +79,7 @@ public BaselineCommand() { public abstract static class BaselineTaskArg extends IgniteDataTransferObject { /** */ @Argument(optional = true, description = "Show the full list of node ips") - private boolean verbose; + boolean verbose; /** */ public boolean verbose() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineVersionCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineVersionCommandArg.java index 39641c53d98d2..b8a424b5c4476 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineVersionCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineVersionCommandArg.java @@ -31,7 +31,7 @@ public class BaselineVersionCommandArg extends BaselineTaskArg { /** */ @Positional @Argument(example = "topologyVersion") - private long topologyVersion; + long topologyVersion; /** */ public long topologyVersion() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheClearCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheClearCommandArg.java index 3019935a36753..1d662c2432407 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheClearCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheClearCommandArg.java @@ -27,7 +27,7 @@ public class CacheClearCommandArg extends IgniteDataTransferObject { /** */ @Argument(description = "specifies a comma-separated list of cache names to be cleared") - private String[] caches; + String[] caches; /** */ public String[] caches() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheContentionCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheContentionCommandArg.java index e11eefb45fcc5..245d7d1130868 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheContentionCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheContentionCommandArg.java @@ -30,17 +30,17 @@ public class CacheContentionCommandArg extends IgniteDataTransferObject { /** Min queue size. */ @Positional @Argument(example = "minQueueSize") - private int minQueueSize; + int minQueueSize; /** Node id. */ @Positional @Argument(optional = true, example = "nodeId") - private UUID nodeId; + UUID nodeId; /** Max print. */ @Positional @Argument(optional = true, example = "maxPrint") - private int maxPrint = 10; + int maxPrint = 10; /** */ public UUID nodeId() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheCreateCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheCreateCommandArg.java index a855739344730..2570550464183 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheCreateCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheCreateCommandArg.java @@ -32,14 +32,14 @@ public class CacheCreateCommandArg extends IgniteDataTransferObject { /** */ @Argument(description = "Path to the Spring XML configuration that contains " + "'org.apache.ignite.configuration.CacheConfiguration' beans to create caches from", example = "springXmlConfigPath") - private String springxmlconfig; + String springxmlconfig; /** */ @Argument(description = "Optional flag to skip existing caches", optional = true) - private boolean skipExisting; + boolean skipExisting; /** */ - private String fileContent; + String fileContent; /** */ private void readFile() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheDestroyCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheDestroyCommandArg.java index 49c585412c2b7..ad54ac3a2fa16 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheDestroyCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheDestroyCommandArg.java @@ -30,11 +30,11 @@ public class CacheDestroyCommandArg extends IgniteDataTransferObject { /** */ @Argument(description = "specifies a comma-separated list of cache names to be destroyed", example = "cache1,...,cacheN") - private String[] caches; + String[] caches; /** */ @Argument(description = "permanently destroy all user-created caches") - private boolean destroyAllCaches; + boolean destroyAllCaches; /** */ public boolean destroyAllCaches() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheDistributionCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheDistributionCommandArg.java index 42192bcfe5db0..eb4fae387ec5e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheDistributionCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheDistributionCommandArg.java @@ -31,19 +31,19 @@ public class CacheDistributionCommandArg extends IgniteDataTransferObject { /** */ @Positional @Argument(example = "nodeId|null") - private String nodeIdOrNull; + String nodeIdOrNull; /** */ @Positional @Argument(optional = true, example = "cacheName1,...,cacheNameN") - private String[] caches; + String[] caches; /** */ - private UUID nodeId; + UUID nodeId; /** */ @Argument(optional = true, example = "attrName1,...,attrNameN") - private String[] userAttributes; + String[] userAttributes; /** */ private void parse(String value) { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheFindGarbageCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheFindGarbageCommandArg.java index b2e9686d72d19..f093611ad6c56 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheFindGarbageCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheFindGarbageCommandArg.java @@ -31,22 +31,22 @@ public class CacheFindGarbageCommandArg extends IgniteDataTransferObject { /** */ @Positional @Argument(optional = true, example = "groupName1,...,groupNameN") - private String value; + String value; /** */ @Positional @Argument(optional = true, example = "nodeId") - private String value2; + String value2; /** */ - private String[] groups; + String[] groups; /** */ - private UUID[] nodeIds; + UUID[] nodeIds; /** */ @Argument(optional = true) - private boolean delete; + boolean delete; /** */ private void parse(String value) { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIdleVerifyCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIdleVerifyCommandArg.java index fc5e63f20333a..27ca7cd04eb1f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIdleVerifyCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIdleVerifyCommandArg.java @@ -35,20 +35,20 @@ public class CacheIdleVerifyCommandArg extends IgniteDataTransferObject { /** */ @Positional @Argument(optional = true, example = "cacheName1,...,cacheNameN") - private String[] caches; + String[] caches; /** */ @Argument(optional = true) - private boolean skipZeros; + boolean skipZeros; /** */ @Argument(description = "check the CRC-sum of pages stored on disk before verifying data consistency " + "in partitions between primary and backup nodes", optional = true) - private boolean checkCrc; + boolean checkCrc; /** */ @Argument(optional = true, example = "cacheName1,...,cacheNameN") - private String[] excludeCaches; + String[] excludeCaches; /** */ @Argument(optional = true, description = "Type of cache(s)") @@ -70,7 +70,7 @@ public class CacheIdleVerifyCommandArg extends IgniteDataTransferObject { "All" } ) - private CacheFilterEnum cacheFilter = CacheFilterEnum.DEFAULT; + CacheFilterEnum cacheFilter = CacheFilterEnum.DEFAULT; /** * @param string To validate that given name is valed regex. diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesForceRebuildCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesForceRebuildCommandArg.java index 026e5b1828d4f..c9aece2862342 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesForceRebuildCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesForceRebuildCommandArg.java @@ -32,28 +32,28 @@ public class CacheIndexesForceRebuildCommandArg extends IgniteDataTransferObject /** */ @Argument(description = "Specify node for indexes rebuild (deprecated. Use --node-ids or --all-nodes instead)", example = "nodeId") - private UUID nodeId; + UUID nodeId; /** */ @Argument( description = "Comma-separated list of nodes ids to run index rebuild on", example = "nodeId1,...nodeIdN" ) - private UUID[] nodeIds; + UUID[] nodeIds; /** Flag to launch index rebuild on all nodes. */ @Argument(description = "Rebuild index on all nodes") - private boolean allNodes; + boolean allNodes; /** */ @Argument(description = "Comma-separated list of cache names for which indexes should be rebuilt", example = "cacheName1,...cacheNameN") - private String[] cacheNames; + String[] cacheNames; /** */ @Argument(description = "Comma-separated list of cache group names for which indexes should be rebuilt", example = "groupName1,...groupNameN") - private String[] groupNames; + String[] groupNames; /** */ public UUID nodeId() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesListCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesListCommandArg.java index 867cb5a13b174..867f24de8395b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesListCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesListCommandArg.java @@ -33,28 +33,28 @@ public class CacheIndexesListCommandArg extends IgniteDataTransferObject { example = "nodeId", optional = true, description = "Specify node for job execution. If not specified explicitly, node will be chosen by grid") - private UUID nodeId; + UUID nodeId; /** */ @Argument( example = "grpRegExp", optional = true, description = "Regular expression allowing filtering by cache group name") - private String groupName; + String groupName; /** */ @Argument( example = "cacheRegExp", optional = true, description = "Regular expression allowing filtering by cache name") - private String cacheName; + String cacheName; /** */ @Argument( example = "idxNameRegExp", optional = true, description = "Regular expression allowing filtering by index name") - private String indexName; + String indexName; /** * @param regex Regex to validate diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesRebuildStatusCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesRebuildStatusCommandArg.java index ec483178e87e9..7c4316ea284e4 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesRebuildStatusCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheIndexesRebuildStatusCommandArg.java @@ -31,7 +31,7 @@ public class CacheIndexesRebuildStatusCommandArg extends IgniteDataTransferObjec description = "Specify node for job execution. If not specified explicitly, info will be gathered from all nodes", example = "nodeId", optional = true) - private UUID nodeId; + UUID nodeId; /** */ public UUID nodeId() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheListCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheListCommandArg.java index d99cf9c975956..d29292a67ced6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheListCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheListCommandArg.java @@ -32,30 +32,30 @@ public class CacheListCommandArg extends IgniteDataTransferObject { /** */ @Positional @Argument(example = "regexPattern") - private String regex; + String regex; /** */ @Argument(description = "print all configuration parameters for each cache", optional = true) - private boolean config; + boolean config; /** */ @Positional @Argument(optional = true, example = "nodeId") - private UUID nodeId; + UUID nodeId; /** */ @Argument(description = "print configuration parameters per line. " + "This option has effect only when used with --config and without [--groups|--seq]", example = "multi-line", optional = true) - private String outputFormat; + String outputFormat; /** */ @Argument(description = "print information about groups") - private boolean groups; + boolean groups; /** */ @Argument(description = "print information about sequences") - private boolean seq; + boolean seq; /** */ public String regex() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsCommandArg.java index e311e33e4b648..786ead3b64fc1 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsCommandArg.java @@ -44,16 +44,16 @@ public class CacheMetricsCommandArg extends IgniteDataTransferObject { "Status" } ) - private CacheMetricsOperation operation; + CacheMetricsOperation operation; /** */ @Argument(description = "specifies a comma-separated list of cache names to which operation should be applied", example = "cache1[,...,cacheN]") - private String[] caches; + String[] caches; /** */ @Argument(description = "applies operation to all user caches") - private boolean allCaches; + boolean allCaches; /** */ public CacheMetricsOperation operation() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheResetLostPartitionsCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheResetLostPartitionsCommandArg.java index f2082c0a968b1..8b0029016303b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheResetLostPartitionsCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheResetLostPartitionsCommandArg.java @@ -29,7 +29,7 @@ public class CacheResetLostPartitionsCommandArg extends IgniteDataTransferObject /** */ @Positional @Argument(example = "cacheName1,...,cacheNameN") - private String[] caches; + String[] caches; /** */ public String[] caches() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheScheduleIndexesRebuildCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheScheduleIndexesRebuildCommandArg.java index 26e918ffe1b49..1f87a92395fac 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheScheduleIndexesRebuildCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheScheduleIndexesRebuildCommandArg.java @@ -46,34 +46,34 @@ public class CacheScheduleIndexesRebuildCommandArg extends IgniteDataTransferObj description = "(Optional) Specify node for indexes rebuild. If not specified, schedules rebuild on all nodes " + "(deprecated. Use --node-ids or --all-nodes instead)", example = "nodeId") - private UUID nodeId; + UUID nodeId; /** */ @Argument( description = "Comma-separated list of nodes ids to schedule index rebuild on", example = "nodeId1,...nodeIdN" ) - private UUID[] nodeIds; + UUID[] nodeIds; /** Flag to launch index rebuild on all nodes. */ @Argument(description = "Rebuild index on all nodes") - private boolean allNodes; + boolean allNodes; /** */ @Argument(description = "Comma-separated list of cache names with optionally specified indexes. " + "If indexes are not specified then all indexes of the cache will be scheduled for the rebuild operation. " + "Can be used simultaneously with cache group names", example = "cacheName[index1,...indexN],cacheName2,cacheName3[index1]") - private String cacheNames; + String cacheNames; /** */ @Argument(description = "Comma-separated list of cache group names for which indexes should be scheduled for the " + "rebuild. Can be used simultaneously with cache names", example = "groupName1,groupName2,...groupNameN") - private String[] groupNames; + String[] groupNames; /** Cache name -> indexes. */ - private Map> cacheToIndexes; + Map> cacheToIndexes; /** */ private void parse() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheValidateIndexesCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheValidateIndexesCommandArg.java index b9317a509d58d..4db4893e64177 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheValidateIndexesCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheValidateIndexesCommandArg.java @@ -31,34 +31,34 @@ public class CacheValidateIndexesCommandArg extends IgniteDataTransferObject { /** */ @Positional @Argument(example = "cacheName1,...,cacheNameN", optional = true) - private String value; + String value; /** */ @Positional @Argument(example = "nodeId", optional = true) - private String value2; + String value2; /** */ - private String[] caches; + String[] caches; /** */ - private UUID[] nodeIds; + UUID[] nodeIds; /** */ @Argument(example = "N", description = "validate only the first N keys", optional = true) - private int checkFirst = -1; + int checkFirst = -1; /** */ @Argument(example = "K", description = "validate every Kth key", optional = true) - private int checkThrough = -1; + int checkThrough = -1; /** */ @Argument(description = "check the CRC-sum of pages stored on disk", optional = true) - private boolean checkCrc; + boolean checkCrc; /** */ @Argument(description = "check that index size and cache size are the same", optional = true) - private boolean checkSizes; + boolean checkSizes; /** */ private static void ensurePositive(int numVal, String arg) { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/scan/CacheScanCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/scan/CacheScanCommandArg.java index e439b742c3259..2c352b54c518a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/scan/CacheScanCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/scan/CacheScanCommandArg.java @@ -32,15 +32,15 @@ public class CacheScanCommandArg extends IgniteDataTransferObject { /** */ @Positional @Argument(example = "cacheName") - private String cacheName; + String cacheName; /** */ @Argument(description = "Pluggable output format. 'default', 'table' exists by default", example = "table", optional = true) - private String outputFormat; + String outputFormat; /** */ @Argument(description = "limit count of entries to scan (" + DFLT_LIMIT + " by default)", example = "N", optional = true) - private int limit = DFLT_LIMIT; + int limit = DFLT_LIMIT; /** */ public String outputFormat() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cdc/CdcDeleteLostSegmentLinksCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cdc/CdcDeleteLostSegmentLinksCommandArg.java index 2ff54191b2eb7..2608e5ca6b9c8 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cdc/CdcDeleteLostSegmentLinksCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cdc/CdcDeleteLostSegmentLinksCommandArg.java @@ -31,7 +31,7 @@ public class CdcDeleteLostSegmentLinksCommandArg extends IgniteDataTransferObjec /** */ @Argument(optional = true, description = "ID of the node to delete lost segment links from. " + "If not set, the command will affect all server nodes") - private UUID nodeId; + UUID nodeId; /** */ public UUID nodeId() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cdc/CdcResendCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cdc/CdcResendCommandArg.java index 1fb71875d85d9..c1dbbdaf7c39d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cdc/CdcResendCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cdc/CdcResendCommandArg.java @@ -30,7 +30,7 @@ public class CdcResendCommandArg extends IgniteDataTransferObject { description = "specifies a comma-separated list of cache names", example = "cache1,...,cacheN" ) - private String[] caches; + String[] caches; /** */ public String[] caches() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/checkpoint/CheckpointCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/checkpoint/CheckpointCommandArg.java index 7cde16988400c..620318a1b151d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/checkpoint/CheckpointCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/checkpoint/CheckpointCommandArg.java @@ -27,15 +27,15 @@ public class CheckpointCommandArg extends IgniteDataTransferObject { /** */ @Argument(description = "Reason (visible in logs)", optional = true) - private String reason; + String reason; /** */ @Argument(description = "Wait for checkpoint to finish", optional = true) - private boolean waitForFinish; + boolean waitForFinish; /** */ @Argument(description = "Timeout in milliseconds", optional = true) - private long timeout = -1; + long timeout = -1; /** */ public String reason() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/consistency/ConsistencyRepairCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/consistency/ConsistencyRepairCommandArg.java index 5b34081c52274..f71218aa3d370 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/consistency/ConsistencyRepairCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/consistency/ConsistencyRepairCommandArg.java @@ -29,11 +29,11 @@ public class ConsistencyRepairCommandArg extends IgniteDataTransferObject { /** */ @Argument(description = "Cache to be checked/repaired") - private String cache; + String cache; /** */ @Argument(description = "Cache's partition to be checked/repaired", example = "partition") - private int[] partitions; + int[] partitions; /** Strategy. */ @Argument(description = "Repair strategy") @@ -57,7 +57,7 @@ public class ConsistencyRepairCommandArg extends IgniteDataTransferObject { /** */ @Argument(description = "Run concurrently on each node", optional = true) - private boolean parallel; + boolean parallel; /** */ public void ensureParams() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/defragmentation/DefragmentationScheduleCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/defragmentation/DefragmentationScheduleCommandArg.java index ab43e66a34c9b..21b6612d19932 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/defragmentation/DefragmentationScheduleCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/defragmentation/DefragmentationScheduleCommandArg.java @@ -27,11 +27,11 @@ public class DefragmentationScheduleCommandArg extends DefragmentationStatusComm /** */ @Argument(example = "consistentId0,consistentId1") - private String[] nodes; + String[] nodes; /** */ @Argument(example = "cache1,cache2,cache3", optional = true) - private String[] caches; + String[] caches; /** */ public String[] nodes() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/diagnostic/DiagnosticPagelocksCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/diagnostic/DiagnosticPagelocksCommandArg.java index a3d1c10253cad..de30e8f726059 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/diagnostic/DiagnosticPagelocksCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/diagnostic/DiagnosticPagelocksCommandArg.java @@ -44,22 +44,22 @@ public class DiagnosticPagelocksCommandArg extends IgniteDataTransferObject { "Print page locks dump to console" } ) - private Operation operation = DUMP_LOG; + Operation operation = DUMP_LOG; /** */ @Argument(optional = true) - private String path; + String path; /** Run command for all nodes. */ @Argument(description = "Run for all nodes") - private boolean all; + boolean all; /** */ @Argument( description = "Comma separated list of node ids or consistent ids", example = "node_id1[,node_id2....node_idN]|consistend_id1[,consistent_id2,....,consistent_idN]" ) - private String[] nodes; + String[] nodes; /** */ private void ensureOperationAndPath(Operation op, String path) { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionCacheGroupArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionCacheGroupArg.java index 62b43ffc78bb4..90673574cb19a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionCacheGroupArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionCacheGroupArg.java @@ -29,7 +29,7 @@ public class EncryptionCacheGroupArg extends IgniteDataTransferObject { /** */ @Positional @Argument(example = "cacheGroupName") - private String cacheGroupName; + String cacheGroupName; /** */ public String cacheGroupName() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionChangeMasterKeyCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionChangeMasterKeyCommandArg.java index ffa0403153fdf..dbc92e7868be0 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionChangeMasterKeyCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionChangeMasterKeyCommandArg.java @@ -29,7 +29,7 @@ public class EncryptionChangeMasterKeyCommandArg extends IgniteDataTransferObjec /** */ @Positional @Argument(example = "newMasterKeyName") - private String newMasterKeyName; + String newMasterKeyName; /** */ public String newMasterKeyName() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionReencryptionRateLimitCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionReencryptionRateLimitCommandArg.java index 4ba0b4ce10ed3..02c76cd9cd350 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionReencryptionRateLimitCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/encryption/EncryptionReencryptionRateLimitCommandArg.java @@ -29,7 +29,7 @@ public class EncryptionReencryptionRateLimitCommandArg extends IgniteDataTransfe /** */ @Positional @Argument(optional = true, description = "Decimal value to change re-encryption rate limit (MB/s)") - private Double newLimit; + Double newLimit; /** */ public Double newLimit() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillClientCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillClientCommandArg.java index fb9283edd233b..abd4d9d0579a4 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillClientCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillClientCommandArg.java @@ -30,11 +30,11 @@ public class KillClientCommandArg extends IgniteDataTransferObject { /** */ @Positional @Argument(description = "Connection identifier or ALL") - private String connectionId; + String connectionId; /** */ @Argument(description = "Node id to drop connection from", optional = true) - private UUID nodeId; + UUID nodeId; /** */ public String connectionId() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillComputeCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillComputeCommandArg.java index f195da579a7d9..0e901e6e6a96a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillComputeCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillComputeCommandArg.java @@ -30,7 +30,7 @@ public class KillComputeCommandArg extends IgniteDataTransferObject { /** */ @Positional @Argument(description = "Session identifier") - private IgniteUuid sessionId; + IgniteUuid sessionId; /** */ public IgniteUuid sessionId() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillContinuousCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillContinuousCommandArg.java index 6f7920647b464..5d08942a0b38b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillContinuousCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillContinuousCommandArg.java @@ -30,12 +30,12 @@ public class KillContinuousCommandArg extends IgniteDataTransferObject { /** */ @Positional @Argument(description = "Originating node id") - private UUID originNodeId; + UUID originNodeId; /** */ @Positional @Argument(description = "Routine identifier") - private UUID routineId; + UUID routineId; /** */ public UUID originNodeId() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillScanCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillScanCommandArg.java index de8139e6af3dd..63b463436ca13 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillScanCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillScanCommandArg.java @@ -30,17 +30,17 @@ public class KillScanCommandArg extends IgniteDataTransferObject { /** */ @Positional @Argument(description = "Originating node id") - private UUID originNodeId; + UUID originNodeId; /** */ @Positional @Argument(description = "Cache name") - private String cacheName; + String cacheName; /** */ @Positional @Argument(description = "Query identifier") - private long queryId; + long queryId; /** */ public UUID originNodeId() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillServiceCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillServiceCommandArg.java index 0d2e572ed405c..70228b69442ee 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillServiceCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillServiceCommandArg.java @@ -29,7 +29,7 @@ public class KillServiceCommandArg extends IgniteDataTransferObject { /** */ @Positional @Argument(description = "Service name") - private String name; + String name; /** */ public String name() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSnapshotCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSnapshotCommandArg.java index afb8898548eee..cd727bb6115bf 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSnapshotCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSnapshotCommandArg.java @@ -30,10 +30,10 @@ public class KillSnapshotCommandArg extends CancelSnapshotArg { /** */ @Positional @Argument(description = "Request id") - private UUID requestId; + UUID requestId; /** */ - private String snapshotName; + String snapshotName; /** {@inheritDoc} */ @Override public UUID requestId() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSqlCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSqlCommandArg.java index fd78ae80e4761..a06b265bdbf3d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSqlCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSqlCommandArg.java @@ -34,13 +34,13 @@ public class KillSqlCommandArg extends IgniteDataTransferObject { /** */ @Positional @Argument(description = "Query identifier") - private String queryId; + String queryId; /** */ - private UUID nodeId; + UUID nodeId; /** */ - private long qryId; + long qryId; /** */ public UUID nodeId() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillTransactionCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillTransactionCommandArg.java index a04e58978d404..916028aa43450 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillTransactionCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillTransactionCommandArg.java @@ -29,7 +29,7 @@ public class KillTransactionCommandArg extends IgniteDataTransferObject { /** */ @Positional @Argument(description = "Transaction identifier") - private String xid; + String xid; /** */ public String xid() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaDetailsCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaDetailsCommandArg.java index 81980347aec15..e280e4a2af5b2 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaDetailsCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaDetailsCommandArg.java @@ -31,11 +31,11 @@ public class MetaDetailsCommandArg extends IgniteDataTransferObject { /** */ @Argument(optional = true, example = "", javaStyleName = true) - private int typeId; + int typeId; /** */ @Argument(optional = true, example = "", javaStyleName = true) - private String typeName; + String typeName; /** */ public int typeId() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaRemoveCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaRemoveCommandArg.java index 3702d75a562e9..6b343c9cbc5ef 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaRemoveCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaRemoveCommandArg.java @@ -33,7 +33,7 @@ public class MetaRemoveCommandArg extends MetaDetailsCommandArg { /** */ @Argument(optional = true, example = "") - private String out; + String out; /** */ public String out() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaUpdateCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaUpdateCommandArg.java index ebd30e56553d3..5e3ceabeb8a93 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaUpdateCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/meta/MetaUpdateCommandArg.java @@ -34,10 +34,10 @@ public class MetaUpdateCommandArg extends IgniteDataTransferObject { /** */ @Argument(example = "") - private String in; + String in; /** Marshaled metadata. */ - private byte[] metaMarshalled; + byte[] metaMarshalled; /** */ public byte[] metaMarshalled() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricCommandArg.java index 545dcdbaa7fc4..2725723fa7543 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricCommandArg.java @@ -30,11 +30,11 @@ public class MetricCommandArg extends IgniteDataTransferObject { /** */ @Argument(description = "Name of the metric") @Positional - private String name; + String name; /** */ @Argument(description = "Node id", optional = true) - private UUID nodeId; + UUID nodeId; /** */ public UUID nodeId() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureHistogramCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureHistogramCommandArg.java index 9730af3a21ce7..cfedb633f9672 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureHistogramCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureHistogramCommandArg.java @@ -29,7 +29,7 @@ public class MetricConfigureHistogramCommandArg extends MetricCommandArg { /** */ @Argument(description = "Comma-separated list of longs to configure histogram", example = "newBounds") @Positional - private long[] newBounds; + long[] newBounds; /** */ public long[] newBounds() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureHitrateCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureHitrateCommandArg.java index 5893d6d200075..4e9ea0286a6b5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureHitrateCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureHitrateCommandArg.java @@ -28,7 +28,7 @@ public class MetricConfigureHitrateCommandArg extends MetricCommandArg { /** */ @Argument(description = "Rate time interval of hitrate", example = "newRateTimeInterval") @Positional - private long newRateTimeInterval; + long newRateTimeInterval; /** */ public long newRateTimeInterval() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureMaxValueCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureMaxValueCommandArg.java index 09ae7ee95a07b..abd93cac7468e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureMaxValueCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricConfigureMaxValueCommandArg.java @@ -31,7 +31,7 @@ public class MetricConfigureMaxValueCommandArg extends MetricCommandArg { /** */ @Argument(description = "Time interval of the metric", example = "newTimeInterval") @Positional - private long newTimeInterval; + long newTimeInterval; /** {@inheritDoc} */ @Override protected void writeExternalData(ObjectOutput out) throws IOException { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceBackupCachesTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceBackupCachesTaskArg.java index 185fc1d9d99e6..0d834ef41f247 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceBackupCachesTaskArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceBackupCachesTaskArg.java @@ -28,7 +28,7 @@ public class PersistenceBackupCachesTaskArg extends PersistenceCommand.Persisten /** */ @Positional @Argument(example = "cache1,cache2,cache3") - private String[] caches; + String[] caches; /** */ public String[] caches() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceCleanCachesTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceCleanCachesTaskArg.java index 81b373b7d35a8..f0b537f0d732e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceCleanCachesTaskArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceCleanCachesTaskArg.java @@ -28,7 +28,7 @@ public class PersistenceCleanCachesTaskArg extends PersistenceCommand.Persistenc /** */ @Positional @Argument(example = "cache1,cache2,cache3") - private String[] caches; + String[] caches; /** */ public String[] caches() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertyGetCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertyGetCommandArg.java index 00469ed7ece32..6aae6f9adae4b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertyGetCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertyGetCommandArg.java @@ -27,7 +27,7 @@ public class PropertyGetCommandArg extends IgniteDataTransferObject { /** */ @Argument(example = "") - private String name; + String name; /** */ public String name() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertyListCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertyListCommandArg.java index aad5c9a2cac3b..7997c8164c191 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertyListCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertyListCommandArg.java @@ -27,7 +27,7 @@ public class PropertyListCommandArg extends IgniteDataTransferObject { /** */ @Argument(optional = true, description = "Print detailed information: name, value, description") - private boolean info; + boolean info; /** */ public boolean info() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertySetCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertySetCommandArg.java index 125e2d7adf6a4..6954e770995da 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertySetCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/property/PropertySetCommandArg.java @@ -26,7 +26,7 @@ public class PropertySetCommandArg extends PropertyGetCommandArg { /** */ @Argument(example = "") - private String val; + String val; /** */ public String val() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableCommandArg.java index 3cd081b7b882a..b11016a052e0b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableCommandArg.java @@ -30,12 +30,12 @@ public class RollingUpgradeEnableCommandArg extends IgniteDataTransferObject { @Positional @Argument(description = "Target Ignite version. The target version can be one minor higher if its maintenance version is zero, " + "or one maintenance version higher (e.g. 2.18.0 -> 2.18.1 or 2.18.1 -> 2.19.0)") - private String targetVersion; + String targetVersion; /** Force flag. */ @Argument(description = "Enable rolling upgrade without target version checks." + " Use only when required, if the upgrade cannot proceed otherwise", optional = true) - private boolean force; + boolean force; /** */ public String targetVersion() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCancelCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCancelCommandArg.java index 4374e74ca5801..58ea346dff7ce 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCancelCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCancelCommandArg.java @@ -30,11 +30,11 @@ public class SnapshotCancelCommandArg extends CancelSnapshotArg { /** */ @Argument(description = "Snapshot operation request ID", optional = true) - private UUID id; + UUID id; /** */ @Argument(description = "Snapshot name (deprecated)", optional = true) - private String name; + String name; /** */ public UUID id() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCheckCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCheckCommandArg.java index 1850715a46c08..3ef670e98e55c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCheckCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCheckCommandArg.java @@ -30,19 +30,19 @@ public class SnapshotCheckCommandArg extends IgniteDataTransferObject { @Positional @Argument(description = "Snapshot name. " + "In case incremental snapshot (--incremental) full snapshot name must be provided") - private String snapshotName; + String snapshotName; /** */ @Argument(example = "path", optional = true, description = "Path to the directory where the snapshot files are located. " + "If not specified, the default configured snapshot directory will be used") - private String src; + String src; /** */ @Argument(example = "incrementIndex", optional = true, description = "Incremental snapshot index. " + "The command will check incremental snapshots sequentially from 1 to the specified index") - private int increment; + int increment; /** */ public String snapshotName() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCreateCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCreateCommandArg.java index 06530fe7a4371..74f6617b17e31 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCreateCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCreateCommandArg.java @@ -30,24 +30,24 @@ public class SnapshotCreateCommandArg extends IgniteDataTransferObject { @Positional @Argument(description = "Snapshot name. " + "In the case of incremental snapshot (--incremental) full snapshot name must be provided") - private String snapshotName; + String snapshotName; /** */ @Argument(example = "path", optional = true, description = "Path to the directory where the snapshot will be saved. " + "If not specified, the default configured snapshot directory will be used") - private String dest; + String dest; /** */ @Argument(optional = true, description = "Run the operation synchronously, " + "the command will wait for the entire operation to complete. " + "Otherwise, it will be performed in the background, and the command will immediately return control") - private boolean sync; + boolean sync; /** */ @Argument(optional = true, description = "Create an incremental snapshot for previously created full snapshot. " + "Full snapshot must be accessible via --dest and snapshot_name") - private boolean incremental; + boolean incremental; /** */ public String snapshotName() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotRestoreCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotRestoreCommandArg.java index c923ae65b6c96..7ae6da790f995 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotRestoreCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotRestoreCommandArg.java @@ -33,45 +33,45 @@ public class SnapshotRestoreCommandArg extends IgniteDataTransferObject { @Positional @Argument(description = "Snapshot name. " + "In the case of incremental snapshot (--incremental) full snapshot name must be provided") - private String snapshotName; + String snapshotName; /** */ @Argument(optional = true, example = "incrementIndex", description = "Incremental snapshot index. " + "The command will restore snapshot and after that all its increments sequentially from 1 to the specified index") - private int increment; + int increment; /** */ @Argument(optional = true, description = "Cache group names", example = "group1,...groupN") - private String[] groups; + String[] groups; /** */ @Argument(example = "path", optional = true, description = "Path to the directory where the snapshot files are located. " + "If not specified, the default configured snapshot directory will be used") - private String src; + String src; /** */ @Argument(optional = true, description = "Run the operation synchronously, " + "the command will wait for the entire operation to complete. " + "Otherwise, it will be performed in the background, and the command will immediately return control") - private boolean sync; + boolean sync; /** */ @Argument(optional = true, description = "Check snapshot data integrity before restore (slow!). Similar to the \"check\" command") - private boolean check; + boolean check; /** */ @Argument(description = "Snapshot restore operation status (Command deprecated. Use '--snapshot status' instead)") - private boolean status; + boolean status; /** */ @Argument(description = "Cancel snapshot restore operation (Command deprecated. Use '--snapshot cancel' instead)") - private boolean cancel; + boolean cancel; /** */ @Argument(description = "Start snapshot restore operation (Default action)") - private boolean start; + boolean start; /** */ public void ensureOptions() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationGetAllCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationGetAllCommandArg.java index a1714fb9b786a..fa014c3b49328 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationGetAllCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationGetAllCommandArg.java @@ -45,7 +45,7 @@ public class TracingConfigurationGetAllCommandArg extends TracingConfigurationCo "SQL scope" } ) - private Scope scope; + Scope scope; /** */ public Scope scope() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationGetCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationGetCommandArg.java index 2e531e905201d..559c2f6e314df 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationGetCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationGetCommandArg.java @@ -45,11 +45,11 @@ public class TracingConfigurationGetCommandArg extends TracingConfigurationComma "SQL scope" } ) - private Scope scope; + Scope scope; /** */ @Argument(optional = true) - private String label; + String label; /** */ public Scope scope() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationSetCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationSetCommandArg.java index bcbc1137c46ae..688959a7a5c04 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationSetCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationSetCommandArg.java @@ -31,11 +31,11 @@ public class TracingConfigurationSetCommandArg extends TracingConfigurationGetCo /** */ @Argument(optional = true, example = "Decimal value between 0 and 1, where 0 means never and 1 means always. " + "More or less reflects the probability of sampling specific trace.") - private double samplingRate; + double samplingRate; /** */ @Argument(optional = true, example = "Set of scopes with comma as separator DISCOVERY|EXCHANGE|COMMUNICATION|TX|SQL") - private Scope[] includedScopes; + Scope[] includedScopes; /** */ public double samplingRate() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxCommandArg.java index 636c050ccd6b7..42d48d6be18e5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxCommandArg.java @@ -34,35 +34,35 @@ public class TxCommandArg extends TxCommand.AbstractTxCommandArg { /** */ @Argument(example = "XID", optional = true) - private String xid; + String xid; /** */ @Argument(example = "SECONDS", optional = true) - private Long minDuration; + Long minDuration; /** */ @Argument(example = "SIZE", optional = true) - private Integer minSize; + Integer minSize; /** */ @Argument(example = "PATTERN_REGEX", optional = true) - private String label; + String label; /** */ @Argument - private boolean servers; + boolean servers; /** */ @Argument - private boolean clients; + boolean clients; /** */ @Argument(example = "consistentId1[,consistentId2,....,consistentIdN]") - private String[] nodes; + String[] nodes; /** */ @Argument(optional = true, example = "NUMBER") - private Integer limit; + Integer limit; /** */ @Argument(optional = true, description = "Output order") @@ -78,11 +78,11 @@ public class TxCommandArg extends TxCommand.AbstractTxCommandArg { "Sort by start time" } ) - private TxSortOrder order; + TxSortOrder order; /** */ @Argument(optional = true) - private boolean kill; + boolean kill; /** */ public String xid() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxInfoCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxInfoCommandArg.java index 07ed60875feb1..d2f6dd31d6977 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxInfoCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxInfoCommandArg.java @@ -34,13 +34,13 @@ public class TxInfoCommandArg extends TxCommand.AbstractTxCommandArg { @Argument( example = "|" + "") - private String value; + String value; /** */ - private IgniteUuid uuid; + IgniteUuid uuid; /** */ - private GridCacheVersion gridCacheVersion; + GridCacheVersion gridCacheVersion; /** */ public void uuid(IgniteUuid uuid) { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/wal/WalDeleteCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/wal/WalDeleteCommandArg.java index 11501bf863b91..da45e8f262554 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/wal/WalDeleteCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/wal/WalDeleteCommandArg.java @@ -31,7 +31,7 @@ public class WalDeleteCommandArg extends IgniteDataTransferObject { /** */ @Positional @Argument(optional = true, example = "consistentId1,consistentId2,....,consistentIdN") - private String[] consistentIds; + String[] consistentIds; /** */ public String[] consistentIds() { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/wal/WalStateCommandArg.java b/modules/core/src/main/java/org/apache/ignite/internal/management/wal/WalStateCommandArg.java index f7b12060a6876..1042fa0547f99 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/wal/WalStateCommandArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/wal/WalStateCommandArg.java @@ -30,7 +30,7 @@ public class WalStateCommandArg extends IgniteDataTransferObject { description = "Comma-separated list of cache groups. If not set action applied to all groups", optional = true ) - private String[] groups; + String[] groups; /** */ public String[] groups() { From c78d3ec7da66af4c96edfb202e938df59fc0a41a Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Mon, 26 Jan 2026 17:20:38 +0300 Subject: [PATCH 14/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../idto/IDTOSerializerGenerator.java | 14 +++- .../IgniteDataTransferObjectProcessor.java | 81 +++++++++++-------- .../dto/IgniteDataTransferObject.java | 6 +- 3 files changed, 65 insertions(+), 36 deletions(-) diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java index a7f2ebcad633f..4077bd139754f 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java @@ -39,6 +39,8 @@ import javax.lang.model.element.Element; import javax.lang.model.element.ElementKind; import javax.lang.model.element.Modifier; +import javax.lang.model.element.NestingKind; +import javax.lang.model.element.PackageElement; import javax.lang.model.element.TypeElement; import javax.lang.model.element.VariableElement; import javax.lang.model.type.ArrayType; @@ -140,7 +142,14 @@ public IDTOSerializerGenerator(ProcessingEnvironment env, TypeElement type) { /** @return Fully qualified name for generated class. */ public String serializerFQN() { - return type.getQualifiedName() + "Serializer"; + TypeElement topLevelCls = type; + + while (topLevelCls.getNestingKind() != NestingKind.TOP_LEVEL) + topLevelCls = (TypeElement)topLevelCls.getEnclosingElement(); + + PackageElement pkg = (PackageElement)topLevelCls.getEnclosingElement(); + + return pkg.getQualifiedName().toString() + "." + serializerName(); } /** @@ -188,6 +197,9 @@ private String generateSerializerCode() throws IOException { imports.add(IOException.class.getName()); imports.add("org.apache.ignite.internal.util.typedef.internal.U"); + if (type.getNestingKind() != NestingKind.TOP_LEVEL) + imports.add(type.getQualifiedName().toString()); + String simpleClsName = String.valueOf(type.getSimpleName()); List flds = fields(type); diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java index 59cf5649b156e..13f1d0175697c 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java @@ -37,6 +37,7 @@ import javax.lang.model.element.Element; import javax.lang.model.element.ElementKind; import javax.lang.model.element.Modifier; +import javax.lang.model.element.NestingKind; import javax.lang.model.element.TypeElement; import javax.lang.model.type.TypeMirror; import javax.tools.Diagnostic; @@ -75,6 +76,9 @@ public class IgniteDataTransferObjectProcessor extends AbstractProcessor { /** Factory class name. */ public static final String FACTORY_CLASS = "IDTOSerializerFactory"; + /** Generated classes. */ + private final Map genSerDes = new HashMap<>(); + /** * Processes all classes extending the {@code IgniteDataTransferObject} and generates corresponding serializer code. */ @@ -82,51 +86,62 @@ public class IgniteDataTransferObjectProcessor extends AbstractProcessor { if (roundEnv.errorRaised()) return true; - TypeMirror dtoCls = processingEnv.getElementUtils().getTypeElement(DTO_CLASS).asType(); - TypeMirror argAnnotation = processingEnv.getElementUtils().getTypeElement(ARG_ANNOTATION).asType(); + genSerDes.clear(); - Map genSerDes = new HashMap<>(); + roundEnv.getRootElements().forEach(this::generateSingle); - for (Element el: roundEnv.getRootElements()) { - if (el.getKind() != ElementKind.CLASS) - continue; + // IDE recompile only modified classes. Don't want to touch factory in the case no matching classes was recompiled. + if (genSerDes.isEmpty()) + return true; - TypeElement clazz = (TypeElement)el; + generateFactory(genSerDes); - if (!processingEnv.getTypeUtils().isAssignable(clazz.asType(), dtoCls)) - continue; + return true; + } - if (clazz.getModifiers().contains(Modifier.ABSTRACT)) - continue; + /** + * @param el Element to generate code for. + */ + private void generateSingle(Element el) { + if (el.getKind() != ElementKind.CLASS) + return; - if (!clazz.getModifiers().contains(Modifier.PUBLIC)) - continue; + TypeMirror dtoCls = processingEnv.getElementUtils().getTypeElement(DTO_CLASS).asType(); + TypeMirror argAnnotation = processingEnv.getElementUtils().getTypeElement(ARG_ANNOTATION).asType(); - if (!hasArgumentFields(clazz, argAnnotation)) - continue; + TypeElement clazz = (TypeElement)el; - try { - IDTOSerializerGenerator gen = new IDTOSerializerGenerator(processingEnv, clazz); + // Generate code for inner classes. + clazz.getEnclosedElements().forEach(this::generateSingle); - if (gen.generate()) - genSerDes.put(clazz, gen.serializerFQN()); - } - catch (Exception e) { - processingEnv.getMessager().printMessage( - Diagnostic.Kind.ERROR, - "Failed to generate a dto serializer:" + e.getMessage(), - clazz - ); - } - } + if (!processingEnv.getTypeUtils().isAssignable(clazz.asType(), dtoCls)) + return; - // IDE recompile only modified classes. Don't want to touch factory in the case no matching classes was recompiled. - if (genSerDes.isEmpty()) - return true; + if (clazz.getModifiers().contains(Modifier.ABSTRACT)) + return; - generateFactory(genSerDes); + if (!clazz.getModifiers().contains(Modifier.PUBLIC)) + return; - return true; + if (clazz.getNestingKind() != NestingKind.TOP_LEVEL && clazz.getNestingKind() != NestingKind.MEMBER) + return; + + if (!hasArgumentFields(clazz, argAnnotation)) + return; + + try { + IDTOSerializerGenerator gen = new IDTOSerializerGenerator(processingEnv, clazz); + + if (gen.generate()) + genSerDes.put(clazz, gen.serializerFQN()); + } + catch (Exception e) { + processingEnv.getMessager().printMessage( + Diagnostic.Kind.ERROR, + "Failed to generate a dto serializer:" + e.getMessage(), + clazz + ); + } } /** diff --git a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObject.java b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObject.java index d96951d53b8c9..5defeb497046a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObject.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObject.java @@ -71,7 +71,8 @@ public abstract class IgniteDataTransferObject implements Externalizable { * @throws IOException If I/O errors occur. */ protected void writeExternalData(ObjectOutput out) throws IOException { - throw new UnsupportedOperationException("Please, implement custom method or provide support in IDTOSerializerGenerator"); + throw new UnsupportedOperationException("Please, implement custom method or provide support in " + + "IDTOSerializerGenerator for " + getClass()); } /** {@inheritDoc} */ @@ -99,7 +100,8 @@ protected void writeExternalData(ObjectOutput out) throws IOException { * @throws ClassNotFoundException If the class for an object being restored cannot be found. */ protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { - throw new UnsupportedOperationException("Please, implement custom method or provide support in IDTOSerializerGenerator"); + throw new UnsupportedOperationException("Please, implement custom method or provide support in " + + "IDTOSerializerGenerator for " + getClass()); } /** {@inheritDoc} */ From bcb334f4221b478ea651b4ed0d3735685365854f Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Mon, 26 Jan 2026 23:25:38 +0300 Subject: [PATCH 15/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../management/persistence/PersistenceCommand.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceCommand.java b/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceCommand.java index c3f726bb18cb5..6ddc1578831fa 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceCommand.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceCommand.java @@ -17,6 +17,9 @@ package org.apache.ignite.internal.management.persistence; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; import java.util.function.Consumer; import org.apache.ignite.internal.dto.IgniteDataTransferObject; import org.apache.ignite.internal.management.api.CommandRegistryImpl; @@ -59,6 +62,16 @@ public PersistenceCommand() { public abstract static class PersistenceTaskArg extends IgniteDataTransferObject { /** */ private static final long serialVersionUID = 0; + + /** {@inheritDoc} */ + @Override protected void writeExternalData(ObjectOutput out) throws IOException { + // No-op. + } + + /** {@inheritDoc} */ + @Override protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoundException { + // No-op. + } } /** */ From 5bc0e159e5800c30b19a5a603c25844087a4d34a Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Tue, 27 Jan 2026 17:03:54 +0300 Subject: [PATCH 16/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../internal/idto/IgniteDataTransferObjectProcessor.java | 3 ++- .../main/java/org/apache/ignite/internal/util/IgniteUtils.java | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java index 13f1d0175697c..7d8aea0b707c8 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java @@ -203,7 +203,8 @@ private String factoryCode(Map genSerDes) throws IOExceptio writer.write("/** */"); writer.write(NL); writer.write(TAB); - writer.write("private final Map, " + simpleName(DTO_SERDES_INTERFACE) + "> serdes = new HashMap<>();"); + writer.write("private final Map, " + simpleName(DTO_SERDES_INTERFACE) + "> serdes " + + "= new HashMap<>();"); writer.write(NL); writer.write(NL); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java index cab06e8525171..853d4f2bf8022 100755 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java @@ -178,7 +178,6 @@ import org.apache.ignite.internal.binary.builder.BinaryObjectBuilderEx; import org.apache.ignite.internal.cluster.ClusterGroupEmptyCheckedException; import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException; -import org.apache.ignite.internal.codegen.idto.IDTOSerializerFactory; import org.apache.ignite.internal.compute.ComputeTaskCancelledCheckedException; import org.apache.ignite.internal.compute.ComputeTaskTimeoutCheckedException; import org.apache.ignite.internal.dto.IgniteDataTransferObject; @@ -8262,7 +8261,7 @@ public void clearAllListener() { public static IgniteDataTransferObjectSerializer loadSerializer(Class cls) { try { Class cls0 = IgniteUtils.class.getClassLoader() - .loadClass(IDTOSerializerFactory.class.getPackage().getName() + "." + cls.getSimpleName() + "Serializer"); + .loadClass(cls.getPackage().getName() + "." + cls.getSimpleName() + "Serializer"); return (IgniteDataTransferObjectSerializer)cls0.getDeclaredConstructor().newInstance(); } From d1f148346ee7d54d746fa087bd49b8e81794b3e4 Mon Sep 17 00:00:00 2001 From: Nikolay Date: Thu, 29 Jan 2026 16:50:21 +0300 Subject: [PATCH 17/30] Update modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java Co-authored-by: Sergey Chugunov --- .../ignite/internal/idto/IgniteDataTransferObjectProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java index 7d8aea0b707c8..3acdbec4b4d9e 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java @@ -341,7 +341,7 @@ private void serializer(Writer writer) throws IOException { writer.write(TAB); // IDE can invoke partial recompile during development. // In this case there will be only part (one) of serdes in the map initially. - // We want to correctly initialize and trying to load serializer dynamically. + // We want to be able to load serializer dynamically if it is missing in the map but class file itself is presented in classpath. // Other case to do it custom commands. writer.write("res = U.loadSerializer(cls);"); writer.write(NL); From f7241bbdf641a290e5b2a2005b16c599232c3e7f Mon Sep 17 00:00:00 2001 From: Nikolay Date: Thu, 29 Jan 2026 16:50:29 +0300 Subject: [PATCH 18/30] Update modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java Co-authored-by: Sergey Chugunov --- .../ignite/internal/dto/IgniteDataTransferObjectSerializer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java index e43eaeeb420be..71ebd3bd5bbbe 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java @@ -38,7 +38,7 @@ public interface IgniteDataTransferObjectSerializer { * @param instance * @param in * @return - * @throws IOException + * @throws IOException If read operation failed. * @throws ClassNotFoundException */ void readExternal(T instance, ObjectInput in) throws IOException, ClassNotFoundException; From afe5e27ff78b87b386ed2b8587f2d8b297be6a1f Mon Sep 17 00:00:00 2001 From: Nikolay Date: Thu, 29 Jan 2026 16:50:41 +0300 Subject: [PATCH 19/30] Update modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java Co-authored-by: Sergey Chugunov --- .../ignite/internal/dto/IgniteDataTransferObjectSerializer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java index 71ebd3bd5bbbe..85cf82411ede7 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java @@ -28,7 +28,7 @@ public interface IgniteDataTransferObjectSerializer { /** * * @param instance - * @param out + * @param out Output stream to write object to. * @throws IOException */ void writeExternal(T instance, ObjectOutput out) throws IOException; From 91733e89f01f97720a41eddef848e1cd7c02d32f Mon Sep 17 00:00:00 2001 From: Nikolay Date: Thu, 29 Jan 2026 16:50:52 +0300 Subject: [PATCH 20/30] Update modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java Co-authored-by: Sergey Chugunov --- .../apache/ignite/internal/idto/IDTOSerializerGenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java index 4077bd139754f..89e93bc3215c8 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java @@ -191,7 +191,7 @@ public boolean generate() throws Exception { /** @return Code for the calss implementing {@code org.apache.ignite.internal.dto.IgniteDataTransferObjectSerializer}. */ private String generateSerializerCode() throws IOException { - imports.add("org.apache.ignite.internal.dto.IgniteDataTransferObjectSerializer"); + imports.add(DTO_SERDES_INTERFACE); imports.add(ObjectOutput.class.getName()); imports.add(ObjectInput.class.getName()); imports.add(IOException.class.getName()); From fe777286149ed722574464f3a9f40973edd2ec19 Mon Sep 17 00:00:00 2001 From: Nikolay Date: Thu, 29 Jan 2026 16:50:58 +0300 Subject: [PATCH 21/30] Update modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java Co-authored-by: Sergey Chugunov --- .../apache/ignite/internal/idto/IDTOSerializerGenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java index 89e93bc3215c8..b3d3e82bdd578 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java @@ -233,7 +233,7 @@ private String generateSerializerCode() throws IOException { /** * @param writer Writer to write class to. * @param simpleClsName Class name - * @throws IOException + * @throws IOException In case of error. */ private void writeClassHeader(Writer writer, String simpleClsName) throws IOException { try (InputStream in = getClass().getClassLoader().getResourceAsStream("license.txt"); From 6e618aba6ab518004cf5f6de73b741e808bf46a8 Mon Sep 17 00:00:00 2001 From: Nikolay Date: Thu, 29 Jan 2026 16:51:15 +0300 Subject: [PATCH 22/30] Update modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java Co-authored-by: Sergey Chugunov --- .../ignite/internal/idto/IgniteDataTransferObjectProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java index 3acdbec4b4d9e..3e20134ea05f1 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java @@ -62,7 +62,7 @@ public class IgniteDataTransferObjectProcessor extends AbstractProcessor { /** Package for serializers. */ private static final String FACTORY_PKG_NAME = "org.apache.ignite.internal.codegen.idto"; - /** Base class that every dto must extends. */ + /** Base class that every dto must extend. */ private static final String DTO_CLASS = "org.apache.ignite.internal.dto.IgniteDataTransferObject"; /** From 2fe69b8efff5935cfb14da9640bf43467f65b55f Mon Sep 17 00:00:00 2001 From: Nikolay Date: Thu, 29 Jan 2026 16:51:25 +0300 Subject: [PATCH 23/30] Update modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java Co-authored-by: Sergey Chugunov --- .../ignite/internal/idto/IgniteDataTransferObjectProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java index 3e20134ea05f1..df9f23c561f1e 100644 --- a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java +++ b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java @@ -178,7 +178,7 @@ private void generateFactory(Map genSerDes) { } } catch (Exception e) { - processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "Failed to generate a dto factory:" + e.getMessage()); + processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, "Failed to generate a dto factory: " + e.getMessage()); } } From 6595d93e39627fe20d771f8510316c7fd7693a20 Mon Sep 17 00:00:00 2001 From: Nikolay Date: Thu, 29 Jan 2026 16:51:34 +0300 Subject: [PATCH 24/30] Update modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java Co-authored-by: Sergey Chugunov --- .../ignite/internal/dto/IgniteDataTransferObjectSerializer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java index 85cf82411ede7..94e742beb1077 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java @@ -36,7 +36,7 @@ public interface IgniteDataTransferObjectSerializer { /** * * @param instance - * @param in + * @param in Input stream to read object from. * @return * @throws IOException If read operation failed. * @throws ClassNotFoundException From b8b9c945fe3467a15062049c9f2de844ed513636 Mon Sep 17 00:00:00 2001 From: Nikolay Date: Thu, 29 Jan 2026 16:51:43 +0300 Subject: [PATCH 25/30] Update modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java Co-authored-by: Sergey Chugunov --- .../ignite/internal/dto/IgniteDataTransferObjectSerializer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java index 94e742beb1077..b5e33c648d8c8 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java @@ -39,7 +39,7 @@ public interface IgniteDataTransferObjectSerializer { * @param in Input stream to read object from. * @return * @throws IOException If read operation failed. - * @throws ClassNotFoundException + * @throws ClassNotFoundException If class not found. */ void readExternal(T instance, ObjectInput in) throws IOException, ClassNotFoundException; } From 731dbbd37ff02bb2f6fb039da6e9d24257d7554a Mon Sep 17 00:00:00 2001 From: Nikolay Date: Thu, 29 Jan 2026 16:51:52 +0300 Subject: [PATCH 26/30] Update modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java Co-authored-by: Sergey Chugunov --- .../ignite/internal/dto/IgniteDataTransferObjectSerializer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java index b5e33c648d8c8..7fa85be467746 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java @@ -35,7 +35,7 @@ public interface IgniteDataTransferObjectSerializer { /** * - * @param instance + * @param instance Instance of an IgniteDataTransferObject to read data to. * @param in Input stream to read object from. * @return * @throws IOException If read operation failed. From 5f6a08c77484193846526de756e8845ed0e0269b Mon Sep 17 00:00:00 2001 From: Nikolay Date: Thu, 29 Jan 2026 16:53:00 +0300 Subject: [PATCH 27/30] Update modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java Co-authored-by: Sergey Chugunov --- .../ignite/internal/dto/IgniteDataTransferObjectSerializer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java index 7fa85be467746..37376cc778c33 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java @@ -22,7 +22,7 @@ import java.io.ObjectOutput; /** - * @param + * @param Type of specific IgniteDataTransferObject this serializer works with. */ public interface IgniteDataTransferObjectSerializer { /** From c9f796547d9cade13aceea5b52bfa0c761aad0e8 Mon Sep 17 00:00:00 2001 From: Nikolay Date: Thu, 29 Jan 2026 16:53:14 +0300 Subject: [PATCH 28/30] Update modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java Co-authored-by: Sergey Chugunov --- .../ignite/internal/dto/IgniteDataTransferObjectSerializer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java index 37376cc778c33..db82396a13d09 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java @@ -27,7 +27,7 @@ public interface IgniteDataTransferObjectSerializer { /** * - * @param instance + * @param instance Instance of IgniteDataTransferObject to serialize. * @param out Output stream to write object to. * @throws IOException */ From 9001e078faa2977c1f7ea4f2061793b2af4970a8 Mon Sep 17 00:00:00 2001 From: Nikolay Date: Thu, 29 Jan 2026 16:53:31 +0300 Subject: [PATCH 29/30] Update modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java Co-authored-by: Sergey Chugunov --- .../ignite/internal/dto/IgniteDataTransferObjectSerializer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java index db82396a13d09..7a83d06510d46 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObjectSerializer.java @@ -29,7 +29,7 @@ public interface IgniteDataTransferObjectSerializer { * * @param instance Instance of IgniteDataTransferObject to serialize. * @param out Output stream to write object to. - * @throws IOException + * @throws IOException If write operation failed. */ void writeExternal(T instance, ObjectOutput out) throws IOException; From 765745350c8b4d833e2fe43b139fe2f8144d71a0 Mon Sep 17 00:00:00 2001 From: Nikolay Izhikov Date: Thu, 29 Jan 2026 16:54:13 +0300 Subject: [PATCH 30/30] IGNITE-27641 Generate serdes code for IgniteDataTransferObject --- .../apache/ignite/internal/dto/IgniteDataTransferObject.java | 4 ++-- .../java/org/apache/ignite/internal/util/IgniteUtils.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObject.java b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObject.java index 5defeb497046a..b8af7dfc938bc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObject.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/dto/IgniteDataTransferObject.java @@ -82,7 +82,7 @@ protected void writeExternalData(ObjectOutput out) throws IOException { try (IgniteDataTransferObjectOutput dtout = new IgniteDataTransferObjectOutput(out)) { IgniteDataTransferObjectSerializer serializer = IDTOSerializerFactory.getInstance().serializer(getClass()); - if (serializer == IgniteUtils.EMPTY) { + if (serializer == IgniteUtils.EMPTY_DTO_SERIALIZER) { writeExternalData(dtout); return; @@ -115,7 +115,7 @@ protected void readExternalData(ObjectInput in) throws IOException, ClassNotFoun try (IgniteDataTransferObjectInput dtin = new IgniteDataTransferObjectInput(in)) { IgniteDataTransferObjectSerializer serializer = IDTOSerializerFactory.getInstance().serializer(getClass()); - if (serializer == IgniteUtils.EMPTY) { + if (serializer == IgniteUtils.EMPTY_DTO_SERIALIZER) { readExternalData(dtin); return; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java index 853d4f2bf8022..65408e6ec0be9 100755 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java @@ -8245,7 +8245,7 @@ public void clearAllListener() { } /** */ - public static final IgniteDataTransferObjectSerializer EMPTY = new IgniteDataTransferObjectSerializer() { + public static final IgniteDataTransferObjectSerializer EMPTY_DTO_SERIALIZER = new IgniteDataTransferObjectSerializer() { /** {@inheritDoc} */ @Override public void writeExternal(Object instance, ObjectOutput out) { // No-op. @@ -8267,7 +8267,7 @@ public static IgniteDataTransferObjectSeria } catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e) { - return (IgniteDataTransferObjectSerializer)EMPTY; + return (IgniteDataTransferObjectSerializer)EMPTY_DTO_SERIALIZER; } } }