Compare commits

...

6 Commits
3.1.0 ... 3.1.2

Author SHA1 Message Date
Jikoo
32ec8d8147 Bump version to 3.1.2 for release 2017-02-13 20:01:18 -05:00
Jikoo
443e0c489e Synchronize cache (#63) 2017-02-13 19:56:32 -05:00
Jikoo
7ab0003b62 Bump version to 3.1.2-SNAPSHOT for development 2017-01-30 13:38:36 -05:00
Jikoo
12c0cac311 Bump version to 3.1.1 for release 2017-01-30 13:38:10 -05:00
Jikoo
f54481e872 Fix (NoSuchMethod)Exception being caught instead of NoSuchMethodError
Closes #62
2017-01-30 13:35:58 -05:00
Jikoo
f27dd8a233 Bump version to 3.1.1-SNAPSHOT for development 2017-01-20 13:02:47 -05:00
29 changed files with 87 additions and 77 deletions

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvparent</artifactId> <artifactId>openinvparent</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvapi</artifactId> <artifactId>openinvapi</artifactId>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvparent</artifactId> <artifactId>openinvparent</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvassembly</artifactId> <artifactId>openinvassembly</artifactId>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvparent</artifactId> <artifactId>openinvparent</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
@@ -22,7 +22,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvapi</artifactId> <artifactId>openinvapi</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -9,7 +9,7 @@ import com.google.common.collect.Multimap;
import com.google.common.collect.TreeMultimap; import com.google.common.collect.TreeMultimap;
/** /**
* A minimal time-based cache implementation backed by a HashMap and TreeMultimap. * A minimal thread-safe time-based cache implementation backed by a HashMap and TreeMultimap.
* *
* @author Jikoo * @author Jikoo
*/ */
@@ -59,8 +59,10 @@ public class Cache<K, V> {
// Invalidate key - runs lazy check and ensures value won't be cleaned up early // Invalidate key - runs lazy check and ensures value won't be cleaned up early
invalidate(key); invalidate(key);
internal.put(key, value); synchronized (internal) {
expiry.put(System.currentTimeMillis() + retention, key); internal.put(key, value);
expiry.put(System.currentTimeMillis() + retention, key);
}
} }
/** /**
@@ -70,10 +72,12 @@ public class Cache<K, V> {
* @return the value to which the specified key is mapped, or null if no value is mapped for the key * @return the value to which the specified key is mapped, or null if no value is mapped for the key
*/ */
public V get(K key) { public V get(K key) {
// Run lazy check to clean cache synchronized (internal) {
lazyCheck(); // Run lazy check to clean cache
lazyCheck();
return internal.get(key); return internal.get(key);
}
} }
/** /**
@@ -83,10 +87,12 @@ public class Cache<K, V> {
* @return true if a mapping exists for the specified key * @return true if a mapping exists for the specified key
*/ */
public boolean containsKey(K key) { public boolean containsKey(K key) {
// Run lazy check to clean cache synchronized (internal) {
lazyCheck(); // Run lazy check to clean cache
lazyCheck();
return internal.containsKey(key); return internal.containsKey(key);
}
} }
/** /**
@@ -95,22 +101,24 @@ public class Cache<K, V> {
* @param key key to invalidate * @param key key to invalidate
*/ */
public void invalidate(K key) { public void invalidate(K key) {
// Run lazy check to clean cache synchronized (internal) {
lazyCheck(); // Run lazy check to clean cache
lazyCheck();
if (!internal.containsKey(key)) { if (!internal.containsKey(key)) {
// Value either not present or cleaned by lazy check. Either way, we're good // Value either not present or cleaned by lazy check. Either way, we're good
return; return;
} }
// Remove stored object // Remove stored object
internal.remove(key); internal.remove(key);
// Remove expiration entry - prevents more work later, plus prevents issues with values invalidating early // Remove expiration entry - prevents more work later, plus prevents issues with values invalidating early
for (Iterator<Map.Entry<Long, K>> iterator = expiry.entries().iterator(); iterator.hasNext();) { for (Iterator<Map.Entry<Long, K>> iterator = expiry.entries().iterator(); iterator.hasNext();) {
if (key.equals(iterator.next().getValue())) { if (key.equals(iterator.next().getValue())) {
iterator.remove(); iterator.remove();
break; break;
}
} }
} }
} }
@@ -119,11 +127,13 @@ public class Cache<K, V> {
* Forcibly invalidates all keys, even if they are considered to be in use. * Forcibly invalidates all keys, even if they are considered to be in use.
*/ */
public void invalidateAll() { public void invalidateAll() {
for (V value : internal.values()) { synchronized (internal) {
postRemoval.run(value); for (V value : internal.values()) {
postRemoval.run(value);
}
expiry.clear();
internal.clear();
} }
expiry.clear();
internal.clear();
} }
/** /**

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_4_5</artifactId> <artifactId>openinvadapter1_4_5</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_4_6</artifactId> <artifactId>openinvadapter1_4_6</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvparent</artifactId> <artifactId>openinvparent</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_10_R1</artifactId> <artifactId>openinvadapter1_10_R1</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_11_R1</artifactId> <artifactId>openinvadapter1_11_R1</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -123,7 +123,7 @@ public class AnySilentContainer implements IAnySilentContainer {
try { try {
// 1.11.2 // 1.11.2
return world.a(axisAlignedBB.a(blockPosition.shift(enumDirection))); return world.a(axisAlignedBB.a(blockPosition.shift(enumDirection)));
} catch (Exception e) { } catch (NoSuchMethodError e) {
// 1.11 // 1.11
return world.b(axisAlignedBB.a(blockPosition.shift(enumDirection))); return world.b(axisAlignedBB.a(blockPosition.shift(enumDirection)));
} }

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_4_R1</artifactId> <artifactId>openinvadapter1_4_R1</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_5_R2</artifactId> <artifactId>openinvadapter1_5_R2</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_5_R3</artifactId> <artifactId>openinvadapter1_5_R3</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_6_R1</artifactId> <artifactId>openinvadapter1_6_R1</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_6_R2</artifactId> <artifactId>openinvadapter1_6_R2</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_6_R3</artifactId> <artifactId>openinvadapter1_6_R3</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_7_R1</artifactId> <artifactId>openinvadapter1_7_R1</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_7_R2</artifactId> <artifactId>openinvadapter1_7_R2</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_7_R3</artifactId> <artifactId>openinvadapter1_7_R3</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_7_R4</artifactId> <artifactId>openinvadapter1_7_R4</artifactId>
@@ -27,7 +27,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_8_R1</artifactId> <artifactId>openinvadapter1_8_R1</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_8_R2</artifactId> <artifactId>openinvadapter1_8_R2</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_8_R3</artifactId> <artifactId>openinvadapter1_8_R3</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_9_R1</artifactId> <artifactId>openinvadapter1_9_R1</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvinternal</artifactId> <artifactId>openinvinternal</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvadapter1_9_R2</artifactId> <artifactId>openinvadapter1_9_R2</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvplugin</artifactId> <artifactId>openinvplugin</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvplugincore</artifactId> <artifactId>openinvplugincore</artifactId>
@@ -22,12 +22,12 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvpluginv1_10_r1</artifactId> <artifactId>openinvpluginv1_10_r1</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvplugin</artifactId> <artifactId>openinvplugin</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvpluginv1_10_r1</artifactId> <artifactId>openinvpluginv1_10_r1</artifactId>
@@ -21,7 +21,7 @@
<dependency> <dependency>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvcommon</artifactId> <artifactId>openinvcommon</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.lishid</groupId> <groupId>com.lishid</groupId>
<artifactId>openinvparent</artifactId> <artifactId>openinvparent</artifactId>
<version>3.1.0</version> <version>3.1.2</version>
</parent> </parent>
<artifactId>openinvplugin</artifactId> <artifactId>openinvplugin</artifactId>

View File

@@ -6,7 +6,7 @@
<artifactId>openinvparent</artifactId> <artifactId>openinvparent</artifactId>
<name>OpenInvParent</name> <name>OpenInvParent</name>
<url>http://dev.bukkit.org/bukkit-plugins/openinv/</url> <url>http://dev.bukkit.org/bukkit-plugins/openinv/</url>
<version>3.1.0</version> <version>3.1.2</version>
<packaging>pom</packaging> <packaging>pom</packaging>