getHibernateTemplate().save(registry);\r
}\r
\r
- public void update(TreeSRegistry registry) {\r
- getHibernateTemplate().update(registry);\r
+ public void update(TreeSRegistry registryArg) {\r
+ Session session = getSession();\r
+ session.beginTransaction();\r
+ TreeSRegistry registry = (TreeSRegistry)session.merge(registryArg);\r
+ session.update(registry);\r
+ session.getTransaction().commit();\r
}\r
\r
public TreeSRegistry getActiveTreeSRegistry() {\r
}\r
}\r
\r
- public void syncPath(TreeSRegistry registry,\r
- StructureRegistry<TreeSPath> localRegistry, TreeSPath path) {\r
+ public void syncPath(TreeSRegistry registryArg,\r
+ StructureRegistry<TreeSPath> localRegistry, TreeSPath pathArg) {\r
Session session = getSession();\r
+ session.beginTransaction();\r
+ TreeSRegistry registry = (TreeSRegistry)session.merge(registryArg);\r
+ TreeSPath path = (TreeSPath)session.merge(pathArg);\r
if (log.isTraceEnabled())\r
log.trace("Session#" + session.hashCode() + " " + session);\r
syncPathImpl(registry, localRegistry, path, session);\r
session.update(registry);\r
- // update(registry);\r
+ session.getTransaction().commit();\r
}\r
\r
private void syncPathImpl(TreeSRegistry registry,\r
\r
if (registry.getElement(path) == null) {\r
final StructureElement element = getElement(registry,\r
- localRegistry, path);\r
+ localRegistry, path, session);\r
StructureElement elementPersisted = (StructureElement) session\r
.merge(element);\r
registry.register(path, elementPersisted);\r
} else {\r
if (localRegistry != null) {\r
StructureElement element = getElement(registry, localRegistry,\r
- path);\r
+ path, session);\r
\r
if (element != null) {\r
StructureElement elementPersisted = (StructureElement) session\r
}\r
\r
protected StructureElement getElement(TreeSRegistry registry,\r
- StructureRegistry<TreeSPath> localRegistry, TreeSPath path) {\r
+ StructureRegistry<TreeSPath> localRegistry, TreeSPath path,\r
+ Session session) {\r
StructureElement element;\r
if (localRegistry != null) {\r
element = localRegistry.getElement(path);\r
- if (getSession().getSessionFactory().getClassMetadata(\r
- element.getClass()) == null) {\r
+ if (session.getSessionFactory()\r
+ .getClassMetadata(element.getClass()) == null) {\r
if (log.isTraceEnabled())\r
log.trace("Replace non-hibernate element " + element\r
+ " by a simple element.");\r