Problem with model injection/autowire

I am new to ColdBox and am attempting to put together my first app
using the 3.0.0.RC1, Oracle 11i and the CF9 base orm. I started with
the base app configuration and added two models with service. Put
mappings in ModelMappings.cfm. When I try to invoke the handler it
tells me that my services object is undefined in the list function of
the handler so the injector doesn't appear to be working.

Can anybody tell me what I am doing wrong? How do I trouble shoot
this? Any help would be appreciated.

============= config/ModelMappings.cfm ===================

<cfscript>
  /* Add all the model mappings you want */
  /* addModelMapping(alias="",path="") */
  
addModelMapping(alias="TransferRequestService",path="model.TransferRequest.TransferRequestService");
  
addModelMapping(alias="JobPostingService",path="model.JobPosting.JobPostingService");
  addModelMapping(alias="DateUtil",path="model.utilities.DateUtil");
</cfscript>

============= config/coldbox.xml.cfm ===================

<?xml version="1.0" encoding="UTF-8"?>
<!--
For all possible configuration options please refer to the
documentation:
http://ortus.svnrepository.com/coldbox/trac.cgi/wiki/cbConfigGuide
-->
<Config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
  xsi:noNamespaceSchemaLocation="http://www.coldbox.org/schema/
config_3.0.0.xsd">
  <Settings>

    <!-- Application Setup-->

    <Setting name="AppName" value="HR06TRJP"/>
    <!-- If you are using a coldbox app to power flex/remote apps, you
NEED to set the AppMapping also. In Summary,
       the AppMapping is either a CF mapping or the path from the webroot
to this application root. If this setting
       is not set, then coldbox will try to auto-calculate it for you.
Please read the docs.
    <Setting name="AppMapping" value="/MyApp"/> -->
    <Setting name="EventName" value="" />

    <!-- Development Settings -->
    <Setting name="DebugMode" value="true"/>
    <Setting name="DebugPassword" value=""/>
    <Setting name="ReinitPassword" value=""/>
    <Setting name="HandlersIndexAutoReload" value="true"/>
    <Setting name="ConfigAutoReload" value="false"/>

    <!-- Implicit Events -->
    <Setting name="DefaultEvent" value="General.index"/>
    <Setting name="RequestStartHandler" value="Main.onRequestStart"/>
    <Setting name="RequestEndHandler" value=""/>
    <Setting name="ApplicationStartHandler" value="Main.onAppInit"/>
    <Setting name="SessionStartHandler" value=""/>
    <Setting name="SessionEndHandler" value=""/>
    <Setting name="MissingTemplateHandler" value=""/>

    <!-- Extension Points -->
    <Setting name="UDFLibraryFile" value="includes/helpers/
ApplicationHelper.cfm" />
    <Setting name="PluginsExternalLocation" value="" />
    <Setting name="ViewsExternalLocation" value=""/>
    <Setting name="LayoutsExternalLocation" value="" />
    <Setting name="HandlersExternalLocation" value="" />
    <Setting name="RequestContextDecorator" value=""/>

    <!-- Error/Exception Handling -->
    <Setting name="ExceptionHandler" value=""/>
    <Setting name="onInvalidEvent" value=""/>
    <Setting name="CustomErrorTemplate" value="" />

    <!-- Application Aspects -->
    <Setting name="HandlerCaching" value="false"/>
    <Setting name="EventCaching" value="false"/>
    <Setting name="ProxyReturnCollection" value="false"/>
    <Setting name="FlashURLPersistScope" value="session"/>

  </Settings>

  <!-- Complex Settings follow JSON Syntax. www.json.org.
     *IMPORTANT: use single quotes in this xml file for JSON notation,
ColdBox will translate it to double quotes.
   -->
  <YourSettings>
    <!-- @YOURSETTINGS@ -->
  </YourSettings>

  <!--Model Integration -->
  <Models>
    <DefinitionFile>config/ModelMappings.cfm</DefinitionFile>
    <!--
    <SetterInjection>true</SetterInjection>
    <ObjectCaching>true</ObjectCaching>
    <ExternalLocation></ExternalLocation>
    <DICompleteUDF>onDIComplete</DICompleteUDF>
    <StopRecursion></StopRecursion>
    <ParentFactory type="coldspring or lightwire">definition file</

    -->
  </Models>

  <!--
    ColdBox Logging via LogBox
    Levels: -1=OFF,0=FATAL,1=ERROR,2=WARN,3=INFO,4=DEBUG
  -->
  <LogBox>
    <Appender name="coldboxTracer"
