/** * Loads or creates a dependency object for the given parameters.<p> * * @param cms the current OpenCms user context * @param pubRes the published resource to get the dependency object for * * @return a dependency object for the given parameters */ public static CmsDocumentDependency load(CmsObject cms, CmsPublishedResource pubRes) { CmsDocumentDependency result = readFromContext(cms, pubRes.getRootPath()); if (result == null) { result = new CmsDocumentDependency(pubRes); result.readDependencies(cms); } return result; }
/** * Loads or creates a dependency object for the given parameters.<p> * * @param cms the current OpenCms user context * @param res the VFS resource to get the dependency object for * @param resources the resource folder data to check for dependencies * * @return a dependency object for the given parameters */ public static CmsDocumentDependency load(CmsObject cms, CmsResource res, List<CmsResource> resources) { CmsDocumentDependency result = readFromContext(cms, res.getRootPath()); if (result == null) { result = new CmsDocumentDependency(res); result.readDependencies(cms, resources); } return result; }
/** * Loads or creates a dependency object for the given parameters.<p> * * @param cms the current OpenCms user context * @param res the VFS resource to get the dependency object for * * @return a dependency object for the given parameters */ public static CmsDocumentDependency load(CmsObject cms, CmsResource res) { CmsDocumentDependency result = readFromContext(cms, res.getRootPath()); if (result == null) { result = new CmsDocumentDependency(res); result.readDependencies(cms); } return result; }
/** * Reads all dependencies that exist for this main resource in the OpenCms VFS.<p> * * To be used when incremental updating an index.<p> * * @param cms the current users OpenCms context */ public void readDependencies(CmsObject cms) { try { // read all resources in the parent folder of the published resource List<CmsResource> folderContent = cms.getResourcesInFolder( CmsResource.getParentFolder(cms.getRequestContext().removeSiteRoot(getResource().getRootPath())), CmsResourceFilter.DEFAULT); // now calculate the dependencies form the folder content that has been read readDependencies(cms, folderContent); } catch (CmsException e) { LOG.warn("Unable to read dependencies for " + getResource().getRootPath(), e); } }