Changeset 1303
- Timestamp:
- 12.03.2012 14:28:58 (15 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
backoffice/trunk/src/main/java/ee/tlu/htk/dippler/managers/ListingManager.java
r1287 r1303 293 293 294 294 public String listCourses(Integer offset, Integer limit) { 295 String xml = "";295 StringBuilder xml = new StringBuilder(); 296 296 try { 297 297 Query listing = em.createNativeQuery("SELECT * FROM Course c WHERE c.approved", Course.class); … … 300 300 List<Course> courses = (List<Course>) listing.getResultList(); 301 301 for(Course course : courses ){ 302 xml = xml + "<id>"+course.getId()+"</id>";303 } 304 } catch (Exception e) { 305 306 } 307 return xml ;302 xml.append("<id>").append(course.getId()).append("</id>"); 303 } 304 } catch (Exception e) { 305 306 } 307 return xml.toString(); 308 308 } 309 309 310 310 public String listEnrolledCourses(User user, Integer offset, Integer limit) { 311 String xml = "";311 StringBuilder xml = new StringBuilder(); 312 312 try { 313 313 Query listing = em.createNativeQuery("SELECT * FROM Learner l WHERE l.learner=?1", Learner.class); … … 317 317 List<Learner> learners = (List<Learner>) listing.getResultList(); 318 318 for(Learner learner : learners ){ 319 xml = xml + "<id>"+learner.getCourse().getId()+"</id>";320 } 321 } catch (Exception e) { 322 323 } 324 return xml ;319 xml.append("<id>").append(learner.getCourse().getId()).append("</id>"); 320 } 321 } catch (Exception e) { 322 323 } 324 return xml.toString(); 325 325 } 326 326 327 327 public String listEnrollableCourses(User user, Integer offset, Integer limit) { 328 String xml = "";328 StringBuilder xml = new StringBuilder(); 329 329 try { 330 330 Query listing = em.createNativeQuery("SELECT * FROM Course c WHERE c.approved AND c.enrollment<3 AND (SELECT count(course) FROM Learner l WHERE l.learner=?1 AND l.course=c.id)<1", Course.class); … … 334 334 List<Course> courses = (List<Course>) listing.getResultList(); 335 335 for(Course course : courses ){ 336 xml = xml + "<id>"+course.getId()+"</id>";337 } 338 } catch (Exception e) { 339 340 } 341 return xml ;336 xml.append("<id>").append(course.getId()).append("</id>"); 337 } 338 } catch (Exception e) { 339 340 } 341 return xml.toString(); 342 342 } 343 343 344 344 public String listOrganizationCourses(Long org_id, Integer offset, Integer limit) { 345 String xml = "";345 StringBuilder xml = new StringBuilder(); 346 346 try { 347 347 Query listing = em.createNativeQuery("SELECT * FROM Course c WHERE c.approved AND c.organization=?1", Course.class); … … 351 351 List<Course> courses = (List<Course>) listing.getResultList(); 352 352 for(Course course : courses ){ 353 xml = xml + "<id>"+course.getId()+"</id>";354 } 355 } catch (Exception e) { 356 357 } 358 return xml ;353 xml.append("<id>").append(course.getId()).append("</id>"); 354 } 355 } catch (Exception e) { 356 357 } 358 return xml.toString(); 359 359 } 360 360 361 361 public String listMyOrganizationCourses(Long org_id, Integer offset, Integer limit, User user) { 362 String xml = "";362 StringBuilder xml = new StringBuilder(); 363 363 try { 364 364 Query listing = em.createNativeQuery("SELECT * FROM Course c WHERE c.owner=?1 AND c.organization=?2", Course.class); … … 369 369 List<Course> courses = (List<Course>) listing.getResultList(); 370 370 for(Course course : courses ){ 371 xml = xml + "<id>"+course.getId()+"</id>";372 } 373 } catch (Exception e) { 374 375 } 376 return xml ;371 xml.append("<id>").append(course.getId()).append("</id>"); 372 } 373 } catch (Exception e) { 374 375 } 376 return xml.toString(); 377 377 } 378 378 379 379 public String listUnapprovedOrganizationCourses(Long org_id, Integer offset, Integer limit) { 380 String xml = "";380 StringBuilder xml = new StringBuilder(); 381 381 try { 382 382 Query listing = em.createNativeQuery("SELECT * FROM Course c WHERE !c.approved AND c.organization=?1", Course.class); … … 386 386 List<Course> courses = (List<Course>) listing.getResultList(); 387 387 for(Course course : courses ){ 388 xml = xml + "<id>"+course.getId()+"</id>";389 } 390 } catch (Exception e) { 391 392 } 393 return xml ;388 xml.append("<id>").append(course.getId()).append("</id>"); 389 } 390 } catch (Exception e) { 391 392 } 393 return xml.toString(); 394 394 } 395 395 396 396 public String listLearners(Long course_id, Integer status) { 397 String xml = "";397 StringBuilder xml = new StringBuilder(); 398 398 try { 399 399 Query listing = em.createNativeQuery("SELECT * FROM Learner l WHERE l.status>=?1 AND l.course=?2", Learner.class); … … 402 402 List<Learner> learners = (List<Learner>) listing.getResultList(); 403 403 for(Learner learner : learners ){ 404 xml = xml + "<id>"+learner.getId()+"</id>";405 } 406 } catch (Exception e) { 407 408 } 409 return xml ;404 xml.append("<id>").append(learner.getId()).append("</id>"); 405 } 406 } catch (Exception e) { 407 408 } 409 return xml.toString(); 410 410 } 411 411 … … 422 422 List<Assignment> assignments = (List<Assignment>) listing.getResultList(); 423 423 for(Assignment assignment : assignments ){ 424 xml.append("<id>" +assignment.getId()+"</id>");424 xml.append("<id>").append(assignment.getId()).append("</id>"); 425 425 } 426 426 } catch (Exception e) { … … 431 431 432 432 public String listAssignmentsFull(Long course_id, Integer offset, Integer limit) { 433 String xml = "<assignments>";433 StringBuilder xml = new StringBuilder("<assignments>"); 434 434 try { 435 435 Query find_course = em.createNamedQuery("Course.findById"); … … 443 443 for(Assignment assignment : assignments ){ 444 444 try { 445 xml += assignmentManager.marshal(assignment);445 xml.append(assignmentManager.marshal(assignment)); 446 446 } catch (Throwable ex) { 447 447 Logger.getLogger(ListingManager.class.getName()).log(Level.SEVERE, null, ex); … … 451 451 452 452 } 453 xml += "</assignments>";454 return xml ;453 xml.append("</assignments>"); 454 return xml.toString(); 455 455 } 456 456 457 457 public String listAnswers(Long assignment_id, Integer offset, Integer limit) { 458 String xml = "";458 StringBuilder xml = new StringBuilder(); 459 459 try { 460 460 Query find_assignment = em.createNamedQuery("Assignment.findById"); … … 467 467 List<Answer> answers = (List<Answer>) listing.getResultList(); 468 468 for(Answer answer : answers ){ 469 xml = xml + "<id>"+answer.getId()+"</id>";470 } 471 } catch (Exception e) { 472 473 } 474 return xml ;469 xml.append("<id>").append(answer.getId()).append("</id>"); 470 } 471 } catch (Exception e) { 472 473 } 474 return xml.toString(); 475 475 } 476 476 477 477 public String listGroups(Long course_id, Integer offset, Integer limit, String sorter) { 478 String xml = "";478 StringBuilder xml = new StringBuilder(); 479 479 ArrayList<String> sorter_al = Sorter.parseSorted(sorter, "coursegroup"); 480 480 try { … … 497 497 List<Coursegroup> groups = (List<Coursegroup>) listing.getResultList(); 498 498 for(Coursegroup group : groups ){ 499 xml = xml + "<id>"+group.getId()+"</id>";499 xml.append("<id>").append(group.getId()).append("</id>"); 500 500 } 501 501 } catch (Exception e) { 502 502 e.printStackTrace(System.err); 503 503 } 504 return xml ;504 return xml.toString(); 505 505 } 506 506 507 507 public String listGroupMembers(Long group_id, Integer offset, Integer limit) { 508 String xml = "";508 StringBuilder xml = new StringBuilder(); 509 509 try { 510 510 Query find = em.createNamedQuery("Coursegroup.findById"); … … 513 513 Collection<Learner> members = group.getMembers(); 514 514 for(Learner member : members ){ 515 xml = xml + "<id>"+member.getId()+"</id>";516 } 517 } catch (Exception e) { 518 519 } 520 return xml ;515 xml.append("<id>").append(member.getId()).append("</id>"); 516 } 517 } catch (Exception e) { 518 519 } 520 return xml.toString(); 521 521 } 522 522 523 523 public String listCourseblogPosts(Long course, Integer offset, Integer limit) { 524 String xml = "";524 StringBuilder xml = new StringBuilder(); 525 525 try { 526 526 Query listing = em.createNativeQuery("SELECT * FROM Courseblog_Post c WHERE c.course=?1 AND !c.hidden ORDER BY c.created DESC", CourseblogPost.class); … … 530 530 List<CourseblogPost> posts = (List<CourseblogPost>) listing.getResultList(); 531 531 for(CourseblogPost post : posts ){ 532 xml = xml + "<id>"+post.getId()+"</id>";533 } 534 } catch (Exception e) { 535 536 } 537 return xml ;532 xml.append("<id>").append(post.getId()).append("</id>"); 533 } 534 } catch (Exception e) { 535 536 } 537 return xml.toString(); 538 538 } 539 539 540 540 public String listCourseblogComments(Long post, Integer offset, Integer limit) { 541 String xml = "";541 StringBuilder xml = new StringBuilder(); 542 542 try { 543 543 Query listing = em.createNativeQuery("SELECT * FROM Courseblog_Comment c WHERE c.courseblog_post=?1 AND !c.hidden", CourseblogComment.class); … … 547 547 List<CourseblogComment> comments = (List<CourseblogComment>) listing.getResultList(); 548 548 for(CourseblogComment comment : comments ){ 549 xml = xml + "<id>"+comment.getId()+"</id>";550 } 551 } catch (Exception e) { 552 553 } 554 return xml ;549 xml.append("<id>").append(comment.getId()).append("</id>"); 550 } 551 } catch (Exception e) { 552 553 } 554 return xml.toString(); 555 555 } 556 556 557 557 public String listCourseComments(Long course_id, Integer offset, Integer limit) { 558 String xml = "";558 StringBuilder xml = new StringBuilder(); 559 559 try { 560 560 Query listing = em.createNativeQuery("SELECT * FROM Courseblog_Comment c WHERE c.course=?1 AND !c.hidden", CourseblogComment.class); … … 564 564 List<CourseblogComment> comments = (List<CourseblogComment>) listing.getResultList(); 565 565 for(CourseblogComment comment : comments ){ 566 xml = xml + "<id>"+comment.getId()+"</id>";566 xml.append("<id>").append(comment.getId()).append("</id>"); 567 567 } 568 568 } catch (Exception e) { 569 569 570 570 } 571 return xml ;571 return xml.toString(); 572 572 } 573 573 574 574 public String listTags(Long parent_id, Integer offset, Integer limit) { 575 String xml = "";575 StringBuilder xml = new StringBuilder(); 576 576 try { 577 577 Query listing = em.createNativeQuery("SELECT * FROM tag t", Tag.class); … … 581 581 List<Tag> tags = (List<Tag>) listing.getResultList(); 582 582 for(Tag tag : tags ){ 583 xml = xml + "<id>"+tag.getId()+"</id>";584 } 585 } catch (Exception e) { 586 587 } 588 return xml ;583 xml.append("<id>").append(tag.getId()).append("</id>"); 584 } 585 } catch (Exception e) { 586 587 } 588 return xml.toString(); 589 589 } 590 590 591 591 public String listCategories(Long parent_id, Integer offset, Integer limit) { 592 String xml = "";592 StringBuilder xml = new StringBuilder(); 593 593 try { 594 594 Query listing = em.createNativeQuery("SELECT * FROM category c WHERE c.parent=?1", Category.class); … … 598 598 List<Category> categories = (List<Category>) listing.getResultList(); 599 599 for(Category cat : categories ){ 600 xml = xml + "<id>"+cat.getId()+"</id>";601 } 602 } catch (Exception e) { 603 604 } 605 return xml ;600 xml.append("<id>").append(cat.getId()).append("</id>"); 601 } 602 } catch (Exception e) { 603 604 } 605 return xml.toString(); 606 606 } 607 607 608 608 public String listNotApprovedUsers(Long org, Integer offset, Integer limit) { 609 String xml = "";609 StringBuilder xml = new StringBuilder(); 610 610 try { 611 611 Query listing = em.createNativeQuery("SELECT * FROM User u LEFT JOIN user_organization uo ON u.id=uo.user WHERE !u.approved AND uo.organization=?1", User.class); … … 615 615 List<User> users = (List<User>) listing.getResultList(); 616 616 for(User user : users ){ 617 xml = xml + "<id>"+user.getId()+"</id>";617 xml.append("<id>").append(user.getId()).append("</id>"); 618 618 } 619 619 } catch (Exception e) { 620 620 621 621 } 622 return xml ;622 return xml.toString(); 623 623 } 624 624 625 625 public String listApprovedUsers(Long org, Integer offset, Integer limit) { 626 String xml = "";626 StringBuilder xml = new StringBuilder(); 627 627 try { 628 628 Query listing = em.createNativeQuery("SELECT * FROM User u LEFT JOIN user_organization uo ON u.id=uo.user WHERE u.approved AND uo.organization=?1", User.class); … … 632 632 List<User> users = (List<User>) listing.getResultList(); 633 633 for(User user : users ){ 634 xml = xml + "<id>"+user.getId()+"</id>";635 } 636 } catch (Exception e) { 637 638 } 639 return xml ;634 xml.append("<id>").append(user.getId()).append("</id>"); 635 } 636 } catch (Exception e) { 637 638 } 639 return xml.toString(); 640 640 } 641 641 642 642 public String listComboboxResourceFolders(Long course_id, Integer offset, Integer limit) { 643 String xml = "";643 StringBuilder xml = new StringBuilder(); 644 644 try { 645 645 Query folderListing = em.createNativeQuery("SELECT * FROM resource_folder f WHERE f.course=?1 AND f.parent IS NULL ORDER BY f.position ASC", ResourceFolder.class); … … 650 650 List<ResourceFolder> folders = (List<ResourceFolder>) folderListing.getResultList(); 651 651 // TODO list according to weight 652 xml = xml + "<foldertree>";652 xml.append("<foldertree>"); 653 653 for(ResourceFolder folder : folders){ 654 xml = xml + "<folder>";655 xml = xml + "<id>"+folder.getId()+"</id>";656 xml = xml + "<title>"+folder.getTitle()+"</title>";654 xml.append("<folder>"); 655 xml.append("<id>").append(folder.getId()).append("</id>"); 656 xml.append("<title>").append(folder.getTitle()).append("</title>"); 657 657 // xml = xml + "<description>"+folder.getDescription()+"</description>"; 658 xml = xml + listSubfolders(folder.getId(), offset, limit);659 xml = xml + "</folder>";660 } 661 xml = xml + "</foldertree>";662 } catch (Exception e) { 663 664 } 665 return xml ;658 xml.append(listSubfolders(folder.getId(), offset, limit)); 659 xml.append("</folder>"); 660 } 661 xml.append("</foldertree>"); 662 } catch (Exception e) { 663 664 } 665 return xml.toString(); 666 666 } 667 667 668 668 public String listSubfolders(Long folder_id, Integer offset, Integer limit) { 669 String xml = "";669 StringBuilder xml = new StringBuilder(); 670 670 try { 671 671 Query listing = em.createNativeQuery("SELECT * FROM resource_folder f WHERE f.parent=?1 ORDER BY f.position ASC", ResourceFolder.class); … … 674 674 listing.setMaxResults(limit); 675 675 if(listing.getResultList().isEmpty()) { 676 return xml;676 return ""; 677 677 } 678 678 List<ResourceFolder> folders = (List<ResourceFolder>) listing.getResultList(); 679 xml = xml + "<folders>";679 xml.append("<folders>"); 680 680 for(ResourceFolder folder : folders){ 681 xml = xml + "<folder>"; 682 xml = xml + "<id>"+folder.getId()+"</id>"; 683 xml = xml + "<title>"+folder.getTitle()+"</title>"; 684 xml = xml + listSubfolders(folder.getId(), offset, limit); 685 xml = xml + "</folder>"; 686 } 687 xml = xml + "</folders>"; 688 } catch (Exception e) { 689 690 } 691 return xml; 681 xml.append("<folder>"); 682 xml.append("<id>").append(folder.getId()).append("</id>"); 683 xml.append("<title>").append(folder.getTitle()).append("</title>"); 684 // xml = xml + "<description>"+folder.getDescription()+"</description>"; 685 xml.append(listSubfolders(folder.getId(), offset, limit)); 686 xml.append("</folder>"); 687 } 688 xml.append("</folders>"); 689 } catch (Exception e) { 690 691 } 692 return xml.toString(); 692 693 } 693 694 694 695 // TODO EMPTY QUERY CHECKS 695 696 public String listResourceFolders(Long course_id, Integer offset, Integer limit) { 696 String xml = "";697 StringBuilder xml = new StringBuilder(); 697 698 try { 698 699 Query listing = em.createNativeQuery("SELECT * FROM resource_folder f WHERE f.course=?1 AND f.parent IS NULL ORDER BY f.position ASC", ResourceFolder.class); … … 702 703 if(listing.getResultList().isEmpty()) { 703 704 // return resources/folders with appropriate course_id? 704 return xml ;705 return xml.toString(); 705 706 } 706 707 List<ResourceFolder> folders = (List<ResourceFolder>) listing.getResultList(); 707 708 for(ResourceFolder folder : folders){ 708 xml = xml + "<folder>";709 xml = xml + "<id>"+folder.getId()+"</id>";710 xml = xml + "<title>"+folder.getTitle()+"</title>";709 xml.append("<folder>"); 710 xml.append("<id>").append(folder.getId()).append("</id>"); 711 xml.append("<title>").append(folder.getTitle()).append("</title>"); 711 712 // SUBFOLDERS 712 713 Query sublisting = em.createNativeQuery("SELECT * FROM resource_folder f WHERE f.parent=?1 ORDER BY f.position ASC", ResourceFolder.class); … … 715 716 sublisting.setMaxResults(limit); 716 717 List<ResourceFolder> subfolders = (List<ResourceFolder>) sublisting.getResultList(); 717 xml = xml + "<folders>";718 xml.append("<folders>"); 718 719 for(ResourceFolder subfolder : subfolders){ 719 xml = xml + "<folder>";720 xml = xml + "<id>"+subfolder.getId()+"</id>";721 xml = xml + "<title>"+subfolder.getTitle()+"</title>";722 xml = xml + "</folder>";723 } 724 xml = xml + "</folders>";720 xml.append("<folder>"); 721 xml.append("<id>").append(subfolder.getId()).append("</id>"); 722 xml.append("<title>").append(subfolder.getTitle()).append("</title>"); 723 xml.append("</folder>"); 724 } 725 xml.append("</folders>"); 725 726 726 727 Query resourceListing = em.createNativeQuery("SELECT * FROM learning_resource r WHERE r.folder=?1 ORDER BY f.position ASC", LearningResource.class); … … 731 732 List<LearningResource> resources = (List<LearningResource>) resourceListing.getResultList(); 732 733 for(LearningResource resource : resources){ 733 xml = xml + "<resource>";734 xml = xml + "<id>"+resource.getId()+"</id>";735 xml = xml + "<title>"+resource.getTitle()+"</title>";736 xml = xml + "<description>"+resource.getDescription()+"</description>";737 xml = xml + "<type>"+resource.getType()+"</type>";738 xml = xml + "<author>"+resource.getAuthor()+"</author>";739 xml = xml + "<published>"+resource.getPublished()+"</published>";734 xml.append("<resource>"); 735 xml.append("<id>").append(resource.getId()).append("</id>"); 736 xml.append("<title>").append(resource.getTitle()).append("</title>"); 737 xml.append("<description>").append(resource.getDescription()).append("</description>"); 738 xml.append("<type>").append(resource.getType()).append("</type>"); 739 xml.append("<author>").append(resource.getAuthor()).append("</author>"); 740 xml.append("<published>").append(resource.getPublished()).append("</published>"); 740 741 // add author? 741 xml = xml + "</resource>";742 } 743 xml = xml + "</folder>";744 } 745 } catch (Exception e) { 746 747 } 748 return xml ;742 xml.append("</resource>"); 743 } 744 xml.append("</folder>"); 745 } 746 } catch (Exception e) { 747 748 } 749 return xml.toString(); 749 750 } 750 751 … … 776 777 777 778 public String listLearnersFull(Long course_id, Integer status) { 778 String xml = "<learners>";779 StringBuilder xml = new StringBuilder("<learners>"); 779 780 try { 780 781 Query listing = em.createNativeQuery("SELECT * FROM Learner l WHERE l.status>=?1 AND l.course=?2", Learner.class); … … 784 785 for(Learner learner : learners ) { 785 786 try { 786 xml += learnerManager.marshal(learner);787 xml.append(learnerManager.marshal(learner)); 787 788 } catch (Throwable t) { 788 789 … … 792 793 793 794 } 794 xml += "</learners>";795 return xml ;795 xml.append("</learners>"); 796 return xml.toString(); 796 797 } 797 798 798 799 public String listFacilitatorsFull(Long course_id, Integer status) { 799 String xml = "<facilitators>";800 StringBuilder xml = new StringBuilder("<facilitators>"); 800 801 try { 801 802 Query listing = em.createNativeQuery("SELECT * FROM Facilitator l WHERE l.status>=?1 AND l.course=?2", Facilitator.class); … … 805 806 for(Facilitator facilitator : facilitators ) { 806 807 try { 807 xml += facilitatorManager.marshal(facilitator);808 xml.append(facilitatorManager.marshal(facilitator)); 808 809 } catch (Throwable t) { 809 810 … … 813 814 814 815 } 815 xml += "</facilitators>";816 return xml ;816 xml.append("</facilitators>"); 817 return xml.toString(); 817 818 } 818 819 819 820 public String listOutcomesFull(Long course_id) { 820 String xml = "<learningoutcomes>";821 StringBuilder xml = new StringBuilder("<learningoutcomes>"); 821 822 try { 822 823 Query listing = em.createNativeQuery("SELECT * FROM learning_outcome l WHERE l.course=?1", LearningOutcome.class); … … 825 826 for(LearningOutcome outcome : outcomes ) { 826 827 try { 827 xml += outcomeManager.marshal(outcome);828 xml.append(outcomeManager.marshal(outcome)); 828 829 } catch (Throwable t) { 829 830 … … 833 834 834 835 } 835 xml += "</learningoutcomes>";836 return xml ;836 xml.append("</learningoutcomes>"); 837 return xml.toString(); 837 838 } 838 839 839 840 public String listCategoriesFull(Long course_id) { 840 String xml = "<categories>";841 StringBuilder xml = new StringBuilder("<categories>"); 841 842 try { 842 843 Query listing = em.createNativeQuery("SELECT * FROM category c WHERE c.course=?1", Category.class); … … 848 849 parent = category.getParentCategory().getId().toString(); 849 850 } catch (Exception e) {} 850 xml += "<category>"+851 "<id>"+category.getId()+"</id>"+852 "<name><![CDATA["+category.getName()+"]]></name>"+853 "<slug><![CDATA["+category.getSlug()+"]]></slug>"+854 "<count>"+category.getCount()+"</count>"+855 "<parent>"+parent+"</parent>"+856 "<course>"+category.getCourse().getId().toString()+"</course>"+857 "<categories></categories>"+858 "</category>";859 } 860 } catch (Exception e) { 861 862 } 863 xml += "</categories>";864 return xml ;851 xml.append("<category>"); 852 xml.append("<id>").append(category.getId()).append("</id>"); 853 xml.append("<name><![CDATA[").append(category.getName()).append("]]></name>"); 854 xml.append("<slug><![CDATA[").append(category.getSlug()).append("]]></slug>"); 855 xml.append("<count>").append(category.getCount()).append("</count>"); 856 xml.append("<parent>").append(parent).append("</parent>"); 857 xml.append("<course>").append(category.getCourse().getId().toString()).append("</course>"); 858 xml.append("<categories></categories>"); 859 xml.append("</category>"); 860 } 861 } catch (Exception e) { 862 863 } 864 xml.append("</categories>"); 865 return xml.toString(); 865 866 } 866 867 867 868 public String listCategoriesTreeFull(Long course_id) { 868 String xml = "<categories>";869 StringBuilder xml = new StringBuilder("<categories>"); 869 870 try { 870 871 Query listing = em.createNativeQuery("SELECT * FROM category c WHERE c.course=?1 AND c.parent is NULL ORDER BY c.name ASC", Category.class); … … 872 873 List<Category> categories = (List<Category>) listing.getResultList(); 873 874 for(Category category : categories ) { 874 xml += "<category>"+875 "<id>"+category.getId()+"</id>"+876 "<name><![CDATA["+category.getName()+"]]></name>"+877 "<slug><![CDATA["+category.getSlug()+"]]></slug>"+878 "<count>"+category.getCount()+"</count>"+879 "<parent></parent>"+880 "<course>"+category.getCourse().getId().toString()+"</course>"+881 "<categories>"+listSubCategoriesTreeFull(course_id, category)+"</categories>"+882 "</category>";883 } 884 } catch (Exception e) { 885 886 } 887 xml += "</categories>";888 return xml ;875 xml.append("<category>"); 876 xml.append("<id>").append(category.getId()).append("</id>"); 877 xml.append("<name><![CDATA[").append(category.getName()).append("]]></name>"); 878 xml.append("<slug><![CDATA[").append(category.getSlug()).append("]]></slug>"); 879 xml.append("<count>").append(category.getCount()).append("</count>"); 880 xml.append("<parent></parent>"); 881 xml.append("<course>").append(category.getCourse().getId().toString()).append("</course>"); 882 xml.append("<categories>").append(listSubCategoriesTreeFull(course_id, category)).append("</categories>"); 883 xml.append("</category>"); 884 } 885 } catch (Exception e) { 886 887 } 888 xml.append("</categories>"); 889 return xml.toString(); 889 890 } 890 891 891 892 public String listSubCategoriesTreeFull(Long course_id, Category cat) { 892 String xml = "";893 StringBuilder xml = new StringBuilder(); 893 894 try { 894 895 Query listing = em.createNativeQuery("SELECT * FROM category c WHERE c.course=?1 AND c.parent=?2 ORDER BY c.name ASC", Category.class); … … 901 902 parent = category.getParentCategory().getId().toString(); 902 903 } catch (Exception e) {} 903 xml += "<category>"+904 "<id>"+category.getId()+"</id>"+905 "<name><![CDATA["+category.getName()+"]]></name>"+906 "<slug><![CDATA["+category.getSlug()+"]]></slug>"+907 "<count>"+category.getCount()+"</count>"+908 "<parent>"+parent+"</parent>"+909 "<course>"+category.getCourse().getId().toString()+"</course>"+910 "<categories>"+listSubCategoriesTreeFull(course_id, category)+"</categories>"+911 "</category>";912 } 913 } catch (Exception e) { 914 915 } 916 return xml ;904 xml.append("<category>"); 905 xml.append("<id>").append(category.getId()).append("</id>"); 906 xml.append("<name><![CDATA[").append(category.getName()).append("]]></name>"); 907 xml.append("<slug><![CDATA[").append(category.getSlug()).append("]]></slug>"); 908 xml.append("<count>").append(category.getCount()).append("</count>"); 909 xml.append("<parent>").append(parent).append("</parent>"); 910 xml.append("<course>").append(category.getCourse().getId().toString()).append("</course>"); 911 xml.append("<categories>").append(listSubCategoriesTreeFull(course_id, category)).append("</categories>"); 912 xml.append("</category>"); 913 } 914 } catch (Exception e) { 915 916 } 917 return xml.toString(); 917 918 } 918 919 919 920 public String listActivities(User user, Long course_id, Integer offset, Integer limit) { 920 String xml = "<activities>";921 StringBuilder xml = new StringBuilder("<activities>"); 921 922 try { 922 923 Course course = courseManager.findById(course_id); … … 946 947 List<Activity> activities = (List<Activity>) listing.getResultList(); 947 948 for (Activity activity : activities) { 948 xml += activityManager.marshal(activity);949 xml.append(activityManager.marshal(activity)); 949 950 } 950 951 } … … 952 953 t.printStackTrace(System.out); 953 954 } 954 xml += "</activities>";955 return xml ;955 xml.append("</activities>"); 956 return xml.toString(); 956 957 } 957 958

