1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.scm.provider.svn.svnexe.command.checkin;
20
21 import java.io.File;
22 import java.util.List;
23
24 import org.apache.maven.scm.ScmFile;
25 import org.apache.maven.scm.ScmFileStatus;
26 import org.apache.maven.scm.provider.svn.svnexe.command.AbstractFileCheckingConsumer;
27
28
29
30
31
32
33 public class SvnCheckInConsumer extends AbstractFileCheckingConsumer {
34 private static final String SENDING_TOKEN = "Sending ";
35
36 private static final String ADDING_TOKEN = "Adding ";
37
38 private static final String ADDING_BIN_TOKEN = "Adding (bin) ";
39
40 private static final String DELETING_TOKEN = "Deleting ";
41
42 private static final String TRANSMITTING_TOKEN = "Transmitting file data";
43
44 private static final String COMMITTED_REVISION_TOKEN = "Committed revision";
45
46
47
48
49
50 public SvnCheckInConsumer(File workingDirectory) {
51 super(workingDirectory);
52 }
53
54
55
56
57
58
59 protected void parseLine(String line) {
60 String file;
61
62 if (line.startsWith(COMMITTED_REVISION_TOKEN)) {
63 String revisionString = line.substring(COMMITTED_REVISION_TOKEN.length() + 1, line.length() - 1);
64
65 revision = parseInt(revisionString);
66
67 return;
68 } else if (line.startsWith(SENDING_TOKEN)) {
69 file = line.substring(SENDING_TOKEN.length());
70 } else if (line.startsWith(ADDING_TOKEN)) {
71 file = line.substring(ADDING_TOKEN.length());
72 } else if (line.startsWith(ADDING_BIN_TOKEN)) {
73 file = line.substring(ADDING_BIN_TOKEN.length());
74 } else if (line.startsWith(DELETING_TOKEN)) {
75 file = line.substring(DELETING_TOKEN.length());
76 } else if (line.startsWith(TRANSMITTING_TOKEN)) {
77
78 return;
79 } else {
80 if (logger.isInfoEnabled()) {
81 logger.info("Unknown line: '" + line + "'");
82 }
83
84 return;
85 }
86
87 addFile(new ScmFile(file, ScmFileStatus.CHECKED_IN));
88 }
89
90 public List<ScmFile> getCheckedInFiles() {
91 return getFiles();
92 }
93 }