mirror of https://github.com/zlatinb/muwire
update plugin for batched browse results
parent
9e3a9e2737
commit
f83275e1e7
|
@ -1,16 +1,19 @@
|
||||||
package com.muwire.webui;
|
package com.muwire.webui;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
import com.muwire.core.Core;
|
import com.muwire.core.Core;
|
||||||
import com.muwire.core.Persona;
|
import com.muwire.core.Persona;
|
||||||
import com.muwire.core.search.BrowseStatus;
|
import com.muwire.core.search.BrowseStatus;
|
||||||
import com.muwire.core.search.BrowseStatusEvent;
|
import com.muwire.core.search.BrowseStatusEvent;
|
||||||
import com.muwire.core.search.UIBrowseEvent;
|
import com.muwire.core.search.UIBrowseEvent;
|
||||||
|
import com.muwire.core.search.UIResultBatchEvent;
|
||||||
import com.muwire.core.search.UIResultEvent;
|
import com.muwire.core.search.UIResultEvent;
|
||||||
|
|
||||||
public class BrowseManager {
|
public class BrowseManager {
|
||||||
|
@ -28,15 +31,19 @@ public class BrowseManager {
|
||||||
return; // hmm
|
return; // hmm
|
||||||
browse.status = e.getStatus();
|
browse.status = e.getStatus();
|
||||||
browse.revision++;
|
browse.revision++;
|
||||||
if (browse.status == BrowseStatus.FETCHING)
|
if (browse.status == BrowseStatus.FETCHING) {
|
||||||
browse.totalResults = e.getTotalResults();
|
browse.totalResults = e.getTotalResults();
|
||||||
|
browse.uuid = e.getUuid();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onUIResultEvent(UIResultEvent e) {
|
public void onUIResultBatchEvent(UIResultBatchEvent e) {
|
||||||
Browse browse = browses.get(e.getSender());
|
Browse browse = browses.get(e.getResults()[0].getSender());
|
||||||
if (browse == null)
|
if (browse == null)
|
||||||
return;
|
return;
|
||||||
browse.results.add(e);
|
if (!browse.uuid.equals(e.getUuid()))
|
||||||
|
return;
|
||||||
|
browse.results.addAll(Arrays.asList(e.getResults()));
|
||||||
browse.revision++;
|
browse.revision++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,6 +72,7 @@ public class BrowseManager {
|
||||||
private volatile BrowseStatus status;
|
private volatile BrowseStatus status;
|
||||||
private volatile int totalResults;
|
private volatile int totalResults;
|
||||||
private volatile long revision;
|
private volatile long revision;
|
||||||
|
private volatile UUID uuid;
|
||||||
private final List<UIResultEvent> results = Collections.synchronizedList(new ArrayList<>());
|
private final List<UIResultEvent> results = Collections.synchronizedList(new ArrayList<>());
|
||||||
|
|
||||||
Browse(Persona persona) {
|
Browse(Persona persona) {
|
||||||
|
|
|
@ -164,7 +164,7 @@ public class MuWireClient {
|
||||||
|
|
||||||
BrowseManager browseManager = new BrowseManager(core);
|
BrowseManager browseManager = new BrowseManager(core);
|
||||||
core.getEventBus().register(BrowseStatusEvent.class, browseManager);
|
core.getEventBus().register(BrowseStatusEvent.class, browseManager);
|
||||||
core.getEventBus().register(UIResultEvent.class, browseManager);
|
core.getEventBus().register(UIResultBatchEvent.class, browseManager);
|
||||||
|
|
||||||
TrustManager trustManager = new TrustManager();
|
TrustManager trustManager = new TrustManager();
|
||||||
core.getEventBus().register(TrustEvent.class, trustManager);
|
core.getEventBus().register(TrustEvent.class, trustManager);
|
||||||
|
|
Loading…
Reference in New Issue