Java 11 migrate all remaining s (#1120)
* Moves saga to Java 11 * Moves semaphore to Java 11 * Moves servant to Java 11 * Moves serverless to Java 11 * Moves service-layer to Java 11 * Moves service-locator to Java 11 * Moves sharding to Java 11 * Moves singleton to Java 11 * Moves spatial-partition to Java 11 * Moves specification to Java 11 * Moves state to Java 11 * Moves step-builder to Java 11 * Moves strategy to Java 11 * Moves subclass-sandbox to Java 11 * Fixes checkstyle issues
This commit is contained in:
committed by
Ilkka Seppälä
parent
310ae50248
commit
cd2a2e7711
@ -24,14 +24,14 @@
|
||||
package com.iluwatar.sharding;
|
||||
|
||||
/**
|
||||
* Sharding pattern means dividing a data store into a set of horizontal partitions
|
||||
* or shards. This pattern can improve scalability when storing and accessing large
|
||||
* volumes of data.
|
||||
* Sharding pattern means dividing a data store into a set of horizontal partitions or shards. This
|
||||
* pattern can improve scalability when storing and accessing large volumes of data.
|
||||
*/
|
||||
public class App {
|
||||
|
||||
/**
|
||||
* Program main entry point.
|
||||
*
|
||||
* @param args program runtime arguments
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
@ -45,7 +45,7 @@ public class App {
|
||||
var shard2 = new Shard(2);
|
||||
var shard3 = new Shard(3);
|
||||
|
||||
ShardManager manager = new LookupShardManager();
|
||||
var manager = new LookupShardManager();
|
||||
manager.addNewShard(shard1);
|
||||
manager.addNewShard(shard2);
|
||||
manager.addNewShard(shard3);
|
||||
@ -58,27 +58,27 @@ public class App {
|
||||
shard2.clearData();
|
||||
shard3.clearData();
|
||||
|
||||
manager = new RangeShardManager();
|
||||
manager.addNewShard(shard1);
|
||||
manager.addNewShard(shard2);
|
||||
manager.addNewShard(shard3);
|
||||
manager.storeData(data1);
|
||||
manager.storeData(data2);
|
||||
manager.storeData(data3);
|
||||
manager.storeData(data4);
|
||||
var rangeShardManager = new RangeShardManager();
|
||||
rangeShardManager.addNewShard(shard1);
|
||||
rangeShardManager.addNewShard(shard2);
|
||||
rangeShardManager.addNewShard(shard3);
|
||||
rangeShardManager.storeData(data1);
|
||||
rangeShardManager.storeData(data2);
|
||||
rangeShardManager.storeData(data3);
|
||||
rangeShardManager.storeData(data4);
|
||||
|
||||
shard1.clearData();
|
||||
shard2.clearData();
|
||||
shard3.clearData();
|
||||
|
||||
manager = new HashShardManager();
|
||||
manager.addNewShard(shard1);
|
||||
manager.addNewShard(shard2);
|
||||
manager.addNewShard(shard3);
|
||||
manager.storeData(data1);
|
||||
manager.storeData(data2);
|
||||
manager.storeData(data3);
|
||||
manager.storeData(data4);
|
||||
var hashShardManager = new HashShardManager();
|
||||
hashShardManager.addNewShard(shard1);
|
||||
hashShardManager.addNewShard(shard2);
|
||||
hashShardManager.addNewShard(shard3);
|
||||
hashShardManager.storeData(data1);
|
||||
hashShardManager.storeData(data2);
|
||||
hashShardManager.storeData(data3);
|
||||
hashShardManager.storeData(data4);
|
||||
|
||||
shard1.clearData();
|
||||
shard2.clearData();
|
||||
|
@ -58,8 +58,7 @@ public class LookupShardManager extends ShardManager {
|
||||
return lookupMap.get(key);
|
||||
} else {
|
||||
var shardCount = shardMap.size();
|
||||
var allocatedShardId = new Random().nextInt(shardCount - 1) + 1;
|
||||
return allocatedShardId;
|
||||
return new Random().nextInt(shardCount - 1) + 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -27,8 +27,8 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* ShardManager with range strategy. This strategy groups related items together
|
||||
* in the same shard, and orders them by shard key.
|
||||
* ShardManager with range strategy. This strategy groups related items together in the same shard,
|
||||
* and orders them by shard key.
|
||||
*/
|
||||
public class RangeShardManager extends ShardManager {
|
||||
|
||||
@ -46,21 +46,16 @@ public class RangeShardManager extends ShardManager {
|
||||
@Override
|
||||
protected int allocateShard(Data data) {
|
||||
var type = data.getType();
|
||||
var shardId = -1;
|
||||
switch (type) {
|
||||
case type1:
|
||||
shardId = 1;
|
||||
break;
|
||||
return 1;
|
||||
case type2:
|
||||
shardId = 2;
|
||||
break;
|
||||
return 2;
|
||||
case type3:
|
||||
shardId = 3;
|
||||
break;
|
||||
return 3;
|
||||
default:
|
||||
break;
|
||||
return -1;
|
||||
}
|
||||
return shardId;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -32,8 +32,7 @@ public class AppTest {
|
||||
|
||||
@Test
|
||||
public void testMain() {
|
||||
String[] args = {};
|
||||
App.main(args);
|
||||
App.main(new String[]{});
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -24,7 +24,6 @@
|
||||
package com.iluwatar.sharding;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@ -57,7 +56,7 @@ public class LookupShardManagerTest {
|
||||
lookupShardManager.storeData(data);
|
||||
var field = LookupShardManager.class.getDeclaredField("lookupMap");
|
||||
field.setAccessible(true);
|
||||
Map<Integer, Integer> lookupMap = (Map<Integer, Integer>) field.get(lookupShardManager);
|
||||
var lookupMap = (Map<Integer, Integer>) field.get(lookupShardManager);
|
||||
var shardId = lookupMap.get(1);
|
||||
var shard = lookupShardManager.getShardById(shardId);
|
||||
Assert.assertEquals(data, shard.getDataById(1));
|
||||
|
@ -24,7 +24,6 @@
|
||||
package com.iluwatar.sharding;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
@ -57,7 +56,7 @@ public class ShardManagerTest {
|
||||
shardManager.addNewShard(shard);
|
||||
var field = ShardManager.class.getDeclaredField("shardMap");
|
||||
field.setAccessible(true);
|
||||
Map<Integer, Shard> map = (Map<Integer, Shard>) field.get(shardManager);
|
||||
var map = (Map<Integer, Shard>) field.get(shardManager);
|
||||
Assert.assertEquals(1, map.size());
|
||||
Assert.assertEquals(shard, map.get(1));
|
||||
} catch (NoSuchFieldException | IllegalAccessException e) {
|
||||
@ -73,7 +72,7 @@ public class ShardManagerTest {
|
||||
boolean flag = shardManager.removeShardById(1);
|
||||
var field = ShardManager.class.getDeclaredField("shardMap");
|
||||
field.setAccessible(true);
|
||||
Map<Integer, Shard> map = (Map<Integer, Shard>) field.get(shardManager);
|
||||
var map = (Map<Integer, Shard>) field.get(shardManager);
|
||||
Assert.assertEquals(true, flag);
|
||||
Assert.assertEquals(0, map.size());
|
||||
} catch (IllegalAccessException | NoSuchFieldException e) {
|
||||
@ -83,9 +82,9 @@ public class ShardManagerTest {
|
||||
|
||||
@Test
|
||||
public void testGetShardById() {
|
||||
Shard shard = new Shard(1);
|
||||
var shard = new Shard(1);
|
||||
shardManager.addNewShard(shard);
|
||||
Shard tmpShard = shardManager.getShardById(1);
|
||||
var tmpShard = shardManager.getShardById(1);
|
||||
Assert.assertEquals(shard, tmpShard);
|
||||
}
|
||||
|
||||
|
@ -25,7 +25,6 @@ package com.iluwatar.sharding;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
@ -48,7 +47,8 @@ public class ShardTest {
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {}
|
||||
public void tearDown() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStoreData() {
|
||||
@ -56,7 +56,7 @@ public class ShardTest {
|
||||
shard.storeData(data);
|
||||
var field = Shard.class.getDeclaredField("dataStore");
|
||||
field.setAccessible(true);
|
||||
Map<Integer, Data> dataMap = (Map<Integer, Data>) field.get(shard);
|
||||
var dataMap = (Map<Integer, Data>) field.get(shard);
|
||||
Assert.assertEquals(1, dataMap.size());
|
||||
Assert.assertEquals(data, dataMap.get(1));
|
||||
} catch (NoSuchFieldException | IllegalAccessException e) {
|
||||
@ -68,13 +68,13 @@ public class ShardTest {
|
||||
@Test
|
||||
public void testClearData() {
|
||||
try {
|
||||
Map<Integer, Data> dataMap = new HashMap<>();
|
||||
var dataMap = new HashMap<Integer, Data>();
|
||||
dataMap.put(1, data);
|
||||
var field = Shard.class.getDeclaredField("dataStore");
|
||||
field.setAccessible(true);
|
||||
field.set(shard, dataMap);
|
||||
shard.clearData();
|
||||
dataMap = (Map<Integer, Data>) field.get(shard);
|
||||
dataMap = (HashMap<Integer, Data>) field.get(shard);
|
||||
Assert.assertEquals(0, dataMap.size());
|
||||
} catch (NoSuchFieldException | IllegalAccessException e) {
|
||||
Assert.fail("Fail to modify field access.");
|
||||
|
Reference in New Issue
Block a user