Giter Club home page Giter Club logo

openbd-core's Introduction

OpenBD was the worlds first truly open source and free GPLv3.0 Java CFML runtime. OpenBD has a long legacy, first created in 2000, but it is no longer being actively maintained.

Official Website

The official website for OpenBD is located:

http://openbd.org/

You can download releases from https://github.com/OpenBD/openbd-core/releases

Running OpenBD

You can run OpenBD quickly without all the hassle of setting and configuring a JEE server. Use the JettyDesktop launcher - instructions on use located at the JettyDesktop Wiki. This will run the OpenBD WAR file easily and quickly.

Building OpenBD

You will require the following tools to be able to build OpenBD from source:

Optional, OpenBD source drop includes an Eclipse project to enable building and debugging under the Eclipse IDE (http://www.eclipse.org/). All files required to build the core OpenBD JAR/WAR is contained within this GitHub project.

All the necessary scripts and resources are in the ./build/ folder. The build.xml will build the core WAR file, the OpenBlueDragon.jar file as well as popping in the manual if you desire.

  • ant compile
  • ant war
  • ant war-with-manual

If you are just updating the core OpenBD JAR file in an already existing installation then 'ant compile' will create the file: ./build/targets/OpenBlueDragon.jar. You can then drop this file over the top of an existing installation if you are say upgrading a minor update. The ReleaseNotes.txt will indicate if a full /WEB-INF/lib/ folder update is required.

'ant war' will build a standard JEE WAR file that can be dropped into any JEE application server, such as Jetty, Tomcat or JBoss. 'ant war-with-manual' will build the standard JEE war but will also pull in the latest 'openbd-manual' (https://github.com/OpenBD/openbd-manual) and add that as part of the distribution.

All output from the ant scripts will be in the /build/targets/

openbd-core's People

Contributors

a1anw2 avatar ahuggett avatar lrpinto avatar mfernstrom avatar nitishpandey avatar wua22 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openbd-core's Issues

Locale and database queries

Hey,

I have a <cfquery> that I use to get some numbers from a Microsoft SQL database, and in Norway we use commas instead of dots for decimal separators. My problem arises when I try to calculate directly on the query result because it now contains commas. I could solve this by using Replace() but that gets messy quite fast.

Is there a way to tell OpenBD to ignore the host machine's locale and force it to a specific locale when dealing with database queries or am I missing something else? My hope is that there is some xml file like bluedragon.xml that allows me to set the locale.

I'm quite new to CF/OpenBD so forgive me if the answer to this is obvious.

cfschedule task urltouse issue

I have run in to a bug with the release and nightly builds of OpenBD.

When creating a scheduled task, the URL to use does not support self-signed https connections. There is no log or logged error. Nothing appears to work.

Using var with local ends up in Expression Error

Hello,

I am working on a project with some old CF code. It actually is a library used as foundation for a bigger project. The library is code-versioned on svn where I am not supposed to change anything.
They have code like this: <cfset var LOCAL.foo = 'bar'>.
Horrible, yes i know.
Problem is, with ACF11 it's working, no problem at all. With OpenBD (which I absolutely love as dev environment) i get Expression Error.
I have searched the net, tried everything (tuned the OpenBD settings a little bit on variables & scopes) without any result. I understand that there's a conflict between the variables and local scopes, but somehow it's working on ACF11.

Please, please, please ... would there be any way to fix this without changing the old code from the library, in such a way to work with OpenBD? Today i've tried installing CF2016 dev + IIS & crap on a Win10 machine ... i was not able to make it work. With OpenBD everything is so simple.

Many thanks in advance.
Many thanks for this wonderful tool!

Issue with cfschedule

Just found another issue with cfschedule and delete. I can create any schedule with cfschedule, however using delete or pause doesn't work.

<cfschedule action="delete" task="razscheduleduploadevent[71787786-d1eb-4498-84c4b686aa3786de]" />

It doesn't throw an error at all, but simply ignores delete or pause. Restarted the engine and still doesn't work.

Unable to connect to Mongo 3.0 + with auth

Getting the following error when trying to connect to a a mongo db version 3.0.7 that has auth set up

Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=secondaryPreferred}. Client view of cluster state is {type=UNKNOWN, servers=[{address=XXXXX, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSecurityException: Exception authenticating}, caused by {com.mongodb.MongoCommandException: Command failed with error 18: 'auth failed' on server XXXXX. The full response is { "ok" : 0.0, "errmsg" : "auth failed", "code" : 18 }}}]

Version 2.0.1

Is there anyway i can the source code for this version of openbd:

version=2.0.1
state=final release
releasedate=1 December 2011
builddate=2011-12-01 16:13:52 GMT

any help is appreciated..

ternary operator broken & no documentation?

I'm pretty sure the ternary operator in is broken. I'm attempting to use it in cfscript and I just keep getting expression errors. Also, there is no example of using ternary in the openbd documentation so I could be doing something wrong.
I am using the latest nightly.
example:

<cfcomponent output="false">
<cfscript>
public component function init(required string datasource)
{
    variables.datasource = arguments.datasource;
    return THIS;
}
public query function ListAll(boolean inactive = false)
{
    var sql = "SELECT id, name, active FROM external_name " & (arguments.inactive ? ';' : ' WHERE active=1;');

    var qry = QueryRun(
        datasource: variables.datasource
        ,sql:sql
    );
    return qry;
}
</cfscript>
</cfcomponent>

QueryRun result missing generatedkey

I am running a recent nightly (build date: 2016-04-16 04:04:43 GMT), but the result variable given back does not contain the generatedkey value. This should be pretty easy to reproduce. Let me know if I have to make a test case.

CFX/C++ info?

There's a C project I'd like to try integrating with OpenBD, and from what I see there looks to be support for that using CFX.

I've never used it, and the Adobe pages I see mention registering the tags using the administrator.

Does C/C++ work with OpenBD, and is there some info somewhere about how to implement an example?

I do see the CFX_TestTag.cpp example in the native directory but I'm not sure what to do with it to be honest.

I've placed it in customtags/native/hello.cpp and added this mapping in the bluedragon.xml

<nativecustomtags>
    <mapping name="cfx_nativebluedragonhello">
      <function>ProcessTagRequest</function>
      <keeploaded>true</keeploaded>
      <name>cfx_nativebluedragonhello</name>
      <displayname>CFX_HW</displayname>
      <module>/WEB-INF/customtags/native/hello.cpp</module>
      <description>A simple C++ CFX tag example</description>
    </mapping>
  </nativecustomtags>

When I call it with <cfx_nativebluedragonhello> I get this error UnsatisfiedLinkError invoking CFXNativeLib method

Not sure if there's any more setup I need to do? I do have GCC/Clang installed.

SOAP/WSDL generation fails on nightly

Trying to generate a WSDL by adding ?WSDL to a cfc fails with an Internal Server Error (java.lang.RuntimeException: No compiler found in your classpath! (you may need to add 'tools.jar'))

<cffunction name="ImRemote" access="remote" returnType="string">		
	<cfreturn "I'm a returned string">
</cffunction>

I do have the classpath variable JDK_TOOLS pointing to tools.jar for Java 8, as well as tools.jar as an external jar.

I can run OpenBD just fine, but not when trying to run the WSDL generation.

I'm trying to untangle this but I have a feeling it's beyond my Java skill at the moment.

Here's the full error and screenshot of it (console output is awkward on Github)
screen shot 2018-01-12 at 10 44 18 am

java.lang.RuntimeException: No compiler found in your classpath! (you may need to add 'tools.jar')
at org.apache.axis.components.compiler.Javac.compile(Javac.java:156)
at com.naryx.tagfusion.cfm.xml.ws.dynws.DynamicWebServiceTypeGenerator.buildClasses(DynamicWebServiceTypeGenerator.java:421)
at com.naryx.tagfusion.cfm.xml.ws.dynws.DynamicWebServiceTypeGenerator.generateType(DynamicWebServiceTypeGenerator.java:105)
at com.naryx.tagfusion.cfm.xml.ws.cfcHandler.setupService(cfcHandler.java:204)
at com.naryx.tagfusion.cfm.xml.ws.cfcHandler.generateWSDL(cfcHandler.java:122)
at org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:33)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:104)
at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:454)
at org.apache.axis.transport.http.QSWSDLHandler.invoke(QSWSDLHandler.java:68)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1233)
at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:249)
at com.naryx.tagfusion.cfm.cfcServlet.doGet(cfcServlet.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:336)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496)
at com.newatlanta.filters.SearchEngineFriendlyURLFilter.doFilter(SearchEngineFriendlyURLFilter.java:194)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1476)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:745)

