Tomas Jelinek has uploaded a new change for review.

Change subject: webadmin: instance type specific builders
......................................................................

webadmin: instance type specific builders

Longer description using lines' length under 72 chars.

With multiple paragraphs if necessary.

Change-Id: I4601e4afd6c7cc1ccaeb6f39c890e8a7d5deecd7
Signed-off-by: Tomas Jelinek <[email protected]>
---
A 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/customproperties/CustomPropertiesBuilder.java
A 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/unit/DataCenterToUnitBuilder.java
2 files changed, 78 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/36/12436/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/customproperties/CustomPropertiesBuilder.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/customproperties/CustomPropertiesBuilder.java
new file mode 100644
index 0000000..a48f986
--- /dev/null
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/customproperties/CustomPropertiesBuilder.java
@@ -0,0 +1,40 @@
+package org.ovirt.engine.ui.uicommonweb.builders.customproperties;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.ovirt.engine.core.compat.Version;
+import org.ovirt.engine.ui.frontend.AsyncQuery;
+import org.ovirt.engine.ui.frontend.INewAsyncCallback;
+import org.ovirt.engine.ui.uicommonweb.builders.Builder;
+import org.ovirt.engine.ui.uicommonweb.builders.Builder.VoidSource;
+import org.ovirt.engine.ui.uicommonweb.builders.BuilderList;
+import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
+
+public class CustomPropertiesBuilder implements Builder<VoidSource, 
HashMap<Version, ArrayList<String>>> {
+
+    @Override
+    public void build(final Builder.VoidSource source, final HashMap<Version, 
ArrayList<String>> destination, final BuilderList<VoidSource, HashMap<Version, 
ArrayList<String>>> rest) {
+
+        AsyncDataProvider.GetCustomPropertiesList(new AsyncQuery(this,
+                new INewAsyncCallback() {
+                    @Override
+                    public void OnSuccess(Object target, Object returnValue) {
+
+                        if (returnValue != null) {
+                            HashMap<Version, String> dictionary = 
(HashMap<Version, String>) returnValue;
+                            for (Map.Entry<Version, String> keyValuePair : 
dictionary.entrySet()) {
+                                destination.put(keyValuePair.getKey(),
+                                        new ArrayList<String>());
+                                for (String s : 
keyValuePair.getValue().split("[;]", -1)) { //$NON-NLS-1$
+                                    
destination.get(keyValuePair.getKey()).add(s);
+                                }
+                            }
+                        }
+                        rest.head().build(source, destination, rest.tail());
+                    }
+                }));
+    }
+
+}
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/unit/DataCenterToUnitBuilder.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/unit/DataCenterToUnitBuilder.java
new file mode 100644
index 0000000..a838181
--- /dev/null
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/builders/unit/DataCenterToUnitBuilder.java
@@ -0,0 +1,38 @@
+package org.ovirt.engine.ui.uicommonweb.builders.unit;
+
+import java.util.ArrayList;
+
+import org.ovirt.engine.core.common.businessentities.StoragePoolStatus;
+import org.ovirt.engine.core.common.businessentities.storage_pool;
+import org.ovirt.engine.ui.frontend.AsyncQuery;
+import org.ovirt.engine.ui.frontend.INewAsyncCallback;
+import org.ovirt.engine.ui.uicommonweb.builders.Builder;
+import org.ovirt.engine.ui.uicommonweb.builders.BuilderList;
+import org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider;
+import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel;
+import static org.ovirt.engine.ui.uicommonweb.builders.Builder.VoidSource;
+
+public class DataCenterToUnitBuilder implements Builder<VoidSource, 
UnitVmModel> {
+
+    @Override
+    public void build(final VoidSource source, final UnitVmModel destination, 
final BuilderList<VoidSource, UnitVmModel> rest) {
+        AsyncDataProvider.GetDataCenterList(new AsyncQuery(destination,
+                new INewAsyncCallback() {
+                    @SuppressWarnings("unchecked")
+                    @Override
+                    public void OnSuccess(Object target, Object returnValue) {
+
+                        UnitVmModel model = (UnitVmModel) target;
+                        ArrayList<storage_pool> list = new 
ArrayList<storage_pool>();
+                        for (storage_pool a : (ArrayList<storage_pool>) 
returnValue) {
+                            if (a.getstatus() == StoragePoolStatus.Up) {
+                                list.add(a);
+                            }
+                        }
+                        model.SetDataCenter(model, list);
+                        rest.head().build(source, destination, rest.tail());
+                    }
+                }, destination.getHash()));
+    }
+
+}


--
To view, visit http://gerrit.ovirt.org/12436
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4601e4afd6c7cc1ccaeb6f39c890e8a7d5deecd7
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Tomas Jelinek <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to