508 : sonar qube critical issue fixes (#852)

* 508 : sonar qube critical issue fixes

* 508 : Sunar Qube Fixes
Define a constant instead of duplicating this literal "user_accounts" 4 times.
Define a constant instead of duplicating this literal "userID" 5 times
Define a constant instead of duplicating this literal "additionalInfo" 4 times.
Define a constant instead of duplicating this literal "userName" 4 times.

* 508 : Sunar Qube Fixes
Define a constant instead of duplicating this literal "user_accounts" 4 times.

* 508 : Sonar Qube Fixes
Define a constant instead of duplicating this literal "eEvans" 4 times
Define a constant instead of duplicating this literal "jBloch" 6 times
Define a constant instead of duplicating this literal "mFowler" 3 times

* 508 : Sonar Qube FIxes
Define a constant instead of duplicating this literal "username" 3 times.

* 508: sonar qube issue fixes
Define a constant instead of duplicating this literal "customerDao.getAllCustomers(): " 4 times.

* 508 : sonar qube issue fixes
Define a constant instead of duplicating this literal "App.main(), student : " 4 times.

* 508 : sonar Qube issue fixes
Define a constant instead of duplicating this literal "{} hits {}. {} is damaged!" 3 times.
Define a constant instead of duplicating this literal "{} hits {}." 4 times.

* 508 : Define a constant instead of duplicating this literal "{} hits {}." 4 times.

* 508 : checkstyle fixes

* 508: checkstyle fixes

* 508: checkstyle fixes

* 508: checkstyle fixes

* 508: checkstyle fixes

* 508: checkstyle fixes

* 508: cqrs checkstyle fixes
This commit is contained in:
kanwarpreet25 2019-07-28 18:09:40 +05:30 committed by Ilkka Seppälä
parent 17bfc91f45
commit c6ecf58687
17 changed files with 146 additions and 87 deletions

View File

@ -22,18 +22,16 @@
*/ */
package com.iluwatar.abstractdocument; package com.iluwatar.abstractdocument;
import com.iluwatar.abstractdocument.domain.Car;
import com.iluwatar.abstractdocument.domain.HasModel;
import com.iluwatar.abstractdocument.domain.HasParts;
import com.iluwatar.abstractdocument.domain.HasPrice;
import com.iluwatar.abstractdocument.domain.HasType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.iluwatar.abstractdocument.domain.Car;
import com.iluwatar.abstractdocument.domain.enums.Property;
/** /**
* The Abstract Document pattern enables handling additional, non-static * The Abstract Document pattern enables handling additional, non-static
* properties. This pattern uses concept of traits to enable type safety and * properties. This pattern uses concept of traits to enable type safety and
@ -55,20 +53,20 @@ public class App {
LOGGER.info("Constructing parts and car"); LOGGER.info("Constructing parts and car");
Map<String, Object> carProperties = new HashMap<>(); Map<String, Object> carProperties = new HashMap<>();
carProperties.put(HasModel.PROPERTY, "300SL"); carProperties.put(Property.MODEL.toString(), "300SL");
carProperties.put(HasPrice.PROPERTY, 10000L); carProperties.put(Property.PRICE.toString(), 10000L);
Map<String, Object> wheelProperties = new HashMap<>(); Map<String, Object> wheelProperties = new HashMap<>();
wheelProperties.put(HasType.PROPERTY, "wheel"); wheelProperties.put(Property.TYPE.toString(), "wheel");
wheelProperties.put(HasModel.PROPERTY, "15C"); wheelProperties.put(Property.MODEL.toString(), "15C");
wheelProperties.put(HasPrice.PROPERTY, 100L); wheelProperties.put(Property.PRICE.toString(), 100L);
Map<String, Object> doorProperties = new HashMap<>(); Map<String, Object> doorProperties = new HashMap<>();
doorProperties.put(HasType.PROPERTY, "door"); doorProperties.put(Property.TYPE.toString(), "door");
doorProperties.put(HasModel.PROPERTY, "Lambo"); doorProperties.put(Property.MODEL.toString(), "Lambo");
doorProperties.put(HasPrice.PROPERTY, 300L); doorProperties.put(Property.PRICE.toString(), 300L);
carProperties.put(HasParts.PROPERTY, Arrays.asList(wheelProperties, doorProperties)); carProperties.put(Property.PARTS.toString(), Arrays.asList(wheelProperties, doorProperties));
Car car = new Car(carProperties); Car car = new Car(carProperties);

View File

@ -25,16 +25,15 @@ package com.iluwatar.abstractdocument.domain;
import java.util.Optional; import java.util.Optional;
import com.iluwatar.abstractdocument.Document; import com.iluwatar.abstractdocument.Document;
import com.iluwatar.abstractdocument.domain.enums.Property;
/** /**
* HasModel trait for static access to 'model' property * HasModel trait for static access to 'model' property
*/ */
public interface HasModel extends Document { public interface HasModel extends Document {
String PROPERTY = "model";
default Optional<String> getModel() { default Optional<String> getModel() {
return Optional.ofNullable((String) get(PROPERTY)); return Optional.ofNullable((String) get(Property.MODEL.toString()));
} }
} }

View File

@ -25,16 +25,16 @@ package com.iluwatar.abstractdocument.domain;
import java.util.stream.Stream; import java.util.stream.Stream;
import com.iluwatar.abstractdocument.Document; import com.iluwatar.abstractdocument.Document;
import com.iluwatar.abstractdocument.domain.enums.Property;
/** /**
* HasParts trait for static access to 'parts' property * HasParts trait for static access to 'parts' property
*/ */
public interface HasParts extends Document { public interface HasParts extends Document {
String PROPERTY = "parts";
default Stream<Part> getParts() { default Stream<Part> getParts() {
return children(PROPERTY, Part::new); return children(Property.PARTS.toString(), Part::new);
} }
} }

View File

@ -25,16 +25,16 @@ package com.iluwatar.abstractdocument.domain;
import java.util.Optional; import java.util.Optional;
import com.iluwatar.abstractdocument.Document; import com.iluwatar.abstractdocument.Document;
import com.iluwatar.abstractdocument.domain.enums.Property;
/** /**
* HasPrice trait for static access to 'price' property * HasPrice trait for static access to 'price' property
*/ */
public interface HasPrice extends Document { public interface HasPrice extends Document {
String PROPERTY = "price";
default Optional<Number> getPrice() { default Optional<Number> getPrice() {
return Optional.ofNullable((Number) get(PROPERTY)); return Optional.ofNullable((Number) get(Property.PRICE.toString()));
} }
} }

View File

@ -22,19 +22,19 @@
*/ */
package com.iluwatar.abstractdocument.domain; package com.iluwatar.abstractdocument.domain;
import com.iluwatar.abstractdocument.Document;
import java.util.Optional; import java.util.Optional;
import com.iluwatar.abstractdocument.Document;
import com.iluwatar.abstractdocument.domain.enums.Property;
/** /**
* HasType trait for static access to 'type' property * HasType trait for static access to 'type' property
*/ */
public interface HasType extends Document { public interface HasType extends Document {
String PROPERTY = "type";
default Optional<String> getType() { default Optional<String> getType() {
return Optional.ofNullable((String) get(PROPERTY)); return Optional.ofNullable((String) get(Property.TYPE.toString()));
} }
} }

View File

@ -0,0 +1,11 @@
package com.iluwatar.abstractdocument.domain.enums;
/**
*
* Enum To Describe Property type
*
*/
public enum Property {
PARTS, TYPE, PRICE, MODEL
}

View File

@ -22,19 +22,17 @@
*/ */
package com.iluwatar.abstractdocument; package com.iluwatar.abstractdocument;
import com.iluwatar.abstractdocument.domain.Car; import static org.junit.jupiter.api.Assertions.assertEquals;
import com.iluwatar.abstractdocument.domain.HasModel;
import com.iluwatar.abstractdocument.domain.HasParts;
import com.iluwatar.abstractdocument.domain.HasPrice;
import com.iluwatar.abstractdocument.domain.HasType;
import com.iluwatar.abstractdocument.domain.Part;
import org.junit.jupiter.api.Test;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test;
import com.iluwatar.abstractdocument.domain.Car;
import com.iluwatar.abstractdocument.domain.Part;
import com.iluwatar.abstractdocument.domain.enums.Property;
/** /**
* Test for Part and Car * Test for Part and Car
@ -51,9 +49,9 @@ public class DomainTest {
@Test @Test
public void shouldConstructPart() { public void shouldConstructPart() {
Map<String, Object> partProperties = new HashMap<>(); Map<String, Object> partProperties = new HashMap<>();
partProperties.put(HasType.PROPERTY, TEST_PART_TYPE); partProperties.put(Property.TYPE.toString(), TEST_PART_TYPE);
partProperties.put(HasModel.PROPERTY, TEST_PART_MODEL); partProperties.put(Property.MODEL.toString(), TEST_PART_MODEL);
partProperties.put(HasPrice.PROPERTY, TEST_PART_PRICE); partProperties.put(Property.PRICE.toString(), TEST_PART_PRICE);
Part part = new Part(partProperties); Part part = new Part(partProperties);
assertEquals(TEST_PART_TYPE, part.getType().get()); assertEquals(TEST_PART_TYPE, part.getType().get());
@ -64,9 +62,9 @@ public class DomainTest {
@Test @Test
public void shouldConstructCar() { public void shouldConstructCar() {
Map<String, Object> carProperties = new HashMap<>(); Map<String, Object> carProperties = new HashMap<>();
carProperties.put(HasModel.PROPERTY, TEST_CAR_MODEL); carProperties.put(Property.MODEL.toString(), TEST_CAR_MODEL);
carProperties.put(HasPrice.PROPERTY, TEST_CAR_PRICE); carProperties.put(Property.PRICE.toString(), TEST_CAR_PRICE);
carProperties.put(HasParts.PROPERTY, Arrays.asList(new HashMap<>(), new HashMap<>())); carProperties.put(Property.PARTS.toString(), Arrays.asList(new HashMap<>(), new HashMap<>()));
Car car = new Car(carProperties); Car car = new Car(carProperties);
assertEquals(TEST_CAR_MODEL, car.getModel().get()); assertEquals(TEST_CAR_MODEL, car.getModel().get());

View File

@ -28,6 +28,7 @@ import java.util.Map;
import org.bson.Document; import org.bson.Document;
import com.iluwatar.caching.constants.CachingConstants;
import com.mongodb.MongoClient; import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable; import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoDatabase; import com.mongodb.client.MongoDatabase;
@ -90,12 +91,12 @@ public final class DbManager {
} }
} }
FindIterable<Document> iterable = FindIterable<Document> iterable =
db.getCollection("user_accounts").find(new Document("userID", userId)); db.getCollection(CachingConstants.USER_ACCOUNT).find(new Document(CachingConstants.USER_ID, userId));
if (iterable == null) { if (iterable == null) {
return null; return null;
} }
Document doc = iterable.first(); Document doc = iterable.first();
return new UserAccount(userId, doc.getString("userName"), doc.getString("additionalInfo")); return new UserAccount(userId, doc.getString(CachingConstants.USER_NAME), doc.getString(CachingConstants.ADD_INFO));
} }
/** /**
@ -113,9 +114,9 @@ public final class DbManager {
e.printStackTrace(); e.printStackTrace();
} }
} }
db.getCollection("user_accounts").insertOne( db.getCollection(CachingConstants.USER_ACCOUNT).insertOne(
new Document("userID", userAccount.getUserId()).append("userName", new Document(CachingConstants.USER_ID ,userAccount.getUserId()).append(CachingConstants.USER_NAME,
userAccount.getUserName()).append("additionalInfo", userAccount.getAdditionalInfo())); userAccount.getUserName()).append(CachingConstants.ADD_INFO, userAccount.getAdditionalInfo()));
} }
/** /**
@ -133,10 +134,10 @@ public final class DbManager {
e.printStackTrace(); e.printStackTrace();
} }
} }
db.getCollection("user_accounts").updateOne( db.getCollection(CachingConstants.USER_ACCOUNT).updateOne(
new Document("userID", userAccount.getUserId()), new Document(CachingConstants.USER_ID, userAccount.getUserId()),
new Document("$set", new Document("userName", userAccount.getUserName()).append( new Document("$set", new Document(CachingConstants.USER_NAME, userAccount.getUserName())
"additionalInfo", userAccount.getAdditionalInfo()))); .append(CachingConstants.ADD_INFO, userAccount.getAdditionalInfo())));
} }
/** /**
@ -155,10 +156,12 @@ public final class DbManager {
e.printStackTrace(); e.printStackTrace();
} }
} }
db.getCollection("user_accounts").updateOne( db.getCollection(CachingConstants.USER_ACCOUNT).updateOne(
new Document("userID", userAccount.getUserId()), new Document(CachingConstants.USER_ID, userAccount.getUserId()),
new Document("$set", new Document("userID", userAccount.getUserId()).append("userName", new Document("$set",
userAccount.getUserName()).append("additionalInfo", userAccount.getAdditionalInfo())), new Document(CachingConstants.USER_ID, userAccount.getUserId())
.append(CachingConstants.USER_NAME, userAccount.getUserName()).append(CachingConstants.ADD_INFO,
userAccount.getAdditionalInfo())),
new UpdateOptions().upsert(true)); new UpdateOptions().upsert(true));
} }
} }

View File

@ -0,0 +1,15 @@
package com.iluwatar.caching.constants;
/**
*
* Constant class for defining constants
*
*/
public class CachingConstants {
public static final String USER_ACCOUNT = "user_accounts";
public static final String USER_ID = "userID";
public static final String USER_NAME = "userName";
public static final String ADD_INFO = "additionalInfo";
}

View File

@ -30,6 +30,7 @@ import org.slf4j.LoggerFactory;
import com.iluwatar.cqrs.commandes.CommandServiceImpl; import com.iluwatar.cqrs.commandes.CommandServiceImpl;
import com.iluwatar.cqrs.commandes.ICommandService; import com.iluwatar.cqrs.commandes.ICommandService;
import com.iluwatar.cqrs.constants.AppConstants;
import com.iluwatar.cqrs.dto.Author; import com.iluwatar.cqrs.dto.Author;
import com.iluwatar.cqrs.dto.Book; import com.iluwatar.cqrs.dto.Book;
import com.iluwatar.cqrs.queries.IQueryService; import com.iluwatar.cqrs.queries.IQueryService;
@ -60,27 +61,27 @@ public class App {
ICommandService commands = new CommandServiceImpl(); ICommandService commands = new CommandServiceImpl();
// Create Authors and Books using CommandService // Create Authors and Books using CommandService
commands.authorCreated("eEvans", "Eric Evans", "eEvans@email.com"); commands.authorCreated(AppConstants.E_EVANS, "Eric Evans", "eEvans@email.com");
commands.authorCreated("jBloch", "Joshua Bloch", "jBloch@email.com"); commands.authorCreated(AppConstants.J_BLOCH, "Joshua Bloch", "jBloch@email.com");
commands.authorCreated("mFowler", "Martin Fowler", "mFowler@email.com"); commands.authorCreated(AppConstants.M_FOWLER, "Martin Fowler", "mFowler@email.com");
commands.bookAddedToAuthor("Domain-Driven Design", 60.08, "eEvans"); commands.bookAddedToAuthor("Domain-Driven Design", 60.08, AppConstants.E_EVANS);
commands.bookAddedToAuthor("Effective Java", 40.54, "jBloch"); commands.bookAddedToAuthor("Effective Java", 40.54, AppConstants.J_BLOCH);
commands.bookAddedToAuthor("Java Puzzlers", 39.99, "jBloch"); commands.bookAddedToAuthor("Java Puzzlers", 39.99, AppConstants.J_BLOCH);
commands.bookAddedToAuthor("Java Concurrency in Practice", 29.40, "jBloch"); commands.bookAddedToAuthor("Java Concurrency in Practice", 29.40, AppConstants.J_BLOCH);
commands.bookAddedToAuthor("Patterns of Enterprise Application Architecture", 54.01, "mFowler"); commands.bookAddedToAuthor("Patterns of Enterprise Application Architecture", 54.01, AppConstants.M_FOWLER);
commands.bookAddedToAuthor("Domain Specific Languages", 48.89, "mFowler"); commands.bookAddedToAuthor("Domain Specific Languages", 48.89, AppConstants.M_FOWLER);
commands.authorNameUpdated("eEvans", "Eric J. Evans"); commands.authorNameUpdated(AppConstants.E_EVANS, "Eric J. Evans");
IQueryService queries = new QueryServiceImpl(); IQueryService queries = new QueryServiceImpl();
// Query the database using QueryService // Query the database using QueryService
Author nullAuthor = queries.getAuthorByUsername("username"); Author nullAuthor = queries.getAuthorByUsername("username");
Author eEvans = queries.getAuthorByUsername("eEvans"); Author eEvans = queries.getAuthorByUsername(AppConstants.E_EVANS);
BigInteger jBlochBooksCount = queries.getAuthorBooksCount("jBloch"); BigInteger jBlochBooksCount = queries.getAuthorBooksCount(AppConstants.J_BLOCH);
BigInteger authorsCount = queries.getAuthorsCount(); BigInteger authorsCount = queries.getAuthorsCount();
Book dddBook = queries.getBook("Domain-Driven Design"); Book dddBook = queries.getBook("Domain-Driven Design");
List<Book> jBlochBooks = queries.getAuthorBooks("jBloch"); List<Book> jBlochBooks = queries.getAuthorBooks(AppConstants.J_BLOCH);
LOGGER.info("Author username : {}", nullAuthor); LOGGER.info("Author username : {}", nullAuthor);
LOGGER.info("Author eEvans : {}", eEvans); LOGGER.info("Author eEvans : {}", eEvans);

View File

@ -0,0 +1,15 @@
package com.iluwatar.cqrs.constants;
/**
*
* Class to define the constants
*
*/
public class AppConstants {
public static final String E_EVANS = "eEvans";
public static final String J_BLOCH = "jBloch";
public static final String M_FOWLER = "mFowler";
public static final String USER_NAME = "username";
}

View File

@ -30,6 +30,7 @@ import org.hibernate.Session;
import org.hibernate.SessionFactory; import org.hibernate.SessionFactory;
import org.hibernate.transform.Transformers; import org.hibernate.transform.Transformers;
import com.iluwatar.cqrs.constants.AppConstants;
import com.iluwatar.cqrs.dto.Author; import com.iluwatar.cqrs.dto.Author;
import com.iluwatar.cqrs.dto.Book; import com.iluwatar.cqrs.dto.Book;
import com.iluwatar.cqrs.util.HibernateUtil; import com.iluwatar.cqrs.util.HibernateUtil;
@ -50,7 +51,7 @@ public class QueryServiceImpl implements IQueryService {
SQLQuery sqlQuery = session SQLQuery sqlQuery = session
.createSQLQuery("SELECT a.username as \"username\", a.name as \"name\", a.email as \"email\"" .createSQLQuery("SELECT a.username as \"username\", a.name as \"name\", a.email as \"email\""
+ "FROM Author a where a.username=:username"); + "FROM Author a where a.username=:username");
sqlQuery.setParameter("username", username); sqlQuery.setParameter(AppConstants.USER_NAME, username);
authorDTo = (Author) sqlQuery.setResultTransformer(Transformers.aliasToBean(Author.class)).uniqueResult(); authorDTo = (Author) sqlQuery.setResultTransformer(Transformers.aliasToBean(Author.class)).uniqueResult();
} }
return authorDTo; return authorDTo;
@ -74,7 +75,7 @@ public class QueryServiceImpl implements IQueryService {
try (Session session = sessionFactory.openSession()) { try (Session session = sessionFactory.openSession()) {
SQLQuery sqlQuery = session.createSQLQuery("SELECT b.title as \"title\", b.price as \"price\"" SQLQuery sqlQuery = session.createSQLQuery("SELECT b.title as \"title\", b.price as \"price\""
+ " FROM Author a , Book b where b.author_id = a.id and a.username=:username"); + " FROM Author a , Book b where b.author_id = a.id and a.username=:username");
sqlQuery.setParameter("username", username); sqlQuery.setParameter(AppConstants.USER_NAME, username);
bookDTos = sqlQuery.setResultTransformer(Transformers.aliasToBean(Book.class)).list(); bookDTos = sqlQuery.setResultTransformer(Transformers.aliasToBean(Book.class)).list();
} }
return bookDTos; return bookDTos;
@ -86,7 +87,7 @@ public class QueryServiceImpl implements IQueryService {
try (Session session = sessionFactory.openSession()) { try (Session session = sessionFactory.openSession()) {
SQLQuery sqlQuery = session.createSQLQuery( SQLQuery sqlQuery = session.createSQLQuery(
"SELECT count(b.title)" + " FROM Book b, Author a where b.author_id = a.id and a.username=:username"); "SELECT count(b.title)" + " FROM Book b, Author a where b.author_id = a.id and a.username=:username");
sqlQuery.setParameter("username", username); sqlQuery.setParameter(AppConstants.USER_NAME, username);
bookcount = (BigInteger) sqlQuery.uniqueResult(); bookcount = (BigInteger) sqlQuery.uniqueResult();
} }
return bookcount; return bookcount;

View File

@ -52,6 +52,7 @@ import org.h2.jdbcx.JdbcDataSource;
public class App { public class App {
private static final String DB_URL = "jdbc:h2:~/dao"; private static final String DB_URL = "jdbc:h2:~/dao";
private static Logger log = Logger.getLogger(App.class); private static Logger log = Logger.getLogger(App.class);
private static final String ALL_CUSTOMERS = "customerDao.getAllCustomers(): ";
/** /**
* Program entry point. * Program entry point.
@ -92,23 +93,23 @@ public class App {
private static void performOperationsUsing(final CustomerDao customerDao) throws Exception { private static void performOperationsUsing(final CustomerDao customerDao) throws Exception {
addCustomers(customerDao); addCustomers(customerDao);
log.info("customerDao.getAllCustomers(): "); log.info(ALL_CUSTOMERS);
try (Stream<Customer> customerStream = customerDao.getAll()) { try (Stream<Customer> customerStream = customerDao.getAll()) {
customerStream.forEach((customer) -> log.info(customer)); customerStream.forEach((customer) -> log.info(customer));
} }
log.info("customerDao.getCustomerById(2): " + customerDao.getById(2)); log.info("customerDao.getCustomerById(2): " + customerDao.getById(2));
final Customer customer = new Customer(4, "Dan", "Danson"); final Customer customer = new Customer(4, "Dan", "Danson");
customerDao.add(customer); customerDao.add(customer);
log.info("customerDao.getAllCustomers(): " + customerDao.getAll()); log.info(ALL_CUSTOMERS + customerDao.getAll());
customer.setFirstName("Daniel"); customer.setFirstName("Daniel");
customer.setLastName("Danielson"); customer.setLastName("Danielson");
customerDao.update(customer); customerDao.update(customer);
log.info("customerDao.getAllCustomers(): "); log.info(ALL_CUSTOMERS);
try (Stream<Customer> customerStream = customerDao.getAll()) { try (Stream<Customer> customerStream = customerDao.getAll()) {
customerStream.forEach((cust) -> log.info(cust)); customerStream.forEach((cust) -> log.info(cust));
} }
customerDao.delete(customer); customerDao.delete(customer);
log.info("customerDao.getAllCustomers(): " + customerDao.getAll()); log.info(ALL_CUSTOMERS + customerDao.getAll());
} }
private static void addCustomers(CustomerDao customerDao) throws Exception { private static void addCustomers(CustomerDao customerDao) throws Exception {

View File

@ -36,6 +36,8 @@ import org.apache.log4j.Logger;
public final class App { public final class App {
private static Logger log = Logger.getLogger(App.class); private static Logger log = Logger.getLogger(App.class);
private static final String STUDENT_STRING = "App.main(), student : ";
/** /**
* Program entry point. * Program entry point.
@ -53,12 +55,12 @@ public final class App {
/* Add student in respectibe store */ /* Add student in respectibe store */
mapper.insert(student); mapper.insert(student);
log.debug("App.main(), student : " + student + ", is inserted"); log.debug(STUDENT_STRING + student + ", is inserted");
/* Find this student */ /* Find this student */
final Optional<Student> studentToBeFound = mapper.find(student.getStudentId()); final Optional<Student> studentToBeFound = mapper.find(student.getStudentId());
log.debug("App.main(), student : " + studentToBeFound + ", is searched"); log.debug(STUDENT_STRING + studentToBeFound + ", is searched");
/* Update existing student object */ /* Update existing student object */
student = new Student(student.getStudentId(), "AdamUpdated", 'A'); student = new Student(student.getStudentId(), "AdamUpdated", 'A');
@ -66,8 +68,8 @@ public final class App {
/* Update student in respectibe db */ /* Update student in respectibe db */
mapper.update(student); mapper.update(student);
log.debug("App.main(), student : " + student + ", is updated"); log.debug(STUDENT_STRING + student + ", is updated");
log.debug("App.main(), student : " + student + ", is going to be deleted"); log.debug(STUDENT_STRING + student + ", is going to be deleted");
/* Delete student in db */ /* Delete student in db */
mapper.delete(student); mapper.delete(student);

View File

@ -25,6 +25,8 @@ package com.iluwatar.doubledispatch;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import com.iluwatar.doubledispatch.constants.AppConstants;
/** /**
* *
* Meteoroid game object * Meteoroid game object
@ -45,21 +47,21 @@ public class Meteoroid extends GameObject {
@Override @Override
public void collisionResolve(FlamingAsteroid asteroid) { public void collisionResolve(FlamingAsteroid asteroid) {
LOGGER.info("{} hits {}.", asteroid.getClass().getSimpleName(), this.getClass().getSimpleName()); LOGGER.info(AppConstants.HITS, asteroid.getClass().getSimpleName(), this.getClass().getSimpleName());
} }
@Override @Override
public void collisionResolve(Meteoroid meteoroid) { public void collisionResolve(Meteoroid meteoroid) {
LOGGER.info("{} hits {}.", meteoroid.getClass().getSimpleName(), this.getClass().getSimpleName()); LOGGER.info(AppConstants.HITS, meteoroid.getClass().getSimpleName(), this.getClass().getSimpleName());
} }
@Override @Override
public void collisionResolve(SpaceStationMir mir) { public void collisionResolve(SpaceStationMir mir) {
LOGGER.info("{} hits {}.", mir.getClass().getSimpleName(), this.getClass().getSimpleName()); LOGGER.info(AppConstants.HITS, mir.getClass().getSimpleName(), this.getClass().getSimpleName());
} }
@Override @Override
public void collisionResolve(SpaceStationIss iss) { public void collisionResolve(SpaceStationIss iss) {
LOGGER.info("{} hits {}.", iss.getClass().getSimpleName(), this.getClass().getSimpleName()); LOGGER.info(AppConstants.HITS, iss.getClass().getSimpleName(), this.getClass().getSimpleName());
} }
} }

View File

@ -25,6 +25,8 @@ package com.iluwatar.doubledispatch;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import com.iluwatar.doubledispatch.constants.AppConstants;
/** /**
* *
* Space station Mir game object * Space station Mir game object
@ -45,7 +47,7 @@ public class SpaceStationMir extends GameObject {
@Override @Override
public void collisionResolve(FlamingAsteroid asteroid) { public void collisionResolve(FlamingAsteroid asteroid) {
LOGGER.info("{} hits {}. {} is damaged! {} is set on fire!", asteroid.getClass().getSimpleName(), LOGGER.info(AppConstants.HITS," {} is damaged! {} is set on fire!", asteroid.getClass().getSimpleName(),
this.getClass().getSimpleName(), this.getClass().getSimpleName(), this.getClass().getSimpleName()); this.getClass().getSimpleName(), this.getClass().getSimpleName(), this.getClass().getSimpleName());
setDamaged(true); setDamaged(true);
setOnFire(true); setOnFire(true);
@ -53,21 +55,21 @@ public class SpaceStationMir extends GameObject {
@Override @Override
public void collisionResolve(Meteoroid meteoroid) { public void collisionResolve(Meteoroid meteoroid) {
LOGGER.info("{} hits {}. {} is damaged!", meteoroid.getClass().getSimpleName(), LOGGER.info(AppConstants.HITS," {} is damaged!", meteoroid.getClass().getSimpleName(),
this.getClass().getSimpleName(), this.getClass().getSimpleName()); this.getClass().getSimpleName(), this.getClass().getSimpleName());
setDamaged(true); setDamaged(true);
} }
@Override @Override
public void collisionResolve(SpaceStationMir mir) { public void collisionResolve(SpaceStationMir mir) {
LOGGER.info("{} hits {}. {} is damaged!", mir.getClass().getSimpleName(), LOGGER.info(AppConstants.HITS," {} is damaged!", mir.getClass().getSimpleName(),
this.getClass().getSimpleName(), this.getClass().getSimpleName()); this.getClass().getSimpleName(), this.getClass().getSimpleName());
setDamaged(true); setDamaged(true);
} }
@Override @Override
public void collisionResolve(SpaceStationIss iss) { public void collisionResolve(SpaceStationIss iss) {
LOGGER.info("{} hits {}. {} is damaged!", iss.getClass().getSimpleName(), LOGGER.info(AppConstants.HITS," {} is damaged!", iss.getClass().getSimpleName(),
this.getClass().getSimpleName(), this.getClass().getSimpleName()); this.getClass().getSimpleName(), this.getClass().getSimpleName());
setDamaged(true); setDamaged(true);
} }

View File

@ -0,0 +1,11 @@
package com.iluwatar.doubledispatch.constants;
/**
*
* Constants class to define all constants
*
*/
public class AppConstants {
public static final String HITS = "{} hits {}.";
}