Compile errors

Running on MacOS Catalina 10.15.6.
javac 1.8.0_221
Apache Ant(TM) version 1.10.8 compiled on May 10 2020.

Logged to the build folder, any of the ANT targets fails to compile with:

compile:
[javac] /Users/dbabcock/openbd-core-master/build/build.xml:215: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 2073 source files to /Users/dbabcock/openbd-core-master/build/classes
[javac] /Users/dbabcock/openbd-core-master/src/com/bluedragon/browser/SliderApplet.java:56: error: cannot find symbol
[javac] win = JSObject.getWindow(thisApplet);
[javac] ^
[javac] symbol: method getWindow(Applet)
[javac] location: class JSObject
[javac] /Users/dbabcock/openbd-core-master/src/com/bluedragon/browser/TextInput.java:74: error: cannot find symbol
[javac] win = JSObject.getWindow(_parent);
[javac] ^
[javac] symbol: method getWindow(Applet)
[javac] location: class JSObject
[javac] /Users/dbabcock/openbd-core-master/src/com/bluedragon/browser/TreeApplet.java:62: error: cannot find symbol
[javac] win = JSObject.getWindow(thisApplet);
[javac] ^
[javac] symbol: method getWindow(Applet)
[javac] location: class JSObject
[javac] /Users/dbabcock/openbd-core-master/src/com/bluedragon/platform/java/JavaPlatform.java:207: error: package sun.tools.javac is not visible
[javac] sun.tools.javac.Main javac = new sun.tools.javac.Main(javacOut, "BD Web Services Client Compiler");
[javac] ^
[javac] (package sun.tools.javac is declared in module jdk.rmic, which is not in the module graph)
[javac] /Users/dbabcock/openbd-core-master/src/com/bluedragon/platform/java/JavaPlatform.java:207: error: package sun.tools.javac is not visible
[javac] sun.tools.javac.Main javac = new sun.tools.javac.Main(javacOut, "BD Web Services Client Compiler");
[javac] ^
[javac] (package sun.tools.javac is declared in module jdk.rmic, which is not in the module graph)
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 5 errors

MongoDB mongouri

Something that has confused me for over two years, say I make a standard connection to mongodb

MongoRegister( name="mongo", server="127.0.0.1", db="testdb" );

everything works fine, the pool closes after five mins of no activity and reconnects with a new call like it should, but if I add a mongouri

MongoRegister( name="mongo", server="127.0.0.1", db="testdb", mongouri="mongodb://127.0.0.1:27017/testdb" );

when the pool closes after five mins of no activity it will not reconnect! throwing an error

java.lang.IllegalStateException: state should be: open.

OpenBD nightly, ready to run on windows, latest Java 1.8

Does anyone else have this problem or am I doing something wrong?
Any help figuring this out would be greatly appreciated.

Mark.

Official website redirects to the github site

The official website keeps redirecting to this project. But this project says the site is the official source. Is the README outdated?

The official website for OpenBD is located:

