]> git.argeo.org Git - gpl/argeo-slc.git/blob - SlcNodeMapperProvider.java
e43a6d56f6c37a3e4e6464cc464940f112abd15d
[gpl/argeo-slc.git] / SlcNodeMapperProvider.java
1 package org.argeo.slc.jcr.dao;
2
3 import javax.jcr.Node;
4 import javax.jcr.RepositoryException;
5
6 import org.argeo.ArgeoException;
7 import org.argeo.jcr.NodeMapper;
8 import org.argeo.jcr.NodeMapperProvider;
9
10 public class SlcNodeMapperProvider implements NodeMapperProvider {
11 // private final static Log log = LogFactory
12 // .getLog(SlcNodeMapperProvider.class);
13
14 private NodeMapper defaultNodeMapper;
15 private NodeMapper treeTestResultNodeMapper;
16
17 public void init() {
18 defaultNodeMapper.setNodeMapperProvider(this);
19 treeTestResultNodeMapper.setNodeMapperProvider(this);
20 }
21
22 public NodeMapper findNodeMapper(Node node) {
23 try {
24 // useful to initialize recursivity
25 if (node == null)
26 return defaultNodeMapper;
27
28 if ("testresult".equals(node.getName()))
29 return treeTestResultNodeMapper;
30 else
31 return defaultNodeMapper;
32
33 } catch (RepositoryException re) {
34 throw new ArgeoException("Cannot find NodeMapper for node " + node,
35 re);
36 }
37 }
38
39 public void setTreeTestResultNodeMapper(NodeMapper treeTestResultNodeMapper) {
40 this.treeTestResultNodeMapper = treeTestResultNodeMapper;
41 }
42
43 public void setDefaultNodeMapper(NodeMapper defaultNodeMapper) {
44 this.defaultNodeMapper = defaultNodeMapper;
45 }
46
47 }