Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-32 5a407fcd6 -> 3791a128e


# ignite-32: Only key field can be affinity key .


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/3791a128
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/3791a128
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/3791a128

Branch: refs/heads/ignite-32
Commit: 3791a128e1eb4b918548d8f2f92131d64807b7e2
Parents: 5a407fc
Author: AKuznetsov <akuznet...@gridgain.com>
Authored: Fri Jan 30 16:45:15 2015 +0700
Committer: AKuznetsov <akuznet...@gridgain.com>
Committed: Fri Jan 30 16:45:15 2015 +0700

----------------------------------------------------------------------
 .../apache/ignite/schema/model/PojoDescriptor.java   |  4 ++--
 .../org/apache/ignite/schema/model/PojoField.java    | 15 +++++++++++----
 .../org/apache/ignite/schema/ui/SchemaLoadApp.java   | 14 +++++++-------
 3 files changed, 20 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3791a128/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoDescriptor.java
----------------------------------------------------------------------
diff --git 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoDescriptor.java
 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoDescriptor.java
index 7bcb14a..59e601a 100644
--- 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoDescriptor.java
+++ 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoDescriptor.java
@@ -148,9 +148,9 @@ public class PojoDescriptor {
     }
 
     /**
-     * @return {@code true} if POJO descriptor is a table descriptor and 
selected in GUI.
+     * @return {@code true} if POJO descriptor is a table descriptor and 
checked in GUI.
      */
-    public boolean selected() {
+    public boolean checked() {
         return parent != null && use.get();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3791a128/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoField.java
----------------------------------------------------------------------
diff --git 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoField.java
 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoField.java
index 89c0647..c7e8b07 100644
--- 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoField.java
+++ 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/model/PojoField.java
@@ -152,16 +152,16 @@ public class PojoField {
     }
 
     /**
-     * @param key {@code true} if this field belongs to primary key.
+     * @param isKey {@code true} if this field belongs to primary key.
      * @param desc Field type descriptor.
      * @param nullable {@code true} if {@code NULL} is allowed for this field 
in database.
      */
-    public PojoField(boolean key, CacheQueryTypeDescriptor desc, boolean 
nullable) {
-        keyPrev = key;
+    public PojoField(boolean isKey, CacheQueryTypeDescriptor desc, boolean 
nullable) {
+        keyPrev = isKey;
 
         use = new SimpleBooleanProperty(true);
 
-        this.key = new SimpleBooleanProperty(key);
+        key = new SimpleBooleanProperty(keyPrev);
 
         ak = new SimpleBooleanProperty(false);
 
@@ -185,6 +185,13 @@ public class PojoField {
 
         this.desc = desc;
 
+        key.addListener(new ChangeListener<Boolean>() {
+            @Override public void changed(ObservableValue<? extends Boolean> 
val, Boolean oldVal, Boolean newVal) {
+                if (!newVal)
+                    ak.set(false);
+            }
+        });
+
         ak.addListener(new ChangeListener<Boolean>() {
             @Override public void changed(ObservableValue<? extends Boolean> 
val, Boolean oldVal, Boolean newVal) {
                 if (newVal && owner != null) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3791a128/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/SchemaLoadApp.java
----------------------------------------------------------------------
diff --git 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/SchemaLoadApp.java
 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/SchemaLoadApp.java
index 58f597d..6cb38e6 100644
--- 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/SchemaLoadApp.java
+++ 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/SchemaLoadApp.java
@@ -325,7 +325,7 @@ public class SchemaLoadApp extends Application {
      * Generate XML and POJOs.
      */
     private void generate() {
-        final Collection<PojoDescriptor> selPojos = selectedItems();
+        final Collection<PojoDescriptor> selPojos = chekedPojos();
 
         if (selPojos.isEmpty()) {
             MessageBox.warningDialog(owner, "Please select tables to generate 
XML and POJOs files!");
@@ -373,7 +373,7 @@ public class SchemaLoadApp extends Application {
 
                 // Generate XML and POJO.
                 for (PojoDescriptor pojo : selPojos) {
-                    if (pojo.selected()) {
+                    if (pojo.checked()) {
                         CacheQueryTypeMetadata meta = 
pojo.metadata(includeKeys);
 
                         checkEmpty(pojo, meta.getKeyDescriptors(), "No key 
fields specified for type: ");
@@ -751,8 +751,8 @@ public class SchemaLoadApp extends Application {
             "Сheck to include this field into key object");
 
         TableColumn<PojoField, Boolean> akCol = booleanColumn("AK", 
"affinityKey",
-            "Check to annotate filed with @CacheAffinityKeyMapped annotation 
in generated POJO class\n" +
-            "Note that a class can have only one field annotated with 
@CacheAffinityKeyMapped annotation");
+            "Check to annotate key filed with @CacheAffinityKeyMapped 
annotation in generated POJO class\n" +
+            "Note that a class can have only one key field annotated with 
@CacheAffinityKeyMapped annotation");
 
         TableColumn<PojoField, String> dbNameCol = tableColumn("DB Name", 
"dbName", "Field name in database");
 
@@ -1010,13 +1010,13 @@ public class SchemaLoadApp extends Application {
     }
 
     /**
-     * @return Selected tree view items.
+     * @return POJOs checked in table-tree-view.
      */
-    private Collection<PojoDescriptor> selectedItems() {
+    private Collection<PojoDescriptor> chekedPojos() {
         Collection<PojoDescriptor> res = new ArrayList<>();
 
         for (PojoDescriptor pojo : pojos)
-            if (pojo.selected())
+            if (pojo.checked())
                 res.add(pojo);
 
         return res;

Reply via email to