Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-32 79f3a5f79 -> 4f5523b11


# IGNITE-32 WIP: Fixed UI after QA.


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

Branch: refs/heads/ignite-32
Commit: 4f5523b1170910d5e0a31c3149f50cc6fb122569
Parents: 79f3a5f
Author: AKuznetsov <akuznet...@gridgain.com>
Authored: Mon Jan 19 10:39:50 2015 +0700
Committer: AKuznetsov <akuznet...@gridgain.com>
Committed: Mon Jan 19 10:39:50 2015 +0700

----------------------------------------------------------------------
 .../ignite/schema/pojo/PojoCodeGenerator.java   | 12 ++++-
 .../ignite/schema/ui/ConfirmCallable.java       | 21 ++++----
 .../org/apache/ignite/schema/ui/MessageBox.java | 21 ++++++--
 .../apache/ignite/schema/ui/PojoDescriptor.java |  5 +-
 .../apache/ignite/schema/ui/SchemaLoadApp.java  | 50 ++++++++++++++++++--
 .../ignite/schema/xml/XmlTransformer.java       | 13 ++++-
 .../auto/AbstractAutoCacheStoreSelfTest.java    |  2 +-
 .../gridgain/grid/cache/store/auto/package.html |  4 +-
 8 files changed, 99 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4f5523b1/modules/schema-load/src/main/java/org/apache/ignite/schema/pojo/PojoCodeGenerator.java
----------------------------------------------------------------------
diff --git 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/pojo/PojoCodeGenerator.java
 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/pojo/PojoCodeGenerator.java
index 0a2754a..7908406 100644
--- 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/pojo/PojoCodeGenerator.java
+++ 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/pojo/PojoCodeGenerator.java
@@ -23,6 +23,7 @@ import org.gridgain.grid.cache.query.*;
 import java.io.*;
 import java.util.*;
 
+import static org.apache.ignite.schema.ui.MessageBox.Result.*;
 import static org.apache.ignite.schema.util.SchemaUtils.*;
 
 /**
@@ -90,8 +91,15 @@ public class PojoCodeGenerator {
         File pkgFolder, boolean constructor, ConfirmCallable askOverwrite) 
throws IOException {
         File out = new File(pkgFolder, type + ".java");
 
-        if (out.exists() && !askOverwrite.confirm(out.getName()))
-            return;
+        if (out.exists()) {
+            MessageBox.Result choice = askOverwrite.confirm(out.getName());
+
+            if (CANCEL == choice)
+                throw new IllegalStateException("POJO generation was 
canceled!");
+
+            if (NO == choice || NO_TO_ALL == choice)
+                return;
+        }
 
         Collection<String> src = new ArrayList<>(256);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4f5523b1/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/ConfirmCallable.java
----------------------------------------------------------------------
diff --git 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/ConfirmCallable.java
 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/ConfirmCallable.java
index d00ac3f..3990496 100644
--- 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/ConfirmCallable.java
+++ 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/ConfirmCallable.java
@@ -27,7 +27,7 @@ import static org.apache.ignite.schema.ui.MessageBox.Result.*;
 /**
  * Callable to ask user for confirmation from non EDT thread.
  */
