Throw error on non-existent coldbox DSL

Description

If you try to inject a non-existent coldbox DSL you will just get NULL back.

property name="foo" inject="coldbox:foobar";

This fails to alert the developer of their mistake in a useful way. The code will probably still error, but just downstream in some other unpredictable way.

The ColdBoxDSL builder logs a message with LogBox in this scenario, but I would suggest that it throw an error instead. If a DSL is asked for that can't be resolved, I think that's a fatal condition that needs to halt processing.

A better solution to throwing an error from ColdBoxDSL would be to rearrange the logic a bit in Builder.cfc's buildDSLDependency() method. There is already a check and a throw if the DSL doesn't produce a dependency at the bottom, but custom DSL builders skip that check since they just return.

Fixed

Assignee

Luis Majano

Reporter

Brad Wood

Labels

None

Time tracking

0m

Time remaining

1h

Components

Fix versions

Priority

Major