You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ib...@apache.org on 2021/05/26 14:27:02 UTC

[ignite-3] branch main updated: IGNITE-14788 Configuration schemas fields forced to be public. (#151)

This is an automated email from the ASF dual-hosted git repository.

ibessonov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new a3a9b8d  IGNITE-14788 Configuration schemas fields forced to be public. (#151)
a3a9b8d is described below

commit a3a9b8d3cb9c2d6d3e3d65361c000897d1f00420
Author: ibessonov <be...@gmail.com>
AuthorDate: Wed May 26 17:26:55 2021 +0300

    IGNITE-14788 Configuration schemas fields forced to be public. (#151)
    
    Signed-off-by: ibessonov <be...@gmail.com>
---
 .../schemas/runner/ClusterConfigurationSchema.java |  2 +-
 .../schemas/runner/NodeConfigurationSchema.java    |  4 ++--
 .../schemas/table/ColumnConfigurationSchema.java   |  8 +++----
 .../table/ColumnTypeConfigurationSchema.java       |  8 +++----
 .../table/IndexColumnConfigurationSchema.java      |  4 ++--
 .../schemas/table/TableConfigurationSchema.java    |  4 ++--
 .../table/TableIndexConfigurationSchema.java       | 14 +++++------
 .../schemas/table/TablesConfigurationSchema.java   |  2 +-
 .../processor/internal/Processor.java              | 28 ++++++++++++----------
 .../configuration/ConfigurationChangerTest.java    |  8 +++----
 .../internal/util/ConfigurationUtilTest.java       |  4 ++--
 .../notifications/ConfigurationListenerTest.java   |  4 ++--
 .../sample/BaselineConfigurationSchema.java        |  5 ++--
 .../sample/ClusterWideConfigurationSchema.java     |  4 ++--
 .../sample/LocalConfigurationSchema.java           |  2 +-
 .../sample/NetworkConfigurationSchema.java         |  2 +-
 .../sample/TraversableTreeNodeTest.java            |  4 ++--
 .../ignite/configuration/annotation/Config.java    |  6 ++---
 18 files changed, 58 insertions(+), 55 deletions(-)

diff --git a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/runner/ClusterConfigurationSchema.java b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/runner/ClusterConfigurationSchema.java
index d9e351d..91089ba 100644
--- a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/runner/ClusterConfigurationSchema.java
+++ b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/runner/ClusterConfigurationSchema.java
@@ -28,5 +28,5 @@ import org.apache.ignite.configuration.storage.ConfigurationType;
 public class ClusterConfigurationSchema {
     /** List of unique names of those cluster nodes that will host distributed metastorage instances. */
     @Value(hasDefault = true)
-    String[] metastorageNodes = new String[0];
+    public String[] metastorageNodes = new String[0];
 }
diff --git a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/runner/NodeConfigurationSchema.java b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/runner/NodeConfigurationSchema.java
index 5657252..a79da1f 100644
--- a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/runner/NodeConfigurationSchema.java
+++ b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/runner/NodeConfigurationSchema.java
@@ -30,9 +30,9 @@ import org.apache.ignite.configuration.storage.ConfigurationType;
 public class NodeConfigurationSchema {
     /** Uniq local node name. */
     @Value(hasDefault = true)
-    final String name = UUID.randomUUID().toString();
+    public final String name = UUID.randomUUID().toString();
 
     /** It is a copy of appropriate property from the cluster configuration. */
     @Value(hasDefault = true)
-    final String[] metastorageNodes = new String[0];
+    public final String[] metastorageNodes = new String[0];
 }
diff --git a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/ColumnConfigurationSchema.java b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/ColumnConfigurationSchema.java
index bf4f9ea..192090d 100644
--- a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/ColumnConfigurationSchema.java
+++ b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/ColumnConfigurationSchema.java
@@ -30,17 +30,17 @@ public class ColumnConfigurationSchema {
     /** Column name. */
     @Value
     @Immutable
-    String name;
+    public String name;
 
     /** Column type. */
     @ConfigValue
-    ColumnTypeConfigurationSchema type;
+    public ColumnTypeConfigurationSchema type;
 
     /** Nullable flag. */
     @Value
-    boolean nullable;
+    public boolean nullable;
 
     /** Default value. */
     @Value(hasDefault = true)
-    String defaultValue = "";
+    public String defaultValue = "";
 }
diff --git a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/ColumnTypeConfigurationSchema.java b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/ColumnTypeConfigurationSchema.java
index 2a17e1b..16813bb 100644
--- a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/ColumnTypeConfigurationSchema.java
+++ b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/ColumnTypeConfigurationSchema.java
@@ -27,17 +27,17 @@ import org.apache.ignite.configuration.annotation.Value;
 public class ColumnTypeConfigurationSchema {
     /** Type name. */
     @Value
-    String type;
+    public String type;
 
     /** Length. */
     @Value(hasDefault = true)
-    int length = 0;
+    public int length = 0;
 
     /** Precision. */
     @Value(hasDefault = true)
-    int precision = 0;
+    public int precision = 0;
 
     /** Scale. */
     @Value(hasDefault = true)
-    int scale = 0;
+    public int scale = 0;
 }
diff --git a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/IndexColumnConfigurationSchema.java b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/IndexColumnConfigurationSchema.java
index 8651ed7..fcbe235 100644
--- a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/IndexColumnConfigurationSchema.java
+++ b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/IndexColumnConfigurationSchema.java
@@ -29,9 +29,9 @@ public class IndexColumnConfigurationSchema {
     /** Column name. */
     @Value
     @Immutable
-    String name;
+    public String name;
 
     /** Ascending flag. */
     @Value(hasDefault = true)
-    boolean asc = true;
+    public boolean asc = true;
 }
diff --git a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TableConfigurationSchema.java b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TableConfigurationSchema.java
index 0f76eb3..f0f3881 100644
--- a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TableConfigurationSchema.java
+++ b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TableConfigurationSchema.java
@@ -47,9 +47,9 @@ public class TableConfigurationSchema {
 
     /** Columns configuration. */
     @NamedConfigValue
-    ColumnConfigurationSchema columns;
+    public ColumnConfigurationSchema columns;
 
     /** Indices configuration. */
     @NamedConfigValue
-    TableIndexConfigurationSchema indices;
+    public TableIndexConfigurationSchema indices;
 }
diff --git a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TableIndexConfigurationSchema.java b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TableIndexConfigurationSchema.java
index 4105cd2..dd6d1c0 100644
--- a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TableIndexConfigurationSchema.java
+++ b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TableIndexConfigurationSchema.java
@@ -30,29 +30,29 @@ public class TableIndexConfigurationSchema {
     /** Index name. */
     @Value
     @Immutable
-    String name;
+    public String name;
 
     /** Index type name. */
     @Value
-    String type;
+    public String type;
 
     /** Has default value flag. */
     @Value(hasDefault = true)
-    boolean uniq = false;
+    public boolean uniq = false;
 
     /** Columns configuration for sorted indexes. */
     @NamedConfigValue
-    IndexColumnConfigurationSchema columns;
+    public IndexColumnConfigurationSchema columns;
 
     /** Columns names for hash indexes. */
     @Value(hasDefault = true)
-    String[] colNames = new String[0];
+    public String[] colNames = new String[0];
 
     /** Expression for PartialIndex: PARTIAL indexes. */
     @Value(hasDefault = true)
-    String expr = "";
+    public String expr = "";
 
     /** Affinity column names for PrimaryIndex. */
     @Value(hasDefault = true)
-    String[] affinityColumns = new String[0];
+    public String[] affinityColumns = new String[0];
 }
diff --git a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TablesConfigurationSchema.java b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TablesConfigurationSchema.java
index c5fc29b..cb61a8b 100644
--- a/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TablesConfigurationSchema.java
+++ b/modules/api/src/main/java/org/apache/ignite/configuration/schemas/table/TablesConfigurationSchema.java
@@ -30,5 +30,5 @@ public class TablesConfigurationSchema {
     /** List of configured tables. */
     @NamedConfigValue
     @TableValidator
-    TableConfigurationSchema tables;
+    public TableConfigurationSchema tables;
 }
diff --git a/modules/configuration-annotation-processor/src/main/java/org/apache/ignite/configuration/processor/internal/Processor.java b/modules/configuration-annotation-processor/src/main/java/org/apache/ignite/configuration/processor/internal/Processor.java
index 4b008a5..c4bdbb7 100644
--- a/modules/configuration-annotation-processor/src/main/java/org/apache/ignite/configuration/processor/internal/Processor.java
+++ b/modules/configuration-annotation-processor/src/main/java/org/apache/ignite/configuration/processor/internal/Processor.java
@@ -17,17 +17,6 @@
 
 package org.apache.ignite.configuration.processor.internal;
 
-import com.squareup.javapoet.ArrayTypeName;
-import com.squareup.javapoet.ClassName;
-import com.squareup.javapoet.CodeBlock;
-import com.squareup.javapoet.FieldSpec;
-import com.squareup.javapoet.JavaFile;
-import com.squareup.javapoet.MethodSpec;
-import com.squareup.javapoet.ParameterizedTypeName;
-import com.squareup.javapoet.TypeName;
-import com.squareup.javapoet.TypeSpec;
-import com.squareup.javapoet.TypeVariableName;
-import com.squareup.javapoet.WildcardTypeName;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -51,6 +40,17 @@ import javax.lang.model.element.TypeElement;
 import javax.lang.model.element.VariableElement;
 import javax.lang.model.util.Elements;
 import javax.tools.Diagnostic;
+import com.squareup.javapoet.ArrayTypeName;
+import com.squareup.javapoet.ClassName;
+import com.squareup.javapoet.CodeBlock;
+import com.squareup.javapoet.FieldSpec;
+import com.squareup.javapoet.JavaFile;
+import com.squareup.javapoet.MethodSpec;
+import com.squareup.javapoet.ParameterizedTypeName;
+import com.squareup.javapoet.TypeName;
+import com.squareup.javapoet.TypeSpec;
+import com.squareup.javapoet.TypeVariableName;
+import com.squareup.javapoet.WildcardTypeName;
 import org.apache.ignite.configuration.NamedConfigurationTree;
 import org.apache.ignite.configuration.annotation.Config;
 import org.apache.ignite.configuration.annotation.ConfigValue;
@@ -175,7 +175,11 @@ public class Processor extends AbstractProcessor {
             CodeBlock.Builder constructorBodyBuilder = CodeBlock.builder();
 
             for (VariableElement field : fields) {
-                assert field.getModifiers().contains(PUBLIC) : clazz.getQualifiedName() + "#" + field.getSimpleName();
+                if (field.getModifiers().contains(STATIC))
+                    continue;
+
+                if (!field.getModifiers().contains(PUBLIC))
+                    throw new ProcessorException("Field " + clazz.getQualifiedName() + "." + field + " must be public");
 
                 Element fieldTypeElement = processingEnv.getTypeUtils().asElement(field.asType());
 
diff --git a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/ConfigurationChangerTest.java b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/ConfigurationChangerTest.java
index 2f7ad31..79cc097 100644
--- a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/ConfigurationChangerTest.java
+++ b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/ConfigurationChangerTest.java
@@ -63,11 +63,11 @@ public class ConfigurationChangerTest {
         /** */
         @ConfigValue
         @MaybeInvalid
-        private BConfigurationSchema child;
+        public BConfigurationSchema child;
 
         /** */
         @NamedConfigValue
-        private CConfigurationSchema elements;
+        public CConfigurationSchema elements;
     }
 
     /** */
@@ -242,11 +242,11 @@ public class ConfigurationChangerTest {
     public static class DefaultsConfigurationSchema {
         /** */
         @ConfigValue
-        private DefaultsChildConfigurationSchema child;
+        public DefaultsChildConfigurationSchema child;
 
         /** */
         @NamedConfigValue
-        private DefaultsChildConfigurationSchema childsList;
+        public DefaultsChildConfigurationSchema childsList;
 
         /** */
         @Value(hasDefault = true)
diff --git a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/internal/util/ConfigurationUtilTest.java b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/internal/util/ConfigurationUtilTest.java
index 772a272..1255534 100644
--- a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/internal/util/ConfigurationUtilTest.java
+++ b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/internal/util/ConfigurationUtilTest.java
@@ -80,7 +80,7 @@ public class ConfigurationUtilTest {
     public static class ParentConfigurationSchema {
         /** */
         @NamedConfigValue
-        private NamedElementConfigurationSchema elements;
+        public NamedElementConfigurationSchema elements;
     }
 
     /** */
@@ -88,7 +88,7 @@ public class ConfigurationUtilTest {
     public static class NamedElementConfigurationSchema {
         /** */
         @ConfigValue
-        private ChildConfigurationSchema child;
+        public ChildConfigurationSchema child;
     }
 
     /** */
diff --git a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/notifications/ConfigurationListenerTest.java b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/notifications/ConfigurationListenerTest.java
index 3d1c308..97e0889 100644
--- a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/notifications/ConfigurationListenerTest.java
+++ b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/notifications/ConfigurationListenerTest.java
@@ -47,11 +47,11 @@ public class ConfigurationListenerTest {
     public static class ParentConfigurationSchema {
         /** */
         @ConfigValue
-        private ChildConfigurationSchema child;
+        public ChildConfigurationSchema child;
 
         /** */
         @NamedConfigValue
-        private ChildConfigurationSchema elements;
+        public ChildConfigurationSchema elements;
     }
 
     /** */
diff --git a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/BaselineConfigurationSchema.java b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/BaselineConfigurationSchema.java
index bc6e314..89e4ed7 100644
--- a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/BaselineConfigurationSchema.java
+++ b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/BaselineConfigurationSchema.java
@@ -28,10 +28,9 @@ import org.apache.ignite.configuration.annotation.NamedConfigValue;
 public class BaselineConfigurationSchema {
     /** Auto adjust */
     @ConfigValue
-    private AutoAdjustConfigurationSchema autoAdjust;
+    public AutoAdjustConfigurationSchema autoAdjust;
 
     /** Nodes. */
     @NamedConfigValue
-    private NodeConfigurationSchema nodes;
-
+    public NodeConfigurationSchema nodes;
 }
diff --git a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/ClusterWideConfigurationSchema.java b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/ClusterWideConfigurationSchema.java
index e2742df..8416986 100644
--- a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/ClusterWideConfigurationSchema.java
+++ b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/ClusterWideConfigurationSchema.java
@@ -28,9 +28,9 @@ import org.apache.ignite.configuration.annotation.NamedConfigValue;
 public class ClusterWideConfigurationSchema {
     /** Cache. */
     @NamedConfigValue
-    private CacheConfigurationSchema cacheConfig;
+    public CacheConfigurationSchema cacheConfig;
 
     /** Baseline. */
     @ConfigValue
-    private BaselineConfigurationSchema baseline;
+    public BaselineConfigurationSchema baseline;
 }
diff --git a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/LocalConfigurationSchema.java b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/LocalConfigurationSchema.java
index ebae93e..8648ec7 100644
--- a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/LocalConfigurationSchema.java
+++ b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/LocalConfigurationSchema.java
@@ -28,5 +28,5 @@ import org.apache.ignite.configuration.storage.ConfigurationType;
 public class LocalConfigurationSchema {
     /** Baseline. */
     @ConfigValue
-    private BaselineConfigurationSchema baseline;
+    public BaselineConfigurationSchema baseline;
 }
diff --git a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/NetworkConfigurationSchema.java b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/NetworkConfigurationSchema.java
index 2bd1a55..282c7ff 100644
--- a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/NetworkConfigurationSchema.java
+++ b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/NetworkConfigurationSchema.java
@@ -28,5 +28,5 @@ import org.apache.ignite.configuration.storage.ConfigurationType;
 public class NetworkConfigurationSchema {
     /** Discovery. */
     @ConfigValue
-    private DiscoveryConfigurationSchema discovery;
+    public DiscoveryConfigurationSchema discovery;
 }
diff --git a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/TraversableTreeNodeTest.java b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/TraversableTreeNodeTest.java
index 36493b0..30cce72 100644
--- a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/TraversableTreeNodeTest.java
+++ b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/configuration/sample/TraversableTreeNodeTest.java
@@ -48,11 +48,11 @@ public class TraversableTreeNodeTest {
     public static class ParentConfigurationSchema {
         /** */
         @ConfigValue
-        private ChildConfigurationSchema child;
+        public ChildConfigurationSchema child;
 
         /** */
         @NamedConfigValue
-        private NamedElementConfigurationSchema elements;
+        public NamedElementConfigurationSchema elements;
     }
 
     /** */
diff --git a/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/Config.java b/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/Config.java
index e801bf1..0919a28 100644
--- a/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/Config.java
+++ b/modules/configuration/src/main/java/org/apache/ignite/configuration/annotation/Config.java
@@ -41,13 +41,13 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
  * public class LocalConfigurationSchema {
  *
  *      {@literal @}Value
- *      private String foo;
+ *      public String foo;
  *
  *      {@literal @}Value
- *      private boolean bar;
+ *      public boolean bar;
  *
  *      {@literal @}ConfigValue
- *      private SomeOtherConfiguration someOther;
+ *      public SomeOtherConfiguration someOther;
  * }
  * </code></pre>
  */