1
22
23 package com.liferay.portlet.wiki.engines.friki;
24
25 import com.efsol.friki.BasicDriver;
26
27 import com.liferay.portlet.wiki.service.WikiPageLocalServiceUtil;
28
29 import java.util.HashMap;
30 import java.util.Iterator;
31 import java.util.Map;
32
33 import org.apache.commons.logging.Log;
34 import org.apache.commons.logging.LogFactory;
35
36 import org.stringtree.util.tract.Tract;
37
38
44 public class NodeRepository extends BasicDriver {
45
46 public NodeRepository(long nodeId) {
47 _nodeId = nodeId;
48 _names = new HashMap<String, Boolean>();
49 }
50
51 public Iterator<String> allPageNames() {
52 return _names.keySet().iterator();
53 }
54
55 public String backup(String name) {
56 return name;
57 }
58
59 public boolean contains(String name) {
60 boolean exists = false;
61
62 try {
63 Boolean existsObj = _names.get(name);
64
65 if (existsObj == null) {
66 if (WikiPageLocalServiceUtil.getPagesCount(
67 _nodeId, name, true) > 0) {
68
69 existsObj = Boolean.TRUE;
70 }
71 else {
72 existsObj = Boolean.FALSE;
73 }
74
75 _names.put(name, existsObj);
76 }
77
78 exists = existsObj.booleanValue();
79 }
80 catch (Exception e) {
81 _log.error(e, e);
82 }
83
84 return exists;
85 }
86
87 public Tract get(String name) {
88 return null;
89 }
90
91 public Map<String, Boolean> getTitles() {
92 return _names;
93 }
94
95 public void put(String name, Tract page) {
96 }
97
98 private static Log _log = LogFactory.getLog(NodeRepository.class);
99
100 private long _nodeId;
101 private Map<String, Boolean> _names;
102
103 }