Re: [transfer-dev] Coldfusion 10 and Transfer ORM?

2014-04-01 Thread Janise Daylin
Brian - thanks for the response.  I really appreciate it.

I wish I could split the costs for a facade for CF ORM but my company is
cheap and they would rather I waste hours beating my head against the wall
than fork over meager dollars to make my life easier.  (Sorry bitter today)

I don't have java installed on my CF Server - JVM comes installed with CF I
believe - I see the CF admit settings for it.  But I don't have a separate
Java install?  (Sorry I have limited server knowledge.)  Java isn't in the
control panel where I'm familiar seeing it on other machines.  This server
is Windows Server 2003.

And thank you for the code.  I updated it on my test server today.  I am
now getting mostly errors that it's not able to find config files/items in
config files (which exist).  No XML errors.  I don't know which is better.

Janise


On Mon, Mar 31, 2014 at 2:23 PM, Brian G brian-goo...@vfive.com wrote:


 Janise, are you on Java 7 or Java 6?  I found Java 6 made my issues far
 less problematic but it still happens at least 50% of the time when I start
 up my app.  I just made some changes to this recently actually, here's what
 I have right now:


 cffunction name=search hint=Searches the xml via an xpath
 access=public returntype=array output=false
 cfargument name=xpath hint=The xpath to search under
 type=string required=Yes
 cfscript
 var results = ArrayNew(1);
 var res = arrayNew(1);
 var len = arrayLen(getXMLCollection());
 var counter = 1;
 var collection = getXMLCollection();
 var path = ;
 var p = ;

 for(; counter lte len; counter = counter + 1)

 {
 try
 {
 results.addAll(xmlSearch(collection[counter],
 arguments.xpath));
 }
 catch (any ex)
 {
 // ok, let's serialize the XML as it exists so we can
 capture it
 writeLog(type=Error, file=transfer-xml, text=Failed
 to XMLSearch(#arguments.xpath#) in XMLFileReader.cfc due to: [#ex.type#]
 #ex.message#, check transfer-xml.serialized for a string representation of
 the XML file);
 writeLog(type=Error, file=transfer-xml-serialized,
 text = toString(collection[counter]));


 // flush the XML and try again
 path = listToArray(getPathList());
 setXMLCollection(arrayNew(1));
 setPathList();

 for (p in path)
 {
 writeLog(type=Error, file=transfer-xml,
 text=Readding XML: #p#...);
 addXML(p, true);
 }

 // get updated collection
 collection = getXMLCollection();
 // run search again, it SHOULD be there this time
 res = (isArray(collection) AND arrayLen(collection) ?
 xmlSearch(collection[1], arguments.xpath) : 0);
 writeLog(type=Error, file=transfer-xml, text=Reloaded
 #arrayLen(path)# files, tried again against #arrayLen(collection)# files,
 found #arrayLen(res)# matches.);

 // now re-search the XML
 results.addAll(res);
 }
 }

 return results;
 /cfscript
 /cffunction


 Mostly logging, but critically, the addXML(p, true), the true overwrites
 what was there before, which clears out the broken ones.

 I've got a guy who has offered to build a facade for CF ORM that presents
 the same interface as Transfer.  It has been a back burner project for me
 but if someone else wanted to split the cost, I could prioritize it.  Goal
 would be to provide a drop-in replacement that would use CF ORM under the
 hood but not require any code changes.  I presume some configuration change
 may be required but the getIsPersisted(), the relationships, etc... could
 all implement the same interface.


 Brian





 On Monday, March 31, 2014 12:13:10 PM UTC-7, Janise Daylin wrote:

 I am a year late - but running into a similar issue.  Went from CF8 with
 Transfer to CF10 with Transfer until I can get time to redesign.  Getting
 requested object could not be found in the config file (when it exists)
 or unable to process the result of the XMLSearch.  If I refresh the page
 2-12 times the errors disappear.  I tried the try/catch in XMLFileReader
 but that didn't resolve the errors.  I have a ticket open with Adobe but
 would love insight from anyone else that's resolved the issue or might give
 me some hints on where to look to resolve it.

 Janise

 On Wednesday, April 3, 2013 7:05:27 PM UTC-6, Brian G wrote:


 That is where I'm doing it - but I wanted to test in prod that reloading
 the XML did indeed fix the problem, and it did.

 Here's what I wound up with in XMLFileReader.cfc:

 try
 {
 results.addAll(xmlSearch(collection[counter], arguments.xpath));
 }
 catch (any ex)
 {
 // flush the XML and try again
 setXMLCollection(arrayNew(1));
 path = listToArray(getPathList

Re: [transfer-dev] Coldfusion 10 and Transfer ORM?

2014-03-31 Thread Janise Daylin
I am a year late - but running into a similar issue.  Went from CF8 with 
Transfer to CF10 with Transfer until I can get time to redesign.  Getting 
requested object could not be found in the config file (when it exists) 
or unable to process the result of the XMLSearch.  If I refresh the page 
2-12 times the errors disappear.  I tried the try/catch in XMLFileReader 
but that didn't resolve the errors.  I have a ticket open with Adobe but 
would love insight from anyone else that's resolved the issue or might give 
me some hints on where to look to resolve it.

Janise

On Wednesday, April 3, 2013 7:05:27 PM UTC-6, Brian G wrote:


 That is where I'm doing it - but I wanted to test in prod that reloading 
 the XML did indeed fix the problem, and it did.

 Here's what I wound up with in XMLFileReader.cfc:

 try 
 {
 results.addAll(xmlSearch(collection[counter], arguments.xpath));
 }
 catch (any ex)
 {
 // flush the XML and try again
 setXMLCollection(arrayNew(1));
 path = listToArray(getPathList());

 for (p in path)
 {
 addXML(p);
 }

 writeLog(type=Error, file=transfer-xml, text=Failed to 
 XmlSearch(#arguments.xpath#) in XMLFileReader.cfc, reloaded 
 #arrayLen(path)# XML Files, trying again against 
 #arrayLen(getXMLCollection())# loaded configurations... [#ex.type#] 
 #ex.message#); 

 // now re-search the XML
 results.addAll(xmlSearch(collection[counter], arguments.xpath));
 }

 I think that will do the trick for this particular issue.  I mean, it will 
 work around whatever is really going on, at least for now.  Fingers crossed.


 On Wednesday, April 3, 2013 2:32:13 PM UTC-7, Mark Mandel wrote:

 Why not do the try catch in here:

 http://transfer.riaforge.org/index.cfm?event=page.svnviewpath=%2Ftransfer%2Ftrunk%2Fcom%2Fiofile=XMLFileReader%2Ecfc

 LIne 42 of the search?

 Rather than outside?

 Mark


 On Thu, Apr 4, 2013 at 3:30 AM, Brian G brian-...@vfive.com wrote:


 On Tuesday, April 2, 2013 8:47:51 PM UTC-7, Mark Mandel wrote:

 Try/catch inside the XMLFileReader - if it overflows, then load up the 
 path again. It knows where the XML file is, so it can always try it again.
  http://www.2ddu.com/


 That did it... on my wedged future production server, first I ran the 
 code that generated the stack overflow - still failed.  Then I ran this:


 cfset orm = application.cs.getBean(ormService) /
 cfset xmlFileReader = 
 orm.getTransfer().getObjectManager().getObjectDAO().getConfigReader() /
 cfdump var=#arrayLen(xmlFileReader.getXMLCollection())# 
 label=pre-reload, num of xml files /
 cfset 
 xmlFileReader.addXML('/var/www/pukka/main-prod/config/transfer/transfer.xml',
  
 true) /
 cfdump var=#arrayLen(xmlFileReader.getXMLCollection())# 
 label=post-reload, num of xml files /

 Then I re-ran the borked code and actually it still failed.  The 
 overwrite flag true here doesn't overwrite it only prepends to the array of 
 XML files so the search still failed when it hit the original, somehow 
 jacked up, XML file.  I manually killed it with 
 arrayDeleteAt(getXMLCollection(), 2) and then re-ran my error-generating 
 code and it worked fine.

 I'm not sure how to report this... clearly something is fubar'd and it 
 looks like a bug in CF but it's not reproducible in the traditional sense.  
 For now, I'm going to wrap the xmlsearch with a try/catch and see if that 
 works?  

 Thanks for the help Mark.


  -- 
 -- 
 Before posting questions to the group please read:

 http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer
  
 Try out the new Transfer ORM Custom Google Search:
 http://www.google.com/cse/home?cx=002375903941309441958:2s7wbd5ocb8
  
 You received this message because you are subscribed to the Google 
 Groups transfer-dev group.
 To post to this group, send email to transf...@googlegroups.com
 To unsubscribe from this group, send email to 
 transfer-dev...@googlegroups.com
 For more options, visit this group at 
 http://groups.google.com/group/transfer-dev?hl=en
  
 --- 
 You received this message because you are subscribed to the Google 
 Groups transfer-dev group.
 To unsubscribe from this group and stop receiving emails from it, send 
 an email to transfer-dev...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.
  
  




 -- 
 E: mark@gmail.com
 T: http://www.twitter.com/neurotic
 W: www.compoundtheory.com

 2 Devs from Down Under Podcast
 http://www.2ddu.com/
  


-- 
-- 
Before posting questions to the group please read:
http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer

Try out the new Transfer ORM Custom Google Search:
http://www.google.com/cse/home?cx=002375903941309441958:2s7wbd5ocb8

You received this message because you are subscribed to the Google Groups 
transfer-dev group.
To post to this group, send email to transfer-dev@googlegroups.com
To unsubscribe from this group, send email to