details:   /erp/devel/pi/rev/76bbf63eaaa3
changeset: 10751:76bbf63eaaa3
user:      Gorka Ion Damián <gorkaion.damian <at> openbravo.com>
date:      Thu Feb 17 18:54:25 2011 +0100
summary:   [OBUISEL] Properly fix by default expressions.

diffstat:

 
modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorDefaultFilterActionHandler.java
 |  19 ++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diffs (50 lines):

diff -r 919167491837 -r 76bbf63eaaa3 
modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorDefaultFilterActionHandler.java
--- 
a/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorDefaultFilterActionHandler.java
     Thu Feb 17 18:38:23 2011 +0100
+++ 
b/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorDefaultFilterActionHandler.java
     Thu Feb 17 18:54:25 2011 +0100
@@ -19,6 +19,7 @@
 package org.openbravo.userinterface.selector;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import javax.enterprise.context.ApplicationScoped;
@@ -35,6 +36,7 @@
 import org.openbravo.base.model.Reference;
 import org.openbravo.base.model.domaintype.DomainType;
 import org.openbravo.base.model.domaintype.ForeignKeyDomainType;
+import org.openbravo.base.structure.BaseOBObject;
 import org.openbravo.base.util.Check;
 import org.openbravo.client.application.OBBindings;
 import org.openbravo.client.kernel.BaseActionHandler;
@@ -44,6 +46,7 @@
 import org.openbravo.dal.service.OBCriteria;
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.service.json.JsonConstants;
+import org.openbravo.service.json.JsonUtils;
 
 /**
  * 
@@ -93,6 +96,22 @@
             final DomainType domainType = getDomainType(f);
             String fieldName = f.getProperty();
             if (domainType instanceof ForeignKeyDomainType) {
+              final String entityName = 
f.getObuiselSelector().getTable().getName();
+              final Entity entity = 
ModelProvider.getInstance().getEntity(entityName);
+              final List<Property> properties = 
JsonUtils.getPropertiesOnPath(entity, f
+                  .getProperty());
+              if (!properties.isEmpty()) {
+                final Property property = properties.get(properties.size() - 
1);
+
+                @SuppressWarnings("unchecked")
+                Class<? extends BaseOBObject> o = (Class<? extends 
BaseOBObject>) Class
+                    
.forName(property.getReferencedProperty().getEntity().getClassName());
+                String identifier = OBDal.getInstance().get(o, 
exprResult).getIdentifier();
+                if (identifier != null) {
+                  exprResult = identifier;
+                }
+              }
+
               fieldName = fieldName + "." + JsonConstants.IDENTIFIER;
             }
 

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to