/** Keep only project stuff */ public void clear() { Iterator<Map.Entry<Resource, Bucket>> it = buckets.entrySet().iterator(); while (it.hasNext()) { Map.Entry<Resource, Bucket> entry = it.next(); Resource resource = entry.getKey(); if (!ResourceUtils.isSet(resource)) { entry.getValue().clear(); it.remove(); } } // store dependencies for (Dependency dep : dependencies) { dependencyPersister.saveDependency(currentProject, dep); } // Keep only inter module dependencies Set<Dependency> projectDependencies = getDependenciesBetweenProjects(); dependencies.clear(); incomingDependenciesByResource.clear(); outgoingDependenciesByResource.clear(); for (Dependency projectDependency : projectDependencies) { projectDependency.setId(null); registerDependency(projectDependency); } }
@Override public Dependency addDependency(Dependency dependency) { // Reload resources Resource from = getResource(dependency.getFrom()); Preconditions.checkArgument(from != null, dependency.getFrom() + " is not indexed"); dependency.setFrom(from); Resource to = getResource(dependency.getTo()); Preconditions.checkArgument(to != null, dependency.getTo() + " is not indexed"); dependency.setTo(to); Dependency existingDep = getEdge(from, to); if (existingDep != null) { return existingDep; } Dependency parentDependency = dependency.getParent(); if (parentDependency != null) { addDependency(parentDependency); } registerDependency(dependency); return dependency; }
/** Keep only project stuff */ public void clear() { Iterator<Map.Entry<Resource, Bucket>> it = buckets.entrySet().iterator(); while (it.hasNext()) { Map.Entry<Resource, Bucket> entry = it.next(); Resource resource = entry.getKey(); if (!ResourceUtils.isSet(resource)) { entry.getValue().clear(); it.remove(); } } Set<Dependency> projectDependencies = getDependenciesBetweenProjects(); dependencies.clear(); incomingDependenciesByResource.clear(); outgoingDependenciesByResource.clear(); for (Dependency projectDependency : projectDependencies) { projectDependency.setId(null); registerDependency(projectDependency); } lock.unlock(); }