<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: ColdFusion 8 : IsInstanceOf</title>
	<atom:link href="http://www.rupeshk.org/blog/index.php/2007/08/coldfusion-8-isinstanceof/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rupeshk.org/blog/index.php/2007/08/coldfusion-8-isinstanceof/</link>
	<description>My Views on ColdFusion, Java and related technologies</description>
	<lastBuildDate>Tue, 07 Sep 2010 19:54:13 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Troy</title>
		<link>http://www.rupeshk.org/blog/index.php/2007/08/coldfusion-8-isinstanceof/comment-page-1/#comment-839</link>
		<dc:creator>Troy</dc:creator>
		<pubDate>Fri, 26 Mar 2010 16:44:10 +0000</pubDate>
		<guid isPermaLink="false">http://rupesh106.wordpress.com/2007/08/02/coldfusion-8-isinstanceof/#comment-839</guid>
		<description>Ugh, I see that now. Here it is, with square brackets in place of the GT/LT, hoping that gets it through the filters:
[cfset obj = CreateObject(&quot;component&quot;, &quot;path.to.Comp&quot;)/]
[cfdump var=&quot;#obj#&quot;/]

However, I will say that we found the problem. We were using a symlink in the path of the mapping, so in this example &quot;path.to.Comp&quot;, the mapping &quot;path&quot; used a symlink in it&#039;s directory path. For whatever reason, Coldfusion would freak out at this and truncate the implements string to just the class name, not the entire package. While this is still irritating, at least I can tell what the difference is in the environments that it was working on and the ones where it wasn&#039;t!

Apparently Adobe released a hotfix for CF that alters the way symlinks are processed. Here&#039;s a blog post talking about how it affects include paths for cfms, not sure if it&#039;s the same problem that affects cfc creation: http://devbox.computec.de/2009/07/coldfusion-8-and-symlinks-hell-awaits/</description>
		<content:encoded><![CDATA[<p>Ugh, I see that now. Here it is, with square brackets in place of the GT/LT, hoping that gets it through the filters:<br />
[cfset obj = CreateObject("component", "path.to.Comp")/]<br />
[cfdump var="#obj#"/]</p>
<p>However, I will say that we found the problem. We were using a symlink in the path of the mapping, so in this example &#8220;path.to.Comp&#8221;, the mapping &#8220;path&#8221; used a symlink in it&#8217;s directory path. For whatever reason, Coldfusion would freak out at this and truncate the implements string to just the class name, not the entire package. While this is still irritating, at least I can tell what the difference is in the environments that it was working on and the ones where it wasn&#8217;t!</p>
<p>Apparently Adobe released a hotfix for CF that alters the way symlinks are processed. Here&#8217;s a blog post talking about how it affects include paths for cfms, not sure if it&#8217;s the same problem that affects cfc creation: <a href="http://devbox.computec.de/2009/07/coldfusion-8-and-symlinks-hell-awaits/" rel="nofollow">http://devbox.computec.de/2009/07/coldfusion-8-and-symlinks-hell-awaits/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rupesh Kumar</title>
		<link>http://www.rupeshk.org/blog/index.php/2007/08/coldfusion-8-isinstanceof/comment-page-1/#comment-836</link>
		<dc:creator>Rupesh Kumar</dc:creator>
		<pubDate>Fri, 26 Mar 2010 11:24:43 +0000</pubDate>
		<guid isPermaLink="false">http://rupesh106.wordpress.com/2007/08/02/coldfusion-8-isinstanceof/#comment-836</guid>
		<description>It looks like the code is missing from your comment above. 
If you are not able to post it, you can sent that to me at rukumar at adobe dot com</description>
		<content:encoded><![CDATA[<p>It looks like the code is missing from your comment above.<br />
If you are not able to post it, you can sent that to me at rukumar at adobe dot com</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Troy</title>
		<link>http://www.rupeshk.org/blog/index.php/2007/08/coldfusion-8-isinstanceof/comment-page-1/#comment-830</link>
		<dc:creator>Troy</dc:creator>
		<pubDate>Wed, 24 Mar 2010 22:27:01 +0000</pubDate>
		<guid isPermaLink="false">http://rupesh106.wordpress.com/2007/08/02/coldfusion-8-isinstanceof/#comment-830</guid>
		<description>I know this is an old post, but I have a problem with functionality that relates to this.

In your example, the Intf.cfc and Comp.cfc must live in the same directory, since you are able to use implements=&quot;Intf&quot;. Handy for an example, of course.

However, I have a component that implements an interface, and uses a coldfusion mapping to reference it like so: implements=&quot;componentsroot.interfaces.Intf&quot; where there is a mapping with the logical path /componentsroot that maps to a folder which contains a subfolder interfaces and that is where Intf.cfc lives.

All is well and good, except that if I execute the following lines of code:


on some CF instances (all of these identical in CF version) I would see this:
component path.to.Comp
	implements componentsroot.interfaces.Intf
Whereas on others I see this:
component path.to.Comp
	implements Intf
Note that the full path is not specified in the implements string. This is a huge problem when type checking, either as part of a cfargument or using isInstanceOf, since CF will not evaluate those two to be the same thing (must be a string match).

Any ideas?</description>
		<content:encoded><![CDATA[<p>I know this is an old post, but I have a problem with functionality that relates to this.</p>
<p>In your example, the Intf.cfc and Comp.cfc must live in the same directory, since you are able to use implements=&#8221;Intf&#8221;. Handy for an example, of course.</p>
<p>However, I have a component that implements an interface, and uses a coldfusion mapping to reference it like so: implements=&#8221;componentsroot.interfaces.Intf&#8221; where there is a mapping with the logical path /componentsroot that maps to a folder which contains a subfolder interfaces and that is where Intf.cfc lives.</p>
<p>All is well and good, except that if I execute the following lines of code:</p>
<p>on some CF instances (all of these identical in CF version) I would see this:<br />
component path.to.Comp<br />
	implements componentsroot.interfaces.Intf<br />
Whereas on others I see this:<br />
component path.to.Comp<br />
	implements Intf<br />
Note that the full path is not specified in the implements string. This is a huge problem when type checking, either as part of a cfargument or using isInstanceOf, since CF will not evaluate those two to be the same thing (must be a string match).</p>
<p>Any ideas?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
