01: /*
02: * ====================================================================
03: * Copyright (c) 2004-2008 TMate Software Ltd. All rights reserved.
04: *
05: * This software is licensed as described in the file COPYING, which
06: * you should have received as part of this distribution. The terms
07: * are also available at http://svnkit.com/license.html
08: * If newer versions of this license are posted there, you may use a
09: * newer version instead, at your option.
10: * ====================================================================
11: */
12: package org.tmatesoft.svn.examples.wc;
13:
14: import org.tmatesoft.svn.core.SVNCancelException;
15: import org.tmatesoft.svn.core.wc.ISVNEventHandler;
16: import org.tmatesoft.svn.core.wc.SVNEvent;
17: import org.tmatesoft.svn.core.wc.SVNEventAction;
18:
19: /*
20: * This class is an implementation of ISVNEventHandler intended for processing
21: * events generated by do*() methods of an SVNWCClient object. An instance of
22: * this handler will be provided to an SVNWCClient. When calling, for example,
23: * SVNWCClient.doDelete(..) on some path, that method will generate an event
24: * for each 'delete' action it will perform upon every path being deleted. And
25: * this event is passed to
26: *
27: * ISVNEventHandler.handleEvent(SVNEvent event, double progress)
28: *
29: * to notify the handler. The event contains detailed information about the
30: * path, action performed upon the path and some other.
31: */
32: public class WCEventHandler implements ISVNEventHandler {
33: /*
34: * progress is currently reserved for future purposes and now is always
35: * ISVNEventHandler.UNKNOWN
36: */
37: public void handleEvent(SVNEvent event, double progress) {
38: /*
39: * Gets the current action. An action is represented by SVNEventAction.
40: */
41: SVNEventAction action = event.getAction();
42: if (action == SVNEventAction.ADD) {
43: /*
44: * The item is scheduled for addition.
45: */
46: System.out.println("A " + event.getPath());
47: return;
48: } else if (action == SVNEventAction.COPY) {
49: /*
50: * The item is scheduled for addition with history (copied, in
51: * other words).
52: */
53: System.out.println("A + " + event.getPath());
54: return;
55: } else if (action == SVNEventAction.DELETE) {
56: /*
57: * The item is scheduled for deletion.
58: */
59: System.out.println("D " + event.getPath());
60: return;
61: } else if (action == SVNEventAction.LOCKED) {
62: /*
63: * The item is locked.
64: */
65: System.out.println("L " + event.getPath());
66: return;
67: } else if (action == SVNEventAction.LOCK_FAILED) {
68: /*
69: * Locking operation failed.
70: */
71: System.out.println("failed to lock " + event.getPath());
72: return;
73: }
74: }
75:
76: /*
77: * Should be implemented to check if the current operation is cancelled. If
78: * it is, this method should throw an SVNCancelException.
79: */
80: public void checkCancelled() throws SVNCancelException {
81: }
82:
83: }
|