Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
SAK-43201 - Improve Component Manager to support testing

This commit reworks the relationship between the ComponentManager cover,

SpringCmpMgr, and SakaiApplicationContext. It doesn't change the way

that normal startup happens, but it does refactor and integrate the code

paths some.

There were lots of challenges because of cyclic dependencies causing

synchronization problems. These are not totally gone, but there is a

path forward. Generally speaking, these happen because beans call the

ComponentManager.get methods during their init. It's pretty easy to foul

it up and get transitive or timing issues. The main purpose of this

change is to start the process of inverting the relationship of the

ComponentManager and the Spring context, in order to normalize how beans

are created and wired up.

Key points:

* There is a new constructor on SpringCmpMgr that allows you to

create an instance that will initialize itself, rather than the cover

doing it and needing to load and refresh outside, later.

* There is a mechanism to register that new instance with the cover

during its startup so the singleton accesses continue to hit the

manager before it is refreshed.

* The IntegrationTestContextLoader uses this new mechanism and gives an

easy extension point for customizing which configs and components

are loaded without resorting to files in special paths.

* The kernel component files are loaded from the classpath, meaning

that they stay in sync with kernel-impl automatically.

* The test configuration is also loaded by classpath and defaults to

reading test.properties from the classpath, meaning the default

in-memory HSQLDB is automatic.

* The application context that launches tests sets the Sakai context as

parent, so all the regular bean config and injection niceties apply

without doing any explicit test harness initialization.

  1. … 14 more files in changeset.