http://openbd.org/

private method in onRequestStart causes an internal server error when called from 127.0.0.1 but not localhost

This works:

http://localhost:8080/explosion/hello.cfm

This does not:

http://127.0.0.1:8080/explosion/hello.cfm

OpenBD Internal Server Error
Need some help? Visit our manual http://openbd.org/manual/
The page you were executing caused an internal server error
Request /explosion/hello.cfm
File Trace  /jetty-openbd-3.1.0/webapps/openbd/explosion/hello.cfm
|
+-- /jetty-openbd-3.1.0/webapps/openbd/explosion/Application.cfc
Type    Internal
Tag Context CFQUERY (/jetty-openbd-3.1.0/webapps/openbd/explosion/Application.cfc, Line=43, Column=3)
|
+-- CFFUNCTION (/jetty-openbd-3.1.0/webapps/openbd/explosion/Application.cfc, Line=42, Column=2)
    |
    +-- CFSET (/jetty-openbd-3.1.0/webapps/openbd/explosion/Application.cfc, Line=37, Column=3)
        |
        +-- CFFUNCTION (/jetty-openbd-3.1.0/webapps/openbd/explosion/Application.cfc, Line=34, Column=2)
Source  
40:   </cffunction>
41:   <!--- ================================================================================================ --->
42:   <cffunction name="explode" returntype="boolean" output="false" access="private">
43:     <cfquery>
44:       SELECT COUNT(*) dummy FROM dual
^ Snippet from underlying CFML source
Stack Trace 
java.lang.AbstractMethodError
    at com.naryx.tagfusion.cfm.sql.cfSQLQueryData.execute(Unknown Source)
    at com.naryx.tagfusion.cfm.sql.cfSQLQueryData.runQuery(Unknown Source)
    at com.naryx.tagfusion.cfm.sql.cfQUERY.executeStatement(Unknown Source)
    at com.naryx.tagfusion.cfm.sql.platform.java.cfQueryImplSQL.render(Unknown Source)
    at com.naryx.tagfusion.cfm.sql.cfQUERY.render(Unknown Source)
    at com.naryx.tagfusion.cfm.tag.cfTag.coreRender(Unknown Source)
    at com.naryx.tagfusion.cfm.tag.cfTag.renderToString(Unknown Source)
    at com.naryx.tagfusion.cfm.tag.cfFUNCTION.realRun(Unknown Source)
    at com.naryx.tagfusion.cfm.tag.cfFUNCTION.run(Unknown Source)
    at com.naryx.tagfusion.cfm.tag.cfFUNCTION.run(Unknown Source)
    at com.naryx.tagfusion.cfm.parser.script.userDefinedFunction.execute(Unknown Source)
    at com.naryx.tagfusion.cfm.parser.CFFunctionExpression.Eval(Unknown Source)
    at com.naryx.tagfusion.cfm.parser.runTime.run(Unknown Source)
    at com.naryx.tagfusion.cfm.parser.runTime.runExpression(Unknown Source)
    at com.naryx.tagfusion.cfm.parser.runTime.runExpression(Unknown Source)
    at com.naryx.tagfusion.cfm.tag.cfSET.render(Unknown Source)
    at com.naryx.tagfusion.cfm.tag.cfTag.coreRender(Unknown Source)
    at com.naryx.tagfusion.cfm.tag.cfTag.renderToString(Unknown Source)
    at com.naryx.tagfusion.cfm.tag.cfFUNCTION.realRun(Unknown Source)
    at com.naryx.tagfusion.cfm.tag.cfFUNCTION.run(Unknown Source)
    at com.naryx.tagfusion.cfm.tag.cfFUNCTION.run(Unknown Source)
    at com.naryx.tagfusion.cfm.parser.script.userDefinedFunction.execute(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfComponentData.invokeComponentFunction(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfComponentData.invokeApplicationFunction(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfSession.onRequestStart(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfSession.onRequestStart(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfEngine.service(Unknown Source)
    at com.naryx.tagfusion.cfm.cfServlet.service(Unknown Source)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1359)
    at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:77)
    at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:144)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330)
    at com.newatlanta.filters.SearchEngineFriendlyURLFilter.doFilter(Unknown Source)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:478)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:483)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:941)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
    at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:312)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
    at org.eclipse.jetty.server.Server.handle(Server.java:345)
    at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)
    at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:919)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:582)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
    at java.lang.Thread.run(Thread.java:722)

The datasource is a MySQL database running a dummy query for demonstration purposes.

Application.cfc

<cfcomponent name="Application" output="false" >
    <cfset this.name = "example" & Hash( GetCurrentTemplatePath() )>
    <cfset this.sessionManagement = "true">
    <cfset this.clientManagement = "false">
    <cfset this.scriptProtect = "false">
    <cfset this.datasource = "example" />

    <!---======================================================================================================--->
    <cffunction name="onApplicationStart" returntype="boolean" output="false">
        <cfreturn true>
    </cffunction>
    <!--- ================================================================================================ --->
    <cffunction name="onApplicationEnd" returnType="void" output="false">
        <cfargument name="ApplicationScope" required="true">
    </cffunction>
    <!--- ================================================================================================ --->
    <cffunction name="onSessionStart" returnType="void" output="false">
        <!--- This function is blank for a reason! --->
    </cffunction>
    <!--- ================================================================================================ --->
    <cffunction name="onSessionEnd" returnType="void" output="false">
        <cfargument name="SessionScope" required="true" />
        <cfargument name="ApplicationScope" required="true" />
    </cffunction>
    <!--- ================================================================================================ --->
    <cffunction name="onRequest" returntype="boolean" output="true">
        <cfargument name="targetPage" required="true">

        <cfinclude template="#ARGUMENTS.TargetPage#" />

        <cfreturn true>
    </cffunction>
    <!--- ================================================================================================ --->
    <cffunction name="onRequestStart" returntype="boolean" output="false">
        <cfargument name="targetPage" required="true">

        <cfset explode() />

        <cfreturn true>
    </cffunction>
    <!--- ================================================================================================ --->
    <cffunction name="explode" returntype="boolean" output="false" access="private">
        <cfquery>
            SELECT COUNT(*) dummy FROM dual
        </cfquery>
    </cffunction>
    <!--- ================================================================================================ --->
    <cffunction name="onRequestEnd" returntype="void" output="false">
        <cfargument name="targetPage" required="true">
    </cffunction>

