001 /*
002 * JBoss DNA (http://www.jboss.org/dna)
003 * See the COPYRIGHT.txt file distributed with this work for information
004 * regarding copyright ownership. Some portions may be licensed
005 * to Red Hat, Inc. under one or more contributor license agreements.
006 * See the AUTHORS.txt file in the distribution for a full listing of
007 * individual contributors.
008 *
009 * JBoss DNA is free software. Unless otherwise indicated, all code in JBoss DNA
010 * is licensed to you under the terms of the GNU Lesser General Public License as
011 * published by the Free Software Foundation; either version 2.1 of
012 * the License, or (at your option) any later version.
013 *
014 * JBoss DNA is distributed in the hope that it will be useful,
015 * but WITHOUT ANY WARRANTY; without even the implied warranty of
016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017 * Lesser General Public License for more details.
018 *
019 * You should have received a copy of the GNU Lesser General Public
020 * License along with this software; if not, write to the Free
021 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
022 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
023 */
024 package org.jboss.dna.graph.request.processor;
025
026 import org.jboss.dna.common.util.CheckArg;
027 import org.jboss.dna.common.util.Logger;
028 import org.jboss.dna.graph.GraphI18n;
029 import org.jboss.dna.graph.request.CloneWorkspaceRequest;
030 import org.jboss.dna.graph.request.CompositeRequest;
031 import org.jboss.dna.graph.request.CopyBranchRequest;
032 import org.jboss.dna.graph.request.CreateNodeRequest;
033 import org.jboss.dna.graph.request.CreateWorkspaceRequest;
034 import org.jboss.dna.graph.request.DeleteBranchRequest;
035 import org.jboss.dna.graph.request.DestroyWorkspaceRequest;
036 import org.jboss.dna.graph.request.GetWorkspacesRequest;
037 import org.jboss.dna.graph.request.MoveBranchRequest;
038 import org.jboss.dna.graph.request.ReadAllChildrenRequest;
039 import org.jboss.dna.graph.request.ReadAllPropertiesRequest;
040 import org.jboss.dna.graph.request.ReadBlockOfChildrenRequest;
041 import org.jboss.dna.graph.request.ReadBranchRequest;
042 import org.jboss.dna.graph.request.ReadNextBlockOfChildrenRequest;
043 import org.jboss.dna.graph.request.ReadNodeRequest;
044 import org.jboss.dna.graph.request.ReadPropertyRequest;
045 import org.jboss.dna.graph.request.RemovePropertyRequest;
046 import org.jboss.dna.graph.request.RenameNodeRequest;
047 import org.jboss.dna.graph.request.Request;
048 import org.jboss.dna.graph.request.SetPropertyRequest;
049 import org.jboss.dna.graph.request.UpdatePropertiesRequest;
050 import org.jboss.dna.graph.request.VerifyNodeExistsRequest;
051 import org.jboss.dna.graph.request.VerifyWorkspaceRequest;
052
053 /**
054 * A {@link RequestProcessor} implementation that wraps another and that logs messages at the supplied level.
055 *
056 * @author Randall Hauch
057 */
058 public class LoggingRequestProcessor extends RequestProcessor {
059
060 private final RequestProcessor delegate;
061 private final Logger logger;
062 private final Logger.Level level;
063
064 /**
065 * @param delegate the processor to which this processor delegates
066 * @param logger the logger that should be used
067 * @param level the level of the log messages; defaults to {@link Logger.Level#TRACE}
068 */
069 public LoggingRequestProcessor( RequestProcessor delegate,
070 Logger logger,
071 Logger.Level level ) {
072 super(delegate.getSourceName(), delegate.getExecutionContext());
073 CheckArg.isNotNull(logger, "logger");
074 this.delegate = delegate;
075 this.logger = logger;
076 this.level = level != null ? level : Logger.Level.TRACE;
077 }
078
079 /**
080 * {@inheritDoc}
081 *
082 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.VerifyWorkspaceRequest)
083 */
084 @Override
085 public void process( VerifyWorkspaceRequest request ) {
086 logger.log(level, GraphI18n.executingRequest, request);
087 delegate.process(request);
088 logger.log(level, GraphI18n.executedRequest, request);
089 }
090
091 /**
092 * {@inheritDoc}
093 *
094 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.GetWorkspacesRequest)
095 */
096 @Override
097 public void process( GetWorkspacesRequest request ) {
098 logger.log(level, GraphI18n.executingRequest, request);
099 delegate.process(request);
100 logger.log(level, GraphI18n.executedRequest, request);
101 }
102
103 /**
104 * {@inheritDoc}
105 *
106 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.CreateWorkspaceRequest)
107 */
108 @Override
109 public void process( CreateWorkspaceRequest request ) {
110 logger.log(level, GraphI18n.executingRequest, request);
111 delegate.process(request);
112 logger.log(level, GraphI18n.executedRequest, request);
113 }
114
115 /**
116 * {@inheritDoc}
117 *
118 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.CloneWorkspaceRequest)
119 */
120 @Override
121 public void process( CloneWorkspaceRequest request ) {
122 logger.log(level, GraphI18n.executingRequest, request);
123 delegate.process(request);
124 logger.log(level, GraphI18n.executedRequest, request);
125 }
126
127 /**
128 * {@inheritDoc}
129 *
130 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.DestroyWorkspaceRequest)
131 */
132 @Override
133 public void process( DestroyWorkspaceRequest request ) {
134 logger.log(level, GraphI18n.executingRequest, request);
135 delegate.process(request);
136 logger.log(level, GraphI18n.executedRequest, request);
137 }
138
139 /**
140 * {@inheritDoc}
141 *
142 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.CopyBranchRequest)
143 */
144 @Override
145 public void process( CopyBranchRequest request ) {
146 logger.log(level, GraphI18n.executingRequest, request);
147 delegate.process(request);
148 logger.log(level, GraphI18n.executedRequest, request);
149 }
150
151 /**
152 * {@inheritDoc}
153 *
154 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.CreateNodeRequest)
155 */
156 @Override
157 public void process( CreateNodeRequest request ) {
158 logger.log(level, GraphI18n.executingRequest, request);
159 delegate.process(request);
160 logger.log(level, GraphI18n.executedRequest, request);
161 }
162
163 /**
164 * {@inheritDoc}
165 *
166 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.DeleteBranchRequest)
167 */
168 @Override
169 public void process( DeleteBranchRequest request ) {
170 logger.log(level, GraphI18n.executingRequest, request);
171 delegate.process(request);
172 logger.log(level, GraphI18n.executedRequest, request);
173 }
174
175 /**
176 * {@inheritDoc}
177 *
178 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.MoveBranchRequest)
179 */
180 @Override
181 public void process( MoveBranchRequest request ) {
182 logger.log(level, GraphI18n.executingRequest, request);
183 delegate.process(request);
184 logger.log(level, GraphI18n.executedRequest, request);
185 }
186
187 /**
188 * {@inheritDoc}
189 *
190 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.VerifyNodeExistsRequest)
191 */
192 @Override
193 public void process( VerifyNodeExistsRequest request ) {
194 logger.log(level, GraphI18n.executingRequest, request);
195 delegate.process(request);
196 logger.log(level, GraphI18n.executedRequest, request);
197 }
198
199 /**
200 * {@inheritDoc}
201 *
202 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.ReadAllChildrenRequest)
203 */
204 @Override
205 public void process( ReadAllChildrenRequest request ) {
206 logger.log(level, GraphI18n.executingRequest, request);
207 delegate.process(request);
208 logger.log(level, GraphI18n.executedRequest, request);
209 }
210
211 /**
212 * {@inheritDoc}
213 *
214 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.ReadAllPropertiesRequest)
215 */
216 @Override
217 public void process( ReadAllPropertiesRequest request ) {
218 logger.log(level, GraphI18n.executingRequest, request);
219 delegate.process(request);
220 logger.log(level, GraphI18n.executedRequest, request);
221 }
222
223 /**
224 * {@inheritDoc}
225 *
226 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.UpdatePropertiesRequest)
227 */
228 @Override
229 public void process( UpdatePropertiesRequest request ) {
230 logger.log(level, GraphI18n.executingRequest, request);
231 delegate.process(request);
232 logger.log(level, GraphI18n.executedRequest, request);
233 }
234
235 /**
236 * {@inheritDoc}
237 *
238 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.CompositeRequest)
239 */
240 @Override
241 public void process( CompositeRequest request ) {
242 logger.log(level, GraphI18n.executingRequest, request);
243 delegate.process(request);
244 logger.log(level, GraphI18n.executedRequest, request);
245 }
246
247 /**
248 * {@inheritDoc}
249 *
250 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.ReadBlockOfChildrenRequest)
251 */
252 @Override
253 public void process( ReadBlockOfChildrenRequest request ) {
254 logger.log(level, GraphI18n.executingRequest, request);
255 delegate.process(request);
256 logger.log(level, GraphI18n.executedRequest, request);
257 }
258
259 /**
260 * {@inheritDoc}
261 *
262 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.ReadNextBlockOfChildrenRequest)
263 */
264 @Override
265 public void process( ReadNextBlockOfChildrenRequest request ) {
266 logger.log(level, GraphI18n.executingRequest, request);
267 delegate.process(request);
268 logger.log(level, GraphI18n.executedRequest, request);
269 }
270
271 /**
272 * {@inheritDoc}
273 *
274 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.ReadBranchRequest)
275 */
276 @Override
277 public void process( ReadBranchRequest request ) {
278 logger.log(level, GraphI18n.executingRequest, request);
279 delegate.process(request);
280 logger.log(level, GraphI18n.executedRequest, request);
281 }
282
283 /**
284 * {@inheritDoc}
285 *
286 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.ReadNodeRequest)
287 */
288 @Override
289 public void process( ReadNodeRequest request ) {
290 logger.log(level, GraphI18n.executingRequest, request);
291 delegate.process(request);
292 logger.log(level, GraphI18n.executedRequest, request);
293 }
294
295 /**
296 * {@inheritDoc}
297 *
298 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.ReadPropertyRequest)
299 */
300 @Override
301 public void process( ReadPropertyRequest request ) {
302 logger.log(level, GraphI18n.executingRequest, request);
303 delegate.process(request);
304 logger.log(level, GraphI18n.executedRequest, request);
305 }
306
307 /**
308 * {@inheritDoc}
309 *
310 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.SetPropertyRequest)
311 */
312 @Override
313 public void process( SetPropertyRequest request ) {
314 logger.log(level, GraphI18n.executingRequest, request);
315 delegate.process(request);
316 logger.log(level, GraphI18n.executedRequest, request);
317 }
318
319 /**
320 * {@inheritDoc}
321 *
322 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.RemovePropertyRequest)
323 */
324 @Override
325 public void process( RemovePropertyRequest request ) {
326 logger.log(level, GraphI18n.executingRequest, request);
327 delegate.process(request);
328 logger.log(level, GraphI18n.executedRequest, request);
329 }
330
331 /**
332 * {@inheritDoc}
333 *
334 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.RenameNodeRequest)
335 */
336 @Override
337 public void process( RenameNodeRequest request ) {
338 logger.log(level, GraphI18n.executingRequest, request);
339 delegate.process(request);
340 logger.log(level, GraphI18n.executedRequest, request);
341 }
342
343 /**
344 * {@inheritDoc}
345 *
346 * @see org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.Request)
347 */
348 @Override
349 public void process( Request request ) {
350 logger.log(level, GraphI18n.executingRequest, request);
351 delegate.process(request);
352 logger.log(level, GraphI18n.executedRequest, request);
353 }
354
355 /**
356 * {@inheritDoc}
357 *
358 * @see org.jboss.dna.graph.request.processor.RequestProcessor#close()
359 */
360 @Override
361 public void close() {
362 logger.log(level, GraphI18n.closingRequestProcessor);
363 delegate.close();
364 logger.log(level, GraphI18n.closingRequestProcessor);
365 }
366
367 }