Remove Service interface.
[Sone.git] / src / main / java / net / pterodactylus / sone / database / memory / MemoryDatabase.java
index bace9d9..c49f978 100644 (file)
@@ -60,7 +60,6 @@ import com.google.common.collect.ListMultimap;
 import com.google.common.collect.SetMultimap;
 import com.google.common.collect.SortedSetMultimap;
 import com.google.common.collect.TreeMultimap;
-import com.google.common.util.concurrent.AbstractService;
 import com.google.inject.Inject;
 
 /**
@@ -68,7 +67,7 @@ import com.google.inject.Inject;
  *
  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
  */
-public class MemoryDatabase extends AbstractService implements Database {
+public class MemoryDatabase implements Database {
 
        private static final Logger logger = getLogger(MemoryDatabase.class.getName());
 
@@ -132,18 +131,21 @@ public class MemoryDatabase extends AbstractService implements Database {
        //
 
        @Override
-       protected void doStart() {
+       public void start() {
                memoryPostDatabase.start();
                loadKnownPostReplies();
                notifyStarted();
        }
 
        @Override
-       protected void doStop() {
+       public void stop() {
                try {
                        memoryPostDatabase.stop();
+                       configuration.save();
                } catch (DatabaseException de1) {
                        logger.log(Level.WARNING, "Could not stop post database!", de1);
+               } catch (ConfigurationException ce1) {
+                       logger.log(Level.WARNING, "Could not save configuration!", ce1);
                }
                notifyStopped();
        }