wip on file comments

This commit is contained in:
Zlatin Balevsky
2019-10-11 18:42:02 +01:00
parent 8b8e5d59be
commit b28587a275
16 changed files with 306 additions and 2 deletions

View File

@@ -115,11 +115,13 @@ class PersisterService extends Service {
List sources = (List)json.sources
Set<Destination> sourceSet = sources.stream().map({d -> new Destination(d.toString())}).collect Collectors.toSet()
DownloadedFile df = new DownloadedFile(file, ih, pieceSize, sourceSet)
df.setComment(json.comment)
return new FileLoadedEvent(loadedFile : df)
}
SharedFile sf = new SharedFile(file, ih, pieceSize)
sf.setComment(json.comment)
return new FileLoadedEvent(loadedFile: sf)
}
@@ -148,6 +150,7 @@ class PersisterService extends Service {
json.infoHash = sf.getB64EncodedHashRoot()
json.pieceSize = sf.getPieceSize()
json.hashList = sf.getB64EncodedHashList()
json.comment = sf.getComment()
if (sf instanceof DownloadedFile) {
json.sources = sf.sources.stream().map( {d -> d.toBase64()}).collect(Collectors.toList())

View File

@@ -90,6 +90,10 @@ class ResultsParser {
Set<Destination> sources = Collections.emptySet()
if (json.sources != null)
sources = json.sources.stream().map({new Destination(it)}).collect(Collectors.toSet())
String comment = null
if (json.comment != null)
comment = DataUtil.readi18nString(Base64.decode(json.comment))
return new UIResultEvent( sender : p,
name : name,
@@ -97,6 +101,7 @@ class ResultsParser {
infohash : new InfoHash(infoHash),
pieceSize : pieceSize,
sources : sources,
comment : comment,
uuid: uuid)
} catch (Exception e) {
throw new InvalidSearchResultException("parsing search result failed",e)

View File

@@ -121,6 +121,9 @@ class ResultsSender {
if (it instanceof DownloadedFile)
obj.sources = it.sources.stream().map({dest -> dest.toBase64()}).collect(Collectors.toSet())
if (it.getComment() != null)
obj.comment = it.getComment()
def json = jsonOutput.toJson(obj)
os.writeShort((short)json.length())

View File

@@ -14,6 +14,7 @@ class UIResultEvent extends Event {
long size
InfoHash infohash
int pieceSize
String comment
@Override
public String toString() {

View File

@@ -21,6 +21,8 @@ public class SharedFile {
private final String b64EncodedFileName;
private final String b64EncodedHashRoot;
private final List<String> b64EncodedHashList;
private volatile String comment;
public SharedFile(File file, InfoHash infoHash, int pieceSize) throws IOException {
this.file = file;
@@ -80,6 +82,14 @@ public class SharedFile {
public long getCachedLength() {
return cachedLength;
}
public void setComment(String comment) {
this.comment = comment;
}
public String getComment() {
return comment;
}
@Override
public int hashCode() {