/plugins/javaLoader/javaLoader.cfc

http://raihan.googlecode.com/ · ColdFusion CFScript · 83 lines · 56 code · 17 blank · 10 comment · 2 complexity · 657a40dc2c127220c8c1685e525df7b0 MD5 · raw file

  1. <cfcomponent output="false">
  2. <cffunction name="init">
  3. <cfset this.version = "1.1.3">
  4. <cfreturn this>
  5. </cffunction>
  6. <cffunction name="javaLoader" returntype="Any" access="public" output="false" hint="I return the javaloader object ready for you to create ???">
  7. <cfargument name="loadPathsArray" default="#ArrayNew(1)#" type="array" hint="an array of absolute paths to jar files" />
  8. <cfscript>
  9. var loadPaths = createLoadPath(arguments.loadPathsArray);
  10. var javaloader = createJavaLoaderObject(loadPaths);
  11. </cfscript>
  12. <cfreturn javaloader />
  13. </cffunction>
  14. <cffunction name="createJavaLoaderObject" hint="I return the javaloader object with the jars loaded" returntype="Any">
  15. <cfargument name="loadPaths" required="true" type="array" />
  16. <cfscript>
  17. var javaloader = createObject("component", "#get('rootComponentPath')#.plugins.javaloader.JavaLoader.Javaloader").init(arguments.loadPaths, 'true');
  18. </cfscript>
  19. <cfreturn javaloader />
  20. </cffunction>
  21. <cffunction name="createLoadPath" returntype="array" hint="I return an array of all the jars to load">
  22. <cfargument name="loadPathsArray" type="array" default="" />
  23. <cfscript>
  24. var loadMe = "";
  25. var i = "";
  26. // create loadPath array
  27. var loadPaths = ArrayNew(1);
  28. // var dirPath = ReturnWebRootTranslated() & "/lib/";
  29. // var proxyJar = ReturnWebRootTranslated() & "/plugins/javaloader/javaLoader/support/cfcdynamicproxy/lib/cfcdynamicproxy.jar";
  30. var dirPath = GetDirectoryFromPath(GetBaseTemplatePath()) & "/lib/";
  31. var proxyJar = GetDirectoryFromPath(GetBaseTemplatePath()) & "/plugins/javaloader/javaLoader/support/cfcdynamicproxy/lib/cfcdynamicproxy.jar";
  32. </cfscript>
  33. <!--- read directory for jar files --->
  34. <cfdirectory
  35. action = "list"
  36. directory = "#dirPath#"
  37. name = "loadMe"
  38. filter = "*.jar">
  39. <!--- add default jars in lib folder --->
  40. <cfloop index="i" from="1" to="#loadMe.RecordCount#">
  41. <cfset loadPaths[#i#] = dirPath & loadMe.Name[i] />
  42. </cfloop>
  43. <!--- add explicitily set jars --->
  44. <cfloop array="#arguments.loadPathsArray#" index="i">
  45. <!--- check if jar exists --->
  46. <cfif fileExists(#i#)>
  47. <cfset ArrayAppend(loadPaths, "#i#") />
  48. </cfif>
  49. </cfloop>
  50. <cfset ArrayPrepend(loadPaths, "#proxyJar#") />
  51. <cfreturn loadPaths />
  52. </cffunction>
  53. <cffunction name="ReturnWebRootTranslated" access="public" returntype="string" hint="Returns the translated (file system) location of the web root directory">
  54. <cfscript>
  55. /**
  56. * Returns the translated (file system) location of the web root directory.
  57. *
  58. * @return Returns a string.
  59. * @author David Whiterod (whiterod.david@saugov.sa.gov.au)
  60. * @version 1, May 9, 2003
  61. */
  62. var tmpPath = Replace(CGI.SCRIPT_NAME, "/", "\", "ALL");
  63. return Replace(ReplaceNoCase(CGI.PATH_TRANSLATED, tmpPath, "", "ALL"), "\", "/", "ALL");
  64. </cfscript>
  65. </cffunction>
  66. </cfcomponent>