code: public void writeProject(CmsRequestContext context, CmsProject project)
      throws CmsRoleViolationException, CmsException {
  
          CmsDbContext dbc = m_dbContextFactory.getDbContext(context);
          try {
              checkManagerOfProjectRole(dbc, project);
              m_driverManager.writeProject(dbc, project);
          } catch (Exception e) {
              dbc.report(null, Messages.get().container(Messages.ERR_WRITE_PROJECT_1, project.getName()), e);
          } finally {
              dbc.clear();
          }
      }
docs: Writes an already existing project.<p>
  
  The project id has to be a valid OpenCms project id.<br>
  
  The project with the given id will be completely overridden
  by the given data.<p>
  
  @param project the project that should be written
  @param context the current request context
  
  @throws CmsRoleViolationException if the current user does not own the required permissions
  @throws CmsException if operation was not successful