cmsprojectdriver.java
来自「找了很久才找到到源代码」· Java 代码 · 共 1,511 行 · 第 1/5 页
JAVA
1,511 行
}
/**
* @see org.opencms.db.I_CmsProjectDriver#deleteProject(org.opencms.db.CmsDbContext, org.opencms.file.CmsProject)
*/
public void deleteProject(CmsDbContext dbc, CmsProject project) throws CmsDataAccessException {
// delete the resources from project_resources
deleteProjectResources(dbc, project);
// remove the project id form all resources within their project
unmarkProjectResources(dbc, project);
// finally delete the project
Connection conn = null;
PreparedStatement stmt = null;
try {
conn = m_sqlManager.getConnection(dbc);
stmt = m_sqlManager.getPreparedStatement(conn, "C_PROJECTS_DELETE_1");
// create the statement
stmt.setString(1, project.getUuid().toString());
stmt.executeUpdate();
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(
Messages.ERR_GENERIC_SQL_1,
CmsDbSqlException.getErrorQuery(stmt)), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, null);
}
}
/**
* @see org.opencms.db.I_CmsProjectDriver#deleteProjectResource(org.opencms.db.CmsDbContext, CmsUUID, java.lang.String)
*/
public void deleteProjectResource(CmsDbContext dbc, CmsUUID projectId, String resourceName)
throws CmsDataAccessException {
Connection conn = null;
PreparedStatement stmt = null;
try {
conn = m_sqlManager.getConnection(dbc);
stmt = m_sqlManager.getPreparedStatement(conn, "C_PROJECTRESOURCES_DELETE_2");
// delete resource from the database
stmt.setString(1, projectId.toString());
stmt.setString(2, resourceName);
stmt.executeUpdate();
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(
Messages.ERR_GENERIC_SQL_1,
CmsDbSqlException.getErrorQuery(stmt)), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, null);
}
}
/**
* @see org.opencms.db.I_CmsProjectDriver#deleteProjectResources(org.opencms.db.CmsDbContext, org.opencms.file.CmsProject)
*/
public void deleteProjectResources(CmsDbContext dbc, CmsProject project) throws CmsDataAccessException {
Connection conn = null;
PreparedStatement stmt = null;
try {
conn = m_sqlManager.getConnection(dbc);
stmt = m_sqlManager.getPreparedStatement(conn, "C_PROJECTRESOURCES_DELETEALL_1");
stmt.setString(1, project.getUuid().toString());
stmt.executeUpdate();
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(
Messages.ERR_GENERIC_SQL_1,
CmsDbSqlException.getErrorQuery(stmt)), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, null);
}
}
/**
* @see org.opencms.db.I_CmsProjectDriver#deletePublishHistory(org.opencms.db.CmsDbContext, CmsUUID, int)
*/
public void deletePublishHistory(CmsDbContext dbc, CmsUUID projectId, int maxpublishTag)
throws CmsDataAccessException {
PreparedStatement stmt = null;
Connection conn = null;
try {
conn = m_sqlManager.getConnection(dbc);
stmt = m_sqlManager.getPreparedStatement(conn, projectId, "C_DELETE_PUBLISH_HISTORY");
stmt.setInt(1, maxpublishTag);
stmt.executeUpdate();
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(
Messages.ERR_GENERIC_SQL_1,
CmsDbSqlException.getErrorQuery(stmt)), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, null);
}
}
/**
* @see org.opencms.db.I_CmsProjectDriver#deletePublishHistoryEntry(org.opencms.db.CmsDbContext, org.opencms.util.CmsUUID, org.opencms.db.CmsPublishedResource)
*/
public void deletePublishHistoryEntry(
CmsDbContext dbc,
CmsUUID publishHistoryId,
CmsPublishedResource publishedResource) throws CmsDataAccessException {
Connection conn = null;
PreparedStatement stmt = null;
try {
conn = m_sqlManager.getConnection(dbc);
stmt = m_sqlManager.getPreparedStatement(conn, "C_RESOURCES_DELETE_PUBLISH_HISTORY_ENTRY");
stmt.setString(1, publishHistoryId.toString());
stmt.setInt(2, publishedResource.getPublishTag());
stmt.setString(3, publishedResource.getStructureId().toString());
stmt.setString(4, publishedResource.getRootPath());
stmt.executeUpdate();
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(
Messages.ERR_GENERIC_SQL_1,
CmsDbSqlException.getErrorQuery(stmt)), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, null);
}
}
/**
* @see org.opencms.db.I_CmsProjectDriver#deletePublishJob(org.opencms.db.CmsDbContext, org.opencms.util.CmsUUID)
*/
public void deletePublishJob(CmsDbContext dbc, CmsUUID publishHistoryId) throws CmsDataAccessException {
Connection conn = null;
PreparedStatement stmt = null;
try {
conn = m_sqlManager.getConnection(dbc);
stmt = m_sqlManager.getPreparedStatement(conn, "C_PUBLISHJOB_DELETE");
stmt.setString(1, publishHistoryId.toString());
stmt.executeUpdate();
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(
Messages.ERR_GENERIC_SQL_1,
CmsDbSqlException.getErrorQuery(stmt)), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, null);
}
}
/**
* @see org.opencms.db.I_CmsProjectDriver#deletePublishList(org.opencms.db.CmsDbContext, org.opencms.util.CmsUUID)
*/
public void deletePublishList(CmsDbContext dbc, CmsUUID publishHistoryId) throws CmsDataAccessException {
Connection conn = null;
PreparedStatement stmt = null;
try {
conn = m_sqlManager.getConnection(dbc);
stmt = m_sqlManager.getPreparedStatement(conn, "C_PUBLISHJOB_DELETE_PUBLISHLIST");
stmt.setString(1, publishHistoryId.toString());
stmt.executeUpdate();
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(
Messages.ERR_GENERIC_SQL_1,
CmsDbSqlException.getErrorQuery(stmt)), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, null);
}
}
/**
* @see org.opencms.db.I_CmsProjectDriver#deleteStaticExportPublishedResource(org.opencms.db.CmsDbContext, java.lang.String, int, java.lang.String)
*/
public void deleteStaticExportPublishedResource(
CmsDbContext dbc,
String resourceName,
int linkType,
String linkParameter) throws CmsDataAccessException {
Connection conn = null;
PreparedStatement stmt = null;
try {
conn = m_sqlManager.getConnection(dbc);
stmt = m_sqlManager.getPreparedStatement(conn, "C_STATICEXPORT_DELETE_PUBLISHED_LINKS");
stmt.setString(1, resourceName);
stmt.setInt(2, linkType);
stmt.setString(3, linkParameter);
stmt.executeUpdate();
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(
Messages.ERR_GENERIC_SQL_1,
CmsDbSqlException.getErrorQuery(stmt)), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, null);
}
}
/**
* @see org.opencms.db.I_CmsProjectDriver#destroy()
*/
public void destroy() throws Throwable {
m_sqlManager = null;
m_driverManager = null;
if (CmsLog.INIT.isInfoEnabled()) {
CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_SHUTDOWN_DRIVER_1, getClass().getName()));
}
}
/**
* @see org.opencms.db.I_CmsProjectDriver#fillDefaults(org.opencms.db.CmsDbContext)
*/
public void fillDefaults(CmsDbContext dbc) throws CmsDataAccessException {
try {
if (readProject(dbc, CmsProject.ONLINE_PROJECT_ID) != null) {
// online-project exists - no need of filling defaults
return;
}
} catch (CmsDataAccessException exc) {
// ignore the exception - the project was not readable so fill in the defaults
}
if (CmsLog.INIT.isInfoEnabled()) {
CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_FILL_DEFAULTS_0));
}
String adminUser = OpenCms.getDefaultUsers().getUserAdmin();
CmsUser admin = m_driverManager.readUser(dbc, adminUser);
String administratorsGroup = OpenCms.getDefaultUsers().getGroupAdministrators();
CmsGroup administrators = m_driverManager.readGroup(dbc, administratorsGroup);
String usersGroup = OpenCms.getDefaultUsers().getGroupUsers();
CmsGroup users = m_driverManager.readGroup(dbc, usersGroup);
String projectmanagersGroup = OpenCms.getDefaultUsers().getGroupProjectmanagers();
CmsGroup projectmanager = m_driverManager.readGroup(dbc, projectmanagersGroup);
////////////////////////////////////////////////////////////////////////////////////////////
// online project stuff
////////////////////////////////////////////////////////////////////////////////////////////
// create the online project
CmsProject onlineProject = createProject(
dbc,
CmsProject.ONLINE_PROJECT_ID,
admin,
users,
projectmanager,
CmsProject.ONLINE_PROJECT_NAME,
"The Online project",
I_CmsPrincipal.FLAG_ENABLED,
CmsProject.PROJECT_TYPE_NORMAL);
// create the root-folder for the online project
CmsFolder rootFolder = new CmsFolder(
new CmsUUID(),
new CmsUUID(),
"/",
CmsResourceTypeFolder.RESOURCE_TYPE_ID,
0,
onlineProject.getUuid(),
CmsResource.STATE_CHANGED,
0,
admin.getId(),
0,
admin.getId(),
CmsResource.DATE_RELEASED_DEFAULT,
CmsResource.DATE_EXPIRED_DEFAULT,
0);
m_driverManager.getVfsDriver().createResource(dbc, onlineProject.getUuid(), rootFolder, null);
rootFolder.setState(CmsResource.STATE_UNCHANGED);
m_driverManager.getVfsDriver().writeResource(
dbc,
onlineProject.getUuid(),
rootFolder,
CmsDriverManager.UPDATE_ALL);
// important: must access through driver manager to ensure proper cascading
m_driverManager.getProjectDriver().createProjectResource(dbc, onlineProject.getUuid(), rootFolder.getRootPath());
// create the system-folder for the online project
CmsFolder systemFolder = new CmsFolder(
new CmsUUID(),
new CmsUUID(),
"/system",
CmsResourceTypeFolder.RESOURCE_TYPE_ID,
0,
onlineProject.getUuid(),
CmsResource.STATE_CHANGED,
0,
admin.getId(),
0,
admin.getId(),
CmsResource.DATE_RELEASED_DEFAULT,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?