From c3ec67282f87ecdf308f8173132ad16877eb6754 Mon Sep 17 00:00:00 2001
From: "Barbara B. Frosik" <bfrosik@aps.anl.gov>
Date: Mon, 6 Jul 2015 18:33:04 +0000
Subject: [PATCH] Added back converters to controllers

---
 .../controllers/ExperimentController.java     | 45 +++++++++++++++++
 .../ExperimentPolicyController.java           | 45 +++++++++++++++++
 .../controllers/ExperimentTypeController.java | 47 +++++++++++++++++-
 .../controllers/PolicyPropertyController.java | 48 ++++++++++++++++++-
 .../controllers/PolicyTypeController.java     | 45 +++++++++++++++++
 .../controllers/RoleTypeController.java       | 45 +++++++++++++++++
 .../controllers/UserInfoController.java       | 44 +++++++++++++++++
 7 files changed, 317 insertions(+), 2 deletions(-)

diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentController.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentController.java
index a4f9dff0..27b36ab3 100644
--- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentController.java
+++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentController.java
@@ -34,6 +34,10 @@ import java.util.Map;
 import javax.ejb.EJB;
 import javax.inject.Named;
 import javax.enterprise.context.SessionScoped;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+import javax.faces.convert.FacesConverter;
 import javax.faces.model.DataModel;
 import javax.faces.model.ListDataModel;
 import javax.faces.model.SelectItem;
@@ -901,4 +905,45 @@ public class ExperimentController extends CrudEntityController<Experiment, Exper
         this.experimentPropertyToDelete = experimentPropertyToDelete;
     }
 
+     @FacesConverter(forClass = Experiment.class)
+    public static class ExperimentControllerConverter implements Converter {
+
+        @Override
+        public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
+            if (value == null || value.length() == 0) {
+                return null;
+            }
+            ExperimentController controller = (ExperimentController) facesContext.getApplication().getELResolver().
+                    getValue(facesContext.getELContext(), null, "experimentController");
+            return controller.getEntity(getKey(value));
+        }
+
+        java.lang.Integer getKey(String value) {
+            java.lang.Integer key;
+            key = Integer.valueOf(value);
+            return key;
+        }
+
+        String getStringKey(java.lang.Integer value) {
+            StringBuilder sb = new StringBuilder();
+            sb.append(value);
+            return sb.toString();
+        }
+
+        @Override
+        public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
+            if (object == null) {
+                return null;
+            }
+            if (object instanceof Experiment) {
+                Experiment o = (Experiment) object;
+                return getStringKey(o.getId());
+            }
+            else {
+                throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: " + Experiment.class.getName());
+            }
+        }
+
+    }
+   
 }
\ No newline at end of file
diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentPolicyController.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentPolicyController.java
index 6bcd688d..dc4565df 100644
--- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentPolicyController.java
+++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentPolicyController.java
@@ -10,6 +10,10 @@ import java.util.List;
 import javax.ejb.EJB;
 import javax.inject.Named;
 import javax.enterprise.context.SessionScoped;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+import javax.faces.convert.FacesConverter;
 import org.apache.log4j.Logger;
 
 @Named("experimentPolicyController")
@@ -72,4 +76,45 @@ public class ExperimentPolicyController extends CrudEntityController<ExperimentP
         return "Experiment Policy " + " already exists."; 
     }
 
+    @FacesConverter(forClass = ExperimentPolicy.class)
+    public static class ExperimentPolicyControllerConverter implements Converter
+    {
+
+        @Override
+        public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
+            if (value == null || value.length() == 0) {
+                return null;
+            }
+            ExperimentPolicyController controller = (ExperimentPolicyController) facesContext.getApplication().getELResolver().
+                    getValue(facesContext.getELContext(), null, "experimentPolicyController");
+            return controller.getEntity(getKey(value));
+        }
+
+        java.lang.Integer getKey(String value) {
+            java.lang.Integer key;
+            key = Integer.valueOf(value);
+            return key;
+        }
+
+        String getStringKey(java.lang.Integer value) {
+            StringBuilder sb = new StringBuilder();
+            sb.append(value);
+            return sb.toString();
+        }
+
+        @Override
+        public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
+            if (object == null) {
+                return null;
+            }
+            if (object instanceof ExperimentPolicy) {
+                ExperimentPolicy o = (ExperimentPolicy) object;
+                return getStringKey(o.getId());
+            }
+            else {
+                throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: " + ExperimentPolicy.class.getName());
+            }
+        }
+    }
+
 }
