0
|
1 package global;
|
|
2
|
|
3 import fschmidt.util.servlet.HttpCache;
|
|
4 import nabble.model.Init;
|
|
5
|
|
6
|
|
7 enum WebCache implements HttpCache {
|
|
8 INSTANCE;
|
|
9
|
|
10 private static final long hour = 1000L*60*60;
|
|
11 private static final long cacheTime = Init.get("cacheTime",hour);
|
|
12
|
|
13 private long mod = now();
|
|
14
|
|
15 private static long now() {
|
|
16 return System.currentTimeMillis()/1000*1000;
|
|
17 }
|
|
18
|
|
19 public synchronized long[] lastModifieds(String[] modifyingEvents) {
|
|
20 long now = now();
|
|
21 if( now - mod > cacheTime )
|
|
22 mod = now;
|
|
23 long[] rtn = new long[modifyingEvents.length];
|
|
24 for( int i=0; i<modifyingEvents.length; i++ ) {
|
|
25 rtn[i] = mod;
|
|
26 }
|
|
27 return rtn;
|
|
28 }
|
|
29
|
|
30 public void modified(String modifyingEvent) {
|
|
31 throw new UnsupportedOperationException();
|
|
32 }
|
|
33
|
|
34 public synchronized void clear() {
|
|
35 mod = now();
|
|
36 }
|
|
37
|
|
38 }
|