-
Notifications
You must be signed in to change notification settings - Fork 79
New cold box version https://presidecms.atlassian.net/browse/PRESIDECMS-3253 #1755
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
alexskinner
wants to merge
16
commits into
pixl8:stable
Choose a base branch
from
alexskinner:ColdboxNewVersion
base: stable
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
b98aa9f
Upgrade ColdBox dependency from 5.4.0 to 6.9.0 with compatibility shims
2d0526a
ColdBox 7.5.2 upgrade: additional shims for CB 7 breaking changes
053469a
Fix CB 7.0 renderView/renderLayout not returning values + Renderer in…
2ff7601
Update ColdBox dependency to 8.0.5
db11fd2
Update ColdBox dependency to 8.1.0-snapshot
098b3e7
Fix CB 8.0 getSystemSetting() shadowing Preside's helper
dd757cb
Fix CB 8 interceptor helper loading order and createInterceptor signa…
d4e79a6
Fix StackOverflow from layout() infinite recursion in CB 7.0+
89bb1fb
Add CB 7.0 compatibility shims for renamed rendering methods
eadf829
Remove layout(), view(), externalView() shims from EventHandler/Inter…
f984f83
Add layout(), view(), externalView() back as private methods
8473932
Fix CacheBox reap error: override getCachedObjectMetadata() on stores
6c9956b
Add getSortedKeys() to MetadataIndexer for cache eviction policies
d8194b9
Move startup guard after controller null check in Renderer
03d3e51
Remove orphaned DI annotation comment from Renderer
2187cf4
Merge branch 'pixl8:stable' into ColdboxNewVersion
alexskinner File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,88 @@ | ||
| /** | ||
| * Preside compatibility shim for ColdBox 6.0+ | ||
| * | ||
| * ColdBox 6.0 removed setNextEvent() and getModel() from FrameworkSupertype. | ||
| * This shim adds them back so that all Preside handlers continue to work | ||
| * without needing to update 400+ call sites. | ||
| */ | ||
| component extends="coldbox.system.EventHandler" { | ||
|
|
||
| /** | ||
| * Compatibility: setNextEvent() was removed in ColdBox 6.0. | ||
| * Delegates to relocate() which is the replacement. | ||
| */ | ||
| void function setNextEvent( | ||
| event | ||
| , URL | ||
| , URI | ||
| , queryString | ||
| , persist | ||
| , struct persistStruct | ||
| , boolean addToken | ||
| , boolean ssl | ||
| , baseURL | ||
| , boolean postProcessExempt | ||
| , numeric statusCode | ||
| ){ | ||
| controller.relocate( argumentCollection=arguments ); | ||
| } | ||
|
|
||
| /** | ||
| * Compatibility: getModel() was removed in ColdBox 6.0. | ||
| * Delegates to getInstance() which is the replacement. | ||
| */ | ||
| function getModel( name, dsl, initArguments={} ){ | ||
| return getInstance( argumentCollection=arguments ); | ||
| } | ||
|
|
||
| /** | ||
| * CB 8.0: FrameworkSupertype added getSystemSetting(key, defaultValue) which | ||
| * shadows Preside's getSystemSetting(category, setting, default) helper. | ||
| * Restore Preside's version. | ||
| */ | ||
| function getSystemSetting(){ | ||
| return getInstance( "systemConfigurationService" ).getSetting( argumentCollection=arguments ); | ||
| } | ||
|
|
||
| /** | ||
| * CB 7.0: renderView() deprecated and no longer returns a value. | ||
| * Restore the return so Preside handlers get their rendered content. | ||
| */ | ||
| function renderView(){ | ||
| return getRenderer().renderView( argumentCollection=arguments ); | ||
| } | ||
|
|
||
| /** | ||
| * CB 7.0: renderLayout() deprecated and no longer returns a value. | ||
| * Restore the return so Preside handlers get their rendered content. | ||
| */ | ||
| function renderLayout(){ | ||
| return getRenderer().renderLayout( argumentCollection=arguments ); | ||
| } | ||
|
|
||
| /** | ||
| * CB 7.0: renderExternalView() deprecated and no longer returns a value. | ||
| */ | ||
| function renderExternalView(){ | ||
| return getRenderer().renderExternalView( argumentCollection=arguments ); | ||
| } | ||
|
|
||
| /** | ||
| * CB 7.0: layout(), view(), externalView() replaced the render* versions. | ||
| * These MUST be private to prevent virtual inheritance from overwriting | ||
| * handler-defined private viewlets with the same name (e.g. webflow | ||
| * handler's private layout() viewlet). FrameworkSupertype's public | ||
| * layout()/view() would otherwise be mixed into the handler's variables | ||
| * scope via injectMixin, shadowing the handler's own private method. | ||
| */ | ||
| private function layout(){ | ||
| return getRenderer().renderLayout( argumentCollection=arguments ); | ||
| } | ||
| private function view(){ | ||
| return getRenderer().renderView( argumentCollection=arguments ); | ||
| } | ||
| private function externalView(){ | ||
| return getRenderer().renderExternalView( argumentCollection=arguments ); | ||
| } | ||
|
|
||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,65 @@ | ||
| /** | ||
| * Preside Interceptor shim for ColdBox 6.0+/7.0+ | ||
| * | ||
| * 1. ColdBox 6.0+ moved loadApplicationHelpers() from the constructor to a | ||
| * lazy cbLoadInterceptorHelpers event. This shim eagerly loads helpers | ||
| * via cbLoadInterceptorHelpers so they're available for startup interceptions. | ||
| * | ||
| * 2. ColdBox 6.0 removed getModel() from FrameworkSupertype. This shim | ||
| * restores it as a passthrough to getInstance(). | ||
| */ | ||
| component extends="coldbox.system.Interceptor" { | ||
|
|
||
| /** | ||
| * Override cbLoadInterceptorHelpers to ensure helpers are loaded | ||
| * immediately when called, restoring CB 5.4 eager-loading behaviour. | ||
| */ | ||
| function cbLoadInterceptorHelpers( event, interceptData ){ | ||
| loadApplicationHelpers( force: true ); | ||
| } | ||
|
|
||
| /** | ||
| * Compatibility shim: getModel() was removed in ColdBox 6.0 | ||
| */ | ||
| function getModel( name, dsl, initArguments={} ){ | ||
| return getInstance( argumentCollection=arguments ); | ||
| } | ||
|
|
||
| /** | ||
| * CB 8.0: FrameworkSupertype added getSystemSetting(key, defaultValue) which | ||
| * shadows Preside's getSystemSetting(category, setting, default) helper. | ||
| */ | ||
| function getSystemSetting(){ | ||
| return getInstance( "systemConfigurationService" ).getSetting( argumentCollection=arguments ); | ||
| } | ||
|
|
||
| /** | ||
| * CB 7.0: renderView() deprecated and no longer returns a value. | ||
| */ | ||
| function renderView(){ | ||
| return getRenderer().renderView( argumentCollection=arguments ); | ||
| } | ||
|
|
||
| function renderLayout(){ | ||
| return getRenderer().renderLayout( argumentCollection=arguments ); | ||
| } | ||
|
|
||
| function renderExternalView(){ | ||
| return getRenderer().renderExternalView( argumentCollection=arguments ); | ||
| } | ||
|
|
||
| /** | ||
| * CB 7.0: layout(), view(), externalView() replaced the render* versions. | ||
| * Private to avoid shadowing interceptor-defined methods of the same name. | ||
| */ | ||
| private function layout(){ | ||
| return getRenderer().renderLayout( argumentCollection=arguments ); | ||
| } | ||
| private function view(){ | ||
| return getRenderer().renderView( argumentCollection=arguments ); | ||
| } | ||
| private function externalView(){ | ||
| return getRenderer().renderExternalView( argumentCollection=arguments ); | ||
| } | ||
|
|
||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
getSortedKeys stub ignores sorting requirements for eviction
Low Severity
getSortedKeys()ignores all parameters (property,sortType,sortOrder) and returns unsorted keys viagetKeys(). ColdBox cache eviction policies rely on sorted keys (e.g., bylastAccessedorhits) to determine which entries to evict. Returning unsorted keys could cause arbitrary eviction instead of proper LRU/LFU behavior.