</cfcomponent>

hello.cfm

hello world

Upgrading from old OpenBD, odd Json in the old version?

We're upgrading an old server to the latest OpenBD and as we go we found that there is old json data (still in use) that has CFML style YES/NO instead of json True/False in the json data, causing the newer OpenBD deserializer to fail with Invalid Json.

Is this expected? Was there an old version which used yes/no for json booleans?

Build errors

I'm trying to build OpenBD locally but I'm having issues.

This is the first time I've used Ant so it's more than possible this is user error, but I'm not sure what's going on.

ant compile reports success but the target directory is empty.

sudo ant compile reports this error

/src/com/bluedragon/platform/java/JavaPlatform.java:207: error: package sun.tools.javac is not visible

sun.tools.javac.Main javac = new sun.tools.javac.Main(javacOut, "BD Web Services Client Compiler");
         ^

javac -version returns javac 1.8.0_73

Any advice?

QueryRun missing result attribute

Hi guys,

Was using OpenBD last night and realized how much I liked the cfscript implementation of cfquery compared to the actual tag. However, it seems like there is no way to set the result attribute that is available in the cfquery tag. This means I have to use the tag version of cfquery if I am doing an insert and need to get the ID (generatedkey/identitycol) of the inserted row. If there is a way to get the result variable with QueryRun I guess the docs should be updated, but if not I think it makes sense to add this functionality.

Thanks!

cfcontent Remote S3 gives Internal Server Error

When using the new cfcontent with the remote attribute with s3. If the s3 file no longer exists an Internal Server Error is given

com.amazonaws.services.s3.model.AmazonS3Exception: The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey;

NPE when serializejson ran on query result containing date pulled from Memcached

We hit the following error when running serializejson on a query that contained a date column and had been retrieved from Memcached:

java.lang.NullPointerException
    at java.util.Calendar.setTime(Calendar.java:1770)
    at java.text.SimpleDateFormat.format(SimpleDateFormat.java:943)
    at java.text.SimpleDateFormat.format(SimpleDateFormat.java:936)
    at java.text.DateFormat.format(DateFormat.java:345)
    at com.naryx.tagfusion.expression.function.string.serializejson.encodeJSON(Unknown Source)
    at com.naryx.tagfusion.expression.function.string.serializejson.encodeJSON(Unknown Source)
    at com.naryx.tagfusion.expression.function.string.serializejson.encodeJSON(Unknown Source)
    at com.naryx.tagfusion.expression.function.string.serializejson.execute(Unknown Source)
    at com.naryx.tagfusion.cfm.parser.CFFunctionExpression.Eval(Unknown Source)

What happened to www.openbd.org?

I am a long time fan of openbd. Was shocked when I went to openbd.org and was redirected here. What's going on? Checked the Google Group. Nothing there.

Is Openbd going the way of the dinosaur? I hope not.

CFHTTP and encoding

Hey,

I'm trying to post some JSON data (which contains letters like 'æ', 'ø', and 'å') to a REST endpoint using CFHTTP. The code works in Adobe's ColdFusion and the data is passed as expected. However, using OpenBD (tested on both 3.1 and 3.2) the data doesn't seem to be encoded in any way before being posted. I need these characters (among other special characters as well) to be encoded to avoid problems in other parts of the system that are outside of my control.

I'm not interested in a solution involving something like replace(var, "ø", "encoded ø", "ALL") as that is too specific/hardcoded for my taste.

I've made a simple example to demonstrate my problem.

client.cfm

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Client</title>
</head>
<body>

<form action="server.cfm" method="post" accept-charset="UTF-8">
    <input type="text" name="test" id="test" title="" />
    <button type="submit">Test</button>
</form>

</body>
</html>

server.cfm

<cfprocessingdirective pageEncoding="utf-8" />

