View Javadoc

1   package org.bitrepository.protocol.messagebus.logger;
2   
3   /*
4    * #%L
5    * Bitrepository Core
6    * %%
7    * Copyright (C) 2010 - 2012 The State and University Library, The Royal Library and The State Archives, Denmark
8    * %%
9    * This program is free software: you can redistribute it and/or modify
10   * it under the terms of the GNU Lesser General Public License as 
11   * published by the Free Software Foundation, either version 2.1 of the 
12   * License, or (at your option) any later version.
13   * 
14   * This program is distributed in the hope that it will be useful,
15   * but WITHOUT ANY WARRANTY; without even the implied warranty of
16   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17   * GNU General Lesser Public License for more details.
18   * 
19   * You should have received a copy of the GNU General Lesser Public 
20   * License along with this program.  If not, see
21   * <http://www.gnu.org/licenses/lgpl-2.1.html>.
22   * #L%
23   */
24  
25  import org.bitrepository.bitrepositorymessages.IdentifyPillarsForGetFileIDsRequest;
26  import org.bitrepository.bitrepositorymessages.Message;
27  import org.bitrepository.bitrepositorymessages.GetFileIDsFinalResponse;
28  import org.bitrepository.bitrepositorymessages.GetFileIDsRequest;
29  import org.bitrepository.common.utils.FileIDsUtils;
30  
31  /**
32   * Custom logger adding GetFileIDs message specific parameters.
33   */
34  public class GetFileIDsMessageLogger extends DefaultMessagingLogger {
35      @Override
36      protected StringBuilder appendCustomInfo(StringBuilder messageSB, Message message) {
37          if (message instanceof IdentifyPillarsForGetFileIDsRequest) {
38              IdentifyPillarsForGetFileIDsRequest request = (IdentifyPillarsForGetFileIDsRequest) message;
39              if (request.getFileIDs() != null) {
40                  messageSB.append(" FileIDs=" + FileIDsUtils.asString(request.getFileIDs()));
41              }
42          }
43  
44          else if (message instanceof GetFileIDsRequest) {
45              GetFileIDsRequest request = (GetFileIDsRequest) message;
46              if (request.getFileIDs() != null) {
47                  messageSB.append(" FileIDs=" + FileIDsUtils.asString(request.getFileIDs()));
48              }
49              if (request.getResultAddress() != null) {
50                  messageSB.append(", FileAddress=" + request.getResultAddress());
51              }
52              if (request.getMaxNumberOfResults() != null) {
53                  messageSB.append(", MaxNumberOfResults=" + request.getMaxNumberOfResults());
54              }
55              if (request.getMaxTimestamp() != null) {
56                  messageSB.append(", MaxTimestamp=" + request.getMaxTimestamp());
57              }
58              if (request.getMinTimestamp() != null) {
59                  messageSB.append(", MinTimestamp=" + request.getMinTimestamp());
60              }
61              if (request.getAuditTrailInformation() != null) {
62                  messageSB.append(", AuditTrailInformation=" + request.getAuditTrailInformation());
63              }
64          }
65  
66          else if (message instanceof GetFileIDsFinalResponse) {
67              GetFileIDsFinalResponse response = (GetFileIDsFinalResponse) message;
68  
69              if (response.getResultingFileIDs() != null && response.getResultingFileIDs().getFileIDsData() != null) {
70                  messageSB.append(", NumberOfFileIDs=" +
71                          response.getResultingFileIDs().getFileIDsData().getFileIDsDataItems().getFileIDsDataItem().size());
72              }
73  
74              if (response.isPartialResult() != null) {
75                  messageSB.append(", PartialResult=" + response.isPartialResult());
76              }
77          }
78          return messageSB;
79      }
80  }