@Override public Set<String> getUpdatedResources( final String deploymentName, final Map<String, Long> updatedResources) { final ModuleIdentifier moduleId = getModuleIdentifier(deploymentName); final ModuleClassLoader loader = loadersByModuleIdentifier.get(moduleId); if (loader == null) { return Collections.emptySet(); } final DeploymentUnit deploymentUnit = (DeploymentUnit) CurrentServiceRegistry.getServiceRegistry() .getRequiredService(Services.deploymentUnitName(deploymentName)) .getValue(); final ResourceRoot root = deploymentUnit.getAttachment(Attachments.DEPLOYMENT_ROOT); final Set<String> resources = new HashSet<String>(); for (final Map.Entry<String, Long> entry : updatedResources.entrySet()) { final VirtualFile file = root.getRoot().getChild(entry.getKey()); if (file.exists()) { long last = file.getLastModified(); if (entry.getValue() > last) { resources.add(entry.getKey()); } } } return resources; }
/** {@inheritDoc} */ public long getLastModified(VirtualFile mountPoint, VirtualFile target) { final VirtualFile assemblyFile = assembly.getFile(mountPoint, target); return assemblyFile == null ? 0L : assemblyFile.getLastModified(); }