/** * Returns an extended filter to guarantee a distinct resource type of the filtered resources.<p> * * If <code>-1</code> is given as type, the filter will not be extended to require a resource type * * @param type the required resource type * @return a filter requiring the given resource type */ public CmsResourceFilter addRequireType(I_CmsResourceType type) { // TODO: Refactor driver layer to use resource type id classes (or names) instead of int return addRequireType(type.getTypeId()); }
m_notVisibleResourcesCount = 0; CmsResourceFilter filter = CmsResourceFilter.IGNORE_EXPIRATION.addRequireVisible(); String storedSiteRoot = m_cms.getRequestContext().getSiteRoot(); try {
/** * Returns the first ancestor folder matching the resource type.<p> * * If no folder with the requested resource type is found, null is returned.<p> * * @param resourcename the name of the resource to start (full current site relative path) * @param type the resource type of the folder to match * * @return the first ancestor folder matching the filter criteria or null if no folder was found * * @throws CmsException if something goes wrong */ public CmsFolder readAncestor(String resourcename, int type) throws CmsException { return readAncestor(resourcename, CmsResourceFilter.requireType(type)); }
/** * Returns a new CmsResourceFilter requiring the given type.<p> * * @param type the required resource type * @return a filter requiring the given type */ public static CmsResourceFilter requireType(I_CmsResourceType type) { return new CmsResourceFilter().addRequireType(type); }
/** * Returns all resources in the folder pointed to by the parameter.<p> * * @param cms the current OpenCms user context * @param param the folder name to use * @param tree if true, look in folder and all child folders, if false, look only in given folder * * @return all resources in the folder matching the given criteria * * @throws CmsException if something goes wrong * @throws CmsIllegalArgumentException if the given param argument is not a link to a single file * */ protected List getAllInFolder(CmsObject cms, String param, boolean tree) throws CmsException, CmsIllegalArgumentException { CmsCollectorData data = new CmsCollectorData(param); String foldername = CmsResource.getFolderPath(data.getFileName()); CmsResourceFilter filter = CmsResourceFilter.DEFAULT.addRequireType(data.getType()).addExcludeFlags( CmsResource.FLAG_TEMPFILE); List result = cms.readResources(foldername, filter, tree); Collections.sort(result, CmsResource.COMPARE_ROOT_PATH); Collections.reverse(result); return shrinkToFit(result, data.getCount()); }
if (resTypeId == -1) { filter = CmsResourceFilter.ONLY_VISIBLE_NO_DELETED.addRequireTimerange().addRequireFile(); } else { filter = CmsResourceFilter.ONLY_VISIBLE_NO_DELETED.addRequireTimerange().addRequireType( resTypeId);
CmsResourceFilter filter = CmsResourceFilter.ALL.addRequireFile().addExcludeState( CmsResource.STATE_DELETED).addRequireTimerange().addRequireVisible(); List<CmsResource> resources = getCms().readResources( CmsWorkplace.VFS_PATH_MODULES + m_cloneInfo.getName() + "/",
/** * Returns all resources in the folder pointed to by the parameter.<p> * * @param cms the current OpenCms user context * @param param the folder name to use * @param tree if true, look in folder and all child folders, if false, look only in given folder * @param numResults the number of results * * @return all resources in the folder matching the given criteria * * @throws CmsException if something goes wrong * @throws CmsIllegalArgumentException if the given param argument is not a link to a single file * */ protected List<CmsResource> getAllInFolder(CmsObject cms, String param, boolean tree, int numResults) throws CmsException, CmsIllegalArgumentException { CmsCollectorData data = new CmsCollectorData(param); String foldername = CmsResource.getFolderPath(data.getFileName()); CmsResourceFilter filter = CmsResourceFilter.DEFAULT_FILES.addRequireType(data.getType()).addExcludeFlags( CmsResource.FLAG_TEMPFILE); if (data.isExcludeTimerange() && !cms.getRequestContext().getCurrentProject().isOnlineProject()) { // include all not yet released and expired resources in an offline project filter = filter.addExcludeTimerange(); } List<CmsResource> result = cms.readResources(foldername, filter, tree); Collections.sort(result, I_CmsResource.COMPARE_ROOT_PATH); Collections.reverse(result); return shrinkToFit(result, data.getCount(), numResults); }
CmsResourceFilter filter = CmsResourceFilter.ALL.addRequireType(CmsResourceTypeJsp.getStaticTypeId()); itResources = readResourceTree( dbc, projectId, folder.getRootPath(), filter.getType(), filter.getState(), filter.getModifiedAfter(), filter.getModifiedBefore(), filter.getReleaseAfter(), filter.getReleaseBefore(), filter.getExpireAfter(), filter.getExpireBefore(), CmsDriverManager.READMODE_INCLUDE_TREE).iterator(); while (itResources.hasNext()) {
CmsResourceFilter filter = CmsResourceFilter.ALL.addExcludeState(CmsResourceState.STATE_DELETED); filter = filter.addRequireExpireBefore(currenttime); for (int i = resTypesArr.length - 1; i >= 0; i--) { type = resManager.getResourceType(resTypesArr[i]); filter = filter.addRequireType(type.getTypeId()); for (int j = topFoldersArr.length - 1; j >= 0; j--) { resources = cms.readResources(topFoldersArr[j], filter, true); filter = filter.addRequireFile(); for (int j = topFoldersArr.length - 1; j >= 0; j--) { resources = cms.readResources(topFoldersArr[j], filter, true);
List<CmsResource> seoFiles = cms.readResources( "/", CmsResourceFilter.DEFAULT_FILES.addRequireVisible().addRequireType(seoFileType)); for (CmsResource seoFile : seoFiles) { try {
try { resources = m_cms.readResources(resourceName, CmsResourceFilter.IGNORE_EXPIRATION.addRequireFile()); } catch (CmsException e) { if (m_report != null) {
if (cms.existsResource(target, CmsResourceFilter.ALL.addRequireFolder())) { } else if (cms.existsResource(target, CmsResourceFilter.ALL.addRequireFile())) { CmsResourceFilter.ALL.addRequireFolder())) { targetName = CmsResource.getName(target); targetFolder = cms.readResource(CmsResource.getParentFolder(target));
List<CmsResource> subResources = cms.readResources( resource, CmsResourceFilter.ONLY_VISIBLE.addExcludeState(CmsResourceState.STATE_UNCHANGED), true); for (CmsResource sub : subResources) {
/** * @see java.lang.Object#clone() */ @Override public Object clone() { CmsResourceFilter filter = new CmsResourceFilter(); filter.m_cacheId = m_cacheId; filter.m_expireAfter = m_expireAfter; filter.m_expireBefore = m_expireBefore; filter.m_filterExpire = m_filterExpire; filter.m_filterFlags = m_filterFlags; filter.m_filterLastModified = m_filterLastModified; filter.m_filterRelease = m_filterRelease; filter.m_filterState = m_filterState; filter.m_filterTimerange = m_filterTimerange; filter.m_filterType = m_filterType; filter.m_filterVisible = m_filterVisible; filter.m_flags = m_flags; filter.m_modifiedAfter = m_modifiedAfter; filter.m_modifiedBefore = m_modifiedBefore; filter.m_onlyFolders = m_onlyFolders; filter.m_releaseAfter = m_releaseAfter; filter.m_releaseBefore = m_releaseBefore; filter.m_state = m_state; filter.m_type = m_type; return filter; }
CmsResourceFilter filter = CmsResourceFilter.ALL.addRequireFile().addExcludeState( CmsResource.STATE_DELETED).addRequireTimerange().addRequireVisible(); if ((m_settings.getTypesArray() != null) && (m_settings.getTypesArray().length > 0)) { for (String resTypeName : m_settings.getTypesArray()) { try { int typeId = OpenCms.getResourceManager().getResourceType(resTypeName).getTypeId(); filter = filter.addRequireType(typeId); } catch (CmsLoaderException e) {
/** * Returns a List of all resources in the folder pointed to by the parameter * sorted by the release date, descending.<p> * * @param cms the current CmsObject * @param param the folder name to use * @param tree if true, look in folder and all child folders, if false, look only in given folder * @param numResults the number of results * * @return a List of all resources in the folder pointed to by the parameter * sorted by the release date, descending * * @throws CmsException if something goes wrong */ protected List<CmsResource> allInFolderDateReleasedDesc(CmsObject cms, String param, boolean tree, int numResults) throws CmsException { CmsCollectorData data = new CmsCollectorData(param); String foldername = CmsResource.getFolderPath(data.getFileName()); CmsResourceFilter filter = CmsResourceFilter.DEFAULT_FILES.addRequireType(data.getType()).addExcludeFlags( CmsResource.FLAG_TEMPFILE); if (data.isExcludeTimerange() && !cms.getRequestContext().getCurrentProject().isOnlineProject()) { // include all not yet released and expired resources in an offline project filter = filter.addExcludeTimerange(); } List<CmsResource> result = cms.readResources(foldername, filter, tree); Collections.sort(result, I_CmsResource.COMPARE_DATE_RELEASED); return shrinkToFit(result, data.getCount(), numResults); }
/** * Returns a List of all resources in the folder pointed to by the parameter * sorted by the release date, descending.<p> * * @param cms the current CmsObject * @param param the folder name to use * @param tree if true, look in folder and all child folders, if false, look only in given folder * * @return a List of all resources in the folder pointed to by the parameter * sorted by the release date, descending * * @throws CmsException if something goes wrong */ protected List allInFolderDateReleasedDesc(CmsObject cms, String param, boolean tree) throws CmsException { CmsCollectorData data = new CmsCollectorData(param); String foldername = CmsResource.getFolderPath(data.getFileName()); CmsResourceFilter filter = CmsResourceFilter.DEFAULT.addRequireType(data.getType()).addExcludeFlags( CmsResource.FLAG_TEMPFILE); List result = cms.readResources(foldername, filter, tree); Collections.sort(result, CmsResource.COMPARE_DATE_RELEASED); return shrinkToFit(result, data.getCount()); }
CmsResourceFilter filter = CmsResourceFilter.ALL.addExcludeState(CmsResourceState.STATE_DELETED); filter = filter.addRequireExpireBefore(currenttime); for (int i = resTypesArr.length - 1; i >= 0; i--) { type = resManager.getResourceType(resTypesArr[i]); filter = filter.addRequireType(type.getTypeId()); for (int j = topFoldersArr.length - 1; j >= 0; j--) { resources = cms.readResources(topFoldersArr[j], filter, true); filter = filter.addRequireFile(); for (int j = topFoldersArr.length - 1; j >= 0; j--) { resources = cms.readResources(topFoldersArr[j], filter, true);
if (resTypeId == -1) { filter = CmsResourceFilter.ONLY_VISIBLE_NO_DELETED.addRequireTimerange().addRequireFile(); } else { filter = CmsResourceFilter.ONLY_VISIBLE_NO_DELETED.addRequireTimerange().addRequireType( resTypeId);