1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.hadoop.hbase.quotas;
18
19 import java.util.HashMap;
20 import java.util.Map;
21
22 import org.apache.commons.logging.Log;
23 import org.apache.commons.logging.LogFactory;
24 import org.apache.hadoop.hbase.TableName;
25 import org.apache.hadoop.hbase.client.Connection;
26
27
28
29
30 public class SpaceQuotaSnapshotNotifierForTest implements SpaceQuotaSnapshotNotifier {
31 private static final Log LOG = LogFactory.getLog(SpaceQuotaSnapshotNotifierForTest.class);
32
33 private final Map<TableName,SpaceQuotaSnapshot> tableQuotaSnapshots = new HashMap<>();
34
35 @Override
36 public void initialize(Connection conn) {}
37
38 @Override
39 public synchronized void transitionTable(TableName tableName, SpaceQuotaSnapshot snapshot) {
40 if (LOG.isTraceEnabled()) {
41 LOG.trace("Persisting " + tableName + "=>" + snapshot);
42 }
43 tableQuotaSnapshots.put(tableName, snapshot);
44 }
45
46 public synchronized Map<TableName,SpaceQuotaSnapshot> copySnapshots() {
47 return new HashMap<>(this.tableQuotaSnapshots);
48 }
49
50 public synchronized void clearSnapshots() {
51 this.tableQuotaSnapshots.clear();
52 }
53 }