(empty log message)
@@ -63,8 +63,13 @@ | ||
63 | 63 | |
64 | 64 | public DataSrcConnection connect(String dataSrc) throws DataSourceException |
65 | 65 | { |
66 | - DataSrcConnection conn = this.pool.get(dataSrc); | |
66 | + DataSrcConnection conn = hasParent(dataSrc); | |
67 | + if(conn != null){ | |
68 | + return conn; | |
69 | + } | |
67 | 70 | |
71 | + conn = this.pool.get(dataSrc); | |
72 | + | |
68 | 73 | if(conn == null){ |
69 | 74 | conn = dataSourceManager.connect(dataSrc); |
70 | 75 | this.pool.put(dataSrc, conn); |
@@ -82,7 +82,26 @@ | ||
82 | 82 | |
83 | 83 | } |
84 | 84 | |
85 | + public AccessExecutionUnit(AlinousModuleRepository repo, String sessionId, | |
86 | + AlinousSystemRepository sysrepo, AlinousDataSourceManager dataSourceManager, | |
87 | + AccessExecutionUnit parent) | |
88 | + { | |
89 | + this.parentRepository = repo; | |
90 | + this.sessionId = sessionId; | |
91 | + | |
92 | + this.execResultCache = new ExecResultCache(sysrepo, this.sessionId); | |
93 | + this.formValueCache = new FormValueCache(sysrepo, this.sessionId); | |
94 | + this.innserStatusCache = new InnerStatusCache(sysrepo, this.sessionId); | |
95 | + this.backingStatusCache = new BackingStatusCache(sysrepo, this.sessionId); | |
96 | + this.sessionController = new SessionController(sysrepo, this.sessionId); | |
97 | + | |
98 | + this.dataSourceManager = dataSourceManager; | |
99 | + | |
100 | + this.connectionManager = new ConnectionManager(dataSourceManager, parent.getConnectionManager()); | |
101 | + | |
102 | + } | |
85 | 103 | |
104 | + | |
86 | 105 | /** |
87 | 106 | * Called once from Top TopObject |
88 | 107 | * @param path |
@@ -195,7 +195,8 @@ | ||
195 | 195 | |
196 | 196 | AlinousTopObject topObj = getTopObject(); |
197 | 197 | AlinousCore core = topObj.getAlinousCore(); |
198 | - AccessExecutionUnit unit = core.createAccessExecutionUnit(context.getSessionId()); | |
198 | + AccessExecutionUnit unit = core.createAccessExecutionUnit(context.getSessionId(), | |
199 | + context.getUnit()); | |
199 | 200 | |
200 | 201 | try{ |
201 | 202 | bl = doHandleInnserTag(context, wr, n, unit); |
@@ -169,6 +169,15 @@ | ||
169 | 169 | |
170 | 170 | return retObj; |
171 | 171 | } |
172 | + | |
173 | + public AccessExecutionUnit createAccessExecutionUnit(String sessionId, AccessExecutionUnit parent) | |
174 | + { | |
175 | + AccessExecutionUnit retObj = new AccessExecutionUnit(this.repository, sessionId, systemRepository, dataSourceManager, parent); | |
176 | + retObj.setConfig(config); | |
177 | + retObj.setSecurityManager(securityManager); | |
178 | + | |
179 | + return retObj; | |
180 | + } | |
172 | 181 | |
173 | 182 | public void reportError(AlinousException ex) |
174 | 183 | { |