tracker issue : CF-3753750

select a category, or use search below
(searches all categories and all time range)
Title:

Backward compatibility issue with CF11

| View in Tracker

Status/Resolution/Reason: Closed/Withdrawn/AsDesigned

Reporter/Name(from Bugbase): Andrew Scott / Andrew Scott (Andrew Scott)

Created: 05/01/2014

Components: Language, Framework Support

Versions: 11.0

Failure Type: Non Functioning

Found In Build/Fixed In Build: PublicBeta /

Priority/Frequency: Critical / All users will encounter

Locale/System: English / Win All

Vote Count: 0

It seems that something major has changed in ColdFusion 11, which means frameworks like ColdBox and ContentBox no longer work. It appears to be an issue where it is failing on this

component extends = "parent" implments="CFIDE.orm.IEventHandler" {
}

In ColdFusion 10 this works fine, as ColdFusion 9 runs it great. However ColdFusion 11 seems to think it is not implementing the event handler. I can only assume that this error is being thrown because the parent in the above code, is not as the error states implementing that object.


Steps to Reproduce:

Download ContentBox, and try to run the application.

----------------------------- Additional Watson Details -----------------------------

Watson Bug ID:	3753750

External Customer Info:
External Company:  
External Customer Name: ascott67
External Customer Email:  
External Test Config: My Hardware and Environment details:

Attachments:

Comments:

