/**
   * This method gets called when calling this action. If the stateId is 2 which equals that the
   * user tries to prepublish the page. If so we ask the user for a comment as this is to be
   * regarded as a new version.
   */
  public String doExecute() throws Exception {
    setSiteNodeVersionId(getRequest().getParameterValues("selSiteNodeVersions"));
    Iterator it = siteNodeVersionId.iterator();

    List events = new ArrayList();
    while (it.hasNext()) {
      Integer siteNodeVersionId = (Integer) it.next();
      logger.info("Publishing:" + siteNodeVersionId);
      SiteNodeVersion siteNodeVersion =
          SiteNodeStateController.getController()
              .changeState(
                  siteNodeVersionId,
                  SiteNodeVersionVO.PUBLISH_STATE,
                  getVersionComment(),
                  overrideVersionModifyer,
                  this.recipientFilter,
                  this.getInfoGluePrincipal(),
                  null,
                  events);
    }

    setContentVersionId(getRequest().getParameterValues("selContentVersions"));
    Iterator contentVersionIdsIterator = contentVersionId.iterator();

    while (contentVersionIdsIterator.hasNext()) {
      Integer contentVersionId = (Integer) contentVersionIdsIterator.next();
      logger.info("Publishing:" + contentVersionId);
      ContentVersion contentVersion =
          ContentStateController.changeState(
              contentVersionId,
              ContentVersionVO.PUBLISH_STATE,
              getVersionComment(),
              this.overrideVersionModifyer,
              this.recipientFilter,
              this.getInfoGluePrincipal(),
              null,
              events);
    }

    if (attemptDirectPublishing.equalsIgnoreCase("true")) {
      PublicationVO publicationVO = new PublicationVO();
      publicationVO.setName("Direct publication by " + this.getInfoGluePrincipal().getName());
      publicationVO.setDescription(getVersionComment());
      publicationVO.setRepositoryId(repositoryId);
      publicationVO =
          PublicationController.getController()
              .createAndPublish(
                  publicationVO, events, this.overrideVersionModifyer, this.getInfoGluePrincipal());
    }

    if (returnAddress != null && !returnAddress.equals("")) {
      this.getResponse().sendRedirect(returnAddress);

      return NONE;
    }

    return "success";
  }
  public String doExecute() throws Exception {
    this.publicationVO.setRepositoryId(getRepositoryId());

    ceb = this.publicationVO.validate();

    // Content versions to publish
    setEvents(getRequest().getParameterValues("sel"));

    ceb.throwIfNotEmpty();

    this.publicationVO =
        PublicationController.getController()
            .createAndPublish(this.publicationVO, events, false, this.getInfoGluePrincipal());

    return "success";
  }