\ No newline at end of file
diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentTypeController.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentTypeController.java
index dc0b2cfb..2ac77a6a 100644
--- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentTypeController.java
+++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/ExperimentTypeController.java
@@ -10,6 +10,10 @@ import java.util.List;
 import javax.ejb.EJB;
 import javax.inject.Named;
 import javax.enterprise.context.SessionScoped;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+import javax.faces.convert.FacesConverter;
 import org.apache.log4j.Logger;
 
 @Named("experimentTypeController")
@@ -93,5 +97,46 @@ public class ExperimentTypeController extends CrudEntityController<ExperimentTyp
     public boolean notSelected() {
         return current == null;
     }
-    
+
+    @FacesConverter(forClass = ExperimentType.class)
+    public static class ExperimentTypeControllerConverter implements Converter
+    {
+
+        @Override
+        public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
+            if (value == null || value.length() == 0) {
+                return null;
+            }
+            ExperimentTypeController controller = (ExperimentTypeController) facesContext.getApplication().getELResolver().
+                    getValue(facesContext.getELContext(), null, "experimentTypeController");
+            return controller.getEntity(getKey(value));
+        }
+
+        java.lang.Integer getKey(String value) {
+            java.lang.Integer key;
+            key = Integer.valueOf(value);
+            return key;
+        }
+
+        String getStringKey(java.lang.Integer value) {
+            StringBuilder sb = new StringBuilder();
+            sb.append(value);
+            return sb.toString();
+        }
+
+        @Override
+        public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
+            if (object == null) {
+                return null;
+            }
+            if (object instanceof ExperimentType) {
+                ExperimentType o = (ExperimentType) object;
+                return getStringKey(o.getId());
+            }
+            else {
+                throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: " + ExperimentType.class.getName());
+            }
+        }
+    }
+
 }
\ No newline at end of file
diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/PolicyPropertyController.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/PolicyPropertyController.java
index f5e47f03..3bf30fd2 100644
--- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/PolicyPropertyController.java
+++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/PolicyPropertyController.java
@@ -15,6 +15,10 @@ import gov.anl.aps.dm.portal.model.entities.PolicyType;
 import java.util.List;
 import javax.ejb.EJB;
 import javax.enterprise.context.SessionScoped;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+import javax.faces.convert.FacesConverter;
 import javax.faces.model.DataModel;
 import javax.faces.model.ListDataModel;
 import javax.inject.Named;
@@ -210,5 +214,47 @@ public class PolicyPropertyController extends CrudEntityController<PolicyPropert
     public boolean notSelected() {
         return current == null;
     }
+ 
     
-}
\ No newline at end of file
+    @FacesConverter(forClass = PolicyProperty.class)
+    public static class PolicyPropertyControllerConverter implements Converter
+    {
+
+        @Override
+        public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
+            if (value == null || value.length() == 0) {
+                return null;
+            }
+            PolicyPropertyController controller = (PolicyPropertyController) facesContext.getApplication().getELResolver().
+                    getValue(facesContext.getELContext(), null, "policyPropertyController");
+            return controller.getEntity(getKey(value));
+        }
+
+        java.lang.Integer getKey(String value) {
+            java.lang.Integer key;
+            key = Integer.valueOf(value);
+            return key;
+        }
+
+        String getStringKey(java.lang.Integer value) {
+            StringBuilder sb = new StringBuilder();
+            sb.append(value);
+            return sb.toString();
+        }
+
+        @Override
+        public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
+            if (object == null) {
+                return null;
+            }
+            if (object instanceof PolicyProperty) {
+                PolicyProperty o = (PolicyProperty) object;
+                return getStringKey(o.getId());
+            }
+            else {
+                throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: " + PolicyProperty.class.getName());
+            }
+        }
+    }
+}
+
diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/PolicyTypeController.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/PolicyTypeController.java
index 0df535bb..241fe431 100644
--- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/PolicyTypeController.java
+++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/PolicyTypeController.java
@@ -10,6 +10,10 @@ import java.util.List;
 import javax.ejb.EJB;
 import javax.inject.Named;
 import javax.enterprise.context.SessionScoped;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+import javax.faces.convert.FacesConverter;
 import org.apache.log4j.Logger;
 
 @Named("policyTypeController")
@@ -93,4 +97,45 @@ public class PolicyTypeController extends CrudEntityController<PolicyType, Polic
         return current == null;
     }
     
