Don’t store a Sone in the Sone inserter.
[Sone.git] / src / main / java / net / pterodactylus / sone / core / Core.java
index 47a77ee..9beeac4 100644 (file)
@@ -346,9 +346,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider,
         */
        @Override
        public Collection<Sone> getSones() {
-               synchronized (sones) {
-                       return ImmutableSet.copyOf(sones.values());
-               }
+               return database.getSones();
        }
 
        /**
@@ -362,9 +360,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider,
         */
        @Override
        public Optional<Sone> getSone(String id) {
-               synchronized (sones) {
-                       return Optional.fromNullable(sones.get(id));
-               }
+               return database.getSone(id);
        }
 
        /**
@@ -372,9 +368,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider,
         */
        @Override
        public Collection<Sone> getLocalSones() {
-               synchronized (sones) {
-                       return FluentIterable.from(sones.values()).filter(LOCAL_SONE_FILTER).toSet();
-               }
+               return database.getLocalSones();
        }
 
        /**
@@ -407,9 +401,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider,
         */
        @Override
        public Collection<Sone> getRemoteSones() {
-               synchronized (sones) {
-                       return FluentIterable.from(sones.values()).filter(not(LOCAL_SONE_FILTER)).toSet();
-               }
+               return database.getRemoteSones();
        }
 
        /**
@@ -728,7 +720,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider,
                        sone.setKnown(true);
                        /* TODO - load posts ’n stuff */
                        sones.put(ownIdentity.getId(), sone);
-                       final SoneInserter soneInserter = new SoneInserter(this, eventBus, freenetInterface, sone);
+                       SoneInserter soneInserter = new SoneInserter(this, eventBus, freenetInterface, ownIdentity.getId());
                        soneInserters.put(sone, soneInserter);
                        sone.setStatus(SoneStatus.idle);
                        loadSone(sone);
@@ -996,7 +988,6 @@ public class Core extends AbstractService implements SoneProvider, PostProvider,
                                sone.setKnown(storedSone.get().isKnown());
                                sone.setStatus((sone.getTime() == 0) ? SoneStatus.unknown : SoneStatus.idle);
                                if (sone.isLocal()) {
-                                       soneInserters.get(storedSone.get()).setSone(sone);
                                        touchConfiguration();
                                }
                                sones.put(sone.getId(), sone);