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 }