Package org.apache.roller.pojos

Examples of org.apache.roller.pojos.WeblogEntryData


    public static void sendEmailApprovalNotification(CommentData cd, String rootURL) {
       
        // Send commment notifications in locale of server
        ResourceBundle resources = ResourceBundle.getBundle("ApplicationResources");
       
        WeblogEntryData entry = cd.getWeblogEntry();
        WebsiteData site = entry.getWebsite();
        UserData user = entry.getCreator();
           
        // Only send email if email notificaiton is enabled
        boolean notify = RollerRuntimeConfig.getBooleanProperty("users.comments.emailnotify");
        if (notify && site.getEmailComments().booleanValue()) {
            mLogger.debug("Comment notification enabled ... preparing email");
           

                               
            //------------------------------------------
            // --- Determine the "from" address
            // --- Use either the site configured from address or the user's address
           
            String from =
                    (StringUtils.isEmpty(site.getEmailFromAddress()))
                    ? user.getEmailAddress()
                    : site.getEmailFromAddress();
                       
            //------------------------------------------
            // --- Form the message to be sent -
           
            String subject = resources.getString("email.comment.commentApproved");
           
            StringBuffer msg = new StringBuffer();
            msg.append(resources.getString("email.comment.commentApproved"));

            // Build link back to comment
            StringBuffer commentURL = new StringBuffer(rootURL);
            commentURL.append(entry.getPermaLink());
            commentURL.append("#comments");
            msg.append(commentURL.toString());
           
            //------------------------------------------
            // --- Send message to author of approved comment
View Full Code Here


    }
   
    /** Get number of approved non-spam comments for entry */
    public int getCommentCount(String entryId, boolean noSpam, boolean approvedOnly) {
        try {
            WeblogEntryData entry = mWeblogMgr.getWeblogEntry(entryId);
            return entry.getComments(noSpam, approvedOnly).size();
        } catch (RollerException alreadyLogged) {}
        return 0;
    }
View Full Code Here

        return getComments(entry, true, true);
    }
   
    /** Get comments for weblog entry specified by request */
    public List getComments(WeblogEntryDataWrapper wrapper, boolean noSpam, boolean approvedOnly) {
        WeblogEntryData entry = wrapper.getPojo();
        List comments = new ArrayList();
        List unwrappped = entry.getComments(noSpam, approvedOnly);
        comments = new ArrayList(unwrappped.size());
        Iterator it = unwrappped.iterator();
        while(it.hasNext()) {
            comments.add(CommentDataWrapper.wrap((CommentData)it.next()));
        }
View Full Code Here

    public static Date getUpdateTime( ArrayList weblogEntries ) {
        Date updateTime = null;
        Iterator iter = weblogEntries.iterator();
        while (iter.hasNext()) {
            // NOTE: this will need to be WeblogEntryDataWrapper
            WeblogEntryData wd = (WeblogEntryData)iter.next();
            if ( updateTime == null ) {
                updateTime = wd.getUpdateTime();
            }
            //else if ( updateTime.compareTo(wd.getUpdateTime()) < 0 )
            else if (updateTime.before( wd.getUpdateTime() )) {
                updateTime = wd.getUpdateTime();
            }
        }
        return updateTime;
    }
View Full Code Here

   
    //------------------------------------------------------------------------
   
    /** Encapsulates RollerRequest.getWeblogEntry() */
    public WeblogEntryDataWrapper getWeblogEntry() {
        WeblogEntryData entry = mRollerReq.getWeblogEntry();
       
        if(entry != null && entry.getStatus().equals(WeblogEntryData.PUBLISHED))
            return WeblogEntryDataWrapper.wrap(entry);
        else
            return null;
    }
View Full Code Here

                String dateString = null;
                List entries =
                   (List)mMonthMap.get( day );
                if ( entries != null && day != null )
                {
                  WeblogEntryData entry = (WeblogEntryData)entries.get(0);
                    dateString =
                        mStarDateFormat.format(entry.getPubTime());
                   
                    // append 8 char date string on end of selfurl
                    url = mSelfUrl+"/"+dateString+mCatName;
                }
                else if ( entries != null )
View Full Code Here

    /**
     * @see javax.servlet.jsp.tagext.Tag#doStartTag()
     */
    public int doStartTag() throws JspException {
        Roller roller = RollerFactory.getRoller();
        WeblogEntryData entry = (WeblogEntryData)
            RequestUtils.lookup(pageContext, name, property, scope)
       
        String sourceText = null;
        boolean hasSummary = Utilities.isNotEmpty(entry.getSummary());
        boolean hasText= Utilities.isNotEmpty(entry.getText());
        if (singleEntry) {
            if (hasText) sourceText = entry.getText();
            else if (hasSummary) sourceText = entry.getSummary();
        } else {
            if (hasSummary) sourceText = entry.getSummary();
            else if (hasText) sourceText = entry.getText();
        }
        if (Utilities.isNotEmpty(sourceText)) {
            try {
                String xformed = sourceText;       
                if (entry.getPlugins() != null) {
                    RollerContext rctx =
                        RollerContext.getRollerContext();
                    try {
                        PagePluginManager ppmgr = roller.getPagePluginManager();
                        Map plugins = ppmgr.createAndInitPagePlugins(
                                entry.getWebsite(), rctx.getServletContext(),
                                rctx.getAbsoluteContextUrl((HttpServletRequest)pageContext.getRequest()),
                                new VelocityContext());

                        xformed = ppmgr.applyPagePlugins(entry, plugins, sourceText, true);

View Full Code Here

     * @return
     */
    private Map seperateByPeriod(List entries, String period)
    {
        HashMap map = new HashMap();
        WeblogEntryData entry = null;
        String key = null;
        ArrayList list = null;
        SimpleDateFormat formatter = monthFormat;
        if ("year".equals(period))
        {
            formatter = yearFormat;
        }
        else if ("day".equals(period))
        {
            formatter = dayFormat;
        }
       
        Iterator it = entries.iterator();
        while (it.hasNext())
        {
            entry = (WeblogEntryData)it.next();
            key = formatter.format(entry.getPubTime());
            list = (ArrayList)map.get(key);
            if (list == null)
            {
                list = new ArrayList();
                map.put(key, list);
View Full Code Here

        ActionForward forward = mapping.findForward("weblogEdit.page");
        try {
            RollerRequest rreq = RollerRequest.getRollerRequest(request);
            RollerSession rses = RollerSession.getRollerSession(request);
            WeblogManager wmgr = RollerFactory.getRoller().getWeblogManager();
            WeblogEntryData entry = rreq.getWeblogEntry();
            WeblogEntryFormEx form = (WeblogEntryFormEx)actionForm;
            if (entry == null && form.getId() != null) {
                entry = wmgr.getWeblogEntry(form.getId());
            }
            if (entry == null) {
                ResourceBundle resources = ResourceBundle.getBundle(
                        "ApplicationResources", request.getLocale());
                request.setAttribute("javax.servlet.error.message",
                        resources.getString("weblogEntry.notFound"));
                forward = mapping.findForward("error");
            } else if (rses.isUserAuthorized(entry.getWebsite())
            || (rses.isUserAuthorized(entry.getWebsite()) && !entry.isPublished())) {
                form.copyFrom(entry, request.getLocale());
                WeblogEntryPageModel pageModel = new WeblogEntryPageModel(
                        request, response, mapping, form,
                        WeblogEntryPageModel.EDIT_MODE);
                pageModel.setWebsite(entry.getWebsite());
                request.setAttribute("model", pageModel);
            } else {
                forward = mapping.findForward("access-denied");
            }
        } catch (Exception e) {
View Full Code Here

            RollerSession      rses = RollerSession.getRollerSession(request);
            UserManager     userMgr = roller.getUserManager();
            WeblogManager weblogMgr = roller.getWeblogManager();
            UserData           ud  = userMgr.getUser(form.getCreatorId());
            WebsiteData       site = userMgr.getWebsite(form.getWebsiteId());
            WeblogEntryData  entry = null;
           
            if ( rses.isUserAuthorizedToAuthor(site)
            || (rses.isUserAuthorized(site)
            && !form.getStatus().equals(WeblogEntryData.PUBLISHED) )) {
               
                ActionErrors errors = validateEntry(null, form);
                if (errors.size() > 0) {
                    saveErrors(request, errors);
                    request.setAttribute("model",
                            new WeblogEntryPageModel(request, response, mapping,
                            (WeblogEntryFormEx)actionForm,
                            WeblogEntryPageModel.EDIT_MODE));
                    return forward;
                }
               
                if (form.getId() == null || form.getId().trim().length()==0) {
                    entry = new WeblogEntryData();
                    entry.setCreator(ud);
                    entry.setWebsite( site );
                } else {
                    entry = weblogMgr.getWeblogEntry(form.getId());
                }
               
                mLogger.debug("setting update time now");
                form.setUpdateTime(new Timestamp(new Date().getTime()));
               
                if ("PUBLISHED".equals(form.getStatus()) &&
                        "0/0/0".equals(form.getDateString())) {
                    mLogger.debug("setting pubtime now");
                   
                    /* NOTE: the wf.copyTo() method will override this value
                     * based on data submitted with the form if that data is
                     * not null.  check the method to verify.
                     *
                     * this means that setting the pubtime here only takes
                     * effect if the entry is being published for the first
                     * time.
                     */
                    form.setPubTime(form.getUpdateTime());
                }
               
                mLogger.debug("copying submitted form data to entry object");
                form.copyTo(entry, request.getLocale(),request.getParameterMap());
               
                // Fetch MediaCast content type and length
                mLogger.debug("Checking MediaCast attributes");
                if (!checkMediaCast(entry, uiMessages)) {
                    mLogger.debug("Invalid MediaCast attributes");
                } else {
                    mLogger.debug("Validated MediaCast attributes");
                }
               
                // Store value object (creates new or updates existing)
                entry.setUpdateTime(new Timestamp(new Date().getTime()));
               
                // make sure we have an anchor value set
                if(entry.getAnchor() == null || entry.getAnchor().trim().equals("")) {
                    entry.setAnchor(weblogMgr.createAnchor(entry));
                }

                mLogger.debug("Saving entry");
                weblogMgr.saveWeblogEntry(entry);
                RollerFactory.getRoller().flush();
               
                mLogger.debug("Populating form");
                form.copyFrom(entry, request.getLocale());
               
                request.setAttribute(
                        RollerRequest.WEBLOGENTRYID_KEY, entry.getId());
               
                // Reindex entry, flush caches, etc.
                reindexEntry(RollerFactory.getRoller(), entry);
                mLogger.debug("Removing from cache");
                RollerRequest rreq = RollerRequest.getRollerRequest(request);
                //PageCacheFilter.removeFromCache(request, entry.getWebsite());
                CacheManager.invalidate(entry);
               
                // Queue applicable pings for this update.
                if(entry.isPublished()) {
                    RollerFactory.getRoller().getAutopingManager().queueApplicableAutoPings(entry);
                }
               
                // Clean up session objects we used
                HttpSession session = request.getSession(true);
                session.removeAttribute("spellCheckEvents");
                session.removeAttribute("entryText");
               
                // Load up request with data for view
                request.setAttribute("model",
                        new WeblogEntryPageModel(request, response, mapping,
                        (WeblogEntryFormEx)actionForm,
                        WeblogEntryPageModel.EDIT_MODE));
               
                if (!rses.isUserAuthorizedToAuthor(site) &&
                        rses.isUserAuthorized(site) && entry.isPending()) {
                    // implies that entry just changed to pending
                    notifyWebsiteAuthorsOfPendingEntry(request, entry);
                    uiMessages.add(null,
                            new ActionMessage("weblogEdit.submittedForReview"));
                   
View Full Code Here

TOP

Related Classes of org.apache.roller.pojos.WeblogEntryData

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.