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.hg.command.status;
20
21 import java.io.File;
22 import java.util.ArrayList;
23 import java.util.List;
24
25 import org.apache.maven.scm.ScmFile;
26 import org.apache.maven.scm.ScmFileStatus;
27 import org.apache.maven.scm.provider.hg.command.HgConsumer;
28
29
30
31
32 class HgStatusConsumer extends HgConsumer {
33 private final List<ScmFile> repositoryStatus = new ArrayList<>();
34
35 private final File workingDir;
36
37 HgStatusConsumer(File workingDir) {
38 this.workingDir = workingDir;
39 }
40
41
42
43
44 public void doConsume(ScmFileStatus status, String trimmedLine) {
45
46 File tmpFile = new File(workingDir, trimmedLine);
47 if (!tmpFile.exists()) {
48 if (logger.isDebugEnabled()) {
49 logger.debug("Not a file: " + tmpFile + ". Ignoring");
50 }
51 } else if (tmpFile.isDirectory()) {
52 if (logger.isDebugEnabled()) {
53 logger.debug("New directory added: " + tmpFile);
54 }
55 } else {
56 ScmFile scmFile = new ScmFile(trimmedLine, status);
57 if (logger.isDebugEnabled()) {
58 logger.debug(scmFile.toString());
59 }
60 repositoryStatus.add(scmFile);
61 }
62 }
63
64 List<ScmFile> getStatus() {
65 return repositoryStatus;
66 }
67 }