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