sonar fix: Update App.java (#1898)

This commit is contained in:
Harshal 2021-10-31 12:38:49 +05:30 committed by GitHub
parent 72bb189dc0
commit 22ddd57146
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -41,6 +41,10 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
public class App { public class App {
private static final String RED_DRAGON_EMERGES = "Red dragon emerges.";
private static final String GREEN_DRAGON_SPOTTED = "Green dragon spotted ahead!";
private static final String BLACK_DRAGON_LANDS = "Black dragon lands before you.";
/** /**
* Program entry point. * Program entry point.
* *
@ -48,38 +52,38 @@ public class App {
*/ */
public static void main(String[] args) { public static void main(String[] args) {
// GoF Strategy pattern // GoF Strategy pattern
LOGGER.info("Green dragon spotted ahead!"); LOGGER.info(GREEN_DRAGON_SPOTTED);
var dragonSlayer = new DragonSlayer(new MeleeStrategy()); var dragonSlayer = new DragonSlayer(new MeleeStrategy());
dragonSlayer.goToBattle(); dragonSlayer.goToBattle();
LOGGER.info("Red dragon emerges."); LOGGER.info(RED_DRAGON_EMERGES);
dragonSlayer.changeStrategy(new ProjectileStrategy()); dragonSlayer.changeStrategy(new ProjectileStrategy());
dragonSlayer.goToBattle(); dragonSlayer.goToBattle();
LOGGER.info("Black dragon lands before you."); LOGGER.info(BLACK_DRAGON_LANDS);
dragonSlayer.changeStrategy(new SpellStrategy()); dragonSlayer.changeStrategy(new SpellStrategy());
dragonSlayer.goToBattle(); dragonSlayer.goToBattle();
// Java 8 functional implementation Strategy pattern // Java 8 functional implementation Strategy pattern
LOGGER.info("Green dragon spotted ahead!"); LOGGER.info(GREEN_DRAGON_SPOTTED);
dragonSlayer = new DragonSlayer( dragonSlayer = new DragonSlayer(
() -> LOGGER.info("With your Excalibur you severe the dragon's head!")); () -> LOGGER.info("With your Excalibur you severe the dragon's head!"));
dragonSlayer.goToBattle(); dragonSlayer.goToBattle();
LOGGER.info("Red dragon emerges."); LOGGER.info(RED_DRAGON_EMERGES);
dragonSlayer.changeStrategy(() -> LOGGER.info( dragonSlayer.changeStrategy(() -> LOGGER.info(
"You shoot the dragon with the magical crossbow and it falls dead on the ground!")); "You shoot the dragon with the magical crossbow and it falls dead on the ground!"));
dragonSlayer.goToBattle(); dragonSlayer.goToBattle();
LOGGER.info("Black dragon lands before you."); LOGGER.info(BLACK_DRAGON_LANDS);
dragonSlayer.changeStrategy(() -> LOGGER.info( dragonSlayer.changeStrategy(() -> LOGGER.info(
"You cast the spell of disintegration and the dragon vaporizes in a pile of dust!")); "You cast the spell of disintegration and the dragon vaporizes in a pile of dust!"));
dragonSlayer.goToBattle(); dragonSlayer.goToBattle();
// Java 8 lambda implementation with enum Strategy pattern // Java 8 lambda implementation with enum Strategy pattern
LOGGER.info("Green dragon spotted ahead!"); LOGGER.info(GREEN_DRAGON_SPOTTED);
dragonSlayer.changeStrategy(LambdaStrategy.Strategy.MeleeStrategy); dragonSlayer.changeStrategy(LambdaStrategy.Strategy.MeleeStrategy);
dragonSlayer.goToBattle(); dragonSlayer.goToBattle();
LOGGER.info("Red dragon emerges."); LOGGER.info(RED_DRAGON_EMERGES);
dragonSlayer.changeStrategy(LambdaStrategy.Strategy.ProjectileStrategy); dragonSlayer.changeStrategy(LambdaStrategy.Strategy.ProjectileStrategy);
dragonSlayer.goToBattle(); dragonSlayer.goToBattle();
LOGGER.info("Black dragon lands before you."); LOGGER.info(BLACK_DRAGON_LANDS);
dragonSlayer.changeStrategy(LambdaStrategy.Strategy.SpellStrategy); dragonSlayer.changeStrategy(LambdaStrategy.Strategy.SpellStrategy);
dragonSlayer.goToBattle(); dragonSlayer.goToBattle();
} }