Would help to attach the error... Error Occurred While Processing Request Error in instantiating the cfc modules.contentbox.model.system.EventHandler Resources: Check the ColdFusion documentation to verify that you are using the correct syntax. Search the Knowledge Base to find a solution to your problem. Browser Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36 Remote Address 127.0.0.1 Referrer Date/Time 02-May-14 12:58 PM Stack Trace coldfusion.runtime.InterfaceRuntimeExceptions$CFCDoesNotImlpementFunctionException: CFC coldbox.system.orm.hibernate.EventHandler does not implement the interface CFIDE.orm.IEventHandler. at coldfusion.runtime.InterfaceRuntimeExceptions.throwCFCDoesNotImlpementFunctionException(InterfaceRuntimeExceptions.java:19) at coldfusion.runtime.TemplateProxy.verifyInterfaceMethodImpl(TemplateProxy.java:1194) at coldfusion.runtime.TemplateProxy.verifyInterfaceImpl(TemplateProxy.java:1252) at coldfusion.runtime.TemplateProxy.verifyInterfacesImpl(TemplateProxy.java:1054) at coldfusion.runtime.TemplateProxyFactory.resolveComponentHelper(TemplateProxyFactory.java:393) at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:234) at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:159) at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:149) at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:133) at coldfusion.runtime.TemplateProxyFactory.resolveNameWithImport(TemplateProxyFactory.java:1500) at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:1474)
Comment by External U.
12379 | May 01, 2014 10:07:11 PM GMT
ORM Application event handlers that implement the interface CFIDE.orm.IEventHandler will fail with the error "CFC xxxx does not implement the interface CFIDE.orm.IEventHandler." Users will have to add two new functions preFlush and postFlush to their event handlers.
Comment by Himavanth R.
12380 | May 05, 2014 02:53:25 AM GMT
OMG, can't believe I didn't think of this. Is this listed somewhere, somewhere that is in a developers face?
Comment by External U.
12381 | May 05, 2014 05:33:50 AM GMT
Question, how would that work if I was to write this for ColdFusion 11 and moved to ColdFusion 10. Would the two newer methods needed be skipped or would they need to be removed?
Comment by External U.
12382 | May 05, 2014 05:35:00 AM GMT
can someone even help and point me to the documentation here, I am struggling to get the right method to put in the handler.
Comment by External U.
12383 | May 05, 2014 05:40:15 AM GMT
Ok, not sure if this is working or not. Have added this.. public void function preFlush(any entity){ } public void function postFlush(any entity){ } And now get the error, the documentation seems to indicate that the above is correct. So why adding these two lines alone is not enough? coldfusion.runtime.InterfaceRuntimeExceptions$ArgumentsMistmatchException: Function argument mismatch. at coldfusion.runtime.InterfaceRuntimeExceptions.throwArgumentsMistmatchException(InterfaceRuntimeExceptions.java:77) at coldfusion.runtime.UDFMethod.compareArguments(UDFMethod.java:668) at coldfusion.runtime.UDFMethod.verifyInterfaceMethodImpl(UDFMethod.java:611) at coldfusion.runtime.TemplateProxy.verifyInterfaceMethodImpl(TemplateProxy.java:1199) at coldfusion.runtime.TemplateProxy.verifyInterfaceImpl(TemplateProxy.java:1252) at coldfusion.runtime.TemplateProxy.verifyInterfacesImpl(TemplateProxy.java:1054) at coldfusion.runtime.TemplateProxyFactory.resolveComponentHelper(TemplateProxyFactory.java:393) at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:234) at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:159) at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:149) at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:133) at coldfusion.runtime.TemplateProxyFactory.resolveNameWithImport(TemplateProxyFactory.java:1500) at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:1474) at coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:1439) at coldfusion.orm.hibernate.HibernateEventHandler.<init>(HibernateEventHandler.java:100) at coldfusion.orm.hibernate.HibernateConfiguration.buildSessionFactory(HibernateConfiguration.java:609) at coldfusion.orm.hibernate.HibernateConfiguration.buildSessionFactory(HibernateConfiguration.java:602) at coldfusion.orm.hibernate.HibernateProvider.InitializeORMForApplication(HibernateProvider.java:190) at coldfusion.orm.hibernate.HibernateProvider.beforeApplicationStart(HibernateProvider.java:80) at coldfusion.filter.ApplicationFilter.fireBeforeAppStartEvent(ApplicationFilter.java:611) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:330) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:42) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:141) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at
Comment by External U.
12384 | May 05, 2014 05:48:32 AM GMT
Ok fixed that after finding the documentation. Now we have another different error. coldfusion.runtime.CustomException: Error creating object store coldbox.system.cache.store.DiskStore at coldfusion.tagext.lang.ThrowTag.doStartTag(ThrowTag.java:142) at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2986) at cfUtil2ecfc1957463353$funcTHROWIT.runFunction(D:\Projects\ColdFusion\ContentBox\coldbox\system\core\util\Util.cfc:164) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:487) at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:383) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:334) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:231) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:643) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:432) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:402) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2483) at cfCacheBoxProvider2ecfc246587688$funcCONFIGURE.runFunction(D:\Projects\ColdFusion\ContentBox\coldbox\system\cache\providers\CacheBoxProvider.cfc:121) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:487) at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:420) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:383) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:334) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:231) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:643) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:432) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:402) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2483) at cfCacheFactory2ecfc872477428$funcREGISTERCACHE.runFunction(D:\Projects\ColdFusion\ContentBox\coldbox\system\cache\CacheFactory.cfc:646) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:487) at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:420) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:383) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:334) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:231) at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2840) at cfCacheFactory2ecfc872477428$funcCREATECACHE.runFunction(D:\Projects\ColdFusion\ContentBox\coldbox\system\cache\CacheFactory.cfc:602) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:487) at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:420) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:383) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:334) at
Comment by External U.
12385 | May 05, 2014 06:01:56 AM GMT
Did anyone at Adobe actually run ContentBox as a test like I first asked, or is there something I am missing still.
Comment by External U.
12386 | May 05, 2014 06:03:31 AM GMT
There are some changes required in ContentBox and the same has been communicated to the ContextBox folks.
Comment by Rupesh K.
12387 | May 05, 2014 10:49:40 AM GMT
If you are seeing an error similar to "EventHandler does not implement the interface CFIDE.orm.IEventHandler", the two functions that need to be added to your ORM Event Handler are listed here for convenience. public void function preFlush(any entities){}; public void function postFlush(any entities){};
Comment by Himavanth R.
12388 | October 28, 2014 12:09:01 AM GMT