[Title] Enhancement org.tizen.common.core.command.Prompter
authorBon-Yong Lee <bonyong.lee@samsung.com>
Tue, 13 Nov 2012 06:27:18 +0000 (15:27 +0900)
committerBon-Yong Lee <bonyong.lee@samsung.com>
Tue, 13 Nov 2012 06:27:18 +0000 (15:27 +0900)
[Desc.] Cover multiple input. This function support specific platform
interaction and wizard style
[Issue] #7420

org.tizen.common/src/org/tizen/common/core/command/InputValidator.java [new file with mode: 0755]
org.tizen.common/src/org/tizen/common/core/command/Prompter.java [changed mode: 0644->0755]
org.tizen.common/src/org/tizen/common/core/command/UserField.java [new file with mode: 0755]
org.tizen.common/src/org/tizen/common/core/command/prompter/EclipsePrompter.java [changed mode: 0644->0755]
org.tizen.common/src/org/tizen/common/core/command/prompter/NopPrompter.java [changed mode: 0644->0755]
org.tizen.common/src/org/tizen/common/core/command/prompter/SWTPrompter.java

diff --git a/org.tizen.common/src/org/tizen/common/core/command/InputValidator.java b/org.tizen.common/src/org/tizen/common/core/command/InputValidator.java
new file mode 100755 (executable)
index 0000000..3d3e60f
--- /dev/null
@@ -0,0 +1,7 @@
+package org.tizen.common.core.command;\r
+\r
+public interface\r
+InputValidator\r
+{\r
+    String check( Object value );\r
+}\r
old mode 100644 (file)
new mode 100755 (executable)
index cde483d..f2866af
@@ -24,6 +24,9 @@
  */
 package org.tizen.common.core.command;
 
+import java.util.Collection;
+import java.util.Map;
+
 import org.tizen.common.core.command.prompter.Option;
 
 /**
@@ -89,6 +92,13 @@ Prompter
         * User cancle work in process
         */
        void cancel();
-
-
+       
+       
+       /**
+        * Batch process for user interaction
+        * 
+        * @param userFields
+        * @return
+        */
+       Map<String, Object> batch( Collection<UserField> userFields );
 }
diff --git a/org.tizen.common/src/org/tizen/common/core/command/UserField.java b/org.tizen.common/src/org/tizen/common/core/command/UserField.java
new file mode 100755 (executable)
index 0000000..38d544d
--- /dev/null
@@ -0,0 +1,87 @@
+package org.tizen.common.core.command;\r
+\r
+import java.util.Arrays;\r
+import java.util.Collection;\r
+\r
+public class UserField\r
+{\r
+    protected final String id;\r
+    \r
+    protected final String message;\r
+    \r
+    protected boolean bModify;\r
+    \r
+    protected Class<?> type;\r
+    \r
+    protected Object value;\r
+    \r
+    protected InputValidator validator;\r
+    \r
+    protected Collection<UserField> children;\r
+    \r
+    protected Collection<Object> supports;\r
+    \r
+    public UserField(\r
+        final String id,\r
+        final String message\r
+    )\r
+    {\r
+        this.id = id;\r
+        this.message = message;\r
+    }\r
+    \r
+    public String getId()\r
+    {\r
+        return this.id;\r
+    }\r
+    \r
+    public String getMessage()\r
+    {\r
+        return this.message;\r
+    }\r
+    \r
+    public Class<?> getType()\r
+    {\r
+        return this.type;\r
+    }\r
+    \r
+    public boolean canModify()\r
+    {\r
+        return bModify;\r
+    }\r
+    \r
+    public Object getValue()\r
+    {\r
+        return this.value;\r
+    }\r
+    \r
+    public void setValue( final Object value )\r
+    {\r
+        this.value = value;\r
+    }\r
+    \r
+    public InputValidator getValidator() {\r
+        return this.validator;\r
+    }\r
+    \r
+    public void setValidator( final InputValidator validator )\r
+    {\r
+        this.validator = validator;\r
+    }\r
+    \r
+    public void addChild( final UserField... children )\r
+    {\r
+        this.children.addAll( Arrays.asList( children ) );\r
+    }\r
\r
+    public Collection<Object> getSupports()\r
+    {\r
+        return this.supports;\r
+    }\r
+    \r
+    public void addSupport( final Object support )\r
+    {\r
+        this.supports.add( support );\r
+    }\r
+    \r
+}\r
old mode 100644 (file)
new mode 100755 (executable)
index 7c4df9e..27c3028
@@ -24,7 +24,9 @@
  */
 package org.tizen.common.core.command.prompter;
 
+import java.util.Collection;
 import java.util.HashMap;
+import java.util.Map;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
@@ -35,6 +37,7 @@ import org.eclipse.core.runtime.Platform;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.tizen.common.core.command.Prompter;
+import org.tizen.common.core.command.UserField;
 import org.tizen.common.util.ObjectUtil;
 import org.tizen.common.util.StringUtil;
 
@@ -197,5 +200,12 @@ implements Prompter
        {
            return getClass().getSimpleName() + "@" + Integer.toHexString( hashCode() ).substring( 0, 4 );
        }
+
+    @Override
+    public Map<String, Object> batch(Collection<UserField> userFields)
+    {
+        // TODO implement
+        return null;
+    }
        
 }
old mode 100644 (file)
new mode 100755 (executable)
index 211d17e..8ea26f2
  */
 package org.tizen.common.core.command.prompter;
 
+import java.util.Collection;
+import java.util.Map;
+
 import org.tizen.common.core.command.Prompter;
+import org.tizen.common.core.command.UserField;
 
 /**
  * <p>
@@ -126,4 +130,11 @@ implements Prompter
                this.password = password;
        }
 
+    @Override
+    public Map<String, Object> batch(Collection<UserField> userFields)
+    {
+        // TODO implement
+        return null;
+    }
+
 }
index 9867262..429050b 100755 (executable)
@@ -31,13 +31,16 @@ import static org.tizen.common.util.SWTUtil.syncExec;
 import static org.tizen.common.util.StringUtil.trim;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.HashSet;
 import java.util.LinkedHashSet;
+import java.util.Map;
 
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.tizen.common.core.command.Prompter;
+import org.tizen.common.core.command.UserField;
 import org.tizen.common.ui.dialog.PasswordInputDialog;
 import org.tizen.common.util.NotificationType;
 import org.tizen.common.util.NotifierDialog;
@@ -230,4 +233,11 @@ implements Prompter
                        
        }
 
+    @Override
+    public Map<String, Object> batch(Collection<UserField> userFields)
+    {
+        // TODO implement
+        return null;
+    }
+
 }