class="coldbox.system.logging.appenders.ColdboxTracerAppender" />
    <!-- Log to ColdBox File -->
    <Appender name="fileLog"
class="coldbox.system.logging.appenders.AsyncRollingFileAppender">
      <Property name="filePath">logs</Property>
      <Property name="fileName">${AppName}</Property>
    </Appender>
    <!-- Root Logger Definition -->
    <Root levelMin="FATAL" levelMax="DEBUG" appenders="*" />
  </LogBox>

  <Layouts>
    <!--Declare the default layout, MANDATORY-->
    <DefaultLayout>Layout.Main.cfm</DefaultLayout>
    <!--
    Declare other layouts, with view/folder assignments if needed, else
do not write them
    <Layout file="Layout.Popup.cfm" name="popup">
      <View>vwTest</View>
      <View>vwMyView</View>
      <Folder>tags</Folder>
    </Layout>
    -->
  </Layouts>

  <Interceptors>
    <!-- USE ENVIRONMENT CONTROL -->
    <Interceptor class="coldbox.system.interceptors.EnvironmentControl">
      <Property name='configFile'>config/environments.xml.cfm</Property>
      <Property name='fireOnInit'>true</Property>
    </Interceptor>
    <!-- USE AUTOWIRING -->
    <Interceptor class="coldbox.system.interceptors.Autowire" >
      <Property name="entityInjection">true</Property>
      <Property name="debugMode">true</Property>
      <Property name="enableSetterInjection">true</Property>
    </Interceptor>
    <!-- USE SES -->
    <Interceptor class="coldbox.system.interceptors.SES">
      <Property name="configFile">config/Routes.cfm</Property>
    </Interceptor>
    <!-- @SIDEBAR@ -->
    <Interceptor class="coldbox.system.interceptors.coldboxSideBar">
       <Property name="yOffset">50</Property>
       <Property name="isScroll">false</Property>
       <Property name="slideSpeed">15</Property>
       <Property name="waitTimeBeforeOpen">0</Property>
       <Property name="waitTimeBeforeClose">250</Property>
       <Property name="links">
          [
          {"desc":"ColdBox API","href":"http:\/\/www.coldbox.org\/api
\/"}
          ,{"desc":"ColdBox SideBar Help","href":"http:\/\/
ortus.svnrepository.com\/coldbox\/trac.cgi\/wiki\/cbSideBar"}
          ,{"desc":"ColdBox Credits","href":"http:\/\/
ortus.svnrepository.com\/coldbox\/trac.cgi\/wiki\/cbCredits"}
          ]
       </Property>
       <Property name="width"></Property>
       <Property name="visibleWidth"></Property>
       <Property name="imagePath"></Property>
       <Property name="imageVAlign"></Property>
       <Property name="cssPath"></Property>
    </Interceptor>
  </Interceptors>

  <i18N>
    <!--Default Resource Bundle without locale and properties extension--

    <!--<DefaultResourceBundle>includes/main</DefaultResourceBundle>-->
    <!--Java Standard Locale-->
    <!--<DefaultLocale>en_US</DefaultLocale>-->
    <!--session or client-->
    <!--<LocaleStorage>session</LocaleStorage>-->
    <!--<UknownTranslation>nothing</UknownTranslation>-->
  </i18N>

  <!-- Datasource Settings
    <Datasources>
      <Datasource alias="MyDSNAlias" name="real_dsn_name"
dbtype="mysql" username="" password="" />
    </Datasources>
  -->

  <!--IOC Integration
    <IOC>
      <Framework type="coldspring or lightwire" reload="true or false"
objectCaching="true or false">definition file</Framework>
      <ParentFactory type="coldspring or lightwire>definition file</

    </IOC>
  -->

  <!-- Cache Settings
  <Cache>
    <ObjectDefaultTimeout>60</ObjectDefaultTimeout>
    <ObjectDefaultLastAccessTimeout>30</ObjectDefaultLastAccessTimeout>
    <UseLastAccessTimeouts>true</UseLastAccessTimeouts>
    <ReapFrequency>1</ReapFrequency>
    <MaxObjects>100</MaxObjects>
    <FreeMemoryPercentageThreshold>0</FreeMemoryPercentageThreshold>
    <EvictionPolicy>LRU</EvictionPolicy>
  </Cache>
  -->

  <!-- Debugger Settings
  <DebuggerSettings>
    <EnableDumpVar>true</EnableDumpVar>
    <PersistentRequestProfiler>true</PersistentRequestProfiler>
    <maxPersistentRequestProfilers>10</maxPersistentRequestProfilers>
    <maxRCPanelQueryRows>50</maxRCPanelQueryRows>
    <TracerPanel show="true" expanded="true" />
    <InfoPanel show="true" expanded="true" />
    <CachePanel show="true" expanded="false" />
    <RCPanel show="true" expanded="false" />
  </DebuggerSettings>
  -->

  <!-- Mail Server Settings
  <MailServerSettings>
    <MailServer></MailServer>
    <MailPort></MailPort>
    <MailUsername></MailUsername>
    <MailPassword></MailPassword>
  </MailServerSettings>
  -->

  <!-- Bug reporting aspect
  <BugTracerReports enabled="false">
    <MailFrom>myemail@gmail.com</MailFrom>
    <CustomEmailBugReport>a custom bug report template</

    <BugEmail>myemail@gmail.com</BugEmail>
  </BugTracerReports>
  -->

  <!-- Web Services
  <WebServices>
    <WebService name="TESTWS1" URL="http://www.test.com/test1.cfc?wsdl&quot; /

  </WebServices>
  -->

</Config>

============= handler/JobPosting.cfm ===================
<cfcomponent output="false" hint="Manage Job Postings"
extends="coldbox.system.EventHandler" >

  <!--- Inject Dependencies --->
  <cfproperty name="JobPostingService" inject="Model" scope="instance">

<!------------------------------------------- PUBLIC EVENTS
------------------------------------------>

  <cffunction name="index" output="false" hint="index">
    <cfargument name="event">
    <cfset list(arguments.event)>
  </cffunction>

  <cffunction name="list" output="false" hint="list">
    <cfargument name="event">
    <cfset var rc = event.getCollection()>

    <cfset rc.qContacts = JobPostingService.list()>

    <cfset event.setView("JobPosting/list")>
  </cffunction>

  <cffunction name="add" output="false" hint="add">
    <cfargument name="event">
    <cfset var rc = event.getCollection()>

    <cfset event.setView("JobPosting/add")>
  </cffunction>

  <cffunction name="create" output="false" hint="create">
    <cfargument name="event">
    <cfset var rc = event.getCollection()>

    <cfset event.paramValue("name","")>
    <cfset event.paramValue("email","")>

    <!--- Verify posting info --->
    <cfif NOT len(rc.name) OR NOT len(rc.email)>
      <cfset getPlugin("MessageBox").warn("Please enter a value for email
and/or name")>
      <cfset setNextEvent("JobPosting.add")>
    </cfif>

    <!--- Create posting --->
    <cfset JobPostingService.create(rc.name,rc.email)>

    <cfset getPlugin("MessageBox").info("Job Posting Created!")>
    <cfset setNextEvent("JobPosting.list")>
  </cffunction>

  <cffunction name="delete" output="false" hint="delete">
    <cfargument name="event">
    <cfset var rc = event.getCollection()>

    <cfset event.paramValue("id","")>

    <!--- Remove posting --->
    <cfset JobPostingService.remove( rc.id )>

    <cfset getPlugin("MessageBox").info("Job Posting Removed!")>
    <cfset setNextEvent("JobPosting.list")>
  </cffunction>

<!------------------------------------------- PRIVATE EVENTS
------------------------------------------>

</cfcomponent>
============= handler/TransferRequest.cfm ===================
<cfcomponent output="false" hint="Manage Transfer Requests"
extends="coldbox.system.EventHandler" >

  <!--- Inject Dependencies --->
  <cfproperty name="TransferRequestService" inject="Model"
scope="instance">
<!------------------------------------------- PUBLIC EVENTS
------------------------------------------>

  <cffunction name="index" output="false" hint="index">
    <cfargument name="event">
    <cfset list(arguments.event)>
  </cffunction>

  <cffunction name="list" output="false" hint="list">
    <cfargument name="event">
    <cfset var rc = event.getCollection()>

    <cfset rc.qRequests = TransferRequestService.list()>

    <cfset event.setView("TransferRequest/list")>
  </cffunction>

  <cffunction name="add" output="false" hint="add">
    <cfargument name="event">
    <cfset var rc = event.getCollection()>

    <cfset event.setView("TransferRequest/add")>
  </cffunction>

  <cffunction name="createTransferRequest" output="false"
hint="createTransferRequest">
    <cfargument name="event">
    <cfset var rc = event.getCollection()>

    <cfset event.paramValue("clockNbr","")>
    <cfset event.paramValue("userName","")>

    <!--- Verify user info --->
    <cfif NOT len(rc.clockNbr) OR NOT len(rc.userName)>
      <cfset getPlugin("MessageBox").warn("Please enter a value for
clockNbr and/or userName")>
      <cfset setNextEvent("TransferRequest.add")>
    </cfif>

    <!--- Create Contact --->
    <cfset TransferRequestService.create(rc.clockNbr,rc.userName)>

    <cfset getPlugin("MessageBox").info("Transfer Request Created!")>
    <cfset setNextEvent("TransferRequest.list")>
  </cffunction>

  <cffunction name="delete" output="false" hint="delete">
    <cfargument name="event">
    <cfset var rc = event.getCollection()>

    <cfset event.paramValue("id","")>

    <!--- Remove Contact --->
    <cfset TransferRequestService.remove( rc.id )>

    <cfset getPlugin("MessageBox").info("Transfer Request Removed!")>
    <cfset setNextEvent("TransferRequest.list")>
  </cffunction>

<!------------------------------------------- PRIVATE EVENTS
------------------------------------------>

</cfcomponent>
============= model/TransferRequest/TransferRequest.cfm

You are very close–just a scoping issue.

In the above line you are instructing ColdBox to place the JobPostingService in the variables.instance structure; however, you are trying to reference the service without identifying the scope–so, ColdFusion is trying to access variables.JobPostingService.

To resolve, you can simply omit the ‘scope=instance’ in your DI declaration, or, add prefix all your references to your service with variables.instance or instance.

On another note, since you are using ColdBox 3.0 and ColdFusion 9 you may want to consider using the ColdBox.cfc method of configuring your application over the ColdBox.XML format. It’s very nice to be able to programmatically configure your application rather than just providing key/values via XML.

Welcome to the ColdBox community!

Aaron Greenlee
http://aarongreenlee.com/

Thanks for the welcome.

Took out the 'scope="instance"' and get the same result. Didn't have
it in my original but had added it after looking at other examples/
discussions. Have added my application.cfc and the log output below.
The tables are created in the schema, but am allowing the ORM to drop/
create the tables.

FYI, I know that in the debugging the path for ColdBox says D:\sysdev
\downloads\coldbox_2.6.4\ but it contains 3.0.0.RC1.

================ application.cfc ==========================

<!-----------------------------------------------------------------------

Are you able to get a reference to the model with getModel(‘JobPostingService’) or getModel('TransferRequestService) ?

If not, it is likely an issue with the model mappins.

No, getModel() doesn't work either. I put it into the list method of
the handler. Can I get more visibility of the system.plugins.*
through the logger?

Each model and service are in a subdirectory, so JobPostingService.cfc
and JobPosting.cfc are in model/JobPosting/ and
TransferRequestService.cfc and TransferRequest.cfc are in model/
TransferRequest/

I can see from the log that I have an issue with finding the model,
but I don't understand what it is. I AM supposed to map the service,
correct?

Thanks.....

===================== config/ModelMappings.cfm

Don't use the path model on the alias.

I am now to the point where I am getting a "ORM is not configured for
the current application". I went back and did the generic CF ORM
example Artists to make sure that things were working on the CF end
and was able to get the app to run successfully in Oracle.

I am thinking at this point that the issue is with my use of the orm
event handler.

How can I debug this? Can I get more information using the logger as
to where the problem is? What I need to help myself is a good example
how to debug and trace within this framework as it relates to the CF
ORM. I did look at the EXTRAS:CFORM docs. Can you point me in the
right direction?

I have been using the simple blog5 and crud as my reference apps.

What other information do you need to help me?

Thanks......

If you’re getting “ORM is not configured for the current application” and you’ve set it up, try running <cfset ormReload()> .I think that’s fixed that error in the past for me.

  • Gabriel

Tried, but it doesn't work.

The issue seems to be in VirtualEntityService when it is initialized
to create the TransferRequestService. The object is returned but no
methods for the object are functional. In fact, the call to
TransferRequestService.list() is what generates the error about the
ORM not being functional.

When dumped the object has 4 properties and the VirtualEntityService
methods:

queryCacheRegion ORMService.defaultCache
useQueryCaching false
eventHandling true
entityName TransferRequest

Any other thoughts?

I am late to this, sorry. Can you redefine the problem so I can take a look

Luis F. Majano
President
Ortus Solutions, Corp

ColdBox Platform: http://www.coldbox.org
Linked In: http://www.linkedin.com/pub/3/731/483
Blog: http://www.luismajano.com
IECFUG Manager: http://www.iecfug.com

I am trying to troubleshoot ORM functionality provided through the
VirtualEntityService. I successfully tested the basic CF9 orm through
my datasource using the Artists example from adobe so I know that part
is working. I probably have some syntax or scoping problem since this
is my first project. I am using CF9 on windows server 2008, ColdBox
RC1, and oracle 11g. I currently have two tables/objects which are
accessed through services and two handlers. I used the base
application as generated adding models and handlers based on the
simpleCRUD and simple-blog-5 projects, plus a couple of other
examples.

ORMsettings has an event handler. I am getting the service object
instantiated in my handler. The handler creates the service object but
none of the methods are functional. I have include that top part of
the error trace below where the object handler is called and list() is
invoked to populate the view. What other pieces would you like to
see? I am happy to troubleshoot my own problem but am having
difficulty understanding how to determine where the error is. If
there is a good troubleshooting tutorial, point me to it.

Thanks for your help.......

Message:
ERROR 10:34:09.882 PM HR06TRJP
Application Execution Exception
ExtraInformation:
CFErrorType=Application CFMessage=ORM is not configured for the
current application. CFStackTrace=coldfusion.orm.ORMUtils
$ORMNotConfiguredException: ORM is not configured for the current
application. at
coldfusion.orm.ORMUtils.getPersistenceManager(ORMUtils.java:46) at
coldfusion.orm.ORMUtils.entityLoad(ORMUtils.java:154) at
coldfusion.runtime.CFPage.EntityLoad(CFPage.java:7618) at
cfBaseORMService2ecfc824939797$funcLIST.runFunction(D:\sysdev\downloads
\coldbox_2.6.4\system\orm\hibernate\BaseORMService.cfc:127) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472) at
coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:
405) at coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:368) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
55) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:517) at
coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2547) at
coldfusion.runtime.SuperScope.invoke(SuperScope.java:18) at
coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2301) at
cfVirtualEntityService2ecfc345824574$funcLIST.runFunction(D:\sysdev
\downloads\coldbox_2.6.4\system\orm\hibernate\VirtualEntityService.cfc:
76) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472) at
coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:
405) at coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:368) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
55) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:490) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:336) at
coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360) at
cfTransferRequest2ecfc1253590519$funcLIST.runFunction(D:\sysdev
\mblakesl\HR06TRJP_NEW\handlers\TransferRequest.cfc:29) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472) at
coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:368) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
55) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220) at
coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2582) at
cfTransferRequest2ecfc1253590519$funcINDEX.runFunction(D:\sysdev
\mblakesl\HR06TRJP_NEW\handlers\TransferRequest.cfc:9) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472) at
coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at
coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:368) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
55) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:517) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:495) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:354) at
coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2301) at
coldfusion.tagext.lang.InvokeTag.doEndTag(InvokeTag.java:382) at
coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2723) at
cfController2ecfc1178273793$funcINVOKER.runFunction(D:\sysdev\downloads
\coldbox_2.6.4\system\web\Controller.cfc:662) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472) at
coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at
coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:
405) at coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:368) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
55) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220) at
coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2582) at
cfController2ecfc1178273793$funcRUNEVENT.runFunction(D:\sysdev
\downloads\coldbox_2.6.4\system\web\Controller.cfc:553) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472) at
coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at
coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:
405) at coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:368) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
55) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:517) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:495) at
coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:354) at
coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2301) at
cfColdbox2ecfc1451573489$funcPROCESSCOLDBOXREQUEST.runFunction(D:
\sysdev\downloads\coldbox_2.6.4\system\Coldbox.cfc:226) at
coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472) at
coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:
405) at coldfusion.runtime.UDFMethod
$ArgumentCollectionFilter.invoke(UDFMethod.java:368) at
coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:
55) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220) at
coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2582) at
cfApplication2ecfc434716861$funcONREQUESTSTART.runFunction(D:\sysdev
\mblakesl\HR06TRJP_NEW\Application.cfc:67) at co

