/** * Initiates the dereferencing process of some of the URIs identified in the dataset, chosen in * accordance with a statistical sampling method, in order to compute the estimated * dereferenceability of the whole dataset * * @return estimated dereferencibility, computed as aforementioned */ @Override public double metricValue() { if (!this.metricCalculated) { uriSet.addAll(this.fqurisReservoir.getItems()); double uriSize = (double) uriSet.size(); // Process this.httpRetreiver.addListOfResourceToQueue(this.fqurisReservoir.getItems()); this.httpRetreiver.start(true); do { this.checkForForwardLinking(); uriSet.clear(); uriSet.addAll(this.notFetchedQueue); this.notFetchedQueue.clear(); } while (!this.uriSet.isEmpty()); this.metricCalculated = true; httpRetreiver.stop(); // End Process metricValue = (totalDerefDataWithSub == 0.0) ? 0.0 : (double) totalDerefDataWithSub / uriSize; statsLogger.info( "Estimated Dereferencable Forward Links Metric: Dataset: {} - Total # Forward Links URIs {}; Total URIs : {}", EnvironmentProperties.getInstance().getDatasetURI(), totalDerefDataWithSub, uriSize); } return this.metricValue; }
@Override public double metricValue() { double noDocs = this.docs.size(); double noDocsWithoutEndorcement = 0.0; for (DigitalSignature ds : this.docs.values()) noDocsWithoutEndorcement += (ds.fullEndorcement()) ? 1 : 0; statsLogger.info( "DigitalSignatureUsage. Dataset: {} - Total # Documents : {}; # Documents without Endorcement : {};", EnvironmentProperties.getInstance().getDatasetURI(), noDocs, noDocsWithoutEndorcement); return (noDocsWithoutEndorcement / noDocs); }