details: /erp/devel/pi/rev/894a91f93223
changeset: 11094:894a91f93223
user: Gorka Ion Damián <gorkaion.damian <at> openbravo.com>
date: Tue Mar 08 15:11:37 2011 +0100
summary: [OBKMO] Handle NonUniqueResultException using uniqueResult().
diffstat:
modules/org.openbravo.client.myob/src/org/openbravo/client/myob/URLWidgetProvider.java
| 24 ++++++---
1 files changed, 16 insertions(+), 8 deletions(-)
diffs (59 lines):
diff -r a1f65b603342 -r 894a91f93223
modules/org.openbravo.client.myob/src/org/openbravo/client/myob/URLWidgetProvider.java
---
a/modules/org.openbravo.client.myob/src/org/openbravo/client/myob/URLWidgetProvider.java
Tue Mar 08 13:49:44 2011 +0100
+++
b/modules/org.openbravo.client.myob/src/org/openbravo/client/myob/URLWidgetProvider.java
Tue Mar 08 15:11:37 2011 +0100
@@ -21,6 +21,7 @@
import org.apache.log4j.Logger;
import org.codehaus.jettison.json.JSONArray;
import org.codehaus.jettison.json.JSONObject;
+import org.hibernate.NonUniqueResultException;
import org.hibernate.criterion.Expression;
import org.openbravo.base.exception.OBException;
import org.openbravo.dal.service.OBDao;
@@ -53,12 +54,17 @@
final JSONObject jsonObject = super.getWidgetClassDefinition();
final JSONObject parameters = new JSONObject();
jsonObject.put(WidgetProvider.PARAMETERS, parameters);
- final WidgetURL widgetURL = (WidgetURL)
OBDao.getFilteredCriteria(WidgetURL.class,
- Expression.eq(WidgetURL.PROPERTY_WIDGETCLASS,
getWidgetClass())).uniqueResult();
- if (widgetURL != null) {
- parameters.put(SRC, widgetURL.getURL());
- } else {
- log.warn("URLWidget does not have a URL defined.");
+ try {
+ final WidgetURL widgetURL = (WidgetURL)
OBDao.getFilteredCriteria(WidgetURL.class,
+ Expression.eq(WidgetURL.PROPERTY_WIDGETCLASS,
getWidgetClass())).uniqueResult();
+ if (widgetURL != null) {
+ parameters.put(SRC, widgetURL.getURL());
+ } else {
+ log.warn("URLWidget does not have a URL defined.");
+ parameters.put(SRC, "");
+ }
+ } catch (NonUniqueResultException e) {
+ log.warn("URLWidget has more than one active URL defined.", e);
parameters.put(SRC, "");
}
if (jsonObject.getJSONArray(WidgetProvider.FIELDDEFINITIONS).length() >
0) {
@@ -72,8 +78,8 @@
}
public JSONObject getWidgetInstanceDefinition(WidgetInstance widgetInstance)
{
+ final JSONObject jsonObject = new JSONObject();
try {
- final JSONObject jsonObject = new JSONObject();
addDefaultWidgetProperties(jsonObject, widgetInstance);
final JSONObject parameters =
jsonObject.getJSONObject(WidgetProvider.PARAMETERS);
final WidgetURL widgetURL = (WidgetURL)
OBDao.getFilteredCriteria(WidgetURL.class,
@@ -83,10 +89,12 @@
} else {
log.error("No url widget defined for widget class " +
widgetInstance.getWidgetClass());
}
- return jsonObject;
+ } catch (NonUniqueResultException e) {
+ log.error("More than one active url defined for widget " +
widgetInstance.getWidgetClass(), e);
} catch (Exception e) {
throw new OBException(e);
}
+ return jsonObject;
}
@Override
------------------------------------------------------------------------------
What You Don't Know About Data Connectivity CAN Hurt You
This paper provides an overview of data connectivity, details
its effect on application quality, and explores various alternative
solutions. http://p.sf.net/sfu/progress-d2d
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits