示例#1
0
文件: AddSitePage.java 项目: IQSS/dvn
  public void validateAlias(FacesContext context, UIComponent toValidate, Object value) {
    CharacterValidator charactervalidator = new CharacterValidator();
    charactervalidator.validate(context, toValidate, value);
    String alias = (String) value;

    boolean isValid = false;
    VDC vdc = vdcService.findByAlias(alias);
    if (alias.equals("") || vdc != null) {
      isValid = true;
    }

    if (isValid) {
      ((UIInput) toValidate).setValid(false);

      FacesMessage message = new FacesMessage("This alias is already taken.");
      context.addMessage(toValidate.getClientId(context), message);
    }
    resetScholarProperties();
  }
示例#2
0
文件: AddSitePage.java 项目: IQSS/dvn
  public String create() {

    //    Long selectedgroup  = this.getSelectedGroup();
    String dtype = dataverseType;
    String name = (String) dataverseName.getValue();
    String alias = (String) dataverseAlias.getValue();
    String strAffiliation = (String) affiliation.getValue();
    String strShortDescription = (String) shortDescription.getValue();
    Long userId = getVDCSessionBean().getLoginBean().getUser().getId();

    boolean success = true;
    if (validateClassificationCheckBoxes()) {
      vdcService.create(userId, name, alias, dtype);
      VDC createdVDC = vdcService.findByAlias(alias);
      saveClassifications(createdVDC);
      createdVDC.setDtype(dataverseType);
      createdVDC.setDisplayNetworkAnnouncements(
          getVDCRequestBean().getCurrentVdcNetwork().isDisplayAnnouncements());
      createdVDC.setDisplayAnnouncements(
          getVDCRequestBean().getCurrentVdcNetwork().isDisplayVDCAnnouncements());
      createdVDC.setDisplayNewStudies(
          getVDCRequestBean().getCurrentVdcNetwork().isDisplayVDCRecentStudies());
      createdVDC.setAboutThisDataverse(
          getVDCRequestBean().getCurrentVdcNetwork().getDefaultVDCAboutText());
      createdVDC.setContactEmail(getVDCSessionBean().getLoginBean().getUser().getEmail());
      createdVDC.setAffiliation(strAffiliation);
      createdVDC.setDvnDescription(strShortDescription);
      createdVDC.setAnnouncements(
          strShortDescription); // also set default dv home page description from the the DVN home
                                // page short description
      VDCNetwork vdcNetwork;

      if (selectSubNetworkId != null && selectSubNetworkId > 0) {
        vdcNetwork = vdcNetworkService.findById(selectSubNetworkId);
        createdVDC.setVdcNetwork(vdcNetwork);
      } else {
        vdcNetwork = vdcNetworkService.findRootNetwork();
        createdVDC.setVdcNetwork(vdcNetwork);
      }
      // Set template to the network's default template
      Template template = vdcNetwork.getDefaultTemplate();
      createdVDC.setDefaultTemplate(template);

      // on create if description is blank uncheck display flag
      if (strShortDescription.isEmpty()) {
        createdVDC.setDisplayAnnouncements(false);
      }
      vdcService.edit(createdVDC);

      String hostUrl = PropertyUtil.getHostUrl();
      VDCUser creator =
          userService.findByUserName(getVDCSessionBean().getLoginBean().getUser().getUserName());
      String toMailAddress = getVDCSessionBean().getLoginBean().getUser().getEmail();
      String siteAddress = hostUrl + "/dvn/dv/" + createdVDC.getAlias();

      logger.fine("created dataverse; site address: " + siteAddress);

      mailService.sendAddSiteNotification(toMailAddress, name, siteAddress);

      // Refresh User object in LoginBean so it contains the user's new role of VDC administrator.
      getVDCSessionBean().getLoginBean().setUser(creator);
      getVDCRenderBean().getFlash().put("successMessage", "Your new dataverse has been created!");
      return "/site/AddSiteSuccessPage?faces-redirect=true&vdcId=" + createdVDC.getId();
    } else {
      success = false;
      return null;
    }
  }