Project

General

Profile

1
package eu.dnetlib.msro.workflows.util;
2

    
3
import eu.dnetlib.enabling.resultset.ResultSetInfo;
4
import eu.dnetlib.enabling.resultset.client.ResultSetClient;
5
import eu.dnetlib.rmi.common.ResultSet;
6

    
7
public class ResultsetProgressProvider implements ProgressProvider {
8

    
9
	private final ResultSet<?> rs;
10
	private final ResultSetClient rsClient;
11

    
12
	public ResultsetProgressProvider(final ResultSet<?> rs, final ResultSetClient rsClient) {
13
		super();
14
		this.rs = rs;
15
		this.rsClient = rsClient;
16
	}
17

    
18
	@Override
19
	public String asString() {
20
		try {
21
			final ResultSetInfo info = this.rsClient.info(this.rs);
22

    
23
			if (info == null) { return "-"; }
24

    
25
			return info.getCursor() < 0 ? "-"
26
					: String.format("%s / %s", info.getCursor(), info.isInaccurate() || info.getTotal() < 0 ? "???" : info.getTotal());
27

    
28
		} catch (final Throwable e) {
29
			return "-";
30
		}
31
	}
32

    
33
}
(5-5/7)