1 package org.apache.maven.scm.provider.accurev;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Collection;
23 import java.util.Date;
24 import java.util.HashSet;
25
26 public class Transaction
27 {
28
29 public class Version
30 {
31
32 private String realSpec;
33
34 private String virtualSpec;
35
36 private String ancestorSpec;
37
38 private Long elementId;
39
40 private String elementName;
41
42 private Version( Long id, String elementName, String virtualSpec, String realSpec, String ancestor )
43 {
44 this.elementId = id;
45 this.virtualSpec = virtualSpec;
46 this.realSpec = realSpec;
47 this.ancestorSpec = ancestor;
48 this.elementName = elementName;
49 }
50
51 public String getVirtualSpec()
52 {
53 return virtualSpec;
54 }
55
56 public void setVirtualSpec( String virtualSpec )
57 {
58 this.virtualSpec = virtualSpec;
59 }
60
61 public String getAncestorSpec()
62 {
63 return ancestorSpec;
64 }
65
66 public void setAncestorSpec( String ancestorSpec )
67 {
68 this.ancestorSpec = ancestorSpec;
69 }
70
71 public void setRealSpec( String realSpec )
72 {
73 this.realSpec = realSpec;
74 }
75
76 public void setElementId( Long elementId )
77 {
78 this.elementId = elementId;
79 }
80
81 public String getRealSpec()
82 {
83 return realSpec;
84 }
85
86 public Long getElementId()
87 {
88 return elementId;
89 }
90
91 public Transaction getTransaction()
92 {
93 return getOuterTransaction();
94 }
95
96 public String getElementName()
97 {
98 return elementName;
99 }
100
101 @Override
102 public String toString()
103 {
104 return String.format( "Version: %s (%d) %s (%s) anc=%s", elementName, elementId, virtualSpec, realSpec,
105 ancestorSpec );
106 }
107
108 }
109
110 private Collection<Version> versions = new HashSet<Version>();
111
112 private long id;
113
114 public Transaction( Long id, Date when, String tranType, String user )
115 {
116 this.id = id;
117 this.tranType = tranType;
118 this.when = when;
119 this.author = user;
120 }
121
122 public long getId()
123 {
124 return id;
125 }
126
127 public String getTranType()
128 {
129 return tranType;
130 }
131
132 public String getComment()
133 {
134 return comment;
135 }
136
137 public void setComment( String comment )
138 {
139 this.comment = comment;
140 }
141
142 private Date when;
143
144 private String tranType;
145
146 private String author;
147
148 private String comment;
149
150 public long getTranId()
151 {
152 return id;
153 }
154
155 private Transaction getOuterTransaction()
156 {
157 return this;
158 }
159
160 public Collection<Version> getVersions()
161 {
162 return versions;
163 }
164
165 public Date getWhen()
166 {
167 return when;
168 }
169
170 public String getType()
171 {
172 return tranType;
173 }
174
175 public String getAuthor()
176 {
177 return author;
178 }
179
180 public void addVersion( Long id, String name, String virtualSpec, String realSpec, String ancestor )
181 {
182 Transaction.Version v = new Version( id, name, virtualSpec, realSpec, ancestor );
183 versions.add( v );
184
185 }
186
187 public String toString()
188 {
189 return String.format( "Transaction: %d, %s at %tc by %s -'%s'", this.getId(), this.getTranType(),
190 this.getWhen(), this.getAuthor(), this.getComment() );
191 }
192 }