1 25 package com.j2biz.blogunity; 26 27 import java.io.ByteArrayOutputStream ; 28 import java.io.File ; 29 import java.io.IOException ; 30 import java.util.Calendar ; 31 import java.util.Properties ; 32 import java.util.Random ; 33 34 import org.apache.commons.lang.StringUtils; 35 import org.radeox.api.engine.RenderEngine; 36 import org.radeox.api.engine.context.RenderContext; 37 import org.radeox.engine.BaseRenderEngine; 38 import org.radeox.engine.context.BaseRenderContext; 39 40 import com.j2biz.blogunity.dao.BlogDAO; 41 import com.j2biz.blogunity.dao.CategoryDAO; 42 import com.j2biz.blogunity.dao.EntryDAO; 43 import com.j2biz.blogunity.dao.SystemConfigurationDAO; 44 import com.j2biz.blogunity.dao.TrackbackDAO; 45 import com.j2biz.blogunity.dao.UserDAO; 46 import com.j2biz.blogunity.dao.UserpicDAO; 47 import com.j2biz.blogunity.exception.BlogunityException; 48 import com.j2biz.blogunity.pojo.Blog; 49 import com.j2biz.blogunity.pojo.Category; 50 import com.j2biz.blogunity.pojo.Entry; 51 import com.j2biz.blogunity.pojo.SystemConfiguration; 52 import com.j2biz.blogunity.pojo.Trackback; 53 import com.j2biz.blogunity.pojo.User; 54 import com.j2biz.blogunity.pojo.Userpic; 55 import com.j2biz.blogunity.util.HibernateUtil; 56 import com.j2biz.blogunity.util.PasswordEncryptionService; 57 import com.j2biz.blogunity.util.ResourceUtils; 58 59 66 public class CreateFakeData { 67 68 private static String ROOT_DIR = null; 69 70 private static String BLOGS_DATA_DIR = null; 71 72 private static String TEMP_DIR = null; 73 74 private static boolean enablePasswordEncryption = false; 75 76 private static int passwordEncryptionType = PasswordEncryptionService.MD5; 77 78 private static String [] bodies = { 79 "{code}" 80 + "User user = new User();\n" 81 + "user.setName( \"test\");\n" 82 + "user.setPassword(time);\n" 83 + "user.setEmail( time);\n" 84 + "\n" 85 + "{code}" 86 + "\\" 87 + "\\" 88 89 + "Lorem ipsum mei meis postea neglegentur te. Eos nulla discere ut. Vix sumo labore dissentias at, nominavi percipit ei per. Stet elitr eleifend id ius, essent referrentur per in." 90 + "__Malis eleifend interesset qui in, ei quo accumsan maluisset__, ad ullum salutandi incorrupte sea. Voluptua deterruisset pro in, mei an error sanctus philosophia. Vim ei summo detracto, at eum saperet dolorem mediocrem. Eos tollit officiis hendrerit eu, sed te possit delectus. Ex vim error dicunt. Ut cum quidam iracundia, ei elaboraret assueverit pri." 91 + "Est id choro postea postulant, in mea fugit audire fastidii, quem viderer maiestatis an sea. Tempor verterem interesset et per, eu per vero graeci platonem. Nec voluptaria definiebas an, in soleat labore deterruisset nec, mei enim oblique facilis in. Velit decore his te, eu zzril putant est. Fabulas consequat vim ut, puto lobortis dignissim an eam. Te suas rationibus duo, reque malis tamquam eos ad." 92 + "Nam ut sumo dicta, at cum kasd partiendo disputando. Vis et imperdiet conclusionemque. At sit oratio suavitate neglegentur, populo aliquyam sed cu. Unum verear per ad, vim clita epicuri facilisis at." 93 + "Eam duis dolorum ad, id delenit fastidii recteque nec, vel propriae conceptam necessitatibus cu. Stet sale paulo vim ne. Mei ut audire euismod, ullum hendrerit adipiscing ne usu. Odio nominati eum in, pro impetus persius eleifend ut. Ea mea dicat singulis accusata, id quod constituto vix." 94 + "Illum munere bonorum eu his. Id atqui mediocrem efficiantur sed. Id sea solum causae, suas appetere nam in. No eos quod ridens, ex cum graece copiosae honestatis, adhuc adolescens efficiendi ea mei. Pericula maluisset eos in." 95 + "Has novum movet exerci ex. ~~Ea eum patrioque reprimique, usu et invenire conclusionemque. In scripta tractatos nec. Tempor doctus audiam in qui, et movet minimum persequeris duo." 96 + "Oporteat urbanitas has at, id euripidis~~ tincidunt abhorreant his. Detracto accusata ei vim. Duo facer viderer id, eu equidem alienum sapientem sea, ne reque dolor has. Vel solum torquatos et. Sit dolor exerci ut, pri tation aperiam et. Vel cu perfecto invenire interesset, pro ex iuvaret percipitur." 97 + "Ut ius dolore phaedrum. --Porro vitae tation id duo, an has persius aliquam. Evertitur conclusionemque ei has. Duo ad nihil nobis impetus, his quas omnesque ad, odio iudico meliore duo in. Quot labore dissentias eos id, mei et amet propriae pericula. Sit in nonumy quaeque adolescens, nec ad vocibus consequuntur, ex velit possit honestatis per." 98 + "Pro ad summo-- labores praesent, illum nemore aliquam ad pri. Id essent fuisset cum, integre habemus efficiendi eos ne. An omnis putent adolescens nec. Ad nobis dicunt constituam vix, discere numquam referrentur qui ad. Esse vocibus phaedrum pro cu, an mei theophrastus consequuntur, ad mei alia debet recteque." 99 100 , 101 "GMailer API for Java (g4j) is set of API that allows Java programmer to communicate to GMail. With G4J programmers can made Java based application that based on huge storage of GMail." 102 + "An Email application, GMailer for Java is also built to demonstrate the usage of the API. It is planned to include minimalist email capabilities such as browse, search, read, send mail and download attachment.." 103 104 , 105 "One possible approach is to leave the session open (and transaction uncommitted) when " 106 + "forwarding to the view. The session/transaction would be closed/committed after the view is rendered in, for example, a servlet filter " 107 + "(another example would by to use the ModelLifetime.discard() callback in Maverick). One difficulty with " 108 + "this approach is making sure the session/transaction is closed/rolled back if an exception occurs rendering the view."}; 109 110 public static void main(String [] args) { 111 112 System.out.println("Creating fake data..."); 113 114 if (args.length < 3) 115 throw new UnsupportedOperationException ( 116 "Can not create fake data! Not enougth arguments found!"); 117 118 ROOT_DIR = args[0]; 119 120 if (StringUtils.isEmpty(ROOT_DIR)) 121 throw new RuntimeException ("Value for ROOT_DIRECTORY is empty! Aborted!"); 122 123 File rootDir = new File (ROOT_DIR); 124 if (!rootDir.exists() || !rootDir.isDirectory() || !rootDir.canWrite()) 125 throw new RuntimeException ("Directory '" + ROOT_DIR 126 + "' not exists or is not avaliable!"); 127 128 BLOGS_DATA_DIR = ROOT_DIR + "/WEB-INF/data"; 129 TEMP_DIR = ROOT_DIR + "/WEB-INF/temp"; 130 131 File dataDir = new File (BLOGS_DATA_DIR); 132 if (!dataDir.exists()) { 133 boolean result = dataDir.mkdirs(); 134 if (!result) 135 throw new RuntimeException ("Aborted! Unable to create directory: " 136 + BLOGS_DATA_DIR); 137 } 138 139 File tempDir = new File (TEMP_DIR); 140 if (!tempDir.exists()) { 141 boolean result = tempDir.mkdirs(); 142 if (!result) 143 throw new RuntimeException ("Aborted! Unable to create directory: " + TEMP_DIR); 144 } 145 146 String _enableEncryptionStr = args[1]; 147 if (_enableEncryptionStr.equalsIgnoreCase("true")) { 148 enablePasswordEncryption = true; 149 if (args.length >= 3) { 150 String _typeStr = args[2]; 152 if (_typeStr.equalsIgnoreCase("MD5")) { 153 passwordEncryptionType = PasswordEncryptionService.MD5; 154 } else if (_typeStr.equalsIgnoreCase("SHA")) { 155 passwordEncryptionType = PasswordEncryptionService.SHA; 156 } else { 157 enablePasswordEncryption = false; 158 } 159 } 160 } else { 161 enablePasswordEncryption = false; 162 } 163 164 System.out.println("Create configuration..."); 165 166 createConfig(); 167 168 System.out.println("Create users..."); 169 createUsers(); 170 171 System.out.println("Create blogs..."); 172 createBlogs(); 173 174 System.out.println("Create categories..."); 175 createCategories(); 176 177 System.out.println("Create entries..."); 178 createEntries(); 179 180 } 181 182 185 private static void createConfig() { 186 HibernateUtil.beginTransaction(); 187 188 Properties props = new Properties (); 189 190 props.setProperty("resource.loader", "file, class"); 191 192 props.setProperty("file.resource.loader.path", BLOGS_DATA_DIR); 194 props.setProperty("file.resource.loader.cache", "true"); 195 props.setProperty("file.resource.loader.modificationCheckInterval", "2"); 196 props.setProperty("velocimacro.library", "blogunity_macros.vm"); 197 198 props 200 .setProperty("class.resource.loader.description", 201 "Velocity Classpath Resource Loader"); 202 props.setProperty("class.resource.loader.class", 203 "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); 204 205 props.setProperty("runtime.log", ROOT_DIR + "/WEB-INF/velocity.log"); 207 props.setProperty("input.encoding", "UTF-8"); 208 props.setProperty("output.encoding", "UTF-8"); 209 210 SystemConfiguration config = new SystemConfiguration(); 211 config.setAllowNewUsers(true); 212 213 if (enablePasswordEncryption) { 214 config.setPasswordEncriptionEnabled(true); 215 config.setPasswordEncryptionType(passwordEncryptionType); 216 } else 217 config.setPasswordEncriptionEnabled(false); 218 219 config.setDataDir(BLOGS_DATA_DIR); 220 config.setTempDir(TEMP_DIR); 221 config.setValidateNewUsers(true); 223 224 ByteArrayOutputStream out = new ByteArrayOutputStream (); 225 try { 226 props.store(out, "test"); 227 } catch (IOException e) { 228 e.printStackTrace(); 229 } 230 231 config.setVelocityProperties(new String (out.toByteArray())); 232 233 try { 234 SystemConfigurationDAO dao = new SystemConfigurationDAO(); 235 dao.setSystemConfiguration(config); 236 HibernateUtil.commitTransaction(); 237 } catch (BlogunityException e1) { 238 e1.printStackTrace(); 239 } finally { 240 HibernateUtil.closeSession(); 241 } 242 243 } 244 245 248 private static void createUsers() { 249 250 try { 251 UserDAO dao = new UserDAO(); 252 253 User u1 = new User(); 255 u1.setNickname("max"); 256 257 try { 258 if (enablePasswordEncryption) u1.setPassword(PasswordEncryptionService.encrypt( 259 "123", passwordEncryptionType)); 260 else 261 u1.setPassword("123"); 262 } catch (Exception e1) { 263 u1.setPassword("123"); 264 } 265 266 u1.setFirstname("Maxim"); 267 u1.setLastname("Gorky"); 268 u1.setEmail("max@avrora.net"); 269 u1.setBioRaw("Rodilsja, zhil i __umer__..."); 270 u1.setBio("Rodilsja, zhil i <b>umer</b>..."); 271 u1.setHomepage("http://www.avrora.net"); 272 u1.setIcq("58009584"); 273 u1.setAdministrator(true); 274 Calendar birthday = Calendar.getInstance(); 275 birthday.set(1978, Calendar.JUNE, 19); 276 u1.setBirthday(birthday.getTime()); 277 dao.createUser(u1); 278 279 File userDir = new File (BLOGS_DATA_DIR, "users/" + u1.getNickname()); 281 if (userDir.exists()) { 282 ResourceUtils.removeDirectory(userDir); 283 } 284 285 userDir.mkdirs(); 286 File userpicsDir = new File (userDir, "userpics"); 287 userpicsDir.mkdir(); 288 289 Userpic pic1 = new Userpic("pic1", "/users/max/userpics/img001.jpg", true, u1); 290 ResourceUtils.copyFile(new File (ROOT_DIR, "/images/avatars/img001.jpg"), new File ( 291 userpicsDir, "img001.jpg")); 292 293 Userpic pic2 = new Userpic("pic2", "/users/max/userpics/img002.jpg", false, u1); 294 ResourceUtils.copyFile(new File (ROOT_DIR, "/images/avatars/img002.jpg"), new File ( 295 userpicsDir, "img002.jpg")); 296 297 Userpic pic3 = new Userpic("pic3", "/users/max/userpics/img003.jpg", false, u1); 298 ResourceUtils.copyFile(new File (ROOT_DIR, "/images/avatars/img003.jpg"), new File ( 299 userpicsDir, "img003.jpg")); 300 301 Userpic pic4 = new Userpic("pic4", "/users/max/userpics/img004.jpg", false, u1); 302 ResourceUtils.copyFile(new File (ROOT_DIR, "/images/avatars/img004.jpg"), new File ( 303 userpicsDir, "img004.jpg")); 304 305 Userpic pic5 = new Userpic("pic5", "/users/max/userpics/img005.jpg", false, u1); 306 ResourceUtils.copyFile(new File (ROOT_DIR, "/images/avatars/img005.jpg"), new File ( 307 userpicsDir, "img005.jpg")); 308 309 UserpicDAO userpicDAO = new UserpicDAO(); 310 userpicDAO.createUserpic(pic1); 311 userpicDAO.createUserpic(pic2); 312 userpicDAO.createUserpic(pic3); 313 userpicDAO.createUserpic(pic4); 314 userpicDAO.createUserpic(pic5); 315 316 User u2 = new User(); 318 u2.setNickname("vasja"); 319 320 try { 321 if (enablePasswordEncryption) u2.setPassword(PasswordEncryptionService.encrypt( 322 "123", passwordEncryptionType)); 323 else 324 u2.setPassword("123"); 325 } catch (Exception e1) { 326 u2.setPassword("123"); 327 } 328 329 u2.setFirstname("Vasisualij"); 330 u2.setLastname("Lohankin"); 331 u2.setEmail("vasja@hotmail.com"); 332 dao.createUser(u2); 333 334 userDir = new File (BLOGS_DATA_DIR, "users/" + u2.getNickname()); 335 if (userDir.exists()) { 336 ResourceUtils.removeDirectory(userDir); 337 } 338 339 userDir.mkdirs(); 340 userpicsDir = new File (userDir, "userpics"); 341 userpicsDir.mkdir(); 342 343 Userpic pic1x = new Userpic("pic1", "/users/max/userpics/img011.jpg", true, u2); 344 ResourceUtils.copyFile(new File (ROOT_DIR, "/images/avatars/img011.jpg"), new File ( 345 userpicsDir, "img011.jpg")); 346 Userpic pic2x = new Userpic("pic1", "/users/max/userpics/img031.jpg", false, u2); 347 ResourceUtils.copyFile(new File (ROOT_DIR, "/images/avatars/img031.jpg"), new File ( 348 userpicsDir, "img031.jpg")); 349 350 userpicDAO.createUserpic(pic1x); 351 userpicDAO.createUserpic(pic2x); 352 353 User u3 = new User(); 355 u3.setNickname("petja"); 356 357 try { 358 if (enablePasswordEncryption) u3.setPassword(PasswordEncryptionService.encrypt( 359 "123", passwordEncryptionType)); 360 else 361 u3.setPassword("123"); 362 } catch (Exception e1) { 363 u3.setPassword("123"); 364 } 365 366 u3.setFirstname("Peter"); 367 u3.setLastname("Pervyj"); 368 u3.setEmail("peter@russia.ru"); 369 dao.createUser(u3); 370 371 User u4 = new User(); 373 u4.setNickname("soso"); 374 375 try { 376 if (enablePasswordEncryption) u4.setPassword(PasswordEncryptionService.encrypt( 377 "123", passwordEncryptionType)); 378 else 379 u4.setPassword("123"); 380 } catch (Exception e1) { 381 u4.setPassword("123"); 382 } 383 384 u4.setFirstname("Sosulija"); 385 u4.setLastname("Vzhopuvyebajko"); 386 u4.setEmail("soska@sex.com"); 387 u4.setSex(User.FEMALE); 388 dao.createUser(u4); 389 390 u1.addFriend(u2); 391 u1.addFriend(u3); 392 dao.updateUser(u1); 393 394 HibernateUtil.commitTransaction(); 395 } catch (BlogunityException e) { 396 e.printStackTrace(); 397 } finally { 398 HibernateUtil.closeSession(); 399 } 400 401 } 402 403 406 private static void createBlogs() { 407 try { 408 UserDAO userDAO = new UserDAO(); 409 BlogDAO blogDAO = new BlogDAO(); 410 411 User u1 = userDAO.getUserByID(new Long (1)); 412 User u2 = userDAO.getUserByID(new Long (2)); 413 User u3 = userDAO.getUserByID(new Long (3)); 414 415 Blog b1 = new Blog(); 417 b1.setUrlName("blog1"); 418 b1.setFullName("blog1 full"); 419 b1.setDescription("this is a description for blog number 1"); 420 b1.setFounder(u1); 421 blogDAO.createBlog(b1); 422 createThemeDirectory(b1, "dark"); 423 424 Blog b2 = new Blog(); 426 b2.setUrlName("blog2"); 427 b2.setFullName("blog2 full"); 428 b2.setDescription("this is a description for blog number 2"); 429 b2.setFounder(u2); 430 blogDAO.createBlog(b2); 431 createThemeDirectory(b2, "blue"); 432 433 Blog b3 = new Blog(); 435 b3.setUrlName("blog3"); 436 b3.setFullName("blog3 full"); 437 b3.setDescription("this is a description for blog number 3"); 438 b3.setType(Blog.COMMUNITY_BLOG); 439 b3.setFounder(u1); 440 blogDAO.createBlog(b3); 441 createThemeDirectory(b3, "blue"); 442 443 Blog b4 = new Blog(); 445 b4.setUrlName("blog4"); 446 b4.setFullName("blog4 full"); 447 b4.setDescription("this is a description for blog number 4"); 448 b4.setType(Blog.COMMUNITY_BLOG); 449 b4.setFounder(u3); 450 blogDAO.createBlog(b4); 451 createThemeDirectory(b4, "dark"); 452 453 u2.addContributedBlog(b3); 455 b3.addContributor(u2); 456 457 u3.addContributedBlog(b3); 459 b3.addContributor(u3); 460 461 u1.addContributedBlog(b4); 463 b4.addContributor(u1); 464 465 u2.addContributedBlog(b4); 467 b4.addContributor(u2); 468 469 u1.addFavoriteBlog(b4); 471 472 userDAO.updateUser(u1); 473 userDAO.updateUser(u2); 474 userDAO.updateUser(u3); 475 476 HibernateUtil.commitTransaction(); 477 } catch (BlogunityException e) { 478 e.printStackTrace(); 479 } finally { 480 HibernateUtil.closeSession(); 481 } 482 483 } 484 485 private static void createThemeDirectory(Blog b, String theme) throws BlogunityException { 486 File blogDir = new File (BLOGS_DATA_DIR, "blogs/" + b.getUrlName()); 487 if (blogDir.exists()) { 488 ResourceUtils.removeDirectory(blogDir); 489 } 490 491 blogDir.mkdirs(); 492 493 new File (BLOGS_DATA_DIR, "blogs/" + b.getUrlName() + "/indexes").mkdirs(); 494 new File (BLOGS_DATA_DIR, "blogs/" + b.getUrlName() + "/images").mkdirs(); 495 new File (BLOGS_DATA_DIR, "blogs/" + b.getUrlName() + "/logs").mkdirs(); 496 new File (BLOGS_DATA_DIR, "blogs/" + b.getUrlName() + "/files").mkdirs(); 497 498 File themeDir = new File (blogDir, "theme"); 499 themeDir.mkdir(); 500 ResourceUtils.copyDirectory(new File (ROOT_DIR, "/WEB-INF/themes/" + theme), themeDir); 501 502 } 503 504 507 private static void createCategories() { 508 try { 509 CategoryDAO dao = new CategoryDAO(); 510 BlogDAO blogDAO = new BlogDAO(); 511 512 Category cx = new Category("global1", Category.GLOBAL); 514 dao.createCategory(cx); 515 516 Category cy = new Category("global2", Category.GLOBAL); 517 dao.createCategory(cy); 518 519 521 Blog b1 = blogDAO.getBlogByID(new Long (1)); 523 b1.addCategory(cx); 524 b1.addCategory(cy); 525 526 Category c1 = new Category("blog1_local1", Category.LOCAL); 527 c1.addBlog(b1); 528 b1.addCategory(c1); 529 dao.createCategory(c1); 530 531 Category c2 = new Category("blog1_local2", Category.LOCAL); 532 c2.addBlog(b1); 533 b1.addCategory(c2); 534 dao.createCategory(c2); 535 536 Blog b2 = blogDAO.getBlogByID(new Long (2)); 538 b2.addCategory(cx); 539 b2.addCategory(cy); 540 541 Category c3 = new Category("blog2_local1", Category.LOCAL); 542 c3.addBlog(b2); 543 b2.addCategory(c3); 544 dao.createCategory(c3); 545 546 Category c4 = new Category("blog2_local2", Category.LOCAL); 547 c4.addBlog(b2); 548 b2.addCategory(c4); 549 dao.createCategory(c4); 550 551 Blog b3 = blogDAO.getBlogByID(new Long (3)); 553 b3.addCategory(cx); 554 b3.addCategory(cy); 555 556 Category c5 = new Category("blog3_local1", Category.LOCAL); 557 c5.addBlog(b3); 558 b3.addCategory(c5); 559 dao.createCategory(c5); 560 561 Blog b4 = blogDAO.getBlogByID(new Long (4)); 563 b4.addCategory(cx); 564 b4.addCategory(cy); 565 566 Category c6 = new Category("blog4_local1", Category.LOCAL); 567 c6.addBlog(b4); 568 b4.addCategory(c6); 569 dao.createCategory(c6); 570 Category c7 = new Category("blog4_local2", Category.LOCAL); 571 c7.addBlog(b4); 572 b4.addCategory(c7); 573 dao.createCategory(c7); 574 575 HibernateUtil.commitTransaction(); 576 } catch (BlogunityException e) { 577 e.printStackTrace(); 578 } finally { 579 HibernateUtil.closeSession(); 580 } 581 582 } 583 584 587 private static void createEntries() { 588 try { 589 UserDAO userDAO = new UserDAO(); 590 BlogDAO blogDAO = new BlogDAO(); 591 EntryDAO entryDAO = new EntryDAO(); 592 TrackbackDAO trackbackDAO = new TrackbackDAO(); 593 594 long time = System.currentTimeMillis(); 595 596 RenderEngine engine = new BaseRenderEngine(); 597 RenderContext ctx = new BaseRenderContext(); 598 599 Calendar timeBegin = Calendar.getInstance(); 600 timeBegin.set(2004, Calendar.JUNE, 30); 601 602 Calendar timeEnd = Calendar.getInstance(); 603 timeEnd.set(2004, Calendar.DECEMBER, 20); 604 605 User u1 = userDAO.getUserByID(1); 606 User u2 = userDAO.getUserByID(2); 607 User u3 = userDAO.getUserByID(3); 608 609 Blog b1 = blogDAO.getBlogByID(1); 610 Blog b2 = blogDAO.getBlogByID(2); 611 Blog b3 = blogDAO.getBlogByID(3); 612 613 Random rnd = new Random (); 614 boolean tbAllowed = true; 615 while (timeBegin.getTimeInMillis() < timeEnd.getTimeInMillis()) { 616 Entry entry = new Entry(); 617 618 entry.setCreateTime(timeBegin.getTime()); 619 entry.setBlog(b1); 620 621 int i = rnd.nextInt(10); 622 int j = rnd.nextInt(2); 623 624 entry.setRawTitle("entry title" + i); 625 entry.setTitle(engine.render(entry.getRawTitle(), ctx)); 626 entry.setRawBody(bodies[j]); 627 entry.setBody(engine.render(entry.getRawBody(), ctx)); 628 629 entry.setTrackbackAllowed(tbAllowed); 631 tbAllowed = !tbAllowed; 632 633 if (i > 5) { 634 entry.setRawExcerpt("this is just an excerpt " + i); 635 entry.setExcerpt(engine.render(entry.getRawExcerpt(), ctx)); 636 } 637 638 entry.addCategory((Category) b1.getCategories().iterator().next()); 639 entry.setAuthor(u1); 640 641 if (i > 5) { 642 entry.setUserpic((Userpic) u1.getUserpics().iterator().next()); 643 } 644 645 entryDAO.createEntry(entry); 646 647 if (entry.isTrackbackAllowed()) { 648 int tbIndex = rnd.nextInt(10); 649 for (int tbTmpIndex = 0; tbTmpIndex < tbIndex; tbTmpIndex++) { 650 Trackback tb = new Trackback(); 651 tb.setDate(entry.getCreateTime()); 652 tb.setDirection(Trackback.DIRECTION_INCOMING); 653 tb.setReferencedEntryId(entry.getId()); 655 tb.setUrl("http://mok.com"); 656 tb.setTitle(tb.getUrl()); 657 tb.setLoggedIp("127.0.0.1"); 658 tb 659 .setTrackbackContent("Lorem ipsum mei meis postea neglegentur te. Eos nulla discere ut. Vix sumo labore dissentias at, nominavi percipit ei per. Stet elitr eleifend id ius, essent referrentur per in.Malis eleifend interesset qui in, ei quo accumsan maluisset, ad ullum salutandi incorrupte sea. Voluptua deterruisset pro in, mei an error sanctus philosophia. Vim ei summo detracto, at eum saperet dolorem mediocrem. Eos tollit officiis hendrerit eu, sed te possit delectus. Ex vim error dicunt. Ut cum quidam iracundia, ei elaboraret assueverit pri.Est id choro postea postulant, in mea fugit audire fastidii, quem viderer maiestatis an sea. Tempor verterem interesset et per, eu per vero graeci platonem. Nec voluptaria definiebas an, in soleat labore deterruisset nec, mei enim oblique facilis in. Velit decore his te, eu zzril putant est. Fabulas consequat vim ut, puto lobortis dignissim an eam. Te suas rationibus duo, reque malis tamquam eos ad.Nam ut sumo dicta, at cum kasd partiendo disputando. Vis et imperdiet conclusionemque. At sit oratio suavitate neglegentur, populo aliquyam sed cu. Unum verear per ad, vim clita epicuri facilisis at.Eam duis dolorum ad, id delenit fastidii recteque nec, vel propriae conceptam necessitatibus cu. Stet sale paulo vim ne. Mei ut audire euismod, ullum hendrerit adipiscing ne usu. Odio nominati eum in, pro impetus persius eleifend ut. Ea mea dicat singulis accusata, id quod constituto vix.Illum munere bonorum eu his. Id atqui mediocrem efficiantur sed. Id sea solum causae, suas appetere nam in. No eos quod ridens, ex cum graece copiosae honestatis, adhuc adolescens efficiendi ea mei. Pericula maluisset eos in.Has novum movet exerci ex. Ea eum patrioque reprimique, usu et invenire conclusionemque. In scripta tractatos nec. Tempor doctus audiam in qui, et movet minimum persequeris duo.Oporteat urbanitas has at, id euripidis tincidunt abhorreant his. Detracto accusata ei vim. Duo facer viderer id, eu equidem alienum sapientem sea, ne reque dolor has. Vel solum torquatos et. Sit dolor exerci ut, pri tation aperiam et. Vel cu perfecto invenire interesset, pro ex iuvaret percipitur.Ut ius dolore phaedrum. Porro vitae tation id duo, an has persius aliquam. Evertitur conclusionemque ei has. Duo ad nihil nobis impetus, his quas omnesque ad, odio iudico meliore duo in. Quot labore dissentias eos id, mei et amet propriae pericula. Sit in nonumy quaeque adolescens, nec ad vocibus consequuntur, ex velit possit honestatis per.Pro ad summo labores praesent, illum nemore aliquam ad pri. Id essent fuisset cum, integre habemus efficiendi eos ne. An omnis putent adolescens nec. Ad nobis dicunt constituam vix, discere numquam referrentur qui ad. Esse vocibus phaedrum pro cu, an mei theophrastus consequuntur, ad mei alia debet recteque."); 660 trackbackDAO.createTrackback(tb); 661 } 662 } 663 timeBegin.add(Calendar.HOUR, 18); 664 } 665 HibernateUtil.commitTransaction(); 666 } catch (BlogunityException e) { 667 e.printStackTrace(); 668 } finally { 669 HibernateUtil.closeSession(); 670 } 671 } 672 } | Popular Tags |