+    @FacesConverter(forClass = PolicyType.class)
+    public static class PolicyTypeControllerConverter implements Converter
+    {
+
+        @Override
+        public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
+            if (value == null || value.length() == 0) {
+                return null;
+            }
+            PolicyTypeController controller = (PolicyTypeController) facesContext.getApplication().getELResolver().
+                    getValue(facesContext.getELContext(), null, "policyTypeController");
+            return controller.getEntity(getKey(value));
+        }
+
+        java.lang.Integer getKey(String value) {
+            java.lang.Integer key;
+            key = Integer.valueOf(value);
+            return key;
+        }
+
+        String getStringKey(java.lang.Integer value) {
+            StringBuilder sb = new StringBuilder();
+            sb.append(value);
+            return sb.toString();
+        }
+
+        @Override
+        public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
+            if (object == null) {
+                return null;
+            }
+            if (object instanceof PolicyType) {
+                PolicyType o = (PolicyType) object;
+                return getStringKey(o.getId());
+            }
+            else {
+                throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: " + PolicyType.class.getName());
+            }
+        }
+    }
+    
 }
\ No newline at end of file
diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/RoleTypeController.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/RoleTypeController.java
index 1e85f31c..7f66224a 100644
--- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/RoleTypeController.java
+++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/RoleTypeController.java
@@ -8,6 +8,10 @@ import gov.anl.aps.dm.portal.model.entities.RoleType;
 import java.util.List;
 import javax.ejb.EJB;
 import javax.enterprise.context.SessionScoped;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+import javax.faces.convert.FacesConverter;
 import javax.inject.Named;
 import org.apache.log4j.Logger;
 
@@ -103,4 +107,45 @@ public class RoleTypeController extends CrudEntityController<RoleType, RoleTypeF
         return current == null;
     }
     
+    @FacesConverter(forClass = RoleType.class)
+    public static class RoleTypeControllerConverter implements Converter {
+
+        @Override
+        public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
+            if (value == null || value.length() == 0) {
+                return null;
+            }
+            RoleTypeController controller = (RoleTypeController) facesContext.getApplication().getELResolver().
+                    getValue(facesContext.getELContext(), null, "roleTypeController");
+            return controller.getEntity(getKey(value));
+        }
+
+        java.lang.Integer getKey(String value) {
+            java.lang.Integer key;
+            key = Integer.valueOf(value);
+            return key;
+        }
+
+        String getStringKey(java.lang.Integer value) {
+            StringBuilder sb = new StringBuilder();
+            sb.append(value);
+            return sb.toString();
+        }
+
+        @Override
+        public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
+            if (object == null) {
+                return null;
+            }
+            if (object instanceof RoleType) {
+                RoleType o = (RoleType) object;
+                return getStringKey(o.getId());
+            }
+            else {
+                throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: " + RoleType.class.getName());
+            }
+        }
+
+    }
+
 }
\ No newline at end of file
diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/UserInfoController.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/UserInfoController.java
index 9706236e..5c478127 100644
--- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/UserInfoController.java
+++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/UserInfoController.java
@@ -20,6 +20,10 @@ import java.util.List;
 import java.util.Map;
 import javax.ejb.EJB;
 import javax.enterprise.context.SessionScoped;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+import javax.faces.convert.FacesConverter;
 import javax.inject.Named;
 import org.apache.log4j.Logger;
 
@@ -312,5 +316,45 @@ public class UserInfoController extends CrudEntityController<UserInfo, UserInfoF
     public boolean notSelected() {
         return current == null;
     }
+    
+    @FacesConverter(forClass = UserInfo.class)
+    public static class UserInfoControllerConverter implements Converter {
+
+        @Override
+        public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
+            if (value == null || value.length() == 0) {
+                return null;
+            }
+            UserInfoController controller = (UserInfoController) facesContext.getApplication().getELResolver().
+                    getValue(facesContext.getELContext(), null, "userInfoController");
+            return controller.getEntity(getKey(value));
+        }
+
+        java.lang.Integer getKey(String value) {
+            java.lang.Integer key;
+            key = Integer.valueOf(value);
+            return key;
+        }
+
+        String getStringKey(java.lang.Integer value) {
+            StringBuilder sb = new StringBuilder();
+            sb.append(value);
+            return sb.toString();
+        }
+
+        @Override
+        public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
+            if (object == null) {
+                return null;
+            }
+            if (object instanceof UserInfo) {
+                UserInfo o = (UserInfo) object;
+                return getStringKey(o.getId());
+            } else {
+                throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: " + UserInfo.class.getName());
+            }
+        }
+
+    }
 
 }
-- 
GitLab