01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: *
17: */
18: package org.apache.lenya.transaction;
19:
20: import java.util.HashMap;
21: import java.util.Map;
22:
23: public class MockRevisionController {
24:
25: private static Map histories = new HashMap();
26:
27: public static History getHistory(MockTransactionable transactionable) {
28: History history = (History) histories.get(transactionable
29: .getId());
30: if (history == null) {
31: history = new History();
32: histories.put(transactionable.getId(), history);
33: }
34: return history;
35: }
36:
37: public static class History {
38:
39: public History() {
40: }
41:
42: private int version = 0;
43: private boolean checkedOut = false;
44: private String checkOutUser = null;
45:
46: public void newVersion() {
47: this .version++;
48: }
49:
50: public int getLatestVersion() {
51: return this .version;
52: }
53:
54: public boolean isCheckedOut() {
55: return this .checkedOut;
56: }
57:
58: public void checkOut(String user) {
59: this .checkedOut = true;
60: this .checkOutUser = user;
61: }
62:
63: public void checkIn() {
64: this .checkedOut = false;
65: this .checkOutUser = null;
66: }
67:
68: public String getCheckOutUser() {
69: return this.checkOutUser;
70: }
71:
72: }
73:
74: }
|