details:   /erp/devel/pi/rev/72f9241e3ab3
changeset: 11000:72f9241e3ab3
user:      Gorka Ion Damián <gorkaion.damian <at> openbravo.com>
date:      Thu Mar 03 17:43:23 2011 +0100
summary:   Added method to check if activeFilter is already active.

details:   /erp/devel/pi/rev/e136008b3bf4
changeset: 11001:e136008b3bf4
user:      Gorka Ion Damián <gorkaion.damian <at> openbravo.com>
date:      Thu Mar 03 17:48:49 2011 +0100
summary:   Added OBDao.getActiveOBObjectList() method.

details:   /erp/devel/pi/rev/3a41ea6852df
changeset: 11002:3a41ea6852df
user:      Gorka Ion Damián <gorkaion.damian <at> openbravo.com>
date:      Thu Mar 03 17:53:57 2011 +0100
summary:   [OBUISEL]Refactor to use new OBDao.getActiveOBObjectList() method.

diffstat:

 
modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/CustomQuerySelectorDatasource.java
 |  21 +++----
 
modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorComponent.java
             |   8 +--
 src/org/openbravo/dal/service/OBDal.java                                       
                                          |   4 +
 src/org/openbravo/dal/service/OBDao.java                                       
                                          |  27 ++++++++++
 4 files changed, 42 insertions(+), 18 deletions(-)

diffs (124 lines):

diff -r a50368e901fb -r 3a41ea6852df 
modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/CustomQuerySelectorDatasource.java
--- 
a/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/CustomQuerySelectorDatasource.java
  Thu Mar 03 17:38:16 2011 +0100
+++ 
b/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/CustomQuerySelectorDatasource.java
  Thu Mar 03 17:53:57 2011 +0100
@@ -41,6 +41,7 @@
 import org.openbravo.client.kernel.RequestContext;
 import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBDal;
+import org.openbravo.dal.service.OBDao;
 import org.openbravo.service.datasource.ReadOnlyDataSourceService;
 import org.openbravo.service.json.JsonConstants;
 import org.openbravo.service.json.JsonUtils;
@@ -75,7 +76,8 @@
     try {
 
       Selector sel = OBDal.getInstance().get(Selector.class, selectorId);
-      List<SelectorField> fields = getActiveSelectorFields(sel);
+      List<SelectorField> fields = OBDao.getActiveOBObjectList(sel,
+          Selector.PROPERTY_OBUISELSELECTORFIELDLIST);
 
       // Parse the HQL in case that optional filters are required
       String HQL = parseOptionalFilters(parameters, sel, xmlDateFormat);
@@ -171,7 +173,9 @@
 
     StringBuffer defaultExpressionsFilter = new StringBuffer();
     boolean hasFilter = false;
-    for (SelectorField field : getActiveSelectorFields(sel)) {
+    List<SelectorField> fields = OBDao.getActiveOBObjectList(sel,
+        Selector.PROPERTY_OBUISELSELECTORFIELDLIST);
+    for (SelectorField field : fields) {
       if (StringUtils.isEmpty(field.getClauseLeftPart())) {
         continue;
       }
@@ -346,7 +350,9 @@
     if (sortByClause.length() == 0) {
       String fieldName = "";
       Long sortNumber = Long.MAX_VALUE;
-      for (SelectorField selField : getActiveSelectorFields(sel)) {
+      List<SelectorField> selFields = OBDao.getActiveOBObjectList(sel,
+          Selector.PROPERTY_OBUISELSELECTORFIELDLIST);
+      for (SelectorField selField : selFields) {
         if (selField.isShowingrid() && selField.getSortno() < sortNumber) {
           sortNumber = selField.getSortno();
           fieldName = selField.getDisplayColumnAlias();
@@ -416,13 +422,4 @@
     return 0;
   }
 
-  private List<SelectorField> getActiveSelectorFields(Selector sel) {
-    OBDal.getInstance().enableActiveFilter();
-    try {
-      return sel.getOBUISELSelectorFieldList();
-    } finally {
-      OBDal.getInstance().disableActiveFilter();
-    }
-  }
-
 }
diff -r a50368e901fb -r 3a41ea6852df 
modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorComponent.java
--- 
a/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorComponent.java
      Thu Mar 03 17:38:16 2011 +0100
+++ 
b/modules/org.openbravo.userinterface.selector/src/org/openbravo/userinterface/selector/SelectorComponent.java
      Thu Mar 03 17:53:57 2011 +0100
@@ -232,12 +232,8 @@
 
   private List<SelectorField> getActiveSelectorFields() {
     if (selectorFields == null) {
-      OBDal.getInstance().enableActiveFilter();
-      try {
-        selectorFields = getSelector().getOBUISELSelectorFieldList();
-      } finally {
-        OBDal.getInstance().disableActiveFilter();
-      }
+      selectorFields = OBDao.getActiveOBObjectList(getSelector(),
+          Selector.PROPERTY_OBUISELSELECTORFIELDLIST);
     }
     return selectorFields;
   }
diff -r a50368e901fb -r 3a41ea6852df src/org/openbravo/dal/service/OBDal.java
--- a/src/org/openbravo/dal/service/OBDal.java  Thu Mar 03 17:38:16 2011 +0100
+++ b/src/org/openbravo/dal/service/OBDal.java  Thu Mar 03 17:53:57 2011 +0100
@@ -95,6 +95,10 @@
     SessionHandler.getInstance().getSession().disableFilter("activeFilter");
   }
 
+  public boolean isActiveFilterEnabled() {
+    return 
SessionHandler.getInstance().getSession().getEnabledFilter("activeFilter") != 
null;
+  }
+
   /**
    * Returns the connection used by the hibernate session.
    * 
diff -r a50368e901fb -r 3a41ea6852df src/org/openbravo/dal/service/OBDao.java
--- a/src/org/openbravo/dal/service/OBDao.java  Thu Mar 03 17:38:16 2011 +0100
+++ b/src/org/openbravo/dal/service/OBDao.java  Thu Mar 03 17:53:57 2011 +0100
@@ -207,4 +207,31 @@
   public static enum Operator {
     EQUAL_OPERATOR, NOT_EQUAL_OPERATOR, LESS_EQUAL_OPERATOR, 
GREATER_EQUAL_OPERATOR, LESS_OPERATOR, GREATER_OPERATOR, IN_OPERATOR
   }
+
+  /**
+   * Returns a List of BaseOBOBjects of the Property identified by the 
property from the
+   * BaseOBObject obj. This method enables the activeFilter so inactive 
BaseOBObjects are not
+   * included on the returned List.
+   * 
+   * @param obj
+   *          BaseOBObject from which the values are requested
+   * @param property
+   *          the name of the Property for which the value is requested
+   * @return
+   */
+  @SuppressWarnings("unchecked")
+  public static <T extends BaseOBObject> List<T> 
getActiveOBObjectList(BaseOBObject obj,
+      String property) {
+    boolean isActiveFilterEnabled = 
OBDal.getInstance().isActiveFilterEnabled();
+    if (!isActiveFilterEnabled) {
+      OBDal.getInstance().enableActiveFilter();
+    }
+    try {
+      return (List<T>) obj.get(property);
+    } finally {
+      if (!isActiveFilterEnabled) {
+        OBDal.getInstance().disableActiveFilter();
+      }
+    }
+  }
 }

------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to