<cfset myStruct = { "values": { "value1": #form['test']# } } />
<cfset serializedStruct = serializeJSON(myStruct) />

<cfhttp url="[myRestServer]/test" method="post" result="result" charset="utf-8">
    <cfhttpparam type="header" name="Content-Type" value="application/json; charset=utf-8" />
    <cfhttpparam type="body" value="#serializedStruct#" />
</cfhttp>

<cfdump var=#result# />

TestResource.java

import org.json.JSONException;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.inject.Singleton;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

@Singleton
public class TestResource {

    private static final Logger logger = LoggerFactory.getLogger(TestResource.class);

    @Path("/test")
    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    public Response test(String body) throws JSONException {
        JSONObject jsonObject = new JSONObject(body);
        logger.debug("json: {}", jsonObject.toString());

        return Response.ok().build();
    }

}

When I enter "æøå" in the client form above I get the following results:
Adobe ColdFusion: json: {"values":{"value1":"æøå"}}
OpenBD: json: {"values":{"value1":"???"}}

Both examples run on the same Tomcat 8.5.32 installation.

Is this a bug or is this the intended behavior?

Get struct/arrays from cfml in cfscript javascript

When using $cf.get() to get a CFML variable within cfscript javascript it does not translate. See below example, setting and dumping the same struct in cfscript and cfscript javascript are the same output, but if I wanted to get access to the cfscript variable in cfscirpt javascript it does not translate it.

Am I getting the variable correctly?

<cfscript>

    testCFML = {
        items: [
            { name: 'Matthew' },
            { name: 'Alice' }
        ]
    };

    writeDump(testCFML);

</cfscript>

<p>cfscript javascript</p>

<cfscript language="javascript">

    var test = {
        items: [
            { name: 'Matthew' },
            { name: 'Alice' }
        ]
    };

    $cf.writeDump(test);

    print('<hr />');

    var testFromCFML = $cf.get('testCFML')
    $cf.writeDump(testFromCFML);

</cfscript>

screenshot from 2015-11-27 08 59 56

Feature request - Websockets

One of the few things I'm really missing from OpenBD is websockets.

I've tried implementing it myself, but it's beyond me at the moment, so I'd like to turn this into a feature request in case someone who can implement it wants a weekend project.

Personally I don't care about following Adobe's implementation in anything, but some form of websockets with access to session info would be fantastic.

OpenBD Ajax sending set Connection and Content-Length caues Chrome/Safari to block call.

Webkit blocks any attempt to set the Connection and Content-Length headers via XMLHttpRequest.

Refused to set unsafe header "Content-length"blueDragonAjaxLibrary.load @ load.cfres?js=cfajaxproxy01.js:1remoteCall @ load.cfres?js=cfc2211656215.js:1keepActive @ load.cfres?js=cfc2211656215.js:1stayConnected @ main.js:62

Refused to set unsafe header "Connection"blueDragonAjaxLibrary.load @ load.cfres?js=cfajaxproxy01.js:1remoteCall @ load.cfres?js=cfc2211656215.js:1keepActive @ load.cfres?js=cfc2211656215.js:1stayConnected @ main.js:62

Anyway to override inside the app?

mongoURI consistency

You can pass a mongoURI string into the MongoRegister() function via the argument mongouri, and you can also set session management to use a mongoDB at it's session store using a mongo string via this.sessionmanagement.

The two strings are a different format, could these be made to be the same format?

mongoRegister takes the following: mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/database[?options]]

this.sessionmanagement takes the following: mongo://[user@pass:]server1:port1 server2:port2[/db]

Undeploying OpenBD application on Azure

Hey,

I'm deploying my OpenBD application to Azure and it works fine. However, when the application gets undeployed because I've uploaded a new artifact that Azure now tries to deploy instead then it can't seem to delete the previous application because some files are still being used.

The files in question are located here "/WEB-INF/bluedragon/work/temp" and there's always two ".dll" files with names like "LIB5877320608012148117.dll" or "LIB6537047139576307281.dll" (new numbers with each deploy).

Any ideas what these do and how to get around this problem?

Adding antiResourceLocking="true" to Tomcat's context.xml file does solve the issue but since I can't access this file (or any other related to Tomcat) then I need another workaround.

Catch an application error from a remote method call

Craig328 reported this on the mailing list:

So, what I have in a file called remote.cfc was this:

<cffunction name="testcall" access="public" returntype="string">
    <cfargument name="uid" default="0" required="false">
    <cfreturn uid>
</cffunction>

And to test it, I simply called it in a browser window like so:
http://mydevsite.com/cfc/remote.cfc?method=testcall&uid=2

And for that I got the invalid request was attempted message while I had this in my onError method in my Application.cfc:

    <!--- Display an error message if there is a page context. --->
    <cfif NOT (Arguments.EventName IS "onSessionEnd") OR (Arguments.EventName IS "onApplicationEnd")>
        <cfoutput>
        <h2>We apologize but an error has occurred.</h2>
        <p>Technical support has been advised of the error.</p>
        <p>Please <a href="/">click here</a> to return to the home page.</p>
        </cfoutput>

        <cfmail to="[email protected]" from="[email protected]" subject="Error on mydevsite" type="html">
        <p>Error Event: #Arguments.EventName#</p>
        <p>Error details:<br>
        <cfdump var="#arguments.exception#"></p>
        <p>Form: <cfdump var="#form#"></p>
        <p>Session: <cfdump var="#session#"></p>
        </cfmail>
    <cfelse>
        <cfdump>
    </cfif>
    <cfabort>
</cffunction>

As I mentioned, the call to the method should error when it's set to public like it is...I was just curious why I wasn't catching the error is all. In truth, I'll be the only one calling this method from a mobile app I'm building...but I don't like having someone able to make a call to my site and not being able to handle it gracefully.

CFSearch can't order results??

Hi everybody.
I'm a project that use Razuna, an DAM platform what use OpenBD. My problem is that this App use Lucene like search-engine and i can't sort the results.
I see so in Adobe ColdFusion 10 is possible order the results with a new param called "orderBy", but this not work in OpenBD.
Is posible use the CFSearch class to sort my results???
Thanx everybody

Mongo session storage not siloed into application

@ARWilliamson this is one we talked about today

When Mongo session storage is enabled, distinct applications (as denoted by application name) share the same session data.

account-1
+-----------+--
|      cfid | 0
|   cftoken | 96279A96-418B-4649-B646473937A12436
|  urltoken | CFID=0&CFTOKEN=96279A96-418B-4649-B646473937A12436
| sessionid | ACCOUNT-1_0_96279A96-418B-4649-B646473937A12436
|      echo | {CFML Type::struct}
|  language | en
|      user | {CFML Type::struct}
| tokenMeta | {"dev_token":"Token generated for development","enrollment_program_code":"uf","aid":"1","aguid":"8618274f1a
+-----------+--


account-314
+-----------+--
|      cfid | 0
|   cftoken | 96279A96-418B-4649-B646473937A12436
|  urltoken | CFID=0&CFTOKEN=96279A96-418B-4649-B646473937A12436
| sessionid | ACCOUNT-314_0_96279A96-418B-4649-B646473937A12436
|      echo | {CFML Type::struct}
|  language | en
|      user | {CFML Type::struct}
| tokenMeta | {"dev_token":"Token generated for development","enrollment_program_code":"uf","aid":"314","aguid":"8618274f
+-----------+--


account-1
+-----------+--
|      cfid | 0
|   cftoken | 96279A96-418B-4649-B646473937A12436
|  urltoken | CFID=0&CFTOKEN=96279A96-418B-4649-B646473937A12436
| sessionid | ACCOUNT-1_0_96279A96-418B-4649-B646473937A12436
|      echo | {CFML Type::struct}
|  language | en
|      user | {CFML Type::struct}
| tokenMeta | {"dev_token":"Token generated for development","enrollment_program_code":"uf","aid":"314","aguid":"8618274f
+-----------+--

[Feature]: bluedragon.xml replaced with json

I would like to request that the bluedragon.xml file be replaced with a bluedragon.json file. By changing this file type would allow for greater and easier access to settings.

White space Issues

I experienced some troubles with Whitespaces at the beginning of the output.

So i tried

<cfprocessingdirective pageEncoding = "UTF-8" suppressWhiteSpace = "yes">
<cfset dummy = createObject("component", "Dummy") /> 1 2 3 `

But still get empty newilines at the beginning, before "1". Next i looked at cfHttpServletResponse.java

In method setSuppressWhiteSpace, if lastCharWhiteSpace would rather be initialized with true than false, the Whitespaces at the beginning of the output would be properly skipped...

debug OpenBD?

this is not an issue but more a question, How do you debug OpenBD?

I have either NetBeans or Eclipse, and i wonder what is best procedure to debug, setting breakpoints and trace variables, etc.

Support for Mongo 3.0

from a user ...

I’ve got a burning question regarding OpenBD session MongoDB session management.

Does it support Mongo 3.0?

I switched Tangerine to point to the new SessionDB database with the correct credentials, but cannot seem to connect due to authentication errors. I hypothesize that this is due to the recent update to Mongo 3.0.

CFHTTP and CFIMAGE

Hey,

I use <cfhttp url="someUrl" result="result" method="GET" timeout="60" getAsBinary="yes"> to get an image from Azure (stored as a BLOB) because I have to provide some headers using <cfhttpparam> to get access to the image.

Using regular ColdFusion (from Adobe) I'm able to display the image like so:
<cfset myImage = ImageNew("#result.filecontent#")/>
<cfimage source="#myImage#" action="writeToBrowser"/>

If I provide the srcfile attribute that OpenBD expects instead of source this results in an error saying "Data not supported".

Is there any way to display a BLOB as an image directly in the browser?

cfexecute and spaces

i try to cfexecute a command with parameters.
The problem i experience: it fails when called through cfexecute. When i run the command on the command line, it is processed correctly by the msend command.
On Command Line the call would look something like: msend -n cell -a EVENT -m "This is a Test" (i use quotes because there are spaces in the Message).

And this is what i tried in my cfc. The cfc function is called with message="This is a Test". The execution fails.

    <cffunction name="sendEvent">
            <cfargument name="message" required="true" />
            <cftry>
            <cfexecute
            name = "msend"
            arguments = "-n cell -a EVENT -m #arguments.message#"
            timeout = "5"
            variable = "output"
            errorVariable = "error">
            </cfexecute>
            <cfoutput>#output#</cfoutput>
            <cfcatch>
            <cfoutput>msend failed</cfoutput><cfdump var="#cfcatch#"/>
            </cfcatch>
            </cftry>
    </cffunction>

PS: If i add escaped quotes ("") around #arguments.message#, i get quotes in the target application which is not what i want/need.

RPC Method with formurlmaintaincase

If you are using RPC calls with access type remote and you have the bluedragon setting: <formurlmaintaincase>true</formurlmaintaincase> the method of the CFC has to be passed in as uppercase. But if you do not have the formurlmaintaincase setting at all you can call the remote function with method lowercase.

<cffunction name="run" access="remote" returntype="struct" returnformat="JSON">
    <cfreturn { test: 1 } />
</cffunction>

Calling the above function with <formurlmaintaincase>true</formurlmaintaincase> using rpc/test.cfc?method=run throws the request must contain a METHOD parameter

Calling the above function using rpc/test.cfc?METHOD=run is successful

If you do not have the <formurlmaintaincase>true</formurlmaintaincase> setting you can successful call the rpc using both:

rpc/test.cfc?METHOD=run
rpc/test.cfc?method=run

Application.cfc outputs unexpected empty lines

Issue #74 actually might pointed out a small bug. If you have no application.cfc, there is no empty line before the output of your cfm page. But if you have an application.cfc with an empty cfcomponent using output = false, there are 2 empty lines, which are not present when using Adobe's ColdFusion. It would be good to find the reason where these 2 empty lines come from. There are no lines if using an empty Application.cfm or one with everything inside cfsilent tag... So it seems to be an issue with cfc only.

XmlParse throws Exception

I get an IOException if i do not supply a DTD to XmlParse. So i looked into com.naryx.tagfusion.cfm.xml.parse.ValidationInputSource

My code works if i rewrite the if then around input.reset() to always do just the "else" part:

//if (input.markSupported()) {
//	input.reset();
//} else {
        input.close();
        is = xs.newInputSource();
        input = is.getByteStream();
//}

My guess is, the reader.close() in XmlSource also frees the stream associated with it, is this possible?

pass on error messages from salesforce

Using salesforceCreate() as a basic example you get the id of the newly created row back, however if it is unsuccessful you only get an empty string.

I believe there are error details from the salesforce api available which could be passed on through here -- would be great to see error details if say we were missing some required keys when attempting to create a record (i.e. if a formula has been applied to a particular field in an object requiring other keys to be set), or indeed if we have simply been rate limited or perhaps there's an invalid key in a query.

S3 regions

Hi all,

Forgot if we can simply pass in a region (like the new Frankfurt region) into S3 or if this needs core enhancements, i.e. OpenBD support.

Thanks.

White spaces

Hey,

I am experiencing some odd behavior regarding white spaces.

<cfoutput>START</cfoutput>

<cfoutput>STOP</cfoutput>

The simple cfm file above produces a source file containing 24 lines. Why aren't the white spaces and empty lines trimmed from the source? It seems like OpenBD preserves the structure of the original cfm file and only strips out the cf-tags. I can understand that you want to keep the line between "START" and "STOP", but where does the other 21 lines come from?

When I load up the same file in Adobe's ColdFusion I only get one single line where the words have been separated by a single white space.

getMetaData() doesn't work with all CFC declaration styles

I can define a CFC using all cftags

<cfcomponent>
    <cffunction name="test" access="public" returntype="String">
        <cfargument name="who" type="string" required="true">
        <cfreturn "Hello #arguments.who#">
    </cffunction>
</cfcomponent>

The component is fully functional as expeted, and running getMetaData on the object returns the expected structure with 1 function.

{
    "TYPE":"component",
    "FUNCTIONS":[
        {   "NAME":"test",
            "ACCESS":"public",
            "RETURNTYPE":"String",
            "PARAMETERS":[
                {   "TYPE":"string",
                    "REQUIRED":"true",
                    "NAME":"who"}
            ]
        }
    ],
    "EXTENDS":{
        "TYPE":"component",
        "NAME":"WEB-INF.cftags.component",
        "FULLNAME":"WEB-INF.cftags.component",
        "PATH":"/test/WEB-INF/bluedragon/component.cfc"
    },
    "NAME":"v1",
    "FULLNAME":"v1",
    "PATH":"/test/v1.cfc"
}

I can then define the same CFC using a mix of cftags and cfscript

<cfcomponent><cfscript>
    public function test(required string who){
        return "Hello #arguments.who#";
    }
</cfscript></cfcomponent>

Again the component is fully functional and running and running getMetaData returns nearly identical results

{
    "TYPE":"component",
    "FUNCTIONS":[
        {   "NAME":"test",
            "ACCESS":"PUBLIC",
            "RETURNTYPE":"string",
            "PARAMETERS":[
                {   "NAME":"WHO",
                    "REQUIRED":"true",
                    "TYPE":"string"
                }
            ]
        }
    ],
    "EXTENDS":{
        "TYPE":"component",
        "NAME":"WEB-INF.cftags.component",
        "FULLNAME":"WEB-INF.cftags.component",
        "PATH":"/test/WEB-INF/bluedragon/component.cfc"
    },
    "NAME":"v2",
    "FULLNAME":"v2",
    "PATH":"/test/v2.cfc"
}

I can then define it a 3rd way using only cfscript

component{
    public string function test(required string who){
        return "Hello #arguments.who#";
    }
}

And the component is fully functional, but running getMetaData returns unexpected results, there is no information on the functions

{
    "TYPE":"component",
    "EXTENDS":{
        "TYPE":"component",
        "NAME":"WEB-INF.cftags.component",
        "FULLNAME":"WEB-INF.cftags.component",
        "PATH":"/test/WEB-INF/bluedragon/component.cfc"
    },
    "NAME":"v3",
    "FULLNAME":"v3",
    "PATH":"/test/v3.cfc"
}

The results are similar when extending a script cfc or using a script cfc to extend, that none of the script cfc items will show up in the metaData.

The same results are returned from getComponentMetaData

returnformat in cfscript not working

I am running a recent nightly (build date: 2016-04-16 04:04:43 GMT). Using the returnformat attribute on cfscript functions does not seem to work. Not sure why/how this bug keeps coming back.

example:

<cfcomponent output="false">
<cfscript>
public struct function WhyNoReturnJson()
    returnformat="JSON"
{
   var response = {success:false,id:0,msg: "-_-"};
   return response;
}
</cfscript>
</cfcomponent>

line and column numbers missing in XmlValidate call

When calling XmlValidate with an XSD to validate and XML files the column and line numbers are missing:

[Error] :-1:-1: cvc-length-valid: Value '' with length = '0' is not facet-valid with respect to length '2' for type 'UsState'.

CFAjaxproxy not starting from root.

CFInvoke properly starts from root when used. However, CFAjaxproxy starts from the directory it is in and never goes out to root. I am not sure how I can put a code sample in because there is no way to show that it is not working correctly inside the code block, as it is not the code example that is the issue.

CFML Document:

Javascript side:
sCFC = new stampsClass();

CFML Document location:
/public_html/amazon/stamps.cfm (example)

CFC location:
/cfc/stamps.cfc

When page is run, CJAjaxproxy fails:

Type Application
Detail A request was made to a resource that could not be located
Missing File cfc.stampss
Tag Context CFAJAXPROXY (/public_html/amazon/stamps.cfm, Line=7, Column=1)
Source

4 :
5 : <title>Order Fulfillment</title>
6 :
7 :

But if you use cfinvoke component="cfc.stamps" it will function as it should.

GetMetadata doesn't return function information for script only components

Take the following test.cfc

component {
    function get() {
        return false;
    }
}

If I call via this

a=new test();
writedump(getmetadata(a));

No function information is returned

If the component is replaced with

<cfcomponent>
<cfscript>
    function get() {
        return false;
    }
</cfscript>
</cfcomponent>

Then my call is rerun the metadata sees the information as expected. Came across this in my efforts to get the latest Taffy Rest API working with Open BD.

Error generating errors

I am seeing the following stack trace in the jetty desktop console when a runtime or internal server error happens

My bluedragon temp-directory setting is

<tempdirectory>$/tmp/dev/</tempdirectory>

Error:

... Jetty has started.
2015-05-20 22:06:33.393:WARN:oejur.FileResource:EXCEPTION 
java.io.IOException: The filename, directory name, or volume label syntax is incorrect
    at java.io.WinNTFileSystem.canonicalize0(Native Method)
    at java.io.WinNTFileSystem.canonicalize(Unknown Source)
    at java.io.File.getCanonicalPath(Unknown Source)
    at org.eclipse.jetty.util.resource.FileResource.getAlias(FileResource.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.getResource(ContextHandler.java:1526)
    at org.eclipse.jetty.webapp.WebAppContext.getResource(WebAppContext.java:320)
    at org.eclipse.jetty.server.handler.ContextHandler$Context.getRealPath(ContextHandler.java:1827)
    at org.eclipse.jetty.server.Request.getRealPath(Request.java:837)
    at com.nary.io.FileUtils.getRealPath(Unknown Source)
    at com.naryx.tagfusion.cfm.file.cfmlURI.getRealPath(Unknown Source)
    at com.naryx.tagfusion.cfm.file.cfmlFileCache.loadFile(Unknown Source)
    at com.naryx.tagfusion.cfm.file.cfmlFileCache._getCfmlFile(Unknown Source)
    at com.naryx.tagfusion.cfm.file.cfmlFileCache.getCfmlFile(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfSession.getFile(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfmRunTimeException.runDefaultErrorHandler(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfmRunTimeException.handleException(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfEngine.service(Unknown Source)
    at com.naryx.tagfusion.cfm.cfServlet.service(Unknown Source)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:575)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:485)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:537)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:412)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:271)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:98)
    at org.eclipse.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:557)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:575)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1365)
    at com.newatlanta.filters.SearchEngineFriendlyURLFilter.doFilter(Unknown Source)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1336)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:483)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:519)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:412)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
    at org.eclipse.jetty.server.Server.handle(Server.java:351)
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:451)
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:916)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:76)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:611)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:45)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
    at java.lang.Thread.run(Unknown Source)
2015-05-20 22:06:33.393:WARN:oejur.FileResource:EXCEPTION 
java.io.IOException: The filename, directory name, or volume label syntax is incorrect
    at java.io.WinNTFileSystem.canonicalize0(Native Method)
    at java.io.WinNTFileSystem.canonicalize(Unknown Source)
    at java.io.File.getCanonicalPath(Unknown Source)
    at org.eclipse.jetty.util.resource.FileResource.getAlias(FileResource.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.getResource(ContextHandler.java:1526)
    at org.eclipse.jetty.webapp.WebAppContext.getResource(WebAppContext.java:320)
    at org.eclipse.jetty.webapp.WebAppContext$Context.getResource(WebAppContext.java:1222)
    at com.nary.io.FileUtils.getWebLogicRealPath(Unknown Source)
    at com.nary.io.FileUtils.getRealPath(Unknown Source)
    at com.naryx.tagfusion.cfm.file.cfmlURI.getRealPath(Unknown Source)
    at com.naryx.tagfusion.cfm.file.cfmlFileCache.loadFile(Unknown Source)
    at com.naryx.tagfusion.cfm.file.cfmlFileCache._getCfmlFile(Unknown Source)
    at com.naryx.tagfusion.cfm.file.cfmlFileCache.getCfmlFile(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfSession.getFile(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfmRunTimeException.runDefaultErrorHandler(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfmRunTimeException.handleException(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfEngine.service(Unknown Source)
    at com.naryx.tagfusion.cfm.cfServlet.service(Unknown Source)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:575)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:485)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:537)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:412)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:271)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:98)
    at org.eclipse.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:557)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:575)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1365)
    at com.newatlanta.filters.SearchEngineFriendlyURLFilter.doFilter(Unknown Source)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1336)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:483)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:519)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:412)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
    at org.eclipse.jetty.server.Server.handle(Server.java:351)
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:451)
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:916)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:76)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:611)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:45)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
    at java.lang.Thread.run(Unknown Source)
2015-05-20 22:06:33.409:WARN:oejur.FileResource:EXCEPTION 
java.io.IOException: The filename, directory name, or volume label syntax is incorrect
    at java.io.WinNTFileSystem.canonicalize0(Native Method)
    at java.io.WinNTFileSystem.canonicalize(Unknown Source)
    at java.io.File.getCanonicalPath(Unknown Source)
    at org.eclipse.jetty.util.resource.FileResource.getAlias(FileResource.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.getResource(ContextHandler.java:1526)
    at org.eclipse.jetty.webapp.WebAppContext.getResource(WebAppContext.java:320)
    at org.eclipse.jetty.server.handler.ContextHandler$Context.getRealPath(ContextHandler.java:1827)
    at com.nary.io.FileUtils.getRealPath(Unknown Source)
    at com.naryx.tagfusion.cfm.file.cfmlURI.getRealPath(Unknown Source)
    at com.naryx.tagfusion.cfm.file.cfmlFileCache.loadFile(Unknown Source)
    at com.naryx.tagfusion.cfm.file.cfmlFileCache._getCfmlFile(Unknown Source)
    at com.naryx.tagfusion.cfm.file.cfmlFileCache.getCfmlFile(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfSession.getFile(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfmRunTimeException.runDefaultErrorHandler(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfmRunTimeException.handleException(Unknown Source)
    at com.naryx.tagfusion.cfm.engine.cfEngine.service(Unknown Source)
    at com.naryx.tagfusion.cfm.cfServlet.service(Unknown Source)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:575)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:485)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:537)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:412)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:271)
    at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:98)
    at org.eclipse.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:557)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:575)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1365)
    at com.newatlanta.filters.SearchEngineFriendlyURLFilter.doFilter(Unknown Source)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1336)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:483)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:519)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:412)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
    at org.eclipse.jetty.server.Server.handle(Server.java:351)
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:451)
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:916)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:76)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:611)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:45)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
    at java.lang.Thread.run(Unknown Source)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.