From a1edc5617178319e6414799f191df4e8d9e509de Mon Sep 17 00:00:00 2001
From: David Bohn <davbohn@googlemail.com>
Date: Wed, 22 Jun 2016 21:52:40 +0200
Subject: [PATCH] Fixed configuration name annotation

---
 .../java/fucoin/configurations/AbstractConfiguration.java | 7 -------
 .../java/fucoin/configurations/DefaultConfiguration.java  | 5 -----
 .../fucoin/configurations/MassWalletConfiguration.java    | 8 +++-----
 .../fucoin/configurations/internal/ConfigurationName.java | 4 ++++
 .../configurations/internal/ConfigurationSelection.java   | 4 +++-
 5 files changed, 10 insertions(+), 18 deletions(-)

diff --git a/src/main/java/fucoin/configurations/AbstractConfiguration.java b/src/main/java/fucoin/configurations/AbstractConfiguration.java
index 2bb74bd..a3ac5a4 100644
--- a/src/main/java/fucoin/configurations/AbstractConfiguration.java
+++ b/src/main/java/fucoin/configurations/AbstractConfiguration.java
@@ -78,11 +78,4 @@ public abstract class AbstractConfiguration extends AbstractNode {
     }
 
     public abstract void run();
-
-    public abstract String getName();
-
-    @Override
-    public String toString() {
-        return getName();
-    }
 }
diff --git a/src/main/java/fucoin/configurations/DefaultConfiguration.java b/src/main/java/fucoin/configurations/DefaultConfiguration.java
index 9247390..ff6df01 100644
--- a/src/main/java/fucoin/configurations/DefaultConfiguration.java
+++ b/src/main/java/fucoin/configurations/DefaultConfiguration.java
@@ -27,11 +27,6 @@ public class DefaultConfiguration extends AbstractConfiguration {
         wallet1.tell(new ActionWalletSendMoney("Wallet1", 50), wallet1);
     }
 
-    @Override
-    public String getName() {
-        return "Default Configuration";
-    }
-
     @Override
     public void onReceive(Object message) {
 
diff --git a/src/main/java/fucoin/configurations/MassWalletConfiguration.java b/src/main/java/fucoin/configurations/MassWalletConfiguration.java
index 625c34b..0439612 100644
--- a/src/main/java/fucoin/configurations/MassWalletConfiguration.java
+++ b/src/main/java/fucoin/configurations/MassWalletConfiguration.java
@@ -1,8 +1,11 @@
 package fucoin.configurations;
 
+import fucoin.configurations.internal.ConfigurationName;
+
 /**
  *
  */
+@ConfigurationName("Lots of Wallets")
 public class MassWalletConfiguration extends AbstractConfiguration {
     @Override
     public void run() {
@@ -10,11 +13,6 @@ public class MassWalletConfiguration extends AbstractConfiguration {
         spawnWallets(200, false);
     }
 
-    @Override
-    public String getName() {
-        return "Lots of wallets";
-    }
-
     @Override
     public void onReceive(Object message) {
 
diff --git a/src/main/java/fucoin/configurations/internal/ConfigurationName.java b/src/main/java/fucoin/configurations/internal/ConfigurationName.java
index c822acb..de15502 100644
--- a/src/main/java/fucoin/configurations/internal/ConfigurationName.java
+++ b/src/main/java/fucoin/configurations/internal/ConfigurationName.java
@@ -1,8 +1,12 @@
 package fucoin.configurations.internal;
 
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
 /**
  *
  */
+@Retention(RetentionPolicy.RUNTIME)
 public @interface ConfigurationName {
     String value();
 }
diff --git a/src/main/java/fucoin/configurations/internal/ConfigurationSelection.java b/src/main/java/fucoin/configurations/internal/ConfigurationSelection.java
index e019f4a..935ba07 100644
--- a/src/main/java/fucoin/configurations/internal/ConfigurationSelection.java
+++ b/src/main/java/fucoin/configurations/internal/ConfigurationSelection.java
@@ -20,7 +20,9 @@ public class ConfigurationSelection {
 
     @Override
     public String toString() {
-        System.out.println(configurationClass.isAnnotationPresent(ConfigurationName.class));
+        if (configurationClass.isAnnotationPresent(ConfigurationName.class)) {
+            return configurationClass.getAnnotation(ConfigurationName.class).value();
+        }
         return configurationClass.getSimpleName();
     }
 }
-- 
GitLab