details:   https://code.openbravo.com/erp/devel/pi/rev/2f2de88e903a
changeset: 22938:2f2de88e903a
user:      Guillermo Gil <guillermo.gil <at> openbravo.com>
date:      Mon May 05 12:42:05 2014 +0200
summary:   Related to issue 26253: Applied code review

diffstat:

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

diffs (161 lines):

diff -r abd08a732042 -r 2f2de88e903a 
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 11:13:29 2014 +0200
+++ 
b/modules/org.openbravo.client.application/src/org/openbravo/client/application/event/RemoveImagesEventHandler.java
 Mon May 05 12:42:05 2014 +0200
@@ -20,6 +20,7 @@
 package org.openbravo.client.application.event;
 
 import java.util.ArrayList;
+import java.util.List;
 
 import javax.enterprise.event.Observes;
 
@@ -48,24 +49,22 @@
       return;
     }
 
-    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) {
+    for (String property : 
getImageProperties(event.getTargetInstance().getEntity())) {
 
-      if (event.getCurrentState(imageProperty) instanceof Image) {
-        Image bob = (Image) event.getCurrentState(imageProperty);
+      Property imageProperty = 
event.getTargetInstance().getEntity().getProperty(property);
 
-        if (bob != null) {
-          OBContext.setAdminMode(true);
-          try {
-            OBDal.getInstance().remove(bob);
-          } finally {
-            OBContext.restorePreviousMode();
+      if (event.getCurrentState(imageProperty) != null) {
+
+        if (event.getCurrentState(imageProperty) instanceof Image) {
+          Image bob = (Image) event.getCurrentState(imageProperty);
+
+          if (bob != null) {
+            OBContext.setAdminMode(true);
+            try {
+              OBDal.getInstance().remove(bob);
+            } finally {
+              OBContext.restorePreviousMode();
+            }
           }
         }
       }
@@ -78,26 +77,23 @@
       return;
     }
 
-    String propertyName = 
getPropertyName(event.getTargetInstance().getEntity());
-    Property imageProperty = event
-        .getTargetInstance()
-        .getEntity()
-        .getProperty(
-            propertyName.substring(0, propertyName.length()
-                - event.getTargetInstance().getEntityName().length()));
+    for (String property : 
getImageProperties(event.getTargetInstance().getEntity())) {
 
-    if (event.getPreviousState(imageProperty) != null
-        && event.getCurrentState(imageProperty) != 
event.getPreviousState(imageProperty)) {
+      Property imageProperty = 
event.getTargetInstance().getEntity().getProperty(property);
 
-      if (event.getPreviousState(imageProperty) instanceof Image) {
-        Image bob = (Image) event.getPreviousState(imageProperty);
+      if (event.getPreviousState(imageProperty) != null
+          && event.getCurrentState(imageProperty) != 
event.getPreviousState(imageProperty)) {
 
-        if (bob != null) {
-          OBContext.setAdminMode(true);
-          try {
-            OBDal.getInstance().remove(bob);
-          } finally {
-            OBContext.restorePreviousMode();
+        if (event.getPreviousState(imageProperty) instanceof Image) {
+          Image bob = (Image) event.getPreviousState(imageProperty);
+
+          if (bob != null) {
+            OBContext.setAdminMode(true);
+            try {
+              OBDal.getInstance().remove(bob);
+            } finally {
+              OBContext.restorePreviousMode();
+            }
           }
         }
       }
@@ -106,20 +102,13 @@
 
   private static Entity[] getImageEntities() {
     ArrayList<Entity> entityArray = new ArrayList<Entity>();
-    for (Entity entity : 
ModelProvider.getInstance().getEntityWithImage().values()) {
+    for (Entity entity : 
ModelProvider.getInstance().getEntityWithImage().keySet()) {
       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;
+  private static List<String> getImageProperties(Entity entity) {
+    return ModelProvider.getInstance().getEntityWithImage().get(entity);
   }
 }
diff -r abd08a732042 -r 2f2de88e903a 
src/org/openbravo/base/model/ModelProvider.java
--- a/src/org/openbravo/base/model/ModelProvider.java   Mon May 05 11:13:29 
2014 +0200
+++ b/src/org/openbravo/base/model/ModelProvider.java   Mon May 05 12:42:05 
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 HashMap<String, Entity> entitiesWithImage = null;
+  private HashMap<Entity, List<String>> 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 HashMap<String, Entity>();
+      entitiesWithImage = new HashMap<Entity, List<String>>();
       for (final Table t : tables) {
         log.debug("Building model for table " + t.getName());
 
@@ -839,8 +839,13 @@
 
     // If the Entity is ADImage, add its entity to entitiesWithImage
     if (parentEntity.getName().equals("ADImage")) {
-      entitiesWithImage.put(childProperty.getName() + 
childProperty.getEntity(),
-          childProperty.getEntity());
+      if (entitiesWithImage.containsKey(childProperty.getEntity())) {
+        
entitiesWithImage.get(childProperty.getEntity()).add(childProperty.getName());
+      } else {
+        List<String> propertyList = new ArrayList<String>();
+        propertyList.add(childProperty.getName());
+        entitiesWithImage.put(childProperty.getEntity(), propertyList);
+      }
     }
   }
 
@@ -1097,7 +1102,7 @@
    * 
    * @return Entity list
    */
-  public HashMap<String, Entity> getEntityWithImage() {
+  public HashMap<Entity, List<String>> 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