import net.pterodactylus.sone.core.event.SoneUnlockedEvent;
import net.pterodactylus.sone.data.Album;
import net.pterodactylus.sone.data.Image;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Post;
import net.pterodactylus.sone.data.PostReply;
import net.pterodactylus.sone.data.Reply;
return database.getSone(id);
}
- /**
- * {@inheritDocs}
- */
@Override
- public Collection<Sone> getLocalSones() {
+ public Collection<LocalSone> getLocalSones() {
return database.getLocalSones();
}
- /**
- * Returns the local Sone with the given ID, optionally creating a new Sone.
- *
- * @param id
- * The ID of the Sone
- * @return The Sone with the given ID, or {@code null}
- */
- public Sone getLocalSone(String id) {
- Optional<Sone> sone = database.getSone(id);
- if (sone.isPresent() && sone.get().isLocal()) {
- return sone.get();
- }
- return null;
+ public Optional<LocalSone> getLocalSone(String id) {
+ return database.getLocalSone(id);
}
/**
import java.util.Collection;
import net.pterodactylus.sone.core.Core;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Sone;
import com.google.common.base.Function;
*
* @return All local Sones
*/
- public Collection<Sone> getLocalSones();
+ public Collection<LocalSone> getLocalSones();
/**
* Returns all remote Sones.
}
@Override
- public Collection<Sone> getLocalSones() {
+ public Collection<LocalSone> getLocalSones() {
lock.readLock().lock();
try {
- return from(allSones.values()).filter(LOCAL_SONE_FILTER).toSet();
+ return from(allSones.values()).filter(LOCAL_SONE_FILTER).transform(new Function<Sone, LocalSone>() {
+ @Override
+ public LocalSone apply(Sone sone) {
+ // FIXME – Sones will not always implement LocalSone
+ return (LocalSone) sone;
+ }
+ }).toSet();
} finally {
lock.readLock().unlock();
}
import com.google.common.base.Optional;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Post;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.text.TextFilter;
if (text.length() != 0) {
String senderId = request.getHttpRequest().getPartAsStringFailsafe("sender", 43);
String recipientId = request.getHttpRequest().getPartAsStringFailsafe("recipient", 43);
- Sone currentSone = getCurrentSone(request.getToadletContext()).get();
- Sone sender = webInterface.getCore().getLocalSone(senderId);
- if (sender == null) {
- sender = currentSone;
- }
Optional<Sone> recipient = webInterface.getCore().getSone(recipientId);
+ Optional<LocalSone> sender = webInterface.getCore().getLocalSone(senderId);
+ if (!sender.isPresent()) {
+ sender = getCurrentSone(request.getToadletContext());
+ }
text = TextFilter.filter(request.getHttpRequest().getHeader("host"), text);
- webInterface.getCore().createPost(sender, recipient, text);
+ webInterface.getCore().createPost(sender.get(), recipient, text);
throw new RedirectException(returnPage);
}
templateContext.set("errorTextEmpty", true);
import com.google.common.base.Optional;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Post;
-import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.text.TextFilter;
import net.pterodactylus.sone.web.page.FreenetRequest;
import net.pterodactylus.util.template.Template;
}
if (text.length() > 0) {
String senderId = request.getHttpRequest().getPartAsStringFailsafe("sender", 43);
- Sone sender = webInterface.getCore().getLocalSone(senderId);
- if (sender == null) {
- sender = getCurrentSone(request.getToadletContext()).get();
+ Optional<LocalSone> sender = webInterface.getCore().getLocalSone(senderId);
+ if (!sender.isPresent()) {
+ sender = getCurrentSone(request.getToadletContext());
}
text = TextFilter.filter(request.getHttpRequest().getHeader("host"), text);
- webInterface.getCore().createReply(sender, post.get(), text);
+ webInterface.getCore().createReply(sender.get(), post.get(), text);
throw new RedirectException(returnPage);
}
templateContext.set("errorTextEmpty", true);
import java.util.Collections;
import java.util.List;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.web.page.FreenetRequest;
import net.pterodactylus.util.collection.Pagination;
templateContext.set("sort", sortField);
templateContext.set("order", sortOrder);
templateContext.set("filter", filter);
- final Optional<Sone> currentSone = getCurrentSone(request.getToadletContext(), false);
+ final Optional<LocalSone> currentSone = getCurrentSone(request.getToadletContext(), false);
Collection<Sone> knownSones = Collections2.filter(webInterface.getCore().getSones(), Sone.EMPTY_SONE_FILTER);
if (currentSone.isPresent() && "followed".equals(filter)) {
knownSones = Collections2.filter(knownSones, new Predicate<Sone>() {
package net.pterodactylus.sone.web;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.web.page.FreenetRequest;
import net.pterodactylus.util.template.Template;
import net.pterodactylus.util.template.TemplateContext;
+import com.google.common.base.Optional;
+
/**
* This page lets the user lock a {@link Sone} to prevent it from being
* inserted.
protected void processTemplate(FreenetRequest request, TemplateContext templateContext) throws RedirectException {
super.processTemplate(request, templateContext);
String soneId = request.getHttpRequest().getPartAsStringFailsafe("sone", 44);
- Sone sone = webInterface.getCore().getLocalSone(soneId);
- if (sone != null) {
- webInterface.getCore().lockSone(sone);
+ Optional<LocalSone> sone = webInterface.getCore().getLocalSone(soneId);
+ if (sone.isPresent()) {
+ webInterface.getCore().lockSone(sone.get());
}
String returnPage = request.getHttpRequest().getPartAsStringFailsafe("returnPage", 256);
throw new RedirectException(returnPage);
import java.util.List;
import java.util.logging.Logger;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.freenet.wot.OwnIdentity;
import net.pterodactylus.sone.web.page.FreenetRequest;
import net.pterodactylus.util.web.Method;
import freenet.clients.http.ToadletContext;
+import com.google.common.base.Optional;
+
/**
* The login page manages logging the user in.
*
templateContext.set("sones", localSones);
if (request.getMethod() == Method.POST) {
String soneId = request.getHttpRequest().getPartAsStringFailsafe("sone-id", 100);
- Sone selectedSone = webInterface.getCore().getLocalSone(soneId);
- if (selectedSone != null) {
- setCurrentSone(request.getToadletContext(), selectedSone);
+ Optional<LocalSone> selectedSone = webInterface.getCore().getLocalSone(soneId);
+ if (selectedSone.isPresent()) {
+ setCurrentSone(request.getToadletContext(), selectedSone.get());
String target = request.getHttpRequest().getParam("target");
if ((target == null) || (target.length() == 0)) {
target = "index.html";
import java.util.List;
import net.pterodactylus.sone.core.Preferences;
-import net.pterodactylus.sone.data.Sone;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Sone.ShowCustomAvatars;
import net.pterodactylus.sone.fcp.FcpInterface.FullAccessRequired;
import net.pterodactylus.sone.web.page.FreenetRequest;
protected void processTemplate(FreenetRequest request, TemplateContext templateContext) throws RedirectException {
super.processTemplate(request, templateContext);
Preferences preferences = webInterface.getCore().getPreferences();
- Optional<Sone> currentSone = webInterface.getCurrentSone(request.getToadletContext(), false);
+ Optional<LocalSone> currentSone = webInterface.getCurrentSone(request.getToadletContext(), false);
if (request.getMethod() == Method.POST) {
List<String> fieldErrors = new ArrayList<String>();
if (currentSone.isPresent()) {
import java.util.List;
import java.util.Map;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.main.SonePlugin;
import net.pterodactylus.sone.notify.ListNotificationFilters;
* @return The currently logged in Sone, or {@code null} if no Sone is
* currently logged in
*/
- protected Optional<Sone> getCurrentSone(ToadletContext toadletContext) {
+ protected Optional<LocalSone> getCurrentSone(ToadletContext toadletContext) {
return webInterface.getCurrentSone(toadletContext);
}
* @return The currently logged in Sone, or {@code null} if no Sone is
* currently logged in
*/
- protected Optional<Sone> getCurrentSone(ToadletContext toadletContext, boolean create) {
+ protected Optional<LocalSone> getCurrentSone(ToadletContext toadletContext, boolean create) {
return webInterface.getCurrentSone(toadletContext, create);
}
@Override
protected void processTemplate(FreenetRequest request, TemplateContext templateContext) throws RedirectException {
super.processTemplate(request, templateContext);
- Optional<Sone> currentSone = getCurrentSone(request.getToadletContext(), false);
+ Optional<LocalSone> currentSone = getCurrentSone(request.getToadletContext(), false);
templateContext.set("core", webInterface.getCore());
templateContext.set("currentSone", currentSone.orNull());
templateContext.set("localSones", webInterface.getCore().getLocalSones());
package net.pterodactylus.sone.web;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.web.page.FreenetRequest;
import net.pterodactylus.util.template.Template;
import net.pterodactylus.util.template.TemplateContext;
+import com.google.common.base.Optional;
+
/**
* This page lets the user unlock a {@link Sone} to allow its insertion.
*
protected void processTemplate(FreenetRequest request, TemplateContext templateContext) throws RedirectException {
super.processTemplate(request, templateContext);
String soneId = request.getHttpRequest().getPartAsStringFailsafe("sone", 44);
- Sone sone = webInterface.getCore().getLocalSone(soneId);
- if (sone != null) {
- webInterface.getCore().unlockSone(sone);
+ Optional<LocalSone> localSone = webInterface.getCore().getLocalSone(soneId);
+ if (localSone.isPresent()) {
+ webInterface.getCore().unlockSone(localSone.get());
}
String returnPage = request.getHttpRequest().getPartAsStringFailsafe("returnPage", 256);
throw new RedirectException(returnPage);
import net.pterodactylus.sone.core.event.UpdateFoundEvent;
import net.pterodactylus.sone.data.Album;
import net.pterodactylus.sone.data.Image;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Post;
import net.pterodactylus.sone.data.PostReply;
import net.pterodactylus.sone.data.Profile;
* @return The currently logged in Sone, or {@code null} if no Sone is
* currently logged in
*/
- public Optional<Sone> getCurrentSone(ToadletContext toadletContext) {
+ public Optional<LocalSone> getCurrentSone(ToadletContext toadletContext) {
return getCurrentSone(toadletContext, true);
}
* @return The currently logged in Sone, or {@code null} if no Sone is
* currently logged in
*/
- public Optional<Sone> getCurrentSone(ToadletContext toadletContext, boolean createSession) {
- Collection<Sone> localSones = getCore().getLocalSones();
+ public Optional<LocalSone> getCurrentSone(ToadletContext toadletContext, boolean createSession) {
+ Collection<LocalSone> localSones = getCore().getLocalSones();
if (localSones.size() == 1) {
return Optional.of(localSones.iterator().next());
}
* @return The currently logged in Sone, or {@code null} if no Sone is
* currently logged in
*/
- public Optional<Sone> getCurrentSone(Optional<Session> session) {
+ public Optional<LocalSone> getCurrentSone(Optional<Session> session) {
if (!session.isPresent()) {
return Optional.absent();
}
if (soneId == null) {
return Optional.absent();
}
- return Optional.fromNullable(getCore().getLocalSone(soneId));
+ return getCore().getLocalSone(soneId);
}
/**
package net.pterodactylus.sone.web.ajax;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Post;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.text.TextFilter;
*/
@Override
protected JsonReturnObject createJsonObject(FreenetRequest request) {
- Sone sone = getCurrentSone(request.getToadletContext()).get();
+ LocalSone sone = getCurrentSone(request.getToadletContext()).get();
String recipientId = request.getHttpRequest().getParam("recipient");
Optional<Sone> recipient = webInterface.getCore().getSone(recipientId);
String senderId = request.getHttpRequest().getParam("sender");
- Sone sender = webInterface.getCore().getLocalSone(senderId);
- if (sender == null) {
- sender = sone;
+ Optional<LocalSone> sender = webInterface.getCore().getLocalSone(senderId);
+ if (!sender.isPresent()) {
+ sender = Optional.of(sone);
}
String text = request.getHttpRequest().getParam("text");
if ((text == null) || (text.trim().length() == 0)) {
return createErrorJsonObject("text-required");
}
text = TextFilter.filter(request.getHttpRequest().getHeader("host"), text);
- Post newPost = webInterface.getCore().createPost(sender, recipient, text);
- return createSuccessJsonObject().put("postId", newPost.getId()).put("sone", sender.getId()).put("recipient", newPost.getRecipientId().orNull());
+ Post newPost = webInterface.getCore().createPost(sender.get(), recipient, text);
+ return createSuccessJsonObject().put("postId", newPost.getId()).put("sone", sender.get().getId()).put("recipient", newPost.getRecipientId().orNull());
}
}
import com.google.common.base.Optional;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Post;
import net.pterodactylus.sone.data.PostReply;
-import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.text.TextFilter;
import net.pterodactylus.sone.web.WebInterface;
import net.pterodactylus.sone.web.page.FreenetRequest;
String postId = request.getHttpRequest().getParam("post");
String text = request.getHttpRequest().getParam("text").trim();
String senderId = request.getHttpRequest().getParam("sender");
- Sone sender = webInterface.getCore().getLocalSone(senderId);
- if (sender == null) {
- sender = getCurrentSone(request.getToadletContext()).get();
+ Optional<LocalSone> sender = webInterface.getCore().getLocalSone(senderId);
+ if (!sender.isPresent()) {
+ sender = getCurrentSone(request.getToadletContext());
}
Optional<Post> post = webInterface.getCore().getPost(postId);
if (!post.isPresent()) {
return createErrorJsonObject("invalid-post-id");
}
text = TextFilter.filter(request.getHttpRequest().getHeader("host"), text);
- PostReply reply = webInterface.getCore().createReply(sender, post.get(), text);
- return createSuccessJsonObject().put("reply", reply.getId()).put("sone", sender.getId());
+ PostReply reply = webInterface.getCore().createReply(sender.get(), post.get(), text);
+ return createSuccessJsonObject().put("reply", reply.getId()).put("sone", sender.get().getId());
}
}
import java.util.Collections;
import java.util.List;
-import net.pterodactylus.sone.data.Sone;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.main.SonePlugin;
import net.pterodactylus.sone.notify.ListNotificationFilters;
import net.pterodactylus.sone.web.WebInterface;
*/
@Override
protected JsonReturnObject createJsonObject(FreenetRequest request) {
- Optional<Sone> currentSone = getCurrentSone(request.getToadletContext(), false);
+ Optional<LocalSone> currentSone = getCurrentSone(request.getToadletContext(), false);
Collection<Notification> notifications = webInterface.getNotifications().getNotifications();
List<Notification> filteredNotifications = ListNotificationFilters.filterNotifications(notifications, currentSone.orNull());
Collections.sort(filteredNotifications, Notification.CREATED_TIME_SORTER);
* The current Sone (may be {@code null})
* @return The current options
*/
- private static JsonNode createJsonOptions(Optional<Sone> currentSone) {
+ private static JsonNode createJsonOptions(Optional<LocalSone> currentSone) {
ObjectNode options = new ObjectNode(instance);
if (currentSone.isPresent()) {
options.put("ShowNotification/NewSones", currentSone.get().getOptions().isShowNewSoneNotifications());
import com.google.common.base.Optional;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Post;
-import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.web.WebInterface;
import net.pterodactylus.sone.web.page.FreenetRequest;
import net.pterodactylus.util.io.Closer;
* The currently logged in Sone (to store in the template)
* @return The JSON representation of the post
*/
- private JsonNode createJsonPost(FreenetRequest request, Post post, Optional<Sone> currentSone) {
+ private JsonNode createJsonPost(FreenetRequest request, Post post, Optional<LocalSone> currentSone) {
ObjectNode jsonPost = new ObjectNode(instance);
jsonPost.put("id", post.getId());
jsonPost.put("sone", post.getSone().getId());
import com.google.common.base.Optional;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.PostReply;
-import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.web.WebInterface;
import net.pterodactylus.sone.web.page.FreenetRequest;
import net.pterodactylus.util.io.Closer;
* The currently logged in Sone (to store in the template)
* @return The JSON representation of the reply
*/
- private JsonNode createJsonReply(FreenetRequest request, PostReply reply, Optional<Sone> currentSone) {
+ private JsonNode createJsonReply(FreenetRequest request, PostReply reply, Optional<LocalSone> currentSone) {
ObjectNode jsonReply = new ObjectNode(instance);
jsonReply.put("id", reply.getId());
jsonReply.put("postId", reply.getPostId());
import java.util.List;
import java.util.Set;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Post;
import net.pterodactylus.sone.data.PostReply;
import net.pterodactylus.sone.data.Sone;
*/
@Override
protected JsonReturnObject createJsonObject(FreenetRequest request) {
- final Optional<Sone> currentSone = getCurrentSone(request.getToadletContext(), false);
+ final Optional<LocalSone> currentSone = getCurrentSone(request.getToadletContext(), false);
/* load Sones. always return the status of the current Sone. */
Set<Sone> sones = new HashSet<Sone>(currentSone.asSet());
String loadSoneIds = request.getHttpRequest().getParam("soneIds");
* The current Sone (may be {@code null})
* @return The current options
*/
- private static JsonNode createJsonOptions(Optional<Sone> currentSone) {
+ private static JsonNode createJsonOptions(Optional<LocalSone> currentSone) {
ObjectNode options = new ObjectNode(instance);
if (currentSone.isPresent()) {
options.put("ShowNotification/NewSones", currentSone.get().getOptions().isShowNewSoneNotifications());
import java.util.logging.Level;
import java.util.logging.Logger;
-import net.pterodactylus.sone.data.Sone;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.web.WebInterface;
import net.pterodactylus.sone.web.page.FreenetPage;
import net.pterodactylus.sone.web.page.FreenetRequest;
// ACCESSORS
//
- protected Optional<Sone> getCurrentSone(ToadletContext toadletContext) {
+ protected Optional<LocalSone> getCurrentSone(ToadletContext toadletContext) {
return webInterface.getCurrentSone(toadletContext);
}
- protected Optional<Sone> getCurrentSone(ToadletContext toadletContext, boolean createSession) {
+ protected Optional<LocalSone> getCurrentSone(ToadletContext toadletContext, boolean createSession) {
return webInterface.getCurrentSone(toadletContext, createSession);
}
package net.pterodactylus.sone.web.ajax;
import net.pterodactylus.sone.core.Core;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.web.WebInterface;
import net.pterodactylus.sone.web.page.FreenetRequest;
+import com.google.common.base.Optional;
+
/**
* Lets the user {@link Core#lockSone(Sone) lock} a {@link Sone}.
*
@Override
protected JsonReturnObject createJsonObject(FreenetRequest request) {
String soneId = request.getHttpRequest().getParam("sone");
- Sone sone = webInterface.getCore().getLocalSone(soneId);
- if (sone == null) {
+ Optional<LocalSone> sone = webInterface.getCore().getLocalSone(soneId);
+ if (!sone.isPresent()) {
return createErrorJsonObject("invalid-sone-id");
}
- webInterface.getCore().lockSone(sone);
+ webInterface.getCore().lockSone(sone.get());
return createSuccessJsonObject();
}
package net.pterodactylus.sone.web.ajax;
import net.pterodactylus.sone.core.Core;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.web.WebInterface;
import net.pterodactylus.sone.web.page.FreenetRequest;
+import com.google.common.base.Optional;
+
/**
* Lets the user {@link Core#unlockSone(Sone) unlock} a {@link Sone}.
*
@Override
protected JsonReturnObject createJsonObject(FreenetRequest request) {
String soneId = request.getHttpRequest().getParam("sone");
- Sone sone = webInterface.getCore().getLocalSone(soneId);
- if (sone == null) {
+ Optional<LocalSone> localSone = webInterface.getCore().getLocalSone(soneId);
+ if (!localSone.isPresent()) {
return createErrorJsonObject("invalid-sone-id");
}
- webInterface.getCore().unlockSone(sone);
+ webInterface.getCore().unlockSone(localSone.get());
return createSuccessJsonObject();
}
import static org.mockito.Mockito.when;
import net.pterodactylus.sone.core.Core;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.freenet.SimpleFieldSetBuilder;
import net.pterodactylus.sone.freenet.fcp.Command.Response;
@Test
public void testLockingALocalSone() throws FcpException {
- Sone localSone = mock(Sone.class);
+ LocalSone localSone = mock(LocalSone.class);
when(localSone.getId()).thenReturn("LocalSone");
when(localSone.isLocal()).thenReturn(true);
Core core = mock(Core.class);
- when(core.getSone(eq("LocalSone"))).thenReturn(Optional.of(localSone));
- when(core.getLocalSone(eq("LocalSone"))).thenReturn(localSone);
+ when(core.getSone(eq("LocalSone"))).thenReturn(Optional.<Sone>of(localSone));
+ when(core.getLocalSone(eq("LocalSone"))).thenReturn(Optional.of(localSone));
SimpleFieldSet fields = new SimpleFieldSetBuilder().put("Sone", "LocalSone").get();
LockSoneCommand lockSoneCommand = new LockSoneCommand(core);
import static org.mockito.Mockito.when;
import net.pterodactylus.sone.core.Core;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.freenet.SimpleFieldSetBuilder;
import net.pterodactylus.sone.freenet.fcp.Command.Response;
@Test
public void testUnlockingALocalSone() throws FcpException {
- Sone localSone = mock(Sone.class);
+ LocalSone localSone = mock(LocalSone.class);
when(localSone.getId()).thenReturn("LocalSone");
when(localSone.isLocal()).thenReturn(true);
Core core = mock(Core.class);
- when(core.getSone(eq("LocalSone"))).thenReturn(Optional.of(localSone));
- when(core.getLocalSone(eq("LocalSone"))).thenReturn(localSone);
+ when(core.getSone(eq("LocalSone"))).thenReturn(Optional.<Sone>of(localSone));
+ when(core.getLocalSone(eq("LocalSone"))).thenReturn(Optional.of(localSone));
SimpleFieldSet fields = new SimpleFieldSetBuilder().put("Sone", "LocalSone").get();
UnlockSoneCommand unlockSoneCommand = new UnlockSoneCommand(core);
import java.util.Arrays;
import java.util.Collection;
+import net.pterodactylus.sone.data.LocalSone;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.data.impl.IdOnlySone;
import net.pterodactylus.sone.database.SoneProvider;
* {@inheritDocs}
*/
@Override
- public Collection<Sone> getLocalSones() {
+ public Collection<LocalSone> getLocalSones() {
return null;
}