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:
Anurag Agarwal
2020-01-04 22:06:08 +05:30
committed by Ilkka Seppälä
parent 310ae50248
commit cd2a2e7711
98 changed files with 718 additions and 855 deletions

View File

@ -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();

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -32,8 +32,7 @@ public class AppTest {
@Test
public void testMain() {
String[] args = {};
App.main(args);
App.main(new String[]{});
}
}

View File

@ -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));

View File

@ -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);
}

View File

@ -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.");