コード例 #1
0
ファイル: GroupManagerDefault.java プロジェクト: Odilio/kune
  /*
   * (non-Javadoc)
   *
   * @see
   * cc.kune.core.server.manager.GroupManager#createUserGroup(cc.kune.domain
   * .User, boolean)
   */
  @Override
  public Group createUserGroup(final User user, final boolean wantPersonalHomepage)
      throws GroupShortNameInUseException, EmailAddressInUseException {
    final String defaultSiteWorkspaceTheme = kuneProperties.get(KuneProperties.WS_THEMES_DEF);
    final License licenseDef = licenseManager.getDefLicense();
    final Group userGroup =
        new Group(user.getShortName(), user.getName(), licenseDef, GroupType.PERSONAL);
    User userSameEmail = null;
    try {
      userSameEmail = userFinder.findByEmail(user.getEmail());
    } catch (final NoResultException e) {
      // Ok, no more with this email
    }
    if (userSameEmail != null) {
      throw new EmailAddressInUseException();
    }
    userGroup.setAdmissionType(AdmissionType.Closed);
    userGroup.setWorkspaceTheme(defaultSiteWorkspaceTheme);
    userGroup.setDefaultContent(null);
    user.setUserGroup(userGroup);
    initSocialNetwork(userGroup, userGroup, GroupListMode.EVERYONE, SocialNetworkVisibility.anyone);

    final String title = i18n.t("[%s] Bio", user.getName());
    final String body = i18n.t("This is [%s]'s bio, currently empty", user.getName());
    try {
      initGroup(
          user,
          userGroup,
          wantPersonalHomepage
              ? serverToolRegistry.getToolsRegisEnabledForUsers()
              : ServerToolRegistry.emptyToolList,
          title,
          body);
      super.persist(user, User.class);
    } catch (final PersistenceException e) {
      if (e.getCause() instanceof ConstraintViolationException) {
        throw new GroupShortNameInUseException();
      }
      throw e;
    }
    return userGroup;
  }
コード例 #2
0
ファイル: GroupManagerDefault.java プロジェクト: Odilio/kune
 /*
  * (non-Javadoc)
  *
  * @see
  * cc.kune.core.server.manager.GroupManager#createGroup(cc.kune.domain.Group,
  * cc.kune.domain.User, java.lang.String)
  */
 @Override
 public Group createGroup(final Group group, final User user, final String publicDescrip)
     throws GroupShortNameInUseException, GroupLongNameInUseException, UserMustBeLoggedException {
   checkIfShortNameAreInUse(group.getShortName());
   checkIfLongNameAreInUse(group.getLongName());
   final String defaultSiteWorkspaceTheme = kuneProperties.get(KuneProperties.WS_THEMES_DEF);
   if (User.isKnownUser(user)) {
     setAdmissionType(group);
     final String licName = group.getDefaultLicense().getShortName();
     final License license = licenseFinder.findByShortName(licName);
     group.setDefaultLicense(license);
     group.setWorkspaceTheme(defaultSiteWorkspaceTheme);
     final boolean isClosed = group.getGroupType().equals(GroupType.CLOSED);
     initSocialNetwork(
         group, user.getUserGroup(), getDefGroupMode(isClosed), getDefSNVisibility(isClosed));
     final String title = i18n.t("About [%s]", group.getLongName());
     initGroup(
         user, group, serverToolRegistry.getToolsRegisEnabledForGroups(), title, publicDescrip);
     snCache.expire(user.getUserGroup());
     return group;
   } else {
     throw new UserMustBeLoggedException();
   }
 }
コード例 #3
0
ファイル: GroupManagerDefault.java プロジェクト: Odilio/kune
 /*
  * (non-Javadoc)
  *
  * @see
  * cc.kune.core.server.manager.GroupManager#changeWsTheme(cc.kune.domain.User,
  * cc.kune.domain.Group, java.lang.String)
  */
 @Override
 public void changeWsTheme(final User user, final Group group, final String theme)
     throws AccessViolationException {
   // TODO: check theme
   group.setWorkspaceTheme(theme);
 }