private void monitorResource(final MavenModelResource pomResource) { if (Projects.isCacheDisabled()) { return; } final ResourceMonitor monitor = pomResource.monitor(); monitor.addResourceListener((event) -> { evictFromCache(pomResource); monitor.cancel(); }); }
private void cacheProject(final Project project) if (Projects.isCacheDisabled())
public ModelBuildingResult getModelBuildingResult(MavenModelResource pomResource) throws ModelBuildingException { ModelBuildingResult result = cacheModel.get(pomResource.getFullyQualifiedName()); if (result == null) { ModelBuilder builder = getModelBuilder(); DefaultModelBuildingRequest request = getModelBuildingRequest(); boolean inTransaction = !pomResource.getUnderlyingResourceObject().exists(); // FORGE-1287 if (inTransaction) { // If under a transaction, don't start monitoring request.setModelSource(new FileResourceModelSource(pomResource)); } else { request.setPomFile(pomResource.getUnderlyingResourceObject()); monitorResource(pomResource); } result = builder.build(request); if (!Projects.isCacheDisabled()) { cacheModel.put(pomResource.getFullyQualifiedName(), result); } } return result; }
if (result != null && !Projects.isCacheDisabled()) cacheProject.put(pomResource.getFullyQualifiedName(), result);