You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by rr...@apache.org on 2009/07/28 20:23:20 UTC
svn commit: r798639 - in
/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel:
HibernateDao.java MessageDaoImpl.java ScopeDaoImpl.java XmlDataDaoImpl.java
Author: rr
Date: Tue Jul 28 18:23:19 2009
New Revision: 798639
URL: http://svn.apache.org/viewvc?rev=798639&view=rev
Log:
ODE-640: Reduce inserts to LARGE_DATA in dao-hib
Modified:
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/HibernateDao.java
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageDaoImpl.java
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ScopeDaoImpl.java
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/XmlDataDaoImpl.java
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/HibernateDao.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/HibernateDao.java?rev=798639&r1=798638&r2=798639&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/HibernateDao.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/HibernateDao.java Tue Jul 28 18:23:19 2009
@@ -54,6 +54,10 @@
if(logDao.isDebugEnabled()) logDao.debug("entering "+msg);
}
+ void leaving(String msg){
+ if(logDao.isDebugEnabled()) logDao.debug("leaving "+msg);
+ }
+
/**
* @see org.apache.ode.utils.dao.DAO#getDHandle()
*/
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageDaoImpl.java?rev=798639&r1=798638&r2=798639&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageDaoImpl.java Tue Jul 28 18:23:19 2009
@@ -62,6 +62,7 @@
_session.save(newdata);
_hself.setMessageData(newdata);
update();
+ leaving("MessageDaoImpl.setData");
}
public Element getData() {
@@ -84,6 +85,7 @@
_session.save(newdata);
_hself.setHeader(newdata);
update();
+ leaving("MessageDaoImpl.setHeader");
}
public Element getHeader() {
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ScopeDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ScopeDaoImpl.java?rev=798639&r1=798638&r2=798639&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ScopeDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ScopeDaoImpl.java Tue Jul 28 18:23:19 2009
@@ -131,20 +131,19 @@
XmlDataDAO cached = _variables.get(varName);
if (cached != null) return _variables.get(varName);
- HXmlData data;
- Query qry = getSession().createQuery(QRY_VARIABLE);
- qry.setString(0,varName);
- qry.setLong(1,_scope.getId());
- List res = qry.list();
-
- if(res.size() > 0)
- data = (HXmlData)res.get(0);
- else {
+ HXmlData data = null;
+ for (HXmlData e : _scope.getVariables()) {
+ if (e.getName().equals(varName) && e.getScope().getId().equals(_scope.getId())) {
+ data = e;
+ }
+ }
+ if (data == null) {
data = new HXmlData();
data.setName(varName);
data.setScope(_scope);
+ _scope.getVariables().add(data);
}
-
+
XmlDataDaoImpl varDao = new XmlDataDaoImpl(_sm, data);
_variables.put(varName, varDao);
return varDao;
Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/XmlDataDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/XmlDataDaoImpl.java?rev=798639&r1=798638&r2=798639&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/XmlDataDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/XmlDataDaoImpl.java Tue Jul 28 18:23:19 2009
@@ -86,9 +86,15 @@
entering("XmlDataDaoImpl.set");
_node = val;
_data.setSimpleType(!(val instanceof Element));
- if (_data.getData() != null) _sm.getSession().delete(_data.getData());
+
+ HLargeData ld = _data.getData();
+
+ if (ld == null) {
+ ld = new HLargeData();
+ } else {
+ ld.setBinary(null);
+ }
- HLargeData ld = new HLargeData();
if(_data.isSimpleType()) {
ld.setBinary(_node.getNodeValue().getBytes());
_data.setData(ld);
@@ -96,8 +102,9 @@
ld.setBinary(DOMUtils.domToString(_node).getBytes());
_data.setData(ld);
}
- getSession().save(ld);
+ getSession().saveOrUpdate(ld);
getSession().saveOrUpdate(_data);
+ leaving("XmlDataDaoImpl.set");
}
/**
* @see org.apache.ode.bpel.dao.XmlDataDAO#getProperty(java.lang.String)