details:   https://code.openbravo.com/erp/devel/pi/rev/2d653c3624c3
changeset: 22936:2d653c3624c3
user:      Guillermo Gil <guillermo.gil <at> openbravo.com>
date:      Mon May 05 11:03:21 2014 +0200
summary:   Related to issue 26253: Apply code review

Added property to hashmap

diffstat:

 
modules/org.openbravo.client.application/src/org/openbravo/client/application/event/RemoveImagesEventHandler.java
 |  31 ++++++++-
 src/org/openbravo/base/model/ModelProvider.java                                
                                   |  15 ++-
 2 files changed, 35 insertions(+), 11 deletions(-)

diffs (103 lines):

diff -r cd8dfb195626 -r 2d653c3624c3 
modules/org.openbravo.client.application/src/org/openbravo/client/application/event/RemoveImagesEventHandler.java
--- 
a/modules/org.openbravo.client.application/src/org/openbravo/client/application/event/RemoveImagesEventHandler.java
 Mon May 05 10:46:51 2014 +0200
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/event/RemoveImagesEventHandler.java
 Mon May 05 11:03:21 2014 +0200
@@ -48,8 +48,13 @@
       return;
     }
 
-    Property imageProperty = event.getTargetInstance().getEntity()
-        .getPropertyByColumnName("AD_Image_id");
+    String propertyName = 
getPropertyName(event.getTargetInstance().getEntity());
+    Property imageProperty = event
+        .getTargetInstance()
+        .getEntity()
+        .getProperty(
+            propertyName.substring(0, propertyName.length()
+                - event.getTargetInstance().getEntityName().length()));
     if (event.getCurrentState(imageProperty) != null) {
 
       if (event.getCurrentState(imageProperty) instanceof Image) {
@@ -73,8 +78,13 @@
       return;
     }
 
-    Property imageProperty = event.getTargetInstance().getEntity()
-        .getPropertyByColumnName("AD_Image_id");
+    String propertyName = 
getPropertyName(event.getTargetInstance().getEntity());
+    Property imageProperty = event
+        .getTargetInstance()
+        .getEntity()
+        .getProperty(
+            propertyName.substring(0, propertyName.length()
+                - event.getTargetInstance().getEntityName().length()));
 
     if (event.getPreviousState(imageProperty) != null
         && event.getCurrentState(imageProperty) != 
event.getPreviousState(imageProperty)) {
@@ -96,9 +106,20 @@
 
   private static Entity[] getImageEntities() {
     ArrayList<Entity> entityArray = new ArrayList<Entity>();
-    for (Entity entity : ModelProvider.getInstance().getEntityWithImage()) {
+    for (Entity entity : 
ModelProvider.getInstance().getEntityWithImage().values()) {
       entityArray.add(entity);
     }
     return (Entity[]) entityArray.toArray(new Entity[entityArray.size()]);
   }
+
+  private static String getPropertyName(Entity entity) {
+    String property = new String();
+    for (String key : 
ModelProvider.getInstance().getEntityWithImage().keySet()) {
+      if 
(ModelProvider.getInstance().getEntityWithImage().get(key).equals(entity)) {
+        property = key;
+        break;
+      }
+    }
+    return property;
+  }
 }
diff -r cd8dfb195626 -r 2d653c3624c3 
src/org/openbravo/base/model/ModelProvider.java
--- a/src/org/openbravo/base/model/ModelProvider.java   Mon May 05 10:46:51 
2014 +0200
+++ b/src/org/openbravo/base/model/ModelProvider.java   Mon May 05 11:03:21 
2014 +0200
@@ -82,7 +82,7 @@
   private HashMap<String, Reference> referencesById = null;
   // a list because for small numbers a list is faster than a hashmap
   private List<Entity> entitiesWithTreeType = null;
-  private List<Entity> entitiesWithImage = null;
+  private HashMap<String, Entity> entitiesWithImage = null;
   private List<Module> modules;
   private Session initsession;
 
@@ -228,7 +228,7 @@
       entitiesByTableName = new HashMap<String, Entity>();
       entitiesByTableId = new HashMap<String, Entity>();
       entitiesWithTreeType = new ArrayList<Entity>();
-      entitiesWithImage = new ArrayList<Entity>();
+      entitiesWithImage = new HashMap<String, Entity>();
       for (final Table t : tables) {
         log.debug("Building model for table " + t.getName());
 
@@ -837,9 +837,12 @@
     newProp.setChild(childProperty.isParent());
     parentEntity.addProperty(newProp);
 
-    // If the property references to AD_Image_id, add its entity to 
entitiesWithImage
-    if (childProperty.getColumnName().toUpperCase().equals("AD_IMAGE_ID")) {
-      entitiesWithImage.add(childProperty.getEntity());
+    // If the Entity is ADImage, add its entity to entitiesWithImage
+    if (parentEntity.getName().equals("ADImage")) {
+      entitiesWithImage.put(childProperty.getName() + 
childProperty.getEntity(),
+          childProperty.getEntity());
+      System.out.println("Entity " + childProperty.getEntity());
+      System.out.println("Property " + childProperty.getName());
     }
   }
 
@@ -1096,7 +1099,7 @@
    * 
    * @return Entity list
    */
-  public List<Entity> getEntityWithImage() {
+  public HashMap<String, Entity> getEntityWithImage() {
     return entitiesWithImage;
   }
 

------------------------------------------------------------------------------
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
&#149; 3 signs your SCM is hindering your productivity
&#149; Requirements for releasing software faster
&#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to