Have you used the SimpleBlog application? Does that work for you?

Also,

Have you tried accessing your entity directly, via entityLoad? It could be a syntax issue with your entity cfc.

Curt

Yes, I was able to get SimpleBlog5 running with a couple of caveats:

Changed this.ormsettings.
  <cfset this.ormSettings = {
        dbcreate = "dropcreate",
    cfclocation="model",
    dialect = "Oracle10g",
    logSQL = true,
    flushAtRequestEnd = true,
    eventHandling = true,
    eventHandler = "model.utilities.ORMEventHandler"
  }>

Changed comment.cfc because of oracle reserved words time and comment
which caused the columns to be created in lowercase.
  property name="comment" column="COMMENT_TEXT";
  property name="time" column="CTIME" insert="false" update="false";

Changed Entry.cfc for the same reason
  property name="time" column="CTIME" insert="false" update="false";

Changed the column type of EntryBody and commentBody to long.

Changed data loader to work with oracle.

Seemed to have issues with the cache and restarted jrun. The first
time the app ran, threw an error stating the tables weren't there,
second time worked so I am guessing some of the issues have to do with
the defaults when creating the tables in oracle. When I get a working
sql script, will send an oracle version of install/mysql.sql.

How can I force the application ORM and cache to fully flush and
reinitialize? Is that ormreload()? How can I troubleshoot orm
initialization issues?