SAK-41756 Kernel SakaiContextLoader support for servlet 3.0+ (#6881)

(cherry picked from commit 08714cdd7813d6e68184fb3856beac6ebccd3bda)

  1. … 1 more file in changeset.
SAK-41756 Kernel SakaiContextLoader support for servlet 3.0+ (#6881)

  1. … 1 more file in changeset.
SAK-41145 SakaiContextLoader fix to loading additional beans (#6443)

(cherry picked from commit 4728844662d3dafba877b9f13a385599d87c39d2)

SAK-41145 SakaiContextLoader fix to loading additional beans (#6443)

SAK-34049 SakaiContextLoader with improved Spring integration

  1. … 2 more files in changeset.
SAK-34049 Solving persistence, context loader and tool deployment issues

Corrected some bugs on the Rubrics tool. Assignments tool integration.

  1. … 38 more files in changeset.
SAK-31796 - Clean up instances of e.printStackTrace in the rest of Sakai (#5113)

* Search - Clean up instances of e.printStackTrace

* Sections - Clean up instances of printStackTrace

* Shortened - Clean up instances of e.printStackTrace

* SimpleRSS - Clean up instances of e.printStackTrace

* Site - Clean up instances of e.printStackTrace

* sitedescription - Clean up instances of e.printStackTrace

* Taggable - Clean up instances of e.printStackTrace

* Signup - Clean up instances of e.printStackTrace

* Sitemanage - Clean up instances of e.printStackTrace

* Access - Clean up instances of e.printStackTrace

* Admin-tools - Clean up instances of e.printStackTrace

* Announcement - Clean up instances of e.printStackTrace

* Archive - Clean up instances of e.printStackTrace

* Assignment - Clean up instances of e.printStackTrace

* Basiclti - Clean up instances of e.printStackTrace

* Calendar - Clean up instances of e.printStackTrace

* Chat - Clean up instances of e.printStackTrace

* Citations - Clean up instances of e.printStackTrace

* Cloud-content - Clean up instances of e.printStackTrace

* Cmprovider - Clean up instances of e.printStackTrace

* Common - Clean up instances of e.printStackTrace

* Sitestats - Clean up instances of e.printStackTrace

* Commons - Clean up instances of e.printStackTrace

* Content - Clean up instances of e.printStackTrace

* Courier - Clean up instances of e.printStackTrace

* Dav - Clean up instances of e.printStackTrace

* Delegatedaccess - Clean up instances of e.printStackTrace

* Edu-services - Clean up instances of e.printStackTrace

* Content-review - Clean up instances of e.printStackTrace

* Citations - Clean up instances of e.printStackTrace

* Emailtemplateservice - Clean up instances of e.printStackTrace

* Endorsed - Clean up instances of e.printStackTrace

* Entitybroker - Clean up instances of e.printStackTrace

* External-calendaring-service - Clean up instances of e.printStackTrace

* External-calendaring-service - Clean up instances of e.printStackTrace

* Feedback - Clean up instances of e.printStackTrace

* Syllabus - Clean up instances of e.printStackTrace

* Tags - Clean up instances of e.printStackTrace

* Gradebook - Clean up instances of printStackTrace

* Textarea - Clean up printStackTrace

* Tool - Clean up printStackTrace

* Gradebookng - Clean up instances of e.printStackTrace

* Help - Clean up instances of e.printStackTrace

* Hierarchy - Clean up instances of e.printStackTrace

* Jobsscheduler - Clean up instances of e.printStackTrace

* Jsf - Clean up instances of e.printStackTrace

* User - Clean up instances of printStackTrace

* useraudit - Clean up instances of printStack

* usermembership - Clean up instances of printStackTrace

* Velocity - Clean up instances of printStackTrace

* Web - Clean up instances of printStackTrace

* Webservices - Clean up instances of printStackTrace

* Rwiki - Clean up instances of printStackTrace

* rubrics - Clean up instances of printStackTrace

* rsf - Clean up instances of printStackTrace

* roster2 - Clean up instances of printStackTrace

* reset-pass - Clean up instances of printStackTrace

* providers - Clean up instances of printStackTrace

* Profile2 - Clean up instances of printStackTrace

* Kernel - Clean up instances of printStackTrace

* Presence - Clean up instances of printStackTrace

* Postem - Clean up instances of printStackTrace

* Portal - Clean up instances of printStackTrace

* polls - Clean up instances of printStackTrace

* Podcasts - Clean up instances of printStackTrace

* Pasystem - Clean up instances of printStackTrace

* oauth - Clean up instances of printStackTrace

* Lessonbuilder - Clean up instances of printStackTrace

* Login - Clean up instances of printStackTrace

* Mailarchive - Clean up instances of printStackTrace

* Mailsender - Clean up instances of printStackTrace

* Message - Clean up instances of printStackTrace

* MSGCNTR - Clean up instances of printStackTrace

* Extra cases - Clean up instances of printStackTrace

* Extra cases - Clean up instances of System.out.println

* Extra cases - Use Slf4j Annotation

(cherry picked from commit 1dc2b84ba355b8be8a1262fd2572b1a3bfd3900c)

  1. … 1306 more files in changeset.
SAK-31796 - Clean up instances of e.printStackTrace in the rest of Sakai (#5113)

* Search - Clean up instances of e.printStackTrace

* Sections - Clean up instances of printStackTrace

* Shortened - Clean up instances of e.printStackTrace

* SimpleRSS - Clean up instances of e.printStackTrace

* Site - Clean up instances of e.printStackTrace

* sitedescription - Clean up instances of e.printStackTrace

* Taggable - Clean up instances of e.printStackTrace

* Signup - Clean up instances of e.printStackTrace

* Sitemanage - Clean up instances of e.printStackTrace

* Access - Clean up instances of e.printStackTrace

* Admin-tools - Clean up instances of e.printStackTrace

* Announcement - Clean up instances of e.printStackTrace

* Archive - Clean up instances of e.printStackTrace

* Assignment - Clean up instances of e.printStackTrace

* Basiclti - Clean up instances of e.printStackTrace

* Calendar - Clean up instances of e.printStackTrace

* Chat - Clean up instances of e.printStackTrace

* Citations - Clean up instances of e.printStackTrace

* Cloud-content - Clean up instances of e.printStackTrace

* Cmprovider - Clean up instances of e.printStackTrace

* Common - Clean up instances of e.printStackTrace

* Sitestats - Clean up instances of e.printStackTrace

* Commons - Clean up instances of e.printStackTrace

* Content - Clean up instances of e.printStackTrace

* Courier - Clean up instances of e.printStackTrace

* Dav - Clean up instances of e.printStackTrace

* Delegatedaccess - Clean up instances of e.printStackTrace

* Edu-services - Clean up instances of e.printStackTrace

* Content-review - Clean up instances of e.printStackTrace

* Citations - Clean up instances of e.printStackTrace

* Emailtemplateservice - Clean up instances of e.printStackTrace

* Endorsed - Clean up instances of e.printStackTrace

* Entitybroker - Clean up instances of e.printStackTrace

* External-calendaring-service - Clean up instances of e.printStackTrace

* External-calendaring-service - Clean up instances of e.printStackTrace

* Feedback - Clean up instances of e.printStackTrace

* Syllabus - Clean up instances of e.printStackTrace

* Tags - Clean up instances of e.printStackTrace

* Gradebook - Clean up instances of printStackTrace

* Textarea - Clean up printStackTrace

* Tool - Clean up printStackTrace

* Gradebookng - Clean up instances of e.printStackTrace

* Help - Clean up instances of e.printStackTrace

* Hierarchy - Clean up instances of e.printStackTrace

* Jobsscheduler - Clean up instances of e.printStackTrace

* Jsf - Clean up instances of e.printStackTrace

* User - Clean up instances of printStackTrace

* useraudit - Clean up instances of printStack

* usermembership - Clean up instances of printStackTrace

* Velocity - Clean up instances of printStackTrace

* Web - Clean up instances of printStackTrace

* Webservices - Clean up instances of printStackTrace

* Rwiki - Clean up instances of printStackTrace

* rubrics - Clean up instances of printStackTrace

* rsf - Clean up instances of printStackTrace

* roster2 - Clean up instances of printStackTrace

* reset-pass - Clean up instances of printStackTrace

* providers - Clean up instances of printStackTrace

* Profile2 - Clean up instances of printStackTrace

* Kernel - Clean up instances of printStackTrace

* Presence - Clean up instances of printStackTrace

* Postem - Clean up instances of printStackTrace

* Portal - Clean up instances of printStackTrace

* polls - Clean up instances of printStackTrace

* Podcasts - Clean up instances of printStackTrace

* Pasystem - Clean up instances of printStackTrace

* oauth - Clean up instances of printStackTrace

* Lessonbuilder - Clean up instances of printStackTrace

* Login - Clean up instances of printStackTrace

* Mailarchive - Clean up instances of printStackTrace

* Mailsender - Clean up instances of printStackTrace

* Message - Clean up instances of printStackTrace

* MSGCNTR - Clean up instances of printStackTrace

* Extra cases - Clean up instances of printStackTrace

* Extra cases - Clean up instances of System.out.println

* Extra cases - Use Slf4j Annotation

  1. … 1306 more files in changeset.
SAK-33326 Remove duplicate licenses. (#4780)

New standard license headers were introduced on these files but the old licenses were also left in place, this removes the old licenses.

    • -21
    • +0
    ./DynamicDefaultSakaiProperties.java
  1. … 152 more files in changeset.
SAK-33326 Remove duplicate licenses. (#4780)

New standard license headers were introduced on these files but the old licenses were also left in place, this removes the old licenses.

(cherry picked from commit 82488bb2ef4b30bc04b9372048f3920769bdc57a)

    • -21
    • +0
    ./DynamicDefaultSakaiProperties.java
  1. … 152 more files in changeset.
SAK-32675 - Update license plugin and license headers (#4720)

* SAK-32675 - Update license plugin and license headers

* SAK-32675 - Adding more license files

    • -0
    • +15
    ./DynamicDefaultSakaiProperties.java
  1. … 1286 more files in changeset.
SAK-32215 Prevent deadlock at startup due to quartz misfire handler (#3945)

* SAK-32215 Make our Spring AC do lifecycle stuff.

This means it will propagate lifecycle events to all the top-level beans and this can be used to startup stuff later that in the init() blocks.

Also lifecycle is designed around having things that can be started and stopped multiple times.

* SAK-32215 Make scheduler manager use lifecycle.

This means that it doesn’t startup quartz until the spring component manager has been refreshed and so this solves a deadlock at startup problem.

  1. … 2 more files in changeset.
SAK-30828 Normalize logging for 11.x (#3346)

* SAK-30828 Normalize sakai logging

- remove commons-logging (jcl)

- add logging to those projects where it was removed

- convert System.out to log messages in many projects

- add jcl-over-slf4j lib

- update many dependencies to inherit from master

- update logging for tests

- add lombok to global dependency (@Slf4j)

Conflicts:

basiclti/tsugi-util/pom-tsugi.xml

content-review/impl/dao/pom.xml

content-review/impl/turnitin/pom.xml

content-review/pom.xml

entitybroker/utils/pom.xml

gradebookng/tool/src/java/org/sakaiproject/gradebookng/business/util/Temp.java

gradebookng/tool/src/java/org/sakaiproject/gradebookng/tool/pages/BasePage.java

gradebookng/tool/src/java/org/sakaiproject/gradebookng/tool/panels/importExport/CreateGradeItemStep.java

gradebookng/tool/src/java/org/sakaiproject/gradebookng/tool/panels/importExport/GradeImportConfirmationStep.java

gradebookng/tool/src/java/org/sakaiproject/gradebookng/tool/panels/importExport/GradeImportUploadStep.java

gradebookng/tool/src/java/org/sakaiproject/gradebookng/tool/panels/importExport/GradeItemImportSelectionStep.java

* SAK-30828 switch log4j logging to slf4j

* SAK-30828 switch jcl logging to slf4j

Conflicts:

assignment/assignment-impl/impl/src/java/org/sakaiproject/assignment/impl/BaseAssignmentService.java

assignment/assignment-impl/impl/src/java/org/sakaiproject/assignment/impl/DbAssignmentService.java

basiclti/basiclti-impl/src/java/org/sakaiproject/lti/impl/LTIReportingJob.java

content-review/impl/turnitin/src/main/java/org/sakaiproject/contentreview/turnitin/util/TurnitinAPIUtil.java

kernel/kernel-impl/src/main/java/org/sakaiproject/event/impl/BaseLearningResourceStoreService.java

lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/tool/beans/SimplePageBean.java

portal/portal-impl/impl/src/java/org/sakaiproject/portal/charon/handlers/GenerateBugReportHandler.java

samigo/samigo-app/src/java/org/sakaiproject/tool/assessment/ui/listener/evaluation/QuestionScoreListener.java

samigo/samigo-app/src/java/org/sakaiproject/tool/assessment/ui/listener/questionpool/PoolSaveListener.java

signup/impl/src/java/org/sakaiproject/signup/logic/SignupMeetingServiceImpl.java

syllabus/syllabus-impl/src/java/org/sakaiproject/component/app/syllabus/SyllabusServiceImpl.java

* SAK-30828 slf4j-log4j12 binding should be provided

* SAK-30828 Lombok @CommonsLog migrated to @Slf4j

Conflicts:

content-review/impl/dao/src/test/java/org/sakaiproject/contentreview/dao/ContentReviewDaoImplTest.java

content-review/impl/service/src/main/java/org/sakaiproject/contentreview/service/ContentReviewFederatedServiceImpl.java

content-review/impl/service/src/main/java/org/sakaiproject/contentreview/service/ContentReviewQueueServiceImpl.java

content-review/impl/turnitin/src/main/java/org/sakaiproject/contentreview/turnitin/TurnitinAccountConnection.java

content-review/impl/turnitin/src/main/java/org/sakaiproject/contentreview/turnitin/TurnitinContentValidator.java

content-review/impl/turnitin/src/main/java/org/sakaiproject/contentreview/turnitin/TurnitinReviewServiceImpl.java

content-review/impl/turnitin/src/main/java/org/sakaiproject/contentreview/turnitin/TurnitinSessionFuncs.java

content-review/impl/turnitin/src/main/java/org/sakaiproject/contentreview/turnitin/util/TurnitinAPIUtil.java

content-review/impl/vericite/src/main/java/org/sakaiproject/contentreview/vericite/ContentReviewServiceVeriCite.java

* SAK-30828 content-review slf4j conversion

* SAK-31420 Issue with import from site not working due to logger serialization (#3169)

  1. … 1942 more files in changeset.
SAK-30828 switch jcl logging to slf4j

  1. … 1489 more files in changeset.
KNL-1397 SakaiContextLoader improvements

Removal of contextSharedLocation

Convention for loading additional bean defs from sakai.home for webapps

  1. … 9 more files in changeset.
KNL-1373 Add generics support to the ComponentManager.

This means you don’t have to cast when supplying a class to the component manager that you would like an instance of.

  1. … 2 more files in changeset.
SAK-25544 Upgrade to spring 4.1.8

Upgrading Spring to version 4.1.8 required

- Quartz 2.2.1 upgrade

- All xml files were updated to the modern XSD beans definition

- Many Tests were updated to using the newer ContextConfiguration

- Annotation as the old AbstractDependencyInjectionSpringContextTests was

removed and tests are now run with AbstractJUnit4SpringContextTests.

- Hibernate 3.6 is still supported in spring 4.1 but not in spring 4.2

- HibernateTemplate's *All methods were removed

- HibernateTemplate.find* needs explicit cast to List<?>

- All Kernel tests were updated to the junit 4 style, and many others

elsewhere

- Kernel test harness was removed as it's not needed

- ContextLoaderListener had some minor changes and was renamed to

SakaiContextLoaderListener (This is what binds sakai component

application context to webapps)

- GenericDAO lib was added to common and also upgraded to spring 4.1

- RSF was also upgraded to spring 4.1, see RSF-16

    • -0
    • +114
    ./SakaiContextLoader.java
  1. … 453 more files in changeset.
SAK-29663 log exceptions using ERROR instead of WARN

  1. … 20 more files in changeset.
KNL-1242 Allow bean definitions to be overridden from sakai.home

When loading a Sakai component the loader will also look in sakai.home for a file name with the same name as the component plus an .xml extension and if present it will also load bean definitions from this file.

git-svn-id: https://source.sakaiproject.org/svn/kernel/trunk@315154 66ffb92e-73f9-0310-93c1-f5514f145a0a

  1. … 1 more file in changeset.
SAK-21839 replacing dead link to osedu.org with link to opensource.org ECL-2.0

git-svn-id: https://source.sakaiproject.org/svn/kernel/trunk@105077 66ffb92e-73f9-0310-93c1-f5514f145a0a

  1. … 638 more files in changeset.
KNL-861 fixing the mock handling of formatted text for testing

git-svn-id: https://source.sakaiproject.org/svn/kernel/trunk@101727 66ffb92e-73f9-0310-93c1-f5514f145a0a

  1. … 3 more files in changeset.
KNL-861 fixing up some logging and error handling related to tests

git-svn-id: https://source.sakaiproject.org/svn/kernel/trunk@101726 66ffb92e-73f9-0310-93c1-f5514f145a0a

  1. … 2 more files in changeset.
SAK-21124 Major improvements to the server configuration service to identify where the config values are coming from and collect stats on them, the goals here are to improve tracking of config settings and eventually enable more advanced configuration handling

git-svn-id: https://source.sakaiproject.org/svn/kernel/trunk@98010 66ffb92e-73f9-0310-93c1-f5514f145a0a

  1. … 5 more files in changeset.
KNL-764 removing more uses of Throwable which should have just been Exception

git-svn-id: https://source.sakaiproject.org/svn/kernel/trunk@97194 66ffb92e-73f9-0310-93c1-f5514f145a0a

  1. … 1 more file in changeset.
NOJIRA Add JavaDoc to SpringCompMgr.init() about the lateRefresh parameter.

git-svn-id: https://source.sakaiproject.org/svn/kernel/trunk@95810 66ffb92e-73f9-0310-93c1-f5514f145a0a

http://jira.sakaiproject.org/browse/SAK-18269 Added in the ability to actually run FT unit tests and added in the initial antisamy impl and policy, it is disabled by default and needs more work to align with the current stuff but at least this way people can play with it, note that for some reason we are currently allowing embed tags via FT and I think this is a mistake most likely

git-svn-id: https://source.sakaiproject.org/svn/kernel/trunk@75437 66ffb92e-73f9-0310-93c1-f5514f145a0a

    • -0
    • +126
    ./MockCompMgr.java
  1. … 6 more files in changeset.
KNL-290 Allow shutdown of JVM when component managers fails to start (apply patch from Matthew Buckett)

git-svn-id: https://source.sakaiproject.org/svn/kernel/trunk@69279 66ffb92e-73f9-0310-93c1-f5514f145a0a

KNL-247 generate spring events on startup

git-svn-id: https://source.sakaiproject.org/svn/kernel/trunk@66268 66ffb92e-73f9-0310-93c1-f5514f145a0a

  1. … 1 more file in changeset.
SAK-12938

Fix non printing characters.

git-svn-id: https://source.sakaiproject.org/svn/kernel/trunk@51317 66ffb92e-73f9-0310-93c1-f5514f145a0a

  1. … 700 more files in changeset.