📍Use lombok, reformat, and optimize the code (#1560)

* Use lombok, reformat, and optimize the code

* Fix merge conflicts and some sonar issues

Co-authored-by: va1m <va1m@email.com>
This commit is contained in:
va1m
2021-03-13 13:19:21 +01:00
committed by GitHub
parent 0e26a6adb5
commit 5cf2fe009b
681 changed files with 2472 additions and 4966 deletions

View File

@ -25,16 +25,14 @@ package com.iluwatar.leaderelection;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import lombok.extern.slf4j.Slf4j;
/**
* Abstract class of all the instance implementation classes.
*/
@Slf4j
public abstract class AbstractInstance implements Instance, Runnable {
private static final Logger LOGGER = LoggerFactory.getLogger(AbstractInstance.class);
protected static final int HEARTBEAT_INTERVAL = 5000;
private static final String INSTANCE = "Instance ";

View File

@ -23,55 +23,23 @@
package com.iluwatar.leaderelection;
import java.util.Objects;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
/**
* Message used to transport data between instances.
*/
@Setter
@Getter
@EqualsAndHashCode
@AllArgsConstructor
@NoArgsConstructor
public class Message {
private MessageType type;
private String content;
public Message() {
}
public Message(MessageType type, String content) {
this.type = type;
this.content = content;
}
public MessageType getType() {
return type;
}
public void setType(MessageType type) {
this.type = type;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
var message = (Message) o;
return type == message.type && Objects.equals(content, message.content);
}
@Override
public int hashCode() {
return Objects.hash(type, content);
}
}

View File

@ -26,8 +26,7 @@ package com.iluwatar.leaderelection.bully;
import com.iluwatar.leaderelection.AbstractInstance;
import com.iluwatar.leaderelection.Message;
import com.iluwatar.leaderelection.MessageManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import lombok.extern.slf4j.Slf4j;
/**
* Impelemetation with bully algorithm. Each instance should have a sequential id and is able to
@ -38,9 +37,8 @@ import org.slf4j.LoggerFactory;
* it will return an alive message (in this sample return true) and then send election message with
* its ID. If not, the original instance will send leader message to all the other instances.
*/
@Slf4j
public class BullyInstance extends AbstractInstance {
private static final Logger LOGGER = LoggerFactory.getLogger(BullyInstance.class);
private static final String INSTANCE = "Instance ";
/**

View File

@ -27,10 +27,8 @@ import com.iluwatar.leaderelection.AbstractInstance;
import com.iluwatar.leaderelection.Message;
import com.iluwatar.leaderelection.MessageManager;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import lombok.extern.slf4j.Slf4j;
/**
* Implementation with token ring algorithm. The instances in the system are organized as a ring.
@ -43,9 +41,8 @@ import org.slf4j.LoggerFactory;
* smallest ID to be the new leader, and then send a leader message to other instances to inform the
* result.
*/
@Slf4j
public class RingInstance extends AbstractInstance {
private static final Logger LOGGER = LoggerFactory.getLogger(RingInstance.class);
private static final String INSTANCE = "Instance ";
/**

View File

@ -23,23 +23,23 @@
package com.iluwatar.leaderelection;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;
/**
* Message test case.
*/
public class MessageTest {
@Test
public void testGetType() {
void testGetType() {
var message = new Message(MessageType.HEARTBEAT, "");
assertEquals(MessageType.HEARTBEAT, message.getType());
}
@Test
public void testGetContent() {
void testGetContent() {
var content = "test";
var message = new Message(MessageType.HEARTBEAT, content);
assertEquals(content, message.getContent());

View File

@ -23,14 +23,17 @@
package com.iluwatar.leaderelection.bully;
import com.iluwatar.leaderelection.*;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
import java.lang.reflect.Field;
import com.iluwatar.leaderelection.AbstractInstance;
import com.iluwatar.leaderelection.Instance;
import com.iluwatar.leaderelection.Message;
import com.iluwatar.leaderelection.MessageType;
import java.util.Map;
import java.util.Queue;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
/**
* BullyMessageManager unit test.
@ -38,7 +41,7 @@ import static org.junit.jupiter.api.Assertions.*;
public class BullyMessageManagerTest {
@Test
public void testSendHeartbeatMessage() {
void testSendHeartbeatMessage() {
var instance1 = new BullyInstance(null, 1, 1);
Map<Integer, Instance> instanceMap = Map.of(1, instance1);
var messageManager = new BullyMessageManager(instanceMap);
@ -46,7 +49,7 @@ public class BullyMessageManagerTest {
}
@Test
public void testSendElectionMessageNotAccepted() {
void testSendElectionMessageNotAccepted() {
try {
var instance1 = new BullyInstance(null, 1, 1);
var instance2 = new BullyInstance(null, 1, 2);
@ -71,7 +74,7 @@ public class BullyMessageManagerTest {
}
@Test
public void testElectionMessageAccepted() {
void testElectionMessageAccepted() {
var instance1 = new BullyInstance(null, 1, 1);
var instance2 = new BullyInstance(null, 1, 2);
var instance3 = new BullyInstance(null, 1, 3);
@ -84,7 +87,7 @@ public class BullyMessageManagerTest {
}
@Test
public void testSendLeaderMessage() {
void testSendLeaderMessage() {
try {
var instance1 = new BullyInstance(null, 1, 1);
var instance2 = new BullyInstance(null, 1, 2);
@ -108,7 +111,7 @@ public class BullyMessageManagerTest {
}
@Test
public void testSendHeartbeatInvokeMessage() {
void testSendHeartbeatInvokeMessage() {
try {
var instance1 = new BullyInstance(null, 1, 1);
var instance2 = new BullyInstance(null, 1, 2);

View File

@ -23,15 +23,15 @@
package com.iluwatar.leaderelection.bully;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.fail;
import com.iluwatar.leaderelection.AbstractInstance;
import com.iluwatar.leaderelection.Message;
import com.iluwatar.leaderelection.MessageType;
import org.junit.jupiter.api.Test;
import java.lang.reflect.Field;
import java.util.Queue;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
/**
* BullyInstance unit test.
@ -39,7 +39,7 @@ import static org.junit.jupiter.api.Assertions.*;
public class BullyinstanceTest {
@Test
public void testOnMessage() {
void testOnMessage() {
try {
final var bullyInstance = new BullyInstance(null, 1, 1);
var bullyMessage = new Message(MessageType.HEARTBEAT, "");
@ -55,7 +55,7 @@ public class BullyinstanceTest {
}
@Test
public void testIsAlive() {
void testIsAlive() {
try {
final var bullyInstance = new BullyInstance(null, 1, 1);
var instanceClass = AbstractInstance.class;
@ -69,7 +69,7 @@ public class BullyinstanceTest {
}
@Test
public void testSetAlive() {
void testSetAlive() {
final var bullyInstance = new BullyInstance(null, 1, 1);
bullyInstance.setAlive(false);
assertFalse(bullyInstance.isAlive());

View File

@ -23,15 +23,15 @@
package com.iluwatar.leaderelection.ring;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.fail;
import com.iluwatar.leaderelection.AbstractInstance;
import com.iluwatar.leaderelection.Message;
import com.iluwatar.leaderelection.MessageType;
import org.junit.jupiter.api.Test;
import java.lang.reflect.Field;
import java.util.Queue;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
/**
* RingInstance unit test.
@ -39,7 +39,7 @@ import static org.junit.jupiter.api.Assertions.*;
public class RingInstanceTest {
@Test
public void testOnMessage() {
void testOnMessage() {
try {
final var ringInstance = new RingInstance(null, 1, 1);
var ringMessage = new Message(MessageType.HEARTBEAT, "");
@ -54,7 +54,7 @@ public class RingInstanceTest {
}
@Test
public void testIsAlive() {
void testIsAlive() {
try {
final var ringInstance = new RingInstance(null, 1, 1);
var ringInstanceClass = AbstractInstance.class;
@ -68,7 +68,7 @@ public class RingInstanceTest {
}
@Test
public void testSetAlive() {
void testSetAlive() {
final var ringInstance = new RingInstance(null, 1, 1);
ringInstance.setAlive(false);
assertFalse(ringInstance.isAlive());

View File

@ -23,14 +23,17 @@
package com.iluwatar.leaderelection.ring;
import com.iluwatar.leaderelection.*;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
import java.lang.reflect.Field;
import com.iluwatar.leaderelection.AbstractInstance;
import com.iluwatar.leaderelection.Instance;
import com.iluwatar.leaderelection.Message;
import com.iluwatar.leaderelection.MessageType;
import java.util.Map;
import java.util.Queue;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
/**
* RingMessageManager unit test.
@ -38,7 +41,7 @@ import static org.junit.jupiter.api.Assertions.*;
public class RingMessageManagerTest {
@Test
public void testSendHeartbeatMessage() {
void testSendHeartbeatMessage() {
var instance1 = new RingInstance(null, 1, 1);
Map<Integer, Instance> instanceMap = Map.of(1, instance1);
var messageManager = new RingMessageManager(instanceMap);
@ -46,7 +49,7 @@ public class RingMessageManagerTest {
}
@Test
public void testSendElectionMessage() {
void testSendElectionMessage() {
try {
var instance1 = new RingInstance(null, 1, 1);
var instance2 = new RingInstance(null, 1, 2);
@ -68,7 +71,7 @@ public class RingMessageManagerTest {
}
@Test
public void testSendLeaderMessage() {
void testSendLeaderMessage() {
try {
var instance1 = new RingInstance(null, 1, 1);
var instance2 = new RingInstance(null, 1, 2);
@ -89,7 +92,7 @@ public class RingMessageManagerTest {
}
@Test
public void testSendHeartbeatInvokeMessage() {
void testSendHeartbeatInvokeMessage() {
try {
var instance1 = new RingInstance(null, 1, 1);
var instance2 = new RingInstance(null, 1, 2);