-public class ConfirmCallable implements Callable<Boolean> {
+public class ConfirmCallable implements Callable<MessageBox.Result> {
     /** Owner window. */
     private final Stage owner;
 
@@ -50,27 +50,24 @@ public class ConfirmCallable implements Callable<Boolean> {
     }
 
     /** {@inheritDoc} */
-    @Override public Boolean call() throws Exception {
+    @Override public MessageBox.Result call() throws Exception {
         choice = MessageBox.confirmRememberChoiceDialog(owner, 
String.format(template, msg));
 
-        return choice == YES || choice == YES_TO_ALL;
+        return choice;
     }
 
     /**
      * Execute confirmation in EDT thread.
      *
-     * @return {@code true} If user confirm.
+     * @return Confirm result.
      */
-    public boolean confirm(String msg) {
+    public MessageBox.Result confirm(String msg) {
         this.msg = msg;
 
-        if (choice == YES_TO_ALL)
-            return true;
+        if (choice == YES_TO_ALL || choice == NO_TO_ALL)
+            return choice;
 
-        if (choice == NO_TO_ALL)
-            return false;
-
-        FutureTask<Boolean> fut = new FutureTask<>(this);
+        FutureTask<MessageBox.Result> fut = new FutureTask<>(this);
 
         Platform.runLater(fut);
 
@@ -78,7 +75,7 @@ public class ConfirmCallable implements Callable<Boolean> {
             return fut.get();
         }
         catch (Exception ignored) {
-            return false;
+            return NO;
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4f5523b1/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/MessageBox.java
----------------------------------------------------------------------
diff --git 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/MessageBox.java 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/MessageBox.java
index 337d72f..902bd91 100644
--- 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/MessageBox.java
+++ 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/MessageBox.java
@@ -38,7 +38,9 @@ public class MessageBox extends ModalDialog {
         /** Error. */
         ERROR,
         /** Confirm. */
-        CONFIRM
+        CONFIRM,
+        /** Confirm with cancel option. */
+        CANCELLABLE_CONFIRM
     }
 
     /** Message box type. */
@@ -84,6 +86,7 @@ public class MessageBox extends ModalDialog {
                 break;
 
             case CONFIRM:
+            case CANCELLABLE_CONFIRM:
                 title = "Confirmation";
                 iconFile = "question";
                 break;
@@ -118,7 +121,7 @@ public class MessageBox extends ModalDialog {
         HBox btns = hBox(10, true);
         btns.setAlignment(Pos.CENTER);
 
-        if (type == MessageType.CONFIRM) {
+        if (MessageType.CONFIRM == type || MessageType.CANCELLABLE_CONFIRM == 
type) {
             res = Result.NO;
 
             btns.getChildren().addAll(
@@ -142,6 +145,16 @@ public class MessageBox extends ModalDialog {
                             close();
                     }
                 }));
+
+            if (MessageType.CANCELLABLE_CONFIRM == type)
+                btns.getChildren().addAll(
+                    button("Cancel", "Cancel the request", new 
EventHandler<ActionEvent>() {
+                        @Override public void handle(ActionEvent e) {
+                            res = Result.CANCEL;
+
+                            close();
+                        }
+                    }));
         }
         else
             btns.getChildren().add(button("OK", "Close dialog", new 
EventHandler<ActionEvent>() {
@@ -177,7 +190,7 @@ public class MessageBox extends ModalDialog {
      * @return {@code true} If user confirm.
      */
     public static boolean confirmDialog(Stage owner, String msg) {
-        return showDialog(owner, MessageType.CONFIRM, msg, true) == Result.YES;
+        return showDialog(owner, MessageType.CONFIRM, msg, false) == 
Result.YES;
     }
 
     /**
@@ -188,7 +201,7 @@ public class MessageBox extends ModalDialog {
      * @return User confirmation result.
      */
     public static Result confirmRememberChoiceDialog(Stage owner, String msg) {
-        return showDialog(owner, MessageType.CONFIRM, msg, true);
+        return showDialog(owner, MessageType.CANCELLABLE_CONFIRM, msg, true);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4f5523b1/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/PojoDescriptor.java
----------------------------------------------------------------------
diff --git 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/PojoDescriptor.java
 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/PojoDescriptor.java
index c8c9c7f..76c29d4 100644
--- 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/PojoDescriptor.java
+++ 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/ui/PojoDescriptor.java
@@ -130,7 +130,7 @@ public class PojoDescriptor {
      * @param name Name for value class.
      */
     public void valueClassName(String name) {
-        meta.setKeyType(name);
+        meta.setType(name);
     }
 
     /**
@@ -140,6 +140,9 @@ public class PojoDescriptor {
         return fields;
     }
 
+    /**
+     * @return Type metadata.
+     */
     public GridCacheQueryTypeMetadata metadata() {
         return meta;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4f5523b1/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 9f1848a..997afea 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
@@ -286,6 +286,14 @@ public class SchemaLoadApp extends Application {
      * Generate XML and POJOs.
      */
     private void generate() {
+        Collection<PojoDescriptor> selItems = selectedItems();
+
+        if (selItems.isEmpty()) {
+            MessageBox.warningDialog(owner, "Please select tables to generate 
POJOs and XML files!");
+
+            return;
+        }
+
         lockUI(genLayerPnl, genPnl, prevBtn, nextBtn);
 
         final String outFolder = outFolderTf.getText();
@@ -896,14 +904,23 @@ public class SchemaLoadApp extends Application {
 
         regexPnl.add(buttonsPane(Pos.BOTTOM_RIGHT, false,
             renBtn,
-            button("Rename All", "Replace Ignite names by provided regular 
expression for all tables",
+            button("Rename All", "Replace Ignite names by provided regular 
expression for all selected tables",
                 new EventHandler<ActionEvent>() {
                     /** {@inheritDoc} */
                     @Override public void handle(ActionEvent evt) {
                         if (checkInput(regexTf, false, "Regular expression 
should not be empty!"))
                             return;
 
-                        if (!MessageBox.confirmDialog(owner, "Are you sure you 
want to rename Ignite names in all tables?"))
+                        Collection<PojoDescriptor> selItems = selectedItems();
+
+                        if (selItems.isEmpty()) {
+                            MessageBox.warningDialog(owner, "Please select 
tables to rename Ignite names!");
+
+                            return;
+                        }
+
+                        if (!MessageBox.confirmDialog(owner,
+                            "Are you sure you want to rename Ignite names in 
all selected tables?"))
                             return;
 
                         String regex = regexTf.getText();
@@ -911,7 +928,7 @@ public class SchemaLoadApp extends Application {
                         String replace = replaceTf.getText();
 
                         try {
-                            for (PojoDescriptor pojo : pojos)
+                            for (PojoDescriptor pojo : selItems)
                                 for (PojoField field : pojo.fields())
                                     
field.javaName(field.javaName().replaceAll(regex, replace));
                         }
@@ -924,10 +941,19 @@ public class SchemaLoadApp extends Application {
             button("Revert All", "Revert changes to Ignite names for all 
tables", new EventHandler<ActionEvent>() {
                 /** {@inheritDoc} */
                 @Override public void handle(ActionEvent evt) {
-                    if (!MessageBox.confirmDialog(owner, "Are you sure you 
want to revert Ignite names for all tables?"))
+                    Collection<PojoDescriptor> selItems = selectedItems();
+
+                    if (selItems.isEmpty()) {
+                        MessageBox.warningDialog(owner, "Please select tables 
to revert Ignite names!");
+
                         return;
+                    }
 
-                    for (PojoDescriptor pojo : pojos)
+                    if (!MessageBox.confirmDialog(owner,
+                        "Are you sure you want to revert Ignite names for all 
selected tables?"))
+                        return;
+
+                    for (PojoDescriptor pojo : selItems)
                         pojo.revertJavaNames();
                 }
             })
@@ -973,6 +999,20 @@ public class SchemaLoadApp extends Application {
         genLayerPnl = stackPane(genPnl);
     }
 
+    /**
+     * @return Selected tree view items.
+     */
+    private Collection<PojoDescriptor> selectedItems() {
+        Collection<PojoDescriptor> res = new ArrayList<>();
+
+        for (TreeItem<String> schemeItem : rootItem.getChildren())
+            for (TreeItem<String> tblItem : schemeItem.getChildren())
+                if (((CheckBoxTreeItem)tblItem).isSelected())
+                    
res.add(schemas.get(schemeItem.getValue()).get(tblItem.getValue()));
+
+        return res;
+    }
+
     /** {@inheritDoc} */
     @Override public void start(Stage primaryStage) {
         owner = primaryStage;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4f5523b1/modules/schema-load/src/main/java/org/apache/ignite/schema/xml/XmlTransformer.java
----------------------------------------------------------------------
diff --git 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/xml/XmlTransformer.java
 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/xml/XmlTransformer.java
index 3171521..ea40150 100644
--- 
a/modules/schema-load/src/main/java/org/apache/ignite/schema/xml/XmlTransformer.java
+++ 
b/modules/schema-load/src/main/java/org/apache/ignite/schema/xml/XmlTransformer.java
@@ -30,6 +30,8 @@ import javax.xml.transform.stream.*;
 import java.io.*;
 import java.util.*;
 
+import static org.apache.ignite.schema.ui.MessageBox.Result.*;
+
 /**
  * Transformer that will take cache query metadata and transform it to XML and 
write to file.
  */
@@ -272,8 +274,15 @@ public class XmlTransformer {
     public static void transform(String pkg, 
Collection<GridCacheQueryTypeMetadata> meta, File out,
         ConfirmCallable askOverwrite) {
         try {
-            if (out.exists() && !askOverwrite.confirm(out.getName()))
-                return;
+            if (out.exists()) {
+                MessageBox.Result choice = askOverwrite.confirm(out.getName());
+
+                if (CANCEL == choice)
+                    throw new IllegalStateException("XML generation was 
canceled!");
+
+                if (NO == choice || NO_TO_ALL == choice)
+                    return;
+            }
 
             DocumentBuilderFactory docFactory = 
DocumentBuilderFactory.newInstance();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4f5523b1/modules/schema-load/src/test/java/org/gridgain/grid/cache/store/auto/AbstractAutoCacheStoreSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/schema-load/src/test/java/org/gridgain/grid/cache/store/auto/AbstractAutoCacheStoreSelfTest.java
 
b/modules/schema-load/src/test/java/org/gridgain/grid/cache/store/auto/AbstractAutoCacheStoreSelfTest.java
index 842659f..8fcb67f 100644
--- 
a/modules/schema-load/src/test/java/org/gridgain/grid/cache/store/auto/AbstractAutoCacheStoreSelfTest.java
+++ 
b/modules/schema-load/src/test/java/org/gridgain/grid/cache/store/auto/AbstractAutoCacheStoreSelfTest.java
@@ -71,7 +71,7 @@ abstract class AbstractAutoCacheStoreSelfTest extends 
GridCommonAbstractTest {
     public void testLoadCache() throws Exception {
         final T2<Integer, Integer> keys = new T2<>(0, 0);
 
-        IgniteBiInClosure<Object,Object> c = new CI2<Object, Object>() {
+        IgniteBiInClosure<Object, Object> c = new CI2<Object, Object>() {
             @Override public void apply(Object k, Object v) {
                 if (k instanceof OrganizationKey && v instanceof Organization)
                     keys.set1(keys.get1() + 1);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/4f5523b1/modules/schema-load/src/test/java/org/gridgain/grid/cache/store/auto/package.html
----------------------------------------------------------------------
diff --git 
a/modules/schema-load/src/test/java/org/gridgain/grid/cache/store/auto/package.html
 
b/modules/schema-load/src/test/java/org/gridgain/grid/cache/store/auto/package.html
index 6556981..d7a7863 100644
--- 
a/modules/schema-load/src/test/java/org/gridgain/grid/cache/store/auto/package.html
+++ 
b/modules/schema-load/src/test/java/org/gridgain/grid/cache/store/auto/package.html
@@ -18,7 +18,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
 <html>
 <body>
-    <!-- Package description. -->
-    Contains internal tests or test related classes and interfaces.
+<!-- Package description. -->
+Contains internal tests or test related classes and interfaces.
 </body>
 </html>

Reply via email to