Changeset 17352
- Timestamp:
- 05/05/08 06:45:53 (8 months ago)
- Files:
-
- trunk/core/db/oracle/create-scripts/versions/8.4.0/update_system_properties.sql (modified) (1 diff)
- trunk/core/src/net/project/hibernate/constants/WeblogConstants.java (modified) (1 diff)
- trunk/core/src/net/project/hibernate/dao/IPnWeblogEntryDAO.java (modified) (1 diff)
- trunk/core/src/net/project/hibernate/dao/impl/PnWeblogEntryDAOImpl.java (modified) (3 diffs)
- trunk/core/src/net/project/hibernate/service/IBlogProvider.java (modified) (1 diff)
- trunk/core/src/net/project/hibernate/service/IPnWeblogEntryService.java (modified) (1 diff)
- trunk/core/src/net/project/hibernate/service/impl/PnWeblogEntryServiceImpl.java (modified) (1 diff)
- trunk/core/src/net/project/hibernate/service/impl/RollerBlogProvider.java (modified) (1 diff)
- trunk/core/src/net/project/view/components/BlogArchives.java (added)
- trunk/core/src/net/project/view/components/BlogTeam.java (added)
- trunk/core/src/net/project/view/pages/blog/AddWebLogEntry.java (modified) (5 diffs)
- trunk/core/src/net/project/view/pages/blog/AddWeblogEntryComment.java (modified) (5 diffs)
- trunk/core/src/net/project/view/pages/blog/ViewBlog.java (modified) (26 diffs)
- trunk/core/web/html/blog/AddWebLogEntry.html (modified) (1 diff)
- trunk/core/web/html/blog/AddWeblogEntryComment.html (modified) (2 diffs)
- trunk/core/web/html/blog/ViewBlog.html (modified) (5 diffs)
- trunk/core/web/html/resource/management/components/BlogArchives.html (added)
- trunk/core/web/html/resource/management/components/BlogTeam.html (added)
- trunk/core/web/jsp/personal/include/NavBar.jsp (modified) (1 diff)
- trunk/core/web/jsp/project/include/NavBar.jsp (modified) (1 diff)
- trunk/test/acceptance/src/net/project/test/acceptance/AllTests.java (modified) (2 diffs)
- trunk/test/acceptance/src/net/project/test/acceptance/blog (added)
- trunk/test/acceptance/src/net/project/test/acceptance/blog/BlogBase.java (added)
- trunk/test/acceptance/src/net/project/test/acceptance/blog/PersonalBlogTest.java (added)
- trunk/test/acceptance/src/net/project/test/acceptance/blog/ProjectBlogTest.java (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/core/db/oracle/create-scripts/versions/8.4.0/update_system_properties.sql
r17346 r17352 39559 39559 VALUES (2000,'en','text','prm.resource.resourceallocassigndetails.allworkvaluesareinhours.notemessage','* All work values are in Hours.','','A','0','1') 39560 39560 / 39561 INSERT INTO pn_property 39562 (CONTEXT_ID,LANGUAGE,PROPERTY_TYPE,PROPERTY,PROPERTY_VALUE,PROPERTY_VALUE_CLOB,RECORD_STATUS,IS_SYSTEM_PROPERTY,IS_TRANSLATABLE_PROPERTY) 39563 VALUES 39564 ('2000','en','boolean','prm.blog.isenabled','1','','A','0','0') 39565 / 39561 39566 39562 39567 -- End of insert all properties trunk/core/src/net/project/hibernate/constants/WeblogConstants.java
r17269 r17352 59 59 60 60 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; 61 66 62 67 } trunk/core/src/net/project/hibernate/dao/IPnWeblogEntryDAO.java
r17269 r17352 14 14 15 15 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; 16 18 17 19 } trunk/core/src/net/project/hibernate/dao/impl/PnWeblogEntryDAOImpl.java
r17269 r17352 33 33 public List<PnWeblogEntry> getWeblogEntries(Integer weblogId, Integer userId, Date startDate, Date endDate, String status, int offset, int range) throws PnWebloggerException { 34 34 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 "; 37 39 38 40 if(userId != null) … … 49 51 try{ 50 52 Query query = getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery(sql); 51 query.setInteger("weblogId", weblogId);52 53 query.setString("status", status); 54 55 if(weblogId != null) 56 query.setInteger("weblogId", weblogId); 53 57 54 58 if(userId != null) … … 109 113 } 110 114 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 111 167 } trunk/core/src/net/project/hibernate/service/IBlogProvider.java
r17269 r17352 133 133 int range) 134 134 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; 135 147 136 148 /** trunk/core/src/net/project/hibernate/service/IPnWeblogEntryService.java
r17269 r17352 38 38 39 39 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; 40 42 41 43 } trunk/core/src/net/project/hibernate/service/impl/PnWeblogEntryServiceImpl.java
r17269 r17352 78 78 return pnWeblogEntryDAO.getWeblogEntriesByTaskId(taskId); 79 79 } 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 } 80 87 81 88 } trunk/core/src/net/project/hibernate/service/impl/RollerBlogProvider.java
r17269 r17352 141 141 } 142 142 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 143 150 /* 144 151 * (non-Javadoc) trunk/core/src/net/project/view/pages/blog/AddWebLogEntry.java
r17271 r17352 22 22 import net.project.hibernate.service.ServiceFactory; 23 23 import net.project.security.SessionManager; 24 import net.project.util.Version; 24 25 import net.project.view.pages.resource.management.GenericSelectModel; 25 26 27 import org.apache.commons.lang.StringUtils; 26 28 import org.apache.log4j.Logger; 27 29 import org.apache.tapestry.annotations.CleanupRender; … … 43 45 private String application_title; 44 46 47 @Persist 48 private String versionNumber; 49 45 50 @Persist 46 51 private Integer weblogId; … … 133 138 try { 134 139 log = Logger.getLogger(AddWebLogEntry.class); 135 jspRootURL = SessionManager.getJSPRootURL();136 140 blogProvider = ServiceFactory.getInstance().getBlogProvider(); 137 141 personService = ServiceFactory.getInstance().getPnPersonService(); … … 162 166 throw new IllegalStateException("User is null"); 163 167 } 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()); 165 171 } 166 172 … … 597 603 public String getTaskListLabel() { 598 604 return taskListLabel; 605 } 606 607 /** 608 * @return the versionNumber 609 */ 610 public String getVersionNumber() { 611 return versionNumber; 599 612 } 600 613 trunk/core/src/net/project/view/pages/blog/AddWeblogEntryComment.java
r17269 r17352 10 10 import net.project.base.property.PropertyProvider; 11 11 import net.project.hibernate.constants.WeblogConstants; 12 import net.project.hibernate.model.PnPerson;13 12 import net.project.hibernate.model.PnWeblogComment; 14 13 import net.project.hibernate.model.PnWeblogEntry; 15 14 import net.project.hibernate.service.IBlogProvider; 16 import net.project.hibernate.service.IPnPersonService;17 import net.project.hibernate.service.IPnTaskService;18 15 import net.project.hibernate.service.ServiceFactory; 19 16 import net.project.security.SessionManager; 20 17 import net.project.security.User; 21 18 import net.project.util.Version; 19 20 import org.apache.commons.lang.StringUtils; 22 21 import org.apache.log4j.Logger; 23 22 import org.apache.tapestry.annotations.CleanupRender; … … 25 24 import org.apache.tapestry.annotations.Persist; 26 25 import org.apache.tapestry.annotations.SetupRender; 27 import org.hibernate.Hibernate;28 26 29 27 /** … … 37 35 @Persist 38 36 private String application_title; 37 38 @Persist 39 private String versionNumber; 39 40 40 41 private String name; … … 113 114 } 114 115 date = weblogDateFormat.format(Calendar.getInstance().getTime()); 116 versionNumber = StringUtils.deleteWhitespace(Version.getInstance().getAppVersion()); 115 117 } 116 118 … … 331 333 this.subject = subject; 332 334 } 335 336 /** 337 * @return the versionNumber 338 */ 339 public String getVersionNumber() { 340 return versionNumber; 341 } 333 342 } trunk/core/src/net/project/view/pages/blog/ViewBlog.java
r17269 r17352 4 4 package net.project.view.pages.blog; 5 5 6 import java.text.ParseException; 6 7 import java.text.SimpleDateFormat; 7 import java.util.ArrayList;8 8 import java.util.Calendar; 9 import java.util.Collections; 10 import java.util.Comparator; 11 import java.util.Date; 9 12 import java.util.List; 10 13 … … 15 18 import net.project.hibernate.constants.WeblogConstants; 16 19 import net.project.hibernate.model.PnPerson; 17 import net.project.hibernate.model.PnTask;18 20 import net.project.hibernate.model.PnWeblog; 19 21 import net.project.hibernate.model.PnWeblogComment; 20 22 import net.project.hibernate.model.PnWeblogEntry; 21 23 import net.project.hibernate.service.IBlogProvider; 22 import net.project.hibernate.service.IPnPersonService;23 import net.project.hibernate.service.IPnTaskService;24 24 import net.project.hibernate.service.ServiceFactory; 25 25 import net.project.project.ProjectSpaceBean; 26 26 import net.project.security.SessionManager; 27 27 import net.project.security.User; 28 import net.project.view.pages.resource.management.GenericSelectModel;29 28 30 29 import org.apache.log4j.Logger; … … 32 31 import org.apache.tapestry.annotations.InjectPage; 33 32 import org.apache.tapestry.annotations.Persist; 34 import org.apache.tapestry. ioc.services.PropertyAccess;33 import org.apache.tapestry.annotations.SetupRender; 35 34 import org.apache.tapestry.services.RequestGlobals; 36 35 … … 44 43 private String name; 45 44 45 private String linkHrefValue; 46 47 private String linkDisplayName; 48 46 49 private String description; 47 50 … … 51 54 52 55 private String timeZone; 53 56 54 57 @Persist 55 58 private String dashboard; 56 59 57 60 @Persist 58 61 private String postNewEntryLink; 59 62 60 63 @Persist 61 64 private String importantSymbolTooltip; 62 65 63 66 @Persist 64 67 private String taskListLabel; 65 68 66 69 @Persist 67 70 private String taskListFirstOption; 68 71 69 72 @Persist 70 73 private String tasksNotExistOption; 71 74 72 75 @Persist 73 76 private String entryPostedByLabel; 74 77 75 78 @Persist 76 79 private String entryPostedAt; 77 80 78 81 @Persist 79 82 private String entryPopupTitle; 80 83 81 84 @Persist 82 85 private String commentPopupTitle; 83 86 84 87 @Persist 85 88 private String entryPopupCloseLabel; 86 89 87 90 private IBlogProvider blogProvider; 88 91 … … 91 94 92 95 private PnWeblogEntry pnWeblogEntry; 93 96 94 97 private PnWeblogComment pnWeblogComment; 95 98 … … 112 115 @Persist 113 116 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; 114 152 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; 138 154 139 155 /** … … 150 166 taskListLabel = PropertyProvider.get("prm.blog.viewblog.dropdownselecttaskshere.label"); 151 167 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"); 153 170 entryPostedByLabel = PropertyProvider.get("prm.blog.viewblog.entrypostedby.label"); 154 171 entryPostedAt = PropertyProvider.get("prm.blog.viewblog.entrypostedat.label"); … … 161 178 } 162 179 } 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 } 163 273 164 274 /** … … 169 279 */ 170 280 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 172 282 // while saving blog as well as displaying person details on page 173 283 PnPerson person = new PnPerson(); … … 176 286 person.setLastName(user.getLastName()); 177 287 person.setPersonId(Integer.parseInt(user.getID())); 178 288 179 289 PnWeblog pnWeblog = new PnWeblog(); 180 290 // setting blog name and description as per space type … … 193 303 } 194 304 pnWeblog.setEmailAddress(user.getEmail()); 195 pnWeblog.setCreatedDate(Calendar.getInstance().getTime()); 305 pnWeblog.setCreatedDate(Calendar.getInstance().getTime()); 196 306 pnWeblog.setPnPerson(person); 197 307 pnWeblog.setSpaceId(spaceId); … … 212 322 return null; 213 323 } 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 233 327 * 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) { 240 338 if (net.project.security.SessionManager.getUser() == null) { 241 339 throw new IllegalStateException("User is null"); … … 246 344 this.moduleId = moduleId; 247 345 this.spaceType = spaceType; 346 248 347 try { 249 348 // getting weblog of a user or project as per space type … … 254 353 } else if (spaceType.equals("project")) { 255 354 linkToPersonSpace = false; 355 // getting ProjectSpaceBean from request for project details 256 356 project = (ProjectSpaceBean) request.getSession().getAttribute("projectSpace"); 257 357 userWeblog = blogProvider.getWeblogBySpaceId(spaceId); … … 263 363 log.error(pnetEx.getMessage()); 264 364 } 265 // if weblog not exist then creating weblog365 // if blog not exist then creating blog 266 366 if (userWeblog == null) { 267 Integer blogId = createBlog( SessionManager.getUser());367 Integer blogId = createBlog(new User(userId.toString())); 268 368 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); 276 427 } 277 428 } 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
