/** * @see org.opencms.db.I_CmsUserDriver#publishAccessControlEntries(org.opencms.db.CmsDbContext, org.opencms.file.CmsProject, org.opencms.file.CmsProject, org.opencms.util.CmsUUID, org.opencms.util.CmsUUID) */ public void publishAccessControlEntries( CmsDbContext dbc, CmsProject offlineProject, CmsProject onlineProject, CmsUUID offlineId, CmsUUID onlineId) throws CmsDataAccessException { // at first, we remove all access contries of this resource in the online project m_driverManager.getUserDriver(dbc).removeAccessControlEntries(dbc, onlineProject, onlineId); // then, we copy the access control entries from the offline project into the online project CmsUUID dbcProjectId = dbc.getProjectId(); if ((dbcProjectId != null) && !dbc.getProjectId().isNullUUID()) { dbc.setProjectId(offlineProject.getUuid()); } else { dbc.setProjectId(CmsUUID.getNullUUID()); } List<CmsAccessControlEntry> aces = m_driverManager.getUserDriver(dbc).readAccessControlEntries( dbc, offlineProject, offlineId, false); dbc.setProjectId(dbcProjectId); for (CmsAccessControlEntry ace : aces) { m_driverManager.getUserDriver(dbc).writeAccessControlEntry(dbc, onlineProject, ace); } }
/** * @see org.opencms.db.I_CmsUserDriver#publishAccessControlEntries(org.opencms.db.CmsDbContext, org.opencms.file.CmsProject, org.opencms.file.CmsProject, org.opencms.util.CmsUUID, org.opencms.util.CmsUUID) */ public void publishAccessControlEntries( CmsDbContext dbc, CmsProject offlineProject, CmsProject onlineProject, CmsUUID offlineId, CmsUUID onlineId) throws CmsDataAccessException { // at first, we remove all access contries of this resource in the online project m_driverManager.getUserDriver(dbc).removeAccessControlEntries(dbc, onlineProject, onlineId); // then, we copy the access control entries from the offline project into the online project CmsUUID dbcProjectId = dbc.getProjectId(); if ((dbcProjectId != null) && !dbc.getProjectId().isNullUUID()) { dbc.setProjectId(offlineProject.getUuid()); } else { dbc.setProjectId(CmsUUID.getNullUUID()); } List<CmsAccessControlEntry> aces = m_driverManager.getUserDriver(dbc).readAccessControlEntries( dbc, offlineProject, offlineId, false); dbc.setProjectId(dbcProjectId); for (CmsAccessControlEntry ace : aces) { m_driverManager.getUserDriver(dbc).writeAccessControlEntry(dbc, onlineProject, ace); } }
/** * @see org.opencms.db.I_CmsVfsDriver#updateRelations(CmsDbContext, CmsProject, CmsResource) */ public void updateRelations(CmsDbContext dbc, CmsProject onlineProject, CmsResource offlineResource) throws CmsDataAccessException { // delete online relations I_CmsVfsDriver vfsDriver = m_driverManager.getVfsDriver(dbc); vfsDriver.deleteRelations(dbc, onlineProject.getUuid(), offlineResource, CmsRelationFilter.TARGETS); CmsUUID projectId; if (!dbc.getProjectId().isNullUUID()) { projectId = CmsProject.ONLINE_PROJECT_ID; } else { projectId = dbc.currentProject().getUuid(); } // copy offline to online relations CmsUUID dbcProjectId = dbc.getProjectId(); dbc.setProjectId(CmsUUID.getNullUUID()); Iterator<CmsRelation> itRelations = m_driverManager.getVfsDriver(dbc).readRelations( dbc, projectId, offlineResource, CmsRelationFilter.TARGETS).iterator(); dbc.setProjectId(dbcProjectId); while (itRelations.hasNext()) { vfsDriver.createRelation(dbc, onlineProject.getUuid(), itRelations.next()); } }
/** * @see org.opencms.db.I_CmsVfsDriver#updateRelations(CmsDbContext, CmsProject, CmsResource) */ public void updateRelations(CmsDbContext dbc, CmsProject onlineProject, CmsResource offlineResource) throws CmsDataAccessException { // delete online relations I_CmsVfsDriver vfsDriver = m_driverManager.getVfsDriver(dbc); vfsDriver.deleteRelations(dbc, onlineProject.getUuid(), offlineResource, CmsRelationFilter.TARGETS); CmsUUID projectId; if (!dbc.getProjectId().isNullUUID()) { projectId = CmsProject.ONLINE_PROJECT_ID; } else { projectId = dbc.currentProject().getUuid(); } // copy offline to online relations CmsUUID dbcProjectId = dbc.getProjectId(); dbc.setProjectId(CmsUUID.getNullUUID()); Iterator<CmsRelation> itRelations = m_driverManager.getVfsDriver(dbc).readRelations( dbc, projectId, offlineResource, CmsRelationFilter.TARGETS).iterator(); dbc.setProjectId(dbcProjectId); while (itRelations.hasNext()) { vfsDriver.createRelation(dbc, onlineProject.getUuid(), itRelations.next()); } }
/** * @see org.opencms.db.I_CmsVfsDriver#updateRelations(CmsDbContext, CmsProject, CmsResource) */ public void updateRelations(CmsDbContext dbc, CmsProject onlineProject, CmsResource offlineResource) throws CmsDataAccessException { // delete online relations m_driverManager.getVfsDriver().deleteRelations( dbc, onlineProject.getUuid(), offlineResource, CmsRelationFilter.TARGETS); CmsUUID projectId; if (!dbc.getProjectId().isNullUUID()) { projectId = CmsProject.ONLINE_PROJECT_ID; } else { projectId = dbc.currentProject().getUuid(); } // copy offline to online relations CmsUUID dbcProjectId = dbc.getProjectId(); dbc.setProjectId(CmsUUID.getNullUUID()); Iterator itRelations = m_driverManager.getVfsDriver().readRelations( dbc, projectId, offlineResource, CmsRelationFilter.TARGETS).iterator(); dbc.setProjectId(dbcProjectId); while (itRelations.hasNext()) { m_driverManager.getVfsDriver().createRelation(dbc, onlineProject.getUuid(), (CmsRelation)itRelations.next()); } }
dbc.setProjectId(CmsUUID.getNullUUID()); conn = m_sqlManager.getConnection(dbc); stmt = m_sqlManager.getPreparedStatement(conn, offlineProject, "C_ACCESS_READ_ENTRIES_1"); dbc.setProjectId(dbcProjectId);
CmsResource root = null; try { dbc.setProjectId(project.getUuid()); root = m_driverManager.readResource(dbc, "/", CmsResourceFilter.ALL); } catch (Exception e) { dbc.setProjectId(currentProject.getUuid());
dbc.setProjectId(CmsUUID.getNullUUID()); byte[] offlineContent = m_driverManager.getVfsDriver().readContent( dbc, CmsFile offlineFile = new CmsFile(offlineResource); offlineFile.setContents(offlineContent); dbc.setProjectId(projectId);
boolean dbcHasProjectId = (projectId != null) && !projectId.isNullUUID(); CmsUUID projectIdForReading = (!dbcHasProjectId ? offlineProject.getUuid() : CmsProject.ONLINE_PROJECT_ID); dbc.setProjectId(offlineProject.getUuid()); byte[] offlineContent = m_driverManager.getVfsDriver(dbc).readContent( dbc, CmsFile offlineFile = new CmsFile(offlineResource); offlineFile.setContents(offlineContent); dbc.setProjectId(projectId);
boolean dbcHasProjectId = (projectId != null) && !projectId.isNullUUID(); CmsUUID projectIdForReading = (!dbcHasProjectId ? offlineProject.getUuid() : CmsProject.ONLINE_PROJECT_ID); dbc.setProjectId(offlineProject.getUuid()); byte[] offlineContent = m_driverManager.getVfsDriver(dbc).readContent( dbc, CmsFile offlineFile = new CmsFile(offlineResource); offlineFile.setContents(offlineContent); dbc.setProjectId(projectId);