/** * Unlocks a resource.<p> * * @param dbc the current database context * @param resource the resource to unlock * @param force <code>true</code>, if a resource is forced to get unlocked, no matter by which user and in which project the resource is currently locked * @param removeSystemLock <code>true</code>, if you also want to remove system locks * * @throws CmsException if something goes wrong * * @see CmsObject#unlockResource(String) * @see I_CmsResourceType#unlockResource(CmsObject, CmsSecurityManager, CmsResource) */ public void unlockResource(CmsDbContext dbc, CmsResource resource, boolean force, boolean removeSystemLock) throws CmsException { // update the resource cache m_monitor.clearResourceCache(); // now update lock status m_lockManager.removeResource(dbc, resource, force, removeSystemLock); // we must also clear the permission cache m_monitor.flushCache(CmsMemoryMonitor.CacheType.PERMISSION); // fire resource modification event HashMap data = new HashMap(2); data.put(I_CmsEventListener.KEY_RESOURCE, resource); data.put(I_CmsEventListener.KEY_CHANGE, new Integer(NOTHING_CHANGED)); OpenCms.fireCmsEvent(new CmsEvent(I_CmsEventListener.EVENT_RESOURCE_MODIFIED, data)); }
/** * Unlocks a resource.<p> * * @param dbc the current database context * @param resource the resource to unlock * @param force <code>true</code>, if a resource is forced to get unlocked, no matter by which user and in which project the resource is currently locked * @param removeSystemLock <code>true</code>, if you also want to remove system locks * * @throws CmsException if something goes wrong * * @see CmsObject#unlockResource(String) * @see I_CmsResourceType#unlockResource(CmsObject, CmsSecurityManager, CmsResource) */ public void unlockResource(CmsDbContext dbc, CmsResource resource, boolean force, boolean removeSystemLock) throws CmsException { // update the resource cache m_monitor.clearResourceCache(); // now update lock status m_lockManager.removeResource(dbc, resource, force, removeSystemLock); // we must also clear the permission cache m_monitor.flushCache(CmsMemoryMonitor.CacheType.PERMISSION); // fire resource modification event Map<String, Object> data = new HashMap<String, Object>(2); data.put(I_CmsEventListener.KEY_RESOURCE, resource); data.put(I_CmsEventListener.KEY_CHANGE, new Integer(NOTHING_CHANGED)); OpenCms.fireCmsEvent(new CmsEvent(I_CmsEventListener.EVENT_RESOURCE_MODIFIED, data)); }
m_lockManager.removeResource(dbc, resource, true, lockType.isSystem());
m_lockManager.removeResource(dbc, resource, true, lockType.isSystem());