final Document d = r.document(i);
final String uinfo = d.get(ArtifactInfo.UINFO);
if (uinfo != null && !processedUinfos.contains(uinfo)) {
// file is not present in storage but is on index, delete it from index
final String[] ra = ArtifactInfo.FS_PATTERN.split(uinfo);
final ArtifactInfo ai = new ArtifactInfo();
ai.repository = context.getRepositoryId();
ai.groupId = ra[0];
ai.artifactId = ra[1];
ai.version = ra[2];
if (ra.length > 3) {
ai.classifier = ArtifactInfo.renvl(ra[3]);
}
if (ra.length > 4) {
ai.packaging = ArtifactInfo.renvl(ra[4]);
}
// minimal ArtifactContext for removal
final ArtifactContext ac = new ArtifactContext(null, null, null, ai, ai.calculateGav());
if (contextPath == null
|| context.getGavCalculator().gavToPath(ac.getGav()).startsWith(contextPath)) {
if (IndexOp.DELETED == remove(ac)) {
deleted++;
}