mirror of https://github.com/zlatinb/muwire
count number of failes that have failed to load
parent
35d0d72f1b
commit
264ba83936
|
@ -3,4 +3,5 @@ package com.muwire.core.files
|
||||||
import com.muwire.core.Event
|
import com.muwire.core.Event
|
||||||
|
|
||||||
class AllFilesLoadedEvent extends Event {
|
class AllFilesLoadedEvent extends Event {
|
||||||
|
int failed
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@ import java.nio.file.Paths
|
||||||
import java.util.concurrent.ExecutorService
|
import java.util.concurrent.ExecutorService
|
||||||
import java.util.concurrent.Executors
|
import java.util.concurrent.Executors
|
||||||
import java.util.concurrent.ThreadFactory
|
import java.util.concurrent.ThreadFactory
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger
|
||||||
import java.util.logging.Level
|
import java.util.logging.Level
|
||||||
import java.util.stream.Stream
|
import java.util.stream.Stream
|
||||||
|
|
||||||
|
@ -134,6 +135,7 @@ class PersisterFolderService extends BasePersisterService {
|
||||||
*/
|
*/
|
||||||
private void _load() {
|
private void _load() {
|
||||||
int loaded = 0
|
int loaded = 0
|
||||||
|
AtomicInteger failed = new AtomicInteger()
|
||||||
Stream<Path> stream = Files.walk(location.toPath())
|
Stream<Path> stream = Files.walk(location.toPath())
|
||||||
if (core.muOptions.plugin)
|
if (core.muOptions.plugin)
|
||||||
stream = stream.parallel()
|
stream = stream.parallel()
|
||||||
|
@ -141,21 +143,26 @@ class PersisterFolderService extends BasePersisterService {
|
||||||
it.getFileName().toString().endsWith(".json")
|
it.getFileName().toString().endsWith(".json")
|
||||||
})
|
})
|
||||||
.forEach({
|
.forEach({
|
||||||
|
log.fine("processing path $it")
|
||||||
def slurper = new JsonSlurper()
|
def slurper = new JsonSlurper()
|
||||||
def parsed = slurper.parse it.toFile()
|
try {
|
||||||
def event = fromJsonLite parsed
|
def parsed = slurper.parse it.toFile()
|
||||||
if (event == null) return
|
def event = fromJsonLite parsed
|
||||||
|
if (event == null) return
|
||||||
|
|
||||||
log.fine("loaded file $event.loadedFile.file")
|
log.fine("loaded file $event.loadedFile.file")
|
||||||
listener.publish event
|
listener.publish event
|
||||||
if (!core.muOptions.plugin) {
|
if (!core.muOptions.plugin) {
|
||||||
loaded++
|
loaded++
|
||||||
if (loaded % 10 == 0)
|
if (loaded % 10 == 0)
|
||||||
Thread.sleep(20)
|
Thread.sleep(20)
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.log(Level.WARNING,"failed to load $it",e)
|
||||||
|
failed.incrementAndGet()
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
listener.publish(new AllFilesLoadedEvent())
|
listener.publish(new AllFilesLoadedEvent(failed : failed.get()))
|
||||||
}
|
}
|
||||||
|
|
||||||
private void persistFile(SharedFile sf, InfoHash ih) {
|
private void persistFile(SharedFile sf, InfoHash ih) {
|
||||||
|
|
Loading…
Reference in New Issue