/** * Removes the given project from the cache.<p> * * The project is removed by name AND also by uuid.<p> * * @param project the project to remove from cache */ public void uncacheProject(CmsProject project) { m_cacheProject.remove(project.getUuid().toString()); m_cacheProject.remove(project.getName()); }
/** * Returns <code>true</code> if this project is the Online project.<p> * * @return <code>true</code> if this project is the Online project */ public boolean isOnlineProject() { return isOnlineProject(m_id); }
/** * Returns the simple name of the project.<p> * * @return the simple name of the project */ public String getName() { String name = m_project.getSimpleName(); if (CmsStringUtil.isEmptyOrWhitespaceOnly(name) || name.equals("/")) { name = ""; } return name; }
/** * Returns whether only a single OU is visible to the current user.<p> * * @param projects the selectable projects * * @return <code>true</code> if only a single OU is visible to the current user */ private static boolean isSingleOu(List<CmsProject> projects) { String ouFqn = null; for (CmsProject project : projects) { if (project.isOnlineProject()) { // skip the online project continue; } if (ouFqn == null) { // set the first ou ouFqn = project.getOuFqn(); } else if (!ouFqn.equals(project.getOuFqn())) { // break if one different ou is found return false; } } return true; }
/** * Sets the fully qualified name of the organizational unit.<p> * * @param oufqn the fully qualified name of the organizational unit to set */ public void setOufqn(String oufqn) { if (oufqn != null) { if (!oufqn.endsWith("/")) { oufqn += '/'; } } else { oufqn = "/"; } String name = m_project.getSimpleName(); if (name == null) { name = ""; } name = oufqn + name; if (CmsStringUtil.isEmptyOrWhitespaceOnly(name)) { name = "/"; } m_project.setName(name); }
stmt.setString(2, currentProject.getUuid().toString()); stmt.setString(3, currentProject.getSimpleName()); stmt.setLong(4, publishDate); stmt.setString(5, currentUser.getId().toString()); stmt.setString(6, currentProject.getOwnerId().toString()); stmt.setString(7, currentProject.getGroupId().toString()); stmt.setString(8, currentProject.getManagerGroupId().toString()); stmt.setString(9, currentProject.getDescription()); stmt.setLong(10, currentProject.getDateCreated()); stmt.setInt(11, currentProject.getType().getMode()); stmt.setString(12, CmsOrganizationalUnit.SEPARATOR + currentProject.getOuFqn()); stmt.executeUpdate(); while (i.hasNext()) { stmt.setInt(1, publishTag); stmt.setString(2, currentProject.getUuid().toString()); stmt.setString(3, i.next()); stmt.executeUpdate();
/** * @see org.opencms.db.I_CmsProjectDriver#writeProject(org.opencms.db.CmsDbContext, org.opencms.file.CmsProject) */ public void writeProject(CmsDbContext dbc, CmsProject project) throws CmsDataAccessException { if (CmsStringUtil.isEmptyOrWhitespaceOnly(project.getDescription())) { project.setDescription(" "); } Connection conn = null; PreparedStatement stmt = null; try { // get a JDBC connection from the OpenCms standard pools conn = m_sqlManager.getConnection(dbc); stmt = m_sqlManager.getPreparedStatement(conn, "C_PROJECTS_WRITE_6"); stmt.setString(1, project.getDescription()); stmt.setString(2, project.getGroupId().toString()); stmt.setString(3, project.getManagerGroupId().toString()); stmt.setInt(4, project.getFlags()); stmt.setInt(5, project.getType().getMode()); stmt.setString(6, 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); } }
users = getCms().readGroup(project.getGroupId()).getName(); } catch (CmsException e) { CmsMessageContainer message = org.opencms.db.Messages.get().container( org.opencms.db.Messages.ERR_READ_GROUP_FOR_ID_1, project.getGroupId()); if (LOG.isDebugEnabled()) { LOG.debug(message.key(), e); managers = getCms().readGroup(project.getManagerGroupId()).getName(); } catch (CmsException e) { CmsMessageContainer message = org.opencms.db.Messages.get().container( org.opencms.db.Messages.ERR_READ_GROUP_FOR_ID_1, project.getManagerGroupId()); if (LOG.isDebugEnabled()) { LOG.debug(message.key(), e); e.addElement(CmsImportVersion7.N_NAME).addText(project.getSimpleName()); e.addElement(CmsImportVersion7.N_DESCRIPTION).addCDATA(project.getDescription()); e.addElement(CmsImportVersion7.N_USERSGROUP).addText(users); e.addElement(CmsImportVersion7.N_MANAGERSGROUP).addText(managers); CmsMessageContainer message = org.opencms.db.Messages.get().container( org.opencms.db.Messages.ERR_READ_PROJECT_RESOURCES_2, project.getName(), project.getUuid()); if (LOG.isDebugEnabled()) { LOG.debug(message.key(), exc);
/** * Creates a project bean from a real project.<p> * * @param cms the CMS context * @param project the project * * @return the bean containing the project information */ public static CmsProjectBean createProjectBeanFromProject(CmsObject cms, CmsProject project) { CmsProjectBean manProj = new CmsProjectBean( project.getUuid(), project.getType().getMode(), org.opencms.ade.publish.Messages.get().getBundle(OpenCms.getWorkplaceManager().getWorkplaceLocale(cms)).key( org.opencms.ade.publish.Messages.GUI_NORMAL_PROJECT_1, getOuAwareName(cms, project.getName())), project.getDescription()); return manProj; }
/** * Returns the id of the temporary file project required by the editors.<p> * * @return the id of the temporary file project required by the editors */ public CmsUUID getTempFileProjectId() { if (m_tempFileProject != null) { return m_tempFileProject.getUuid(); } else { return null; } }
/** * Checks if a project is the tempfile project.<p> * @param project the project to test * @return true if the project is the tempfile project */ public boolean isTempfileProject(CmsProject project) { return project.getName().equals("tempFileProject"); }
boolean isSingleOu = isSingleOu(projects); for (CmsProject project : projects) { String projectName = project.getSimpleName(); if (!isSingleOu && !project.isOnlineProject()) { try { projectName = projectName + " - " + OpenCms.getOrgUnitManager().readOrganizationalUnit(cms, project.getOuFqn()).getDisplayName( locale); } catch (CmsException e) { LOG.debug("Error reading project OU.", e); projectName = projectName + " - " + project.getOuFqn(); Item projectItem = result.addItem(project.getUuid()); projectItem.getItemProperty(captionPropertyName).setValue(projectName);
/** * Removes a project if there are no longer any resources which have been last modified in that project.<p> * * @param project the project * @throws CmsException if something goes wrong */ protected void cleanupProjectIfEmpty(CmsProject project) throws CmsException { if ((project.getType().getMode() == CmsProject.PROJECT_TYPE_WORKFLOW.getMode()) && isProjectEmpty(project)) { LOG.info("Removing project " + project.getName() + " because it is an empty workflow project."); m_adminCms.deleteProject(project.getUuid()); } }
try { m_project = cms.readProject(projectId); m_fieldName.setValue(m_project.getName()); m_fieldName.setEnabled(false); m_fieldDescription.setValue(m_project.getDescription()); m_fieldUser.setValue(cms.readGroup(m_project.getGroupId()).getName()); m_fieldManager.setValue(cms.readGroup(m_project.getManagerGroupId()).getName()); try { CmsOrganizationalUnit ou; ou = OpenCms.getOrgUnitManager().readOrganizationalUnit(cms, m_project.getOuFqn()); m_fieldOU.setValue(ou.getDisplayName(UI.getCurrent().getLocale())); } catch (CmsException e) {
if (cms.getRequestContext().getCurrentProject().isOnlineProject()) { targetProject = A_CmsUI.get().getLastOfflineProject(); if (targetProject == null) { try { CmsProject project = cms.readProject(userSettings.getStartProject()); if (!project.isOnlineProject() && OpenCms.getOrgUnitManager().getAllAccessibleProjects( cms, project.getOuFqn(), false).contains(project)) { targetProject = project; List<CmsProject> availableProjects = CmsVaadinUtils.getAvailableProjects(cms); for (CmsProject project : availableProjects) { if (!project.isOnlineProject()) { targetProject = project; break; onSiteOrProjectChange(targetProject, null); Notification.show( CmsVaadinUtils.getMessageText(Messages.GUI_SWITCHED_TO_PROJECT_1, targetProject.getName()));
/** * Creates the project for the temporary workplace files.<p> * * @param dbc the current database context * * @return the created project for the temporary workplace files * * @throws CmsException if something goes wrong */ public CmsProject createTempfileProject(CmsDbContext dbc) throws CmsException { // read the needed groups from the cms CmsGroup projectUserGroup = readGroup(dbc, dbc.currentProject().getGroupId()); CmsGroup projectManagerGroup = readGroup(dbc, dbc.currentProject().getManagerGroupId()); CmsProject tempProject = m_projectDriver.createProject( dbc, new CmsUUID(), dbc.currentUser(), projectUserGroup, projectManagerGroup, I_CmsProjectDriver.TEMP_FILE_PROJECT_NAME, Messages.get().getBundle(dbc.getRequestContext().getLocale()).key( Messages.GUI_WORKPLACE_TEMPFILE_PROJECT_DESC_0), CmsProject.PROJECT_FLAG_HIDDEN, CmsProject.PROJECT_TYPE_NORMAL); m_projectDriver.createProjectResource(dbc, tempProject.getUuid(), "/"); OpenCms.fireCmsEvent(new CmsEvent(I_CmsEventListener.EVENT_PROJECT_MODIFIED, Collections.singletonMap( "project", tempProject))); return tempProject; }
/** * Changes to the given project. Will update session and workplace settings.<p> * * @param project the project to change to */ public void changeProject(CmsProject project) { CmsObject cms = getCmsObject(); if (!cms.getRequestContext().getCurrentProject().equals(project)) { cms.getRequestContext().setCurrentProject(project); getWorkplaceSettings().setProject(project.getUuid()); OpenCms.getSessionManager().updateSessionInfo(cms, getHttpSession()); if (!project.isOnlineProject()) { setAttribute(LAST_OFFLINE_PROJECT, project); } } }
defProject = getCms().getRequestContext().getCurrentProject().getName(); CmsProject project = itProjects.next(); String projectName = project.getName(); if (projectName.equals(defProject)) { selected = true; new CmsSelectWidgetOption(project.getSimpleName(), selected, project.getSimpleName(), null)); } else { projects.add(new CmsSelectWidgetOption(project.getName(), selected, project.getSimpleName(), null));