Changeset 17352

Show
Ignore:
Timestamp:
05/05/08 06:45:53 (8 months ago)
Author:
avinash
Message:

blog
Team section
Archives section
better UI
rich text editors and much more ...

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/core/db/oracle/create-scripts/versions/8.4.0/update_system_properties.sql

    r17346 r17352  
    3955939559VALUES (2000,'en','text','prm.resource.resourceallocassigndetails.allworkvaluesareinhours.notemessage','* All work values are in Hours.','','A','0','1') 
    3956039560/ 
     39561INSERT INTO pn_property 
     39562(CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 
     39563VALUES 
     39564('2000','en','boolean','prm.blog.isenabled','1','','A','0','0') 
     39565/ 
    3956139566 
    3956239567-- End of insert all properties 
  • trunk/core/src/net/project/hibernate/constants/WeblogConstants.java

    r17269 r17352  
    5959     
    6060    public static final String CONTENT_TYPE_TEXT_HTML = "text/html"; 
     61     
     62    // no of links to be displayed for archives, team members, categories etc. 
     63    public static final Integer NO_OF_LINKS = 5; 
     64     
     65    public static final Integer DATE_RANGE_FOR_ARCHIVES = 6; 
    6166 
    6267} 
  • trunk/core/src/net/project/hibernate/dao/IPnWeblogEntryDAO.java

    r17269 r17352  
    1414         
    1515        public List<PnWeblogEntry> getWeblogEntriesByTaskId(Integer taskId); 
     16         
     17        public List<PnWeblogEntry> getWeblogEntriesFromProjectBlogByPerson(Integer personId, Date startDate, Date endDate, String status, int offset, int range) throws PnWebloggerException; 
    1618 
    1719} 
  • trunk/core/src/net/project/hibernate/dao/impl/PnWeblogEntryDAOImpl.java

    r17269 r17352  
    3333        public List<PnWeblogEntry> getWeblogEntries(Integer weblogId, Integer userId, Date startDate, Date endDate, String status, int offset, int range) throws PnWebloggerException { 
    3434                List<PnWeblogEntry> entries = new ArrayList<PnWeblogEntry>(); 
    35                 String sql = " FROM PnWeblogEntry w WHERE w.pnWeblog.weblogId = :weblogId " + 
    36                                          " AND w.status = :status "; 
     35                String sql = " FROM PnWeblogEntry w WHERE w.status = :status "; 
     36                 
     37                if(weblogId != null) 
     38                        sql += " AND w.pnWeblog.weblogId = :weblogId "; 
    3739                 
    3840                if(userId != null) 
     
    4951                try{ 
    5052                        Query query = getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery(sql); 
    51                         query.setInteger("weblogId", weblogId); 
    5253                        query.setString("status", status); 
     54                         
     55                        if(weblogId != null) 
     56                                query.setInteger("weblogId", weblogId); 
    5357                         
    5458                        if(userId != null) 
     
    109113        } 
    110114         
     115        public List<PnWeblogEntry> getWeblogEntriesFromProjectBlogByPerson(Integer personId, Date startDate, Date endDate, String status, int offset, int range) throws PnWebloggerException { 
     116                List<PnWeblogEntry> entries = new ArrayList<PnWeblogEntry>(); 
     117                String sql = " SELECT we "  
     118                                   + " FROM PnWeblogEntry we, PnWeblog w, PnObject o "  
     119                                   + " WHERE w.weblogId = we.pnWeblog.weblogId AND we.pnPerson.personId = :personId "  
     120                                   + " AND w.spaceId = o.objectId AND o.pnObjectType.objectType = 'project' "  
     121                                   + " AND o.recordStatus = 'A' AND we.status = :status "; 
     122 
     123                if(personId != null) 
     124                        sql += " AND we.pnPerson.personId = :personId "; 
     125                 
     126                if(startDate != null) 
     127                        sql += " AND we.pubTime >= :startDate "; 
     128                 
     129                if(endDate != null) 
     130                        sql += " AND we.pubTime <= :endDate "; 
     131                 
     132                sql += " ORDER BY we.pubTime DESC "; 
     133                 
     134                try{ 
     135                        Query query = getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery(sql); 
     136                        query.setString("status", status); 
     137                         
     138                        if(personId != null) 
     139                                query.setInteger("personId", personId); 
     140                         
     141                        if(startDate != null) 
     142                                query.setDate("startDate", startDate); 
     143                         
     144                        if(endDate != null) 
     145                                query.setDate("endDate", endDate); 
     146                         
     147                        if(offset != 0) 
     148                                query.setFirstResult(offset); 
     149                         
     150                        if(range != 0) 
     151                                query.setMaxResults(range); 
     152                         
     153                        entries = query.list(); 
     154                        if (entries!= null && entries.size() > 0) { 
     155                                for(PnWeblogEntry entry : entries){ 
     156                                        Hibernate.initialize(entry.getPnPerson()); 
     157                                        Hibernate.initialize(entry.getPnWeblogComment()); 
     158                                } 
     159                        } 
     160                } catch (Exception e) { 
     161                        log.error("Error occured while getting weblog entries from project blogs by person : "+e.getMessage()); 
     162                } 
     163                return entries; 
     164        } 
     165         
     166         
    111167} 
  • trunk/core/src/net/project/hibernate/service/IBlogProvider.java

    r17269 r17352  
    133133            int         range) 
    134134            throws PnWebloggerException; 
     135     
     136    /** 
     137     * @param personId 
     138     * @param startDate 
     139     * @param endDate 
     140     * @param status 
     141     * @param offset 
     142     * @param range 
     143     * @return 
     144     * @throws PnWebloggerException 
     145     */ 
     146    public List<PnWeblogEntry> getWeblogEntriesFromProjectBlogByPerson(Integer personId, Date startDate, Date endDate, String status, int offset, int range) throws PnWebloggerException; 
    135147     
    136148    /** 
  • trunk/core/src/net/project/hibernate/service/IPnWeblogEntryService.java

    r17269 r17352  
    3838 
    3939        public List<PnWeblogEntry> getWeblogEntriesByTaskId(Integer taskId); 
     40         
     41        public List<PnWeblogEntry> getWeblogEntriesFromProjectBlogByPerson(Integer personId, Date startDate, Date endDate, String status, int offset, int range) throws PnWebloggerException; 
    4042 
    4143} 
  • trunk/core/src/net/project/hibernate/service/impl/PnWeblogEntryServiceImpl.java

    r17269 r17352  
    7878                return pnWeblogEntryDAO.getWeblogEntriesByTaskId(taskId); 
    7979        } 
     80         
     81        /* (non-Javadoc) 
     82         * @see net.project.hibernate.service.IPnWeblogEntryService#getWeblogEntriesFromProjectBlogByPerson(java.lang.Integer, java.util.Date, java.util.Date, java.lang.String, int, int) 
     83         */ 
     84        public List<PnWeblogEntry> getWeblogEntriesFromProjectBlogByPerson(Integer personId, Date startDate, Date endDate, String status, int offset, int range) throws PnWebloggerException { 
     85                return pnWeblogEntryDAO.getWeblogEntriesFromProjectBlogByPerson(personId, startDate, endDate, status, offset, range); 
     86        } 
    8087 
    8188} 
  • trunk/core/src/net/project/hibernate/service/impl/RollerBlogProvider.java

    r17269 r17352  
    141141        } 
    142142         
     143        /* (non-Javadoc) 
     144         * @see net.project.hibernate.service.IBlogProvider#getWeblogEntriesFromProjectBlogByPerson(java.lang.Integer, java.util.Date, java.util.Date, java.lang.String, int, int) 
     145         */ 
     146        public List<PnWeblogEntry> getWeblogEntriesFromProjectBlogByPerson(Integer personId, Date startDate, Date endDate, String status, int offset, int range) throws PnWebloggerException { 
     147                return pnWeblogEntryService.getWeblogEntriesFromProjectBlogByPerson(personId, startDate, endDate, status, offset, range); 
     148        } 
     149         
    143150        /* 
    144151         * (non-Javadoc) 
  • trunk/core/src/net/project/view/pages/blog/AddWebLogEntry.java

    r17271 r17352  
    2222import net.project.hibernate.service.ServiceFactory; 
    2323import net.project.security.SessionManager; 
     24import net.project.util.Version; 
    2425import net.project.view.pages.resource.management.GenericSelectModel; 
    2526 
     27import org.apache.commons.lang.StringUtils; 
    2628import org.apache.log4j.Logger; 
    2729import org.apache.tapestry.annotations.CleanupRender; 
     
    4345        private String application_title; 
    4446         
     47        @Persist  
     48        private String versionNumber;  
     49         
    4550        @Persist 
    4651        private Integer weblogId; 
     
    133138                try { 
    134139                        log = Logger.getLogger(AddWebLogEntry.class); 
    135                         jspRootURL = SessionManager.getJSPRootURL(); 
    136140                        blogProvider = ServiceFactory.getInstance().getBlogProvider(); 
    137141                        personService = ServiceFactory.getInstance().getPnPersonService(); 
     
    162166                        throw new IllegalStateException("User is null"); 
    163167                }                
    164                 date = weblogDateFormat.format(Calendar.getInstance().getTime());                
     168                date = weblogDateFormat.format(Calendar.getInstance().getTime());        
     169                jspRootURL = SessionManager.getJSPRootURL(); 
     170                versionNumber = StringUtils.deleteWhitespace(Version.getInstance().getAppVersion()); 
    165171        } 
    166172         
     
    597603        public String getTaskListLabel() { 
    598604                return taskListLabel; 
     605        } 
     606 
     607        /** 
     608         * @return the versionNumber 
     609         */ 
     610        public String getVersionNumber() { 
     611                return versionNumber; 
    599612        }                
    600613 
  • trunk/core/src/net/project/view/pages/blog/AddWeblogEntryComment.java

    r17269 r17352  
    1010import net.project.base.property.PropertyProvider; 
    1111import net.project.hibernate.constants.WeblogConstants; 
    12 import net.project.hibernate.model.PnPerson; 
    1312import net.project.hibernate.model.PnWeblogComment; 
    1413import net.project.hibernate.model.PnWeblogEntry; 
    1514import net.project.hibernate.service.IBlogProvider; 
    16 import net.project.hibernate.service.IPnPersonService; 
    17 import net.project.hibernate.service.IPnTaskService; 
    1815import net.project.hibernate.service.ServiceFactory; 
    1916import net.project.security.SessionManager; 
    2017import net.project.security.User; 
    21  
     18import net.project.util.Version; 
     19 
     20import org.apache.commons.lang.StringUtils; 
    2221import org.apache.log4j.Logger; 
    2322import org.apache.tapestry.annotations.CleanupRender; 
     
    2524import org.apache.tapestry.annotations.Persist; 
    2625import org.apache.tapestry.annotations.SetupRender; 
    27 import org.hibernate.Hibernate; 
    2826 
    2927/** 
     
    3735        @Persist 
    3836        private String application_title; 
     37         
     38        @Persist  
     39        private String versionNumber;  
    3940         
    4041        private String name; 
     
    113114                } 
    114115                date = weblogDateFormat.format(Calendar.getInstance().getTime()); 
     116                versionNumber = StringUtils.deleteWhitespace(Version.getInstance().getAppVersion()); 
    115117        } 
    116118         
     
    331333                this.subject = subject; 
    332334        } 
     335 
     336        /** 
     337         * @return the versionNumber 
     338         */ 
     339        public String getVersionNumber() { 
     340                return versionNumber; 
     341        } 
    333342} 
  • trunk/core/src/net/project/view/pages/blog/ViewBlog.java

    r17269 r17352  
    44package net.project.view.pages.blog; 
    55 
     6import java.text.ParseException; 
    67import java.text.SimpleDateFormat; 
    7 import java.util.ArrayList; 
    88import java.util.Calendar; 
     9import java.util.Collections; 
     10import java.util.Comparator; 
     11import java.util.Date; 
    912import java.util.List; 
    1013 
     
    1518import net.project.hibernate.constants.WeblogConstants; 
    1619import net.project.hibernate.model.PnPerson; 
    17 import net.project.hibernate.model.PnTask; 
    1820import net.project.hibernate.model.PnWeblog; 
    1921import net.project.hibernate.model.PnWeblogComment; 
    2022import net.project.hibernate.model.PnWeblogEntry; 
    2123import net.project.hibernate.service.IBlogProvider; 
    22 import net.project.hibernate.service.IPnPersonService; 
    23 import net.project.hibernate.service.IPnTaskService; 
    2424import net.project.hibernate.service.ServiceFactory; 
    2525import net.project.project.ProjectSpaceBean; 
    2626import net.project.security.SessionManager; 
    2727import net.project.security.User; 
    28 import net.project.view.pages.resource.management.GenericSelectModel; 
    2928 
    3029import org.apache.log4j.Logger; 
     
    3231import org.apache.tapestry.annotations.InjectPage; 
    3332import org.apache.tapestry.annotations.Persist; 
    34 import org.apache.tapestry.ioc.services.PropertyAccess
     33import org.apache.tapestry.annotations.SetupRender
    3534import org.apache.tapestry.services.RequestGlobals; 
    3635 
     
    4443        private String name; 
    4544 
     45        private String linkHrefValue; 
     46 
     47        private String linkDisplayName; 
     48 
    4649        private String description; 
    4750 
     
    5154 
    5255        private String timeZone; 
    53          
     56 
    5457        @Persist 
    5558        private String dashboard; 
    56          
     59 
    5760        @Persist 
    5861        private String postNewEntryLink; 
    59          
     62 
    6063        @Persist 
    6164        private String importantSymbolTooltip; 
    62          
     65 
    6366        @Persist 
    6467        private String taskListLabel; 
    65          
     68 
    6669        @Persist 
    6770        private String taskListFirstOption; 
    68          
     71 
    6972        @Persist 
    7073        private String tasksNotExistOption; 
    71          
     74 
    7275        @Persist 
    7376        private String entryPostedByLabel; 
    74          
     77 
    7578        @Persist 
    7679        private String entryPostedAt; 
    77          
     80 
    7881        @Persist 
    7982        private String entryPopupTitle; 
    80          
     83 
    8184        @Persist 
    8285        private String commentPopupTitle; 
    83          
     86 
    8487        @Persist 
    8588        private String entryPopupCloseLabel; 
    86          
     89 
    8790        private IBlogProvider blogProvider; 
    8891 
     
    9194 
    9295        private PnWeblogEntry pnWeblogEntry; 
    93          
     96 
    9497        private PnWeblogComment pnWeblogComment; 
    9598 
     
    112115        @Persist 
    113116        private Integer userId; 
     117 
     118        @Persist 
     119        private Integer moduleId; 
     120 
     121        @Persist 
     122        private String spaceType; 
     123 
     124        @Persist 
     125        private ProjectSpaceBean project; 
     126 
     127        @Persist 
     128        private boolean linkToPersonSpace; 
     129 
     130        @Persist 
     131        private boolean webblogEntryAdded = false; 
     132 
     133        @Persist 
     134        private boolean webblogCommentAdded = false; 
     135 
     136        @Persist 
     137        private String date; 
     138 
     139        @Persist 
     140        private SimpleDateFormat weblogDateFormat; 
     141 
     142        @Persist 
     143        private boolean moreFlag; 
     144 
     145        @Persist 
     146        private String fromDate = null; 
     147 
     148        @Persist 
     149        private String toDate = null; 
     150 
     151        private Date currentDate; 
    114152         
    115         @Persist 
    116         private Integer moduleId; 
    117  
    118         @Persist 
    119         private String spaceType; 
    120  
    121         @Persist 
    122         private ProjectSpaceBean project; 
    123          
    124         @Persist 
    125         private boolean linkToPersonSpace; 
    126          
    127         @Persist 
    128         private boolean webblogEntryAdded = false; 
    129          
    130         @Persist 
    131         private boolean webblogCommentAdded = false; 
    132          
    133         @Persist 
    134         private String date; 
    135          
    136         @Persist  
    137         private SimpleDateFormat weblogDateFormat;  
     153        private Date previousDate; 
    138154 
    139155        /** 
     
    150166                        taskListLabel = PropertyProvider.get("prm.blog.viewblog.dropdownselecttaskshere.label"); 
    151167                        taskListFirstOption = PropertyProvider.get("prm.blog.viewblog.dropdownselecttaskshere.firstoptionvalue"); 
    152                         tasksNotExistOption = PropertyProvider.get("prm.blog.viewblog.dropdownselecttaskshere.tasksnotexistoptionvalue"); 
     168                        tasksNotExistOption = PropertyProvider 
     169                                        .get("prm.blog.viewblog.dropdownselecttaskshere.tasksnotexistoptionvalue"); 
    153170                        entryPostedByLabel = PropertyProvider.get("prm.blog.viewblog.entrypostedby.label"); 
    154171                        entryPostedAt = PropertyProvider.get("prm.blog.viewblog.entrypostedat.label"); 
     
    161178                } 
    162179        } 
     180 
     181        /** 
     182         * Method called on page activation 
     183         */ 
     184        void onActivate() { 
     185                Calendar cal = Calendar.getInstance(); 
     186                // initialize date variable with current date & format with weblog date format 
     187                date = weblogDateFormat.format(cal.getTime());           
     188                cal.add(Calendar.DATE, 1); 
     189                currentDate = cal.getTime(); 
     190                cal.add(Calendar.DATE, -(WeblogConstants.DATE_RANGE_FOR_ARCHIVES + 1)); 
     191                previousDate = cal.getTime(); 
     192                 
     193                // if page called after adding weblog entry or weblog entry comment 
     194                // then call method with parameters spaceId, userId, spaceType and moduleId 
     195                if (webblogEntryAdded || webblogCommentAdded) { 
     196                        onActivate(spaceId, userId, spaceType, moduleId); 
     197                        webblogEntryAdded = false; 
     198                        webblogCommentAdded = false; 
     199                } 
     200        } 
     201 
     202        /** 
     203         * Method called on page activation with moreFlag parameter 
     204         *  
     205         * @param moreFlag 
     206         */ 
     207        void onActivate(String moreFlag) { 
     208                if (moreFlag.equalsIgnoreCase("teamMore")) { 
     209                        setMoreFlag(true); 
     210                } 
     211        } 
     212 
     213        /** 
     214         * Method to get Archives 
     215         *  
     216         * @param strStartDate 
     217         *            Archives From 
     218         * @param strEndDate 
     219         *            Archives To 
     220         */ 
     221        public void onActivate(String strStartDate, String strEndDate, String userId) { 
     222                if(strStartDate.contains("-")){ 
     223                        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); 
     224                        Date startDate = null; 
     225                        Date endDate = null; 
     226                        try { 
     227                                startDate = sdf.parse(strStartDate); 
     228                                endDate = sdf.parse(strEndDate); 
     229                                        // get blog entries of a weblog 
     230                                userWeblogEntries = blogProvider.getWeblogEntries(userWeblog.getWeblogId(), null, startDate, endDate, 
     231                                                WeblogConstants.STATUS_PUBLISHED, 0, 0);                                 
     232                                if (spaceType.equals("person")) { 
     233                                        // get blog entries from project weblogs 
     234                                        if (userWeblogEntries != null && userWeblogEntries.size() > 0) { 
     235                                                userWeblogEntries.addAll(blogProvider.getWeblogEntriesFromProjectBlogByPerson(Integer 
     236                                                                .parseInt(userId), startDate, endDate, WeblogConstants.STATUS_PUBLISHED, 0, 0)); 
     237                                        } else { 
     238                                                userWeblogEntries = blogProvider.getWeblogEntriesFromProjectBlogByPerson(Integer 
     239                                                                .parseInt(userId), startDate, endDate, WeblogConstants.STATUS_PUBLISHED, 0, 0); 
     240                                        }                                        
     241                                } 
     242                                sortBlogEntries(); 
     243                        } catch (NumberFormatException pnetEx) { 
     244                                log.error(pnetEx.getMessage()); 
     245                        } catch (PnWebloggerException pnetEx) { 
     246                                log.error(pnetEx.getMessage()); 
     247                        } catch (ParseException pnetEx) { 
     248                                log.error(pnetEx.getMessage()); 
     249                        } 
     250         
     251                        // setting important flag for weblog entry for displaying on page 
     252                        if (userWeblogEntries != null && userWeblogEntries.size() > 0) { 
     253                                for (PnWeblogEntry entry : userWeblogEntries) { 
     254                                        if (blogProvider.isWeblogEntryImportant(entry.getWeblogEntryId(), "spaceId")) { 
     255                                                entry.setIsImportant("!"); 
     256                                        } else if (blogProvider.isWeblogEntryImportant(entry.getWeblogEntryId(), "taskId")) { 
     257                                                entry.setIsImportant("!"); 
     258                                        } 
     259                                        entry.setPubTimeString(weblogDateFormat.format(entry.getPubTime())); 
     260                                        if (entry.getPnPerson().getPersonId().toString().equals(SessionManager.getUser().getID()) 
     261                                                        || SessionManager.getUser().isSpaceAdministrator()) { 
     262                                                entry.setIsEditable(true); 
     263                                        } else { 
     264                                                entry.setIsEditable(false); 
     265                                        } 
     266                                }                                
     267                        } else { 
     268                                        changeCurrentAndPreviousDate(userId); 
     269                                        onActivate(sdf.format(previousDate), sdf.format(currentDate), userId.toString()); 
     270                        } 
     271                } 
     272        } 
    163273         
    164274        /** 
     
    169279         */ 
    170280        public Integer createBlog(User user) { 
    171                 // create person object from current user details which is used  
     281                // create person object from current user details which is used 
    172282                // while saving blog as well as displaying person details on page 
    173283                PnPerson person = new PnPerson(); 
     
    176286                person.setLastName(user.getLastName()); 
    177287                person.setPersonId(Integer.parseInt(user.getID())); 
    178                  
     288 
    179289                PnWeblog pnWeblog = new PnWeblog(); 
    180290                // setting blog name and description as per space type 
     
    193303                } 
    194304                pnWeblog.setEmailAddress(user.getEmail()); 
    195                 pnWeblog.setCreatedDate(Calendar.getInstance().getTime());              
     305                pnWeblog.setCreatedDate(Calendar.getInstance().getTime()); 
    196306                pnWeblog.setPnPerson(person); 
    197307                pnWeblog.setSpaceId(spaceId); 
     
    212322                return null; 
    213323        } 
    214          
    215         /** 
    216          * Method called on page activation 
    217          */ 
    218         void onActivate(){ 
    219                 // initialize date variable with current date & format with weblog date format 
    220                 date = weblogDateFormat.format(Calendar.getInstance().getTime()); 
    221                 // if page called after weblog entry then call method with 
    222                 // parameters spaceId, userId, spaceType and moduleId 
    223                 if(webblogEntryAdded || webblogCommentAdded){ 
    224                         onActivate(spaceId,  userId,  spaceType,  moduleId); 
    225                         webblogEntryAdded = false; 
    226                         webblogCommentAdded = false; 
    227                 } 
    228         }        
    229          
    230         /** 
    231          * Method to initialize page values before displaying 
    232          * on page activation with parameters 
     324 
     325        /** 
     326         * Method to initialize page values before displaying on page activation with parameters 
    233327         *  
    234          * @param spaceId current space id 
    235          * @param userId user's id  
    236          * @param spaceType current space type e.g person, project 
    237          * @param moduleId id of the current module 
    238          */ 
    239         void onActivate(Integer spaceId, Integer userId, String spaceType, Integer moduleId){ 
     328         * @param spaceId 
     329         *            current space id 
     330         * @param userId 
     331         *            user's id 
     332         * @param spaceType 
     333         *            current space type e.g person, project 
     334         * @param moduleId 
     335         *            id of the current module 
     336         */      
     337        void onActivate(Integer spaceId, Integer userId, String spaceType, Integer moduleId) { 
    240338                if (net.project.security.SessionManager.getUser() == null) { 
    241339                        throw new IllegalStateException("User is null"); 
     
    246344                this.moduleId = moduleId; 
    247345                this.spaceType = spaceType; 
     346                 
    248347                try { 
    249348                        // getting weblog of a user or project as per space type 
     
    254353                                } else if (spaceType.equals("project")) { 
    255354                                        linkToPersonSpace = false; 
     355                                        // getting ProjectSpaceBean from request for project details 
    256356                                        project = (ProjectSpaceBean) request.getSession().getAttribute("projectSpace"); 
    257357                                        userWeblog = blogProvider.getWeblogBySpaceId(spaceId); 
     
    263363                        log.error(pnetEx.getMessage()); 
    264364                } 
    265                 // if weblog not exist then creating weblog 
     365                // if blog not exist then creating blog 
    266366                if (userWeblog == null) { 
    267                         Integer blogId = createBlog(SessionManager.getUser()); 
     367                        Integer blogId = createBlog(new User(userId.toString())); 
    268368                        if (blogId != null) { 
    269                                 addWeblogEntry.setWeblogId(blogId); 
    270                                 try { 
    271                                         userWeblogEntries = blogProvider.getWeblogEntries(blogId, null, null, null, WeblogConstants.STATUS_PUBLISHED, 0, 0); 
    272                                 } catch (NumberFormatException pnetEx) { 
    273                                         log.error(pnetEx.getMessage()); 
    274                                 } catch (PnWebloggerException pnetEx) { 
    275                                         log.error(pnetEx.getMessage()); 
     369                                userWeblog.setWeblogId(blogId); 
     370                        } 
     371                } 
     372                addWeblogEntry.setWeblogId(userWeblog.getWeblogId()); 
     373                addWeblogEntry.setWeblog(userWeblog); 
     374                 
     375                SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); 
     376                onActivate(sdf.format(previousDate), sdf.format(currentDate), userId.toString());                
     377        } 
     378         
     379        /** 
     380         * Seting up values before page render 
     381         */ 
     382        @SetupRender 
     383        void setValues() { 
     384                SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); 
     385                setLinkHrefValue(SessionManager.getJSPRootURL() + "/blog/view/" + sdf.format(previousDate).replace("/", "-") + "/" 
     386                                + sdf.format(currentDate).replace("/", "-") + "/" + getUserId() + "?module=" + getModuleId()); 
     387        } 
     388         
     389        /** 
     390         * Sort blog entries in arraylist, in descending order of publication time 
     391         */ 
     392        public void sortBlogEntries(){ 
     393                Collections.sort(userWeblogEntries, new Comparator<PnWeblogEntry>(){ 
     394                         
     395                        /** 
     396                         * Implementing compare method 
     397                         *  
     398                         * @param entry1 
     399                         * @param entry2 
     400                         * @return integer value 0 or >1 or <1 
     401                         */ 
     402                        public int compare(PnWeblogEntry entry1, PnWeblogEntry entry2) { 
     403                                return -(entry1.getPubTime().compareTo(entry2.getPubTime())); 
     404                        } 
     405                }); 
     406        } 
     407         
     408        /** 
     409         * Method to change current and previous date as per blog entries  
     410         *  
     411         * @param entries blog entries 
     412         */ 
     413        public void changeCurrentAndPreviousDate(String userId){ 
     414                List<PnWeblogEntry> entries = null; 
     415                try { 
     416                        // get blog entries of a blog without date criteria 
     417                        entries = blogProvider.getWeblogEntries(userWeblog.getWeblogId(), null, null, null, 
     418                                        WeblogConstants.STATUS_PUBLISHED, 0, 0); 
     419                        if (spaceType.equals("person")) { 
     420                                // get blog entries by a person from project blogs without date criteria 
     421                                if (entries != null && entries.size() > 0) { 
     422                                        entries.addAll(blogProvider.getWeblogEntriesFromProjectBlogByPerson(Integer.parseInt(userId), null, 
     423                                                        null, WeblogConstants.STATUS_PUBLISHED, 0, 0)); 
     424                                } else { 
     425                                        entries = blogProvider.getWeblogEntriesFromProjectBlogByPerson(Integer.parseInt(userId), null, null, 
     426                                                        WeblogConstants.STATUS_PUBLISHED, 0, 0); 
    276427                                } 
    277428                        } 
    278                 } else { 
    279                         addWeblogEntry.setWeblogId(userWeblog.getWeblogId());                    
    280                         try { 
    281                                 // get blog entries of a weblog 
    282                                 userWeblogEntries = blogProvider.getWeblogEntries(userWeblog.getWeblogId(), null, null, null, 
    283                                                 WeblogConstants.STATUS_PUBLISHED, 0, 0); 
    284                         } catch (NumberFormatException pnetEx) { 
    285                                 log.error(pnetEx.getMessage()); 
    286                         } catch (PnWebloggerException pnetEx) { 
    287                                 log.error(pnetEx.getMessage()); 
    288                         } 
    289                 } 
    290                 // setting important flag for weblog entry for displaying on page 
    291                 if (userWeblogEntries != null && userWeblogEntries.size() > 0) { 
    292                         for (PnWeblogEntry entry : userWeblogEntries) { 
    293                                 if (blogProvider.isWeblogEntryImportant(entry.getWeblogEntryId(),"spaceId")) { 
    294                                         entry.setIsImportant("!");                                       
    295                                 } else if(blogProvider.isWeblogEntryImportant(entry.getWeblogEntryId(),"taskId")) { 
    296                                         entry.setIsImportant("!");                                       
    297                                 } 
    298                                 entry.setPubTimeString(weblogDateFormat.format(entry.getPubTime())); 
    299                                 if(entry.getPnPerson().getPersonId().toString().equals(SessionManager.getUser().getID())){ 
    300                                         entry.setIsEditable(true); 
    301                                 } else { 
    302                                         entry.setIsEditable(false); 
    303