Thanks for your patience...

Michael,

You are correct, ormreload() is what you want to use. I have this run whenever I run a framework reinit so both ORM and ColdBox start over.

Curt

I took another path and took the SimpleBlog5 as my starting point and
moved my handlers and model pieces in and it is starting to come
together. Would be interested in why I couldn't do it with the
generated code tree.

Since my app is now using config/coldbox.cfc was tring to add
coldboxsidebar to my development view. Added the structure below to
interceptors array and while I am not throwing an error, the sidebat
does not appear. Does anyone see any issues the the code below?

      //SideBar
      {class="coldbox.system.interceptors.coldboxSideBar",
       properties = {
         yOffset = 50,
         isScroll = false,
         slideSpeed = 15,
         waitTimeBeforeOpen = 5,
         links = [
            {desc="ColdBox API",href="http:\/\/www.coldbox.org\/api\/"}
            ,{desc="ColdBox SideBar Help",href="http:\/\/
ortus.svnrepository.com\/coldbox\/trac.cgi\/wiki\/cbSideBar"}
            ,{desc="ColdBox Credits",href="http:\/\/
ortus.svnrepository.com\/coldbox\/trac.cgi\/wiki\/cbCredits"}
            ]
       }}

I also tried to use <cfgrid> with the output from list() and nothing
would display unless I specified the columns with <cfgridcolumn>. I
was able to dump the query so I know there was data there. Anyone
know the reason that the query wouldn't work without defining the
columns?

Also, Is there a way to add attributes to the model properties and
access them. I wanted to put label information with the model so I
can dynamically generate forms for a model. Maybe there is another
approach in this framework?

Thanks,

MCB

You can get the properties by using grtmetadata on the model instance. Also the sidebar needs the declaration plus a setting. I can't remember it now but it is on the docs.