Further to my email below I have discovered something even more
strange. I
have pulled as much of the call to the Order Contents gateway out
into a
display fuse (fb) . It throws the same error but at the bottom of
the
queries that have been run is the following query:
qGet (Datasource=spharm, Time=13ms, Records=3) in
/Applications/ColdFusion8/wwwroot/reactor/base/abstractGateway.cfc @
17:23:17.017
DELETE FROM
`ordercontents`
WHERE `orderid` = ?
Query Parameter Value(s) -
Parameter #1(cf_sql_integer) = 16315
So why is Reactor delete the ordercontents? I have a deleteOrder
method
as
follows:
<cffunction name="deleteOrder" access="public" returntype="void">
<cfargument name="orderid" type="numeric"
required="false"
default="0" />
<cfset var orderRecord = getOrderByID(orderid=
arguments.orderid) />
<cfset orderRecord.delete() />
<cfset
getOrderContentsGateway().deleteByFields(orderid=
arguments.orderid)
/>
<cfset
getOrderPaymentsGateway().deleteByFields(orderid=
arguments.orderid)
/>
<cfset
getOrderPatientsGateway().deleteByFields(orderid=
arguments.orderid)
/>
<cfset
getOrderHistoryGateway().deleteByFields(orderid=
arguments.orderid)
/>
</cffunction>
but this is only called by my remoteOrderFacade cfc which is only
called
on
a different page from the above.
This is the method in my OrderService cfc that I am calling:
<cffunction name="getOContents" access="public" returntype="query"
output="false">
<cfargument name="orderid" type="numeric"
required="false"
default="0" />
<cfreturn
getOrderContentsGateway().getByFields(orderid=
arguments.orderid)
/>
</cffunction>
I am passing the orderid via the url.
Curiouser and curiouser...
Cheers,
Dave
So why is reactor deleting the order contents when all I am calling
is a
getByFields method in the ordercontentsgateway? I have cleared the
application scope and tried it several times (I even restarted cf).
On Tue, 23 Oct 2007 16:03:36 +0000
"David Phipps" <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I am running into a strange error with one of my (reactor)
gateways.
>I am trying to call a getByFields method for records matching the
>passed in orderid but all it returns is an error:
>
> Variable QGET is undefined.
>
> The error occurred in
>/Applications/ColdFusion8/wwwroot/reactor/base/abstractGateway.cfc:
>line 99
> Called from
>/Applications/ColdFusion8/wwwroot/reactor/project/pharmacy/Gateway/ordercontentsGateway.cfc:
>line 61
> Called from
>/Applications/ColdFusion8/wwwroot/pharmacy/com/OrderService.cfc:
line
>31
> ...
> 97 : <cfset setLastExecutedQuery(queryData) />
> 98 :
> 99 : <cfreturn qGet />
> 100 : </cffunction>
> 101 :
>
> The code that I am using (fusebox + coldspring):
>
> <invoke
object="application.serviceFactory.getBean('OrderService')"
>
methodcall="getOrderContents(orderid=
attributes.orderid)"
> returnvariable="qOrderContents" />
> which is calling this method in my OrderService cfc:
>
> <cffunction name="getOrderContents" access="public"
>returntype="query" output="false">
> <cfargument name="orderid" type="numeric"
required="false"
>default="0" />
> <cfreturn
>getOrderContentsGateway().getByFields(orderid=arguments.orderid) />
> </cffunction>
>
> and from my coldspring config:
>
> <bean id="OrderService" class="pharmacy.com.OrderService">
> <property name="reactorFactory">
> <ref bean="reactorFactory" />
> </property>
> <property name="orderGateway">
> <ref bean="orderGateway" />
> </property>
> <property name="ordercontentsGateway">
> <ref bean="ordercontentsGateway" />
> </property>
> <property name="orderpaymentsGateway">
> <ref bean="orderpaymentsGateway" />
> </property>
> <property name="orderpatientsGateway">
> <ref bean="orderpatientsGateway" />
> </property>
> <property name="orderhistoryGateway">
> <ref bean="orderhistoryGateway" />
> </property>
> <property name="MailService">
> <ref bean="MailService" />
> </property>
> <property name="sessionFacade">
> <ref bean="sessionFacade" />
> </property>
> </bean>
>
> <bean id="ordercontentsGateway"
factory-bean="reactorFactory"
>factory-method="createGateway">
> <constructor-arg name="objectAlias">
> <value>ordercontents</value>
> </constructor-arg>
> </bean> ...
>
> and finally my reactor config:
>
> <object name="orders">
> <hasOne name="customer">
> <relate to="customerid"
from="customerid"
/>
> </hasOne>
> <hasMany name="ordercontents">
> <relate to="orderid"
from="orderid"/>
> </hasMany>
> <hasMany name="orderpayments">
> <relate to="orderid"
from="orderid"/>
> </hasMany>
> <hasMany name="orderpatients">
> <relate to="orderid"
from="orderid"/>
> </hasMany>
> <hasMany name="orderhistory">
> <relate to="orderid"
from="orderid"/>
> </hasMany>
> </object>
> <object name="ordercontents">
> <hasOne name="orders">
> <relate to="orderid"
from="orderid"/>
> </hasOne>
> <hasOne name="product">
> <relate from="productid"
to="productid" />
> </hasOne>
> </object>
>
> I can't for the life of me work out why it is throwing an error
like
>this and I can't seem to figure out how to fix it.
>
> Anyone seen this error before or know how to fix - probably
>something I have done wrong rather than a bug.
>
> Cheers,
>
> Dave
>
>
_______________________________________________________________________
> David Phipps
> Director, Chapel Studios
>
> T +44 (0)20 7100 6980 F +44 (0)20 7100 6981 M +44 (0)7765
240899
> New Broad Street House, 35 New Broad Street, London, EC2M 1NH, UK
>
> http://www.chapel-studios.co.uk
>
_______________________________________________________________________
>
> The Chapel Studios group of companies are registered in England.
> 'Chapel Studios' and the Chapel Studios logo are registered
>trademarks of Chapel Studios. The information in this email is
>confidential, intended solely for the addressee, and may be legally
>privileged. If you are not the addressee or authorized to receive
>this for the addressee, you must not use, copy, disclose or take
any
>action based upon this message or any information herein. If you
>have received this message in error, please advise the sender
>immediately by reply e-mail.
>
>
> -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--
>-- -- -- --
> Reactor for ColdFusion Mailing List
> [EMAIL PROTECTED]
> Archives at: http://www.mail-archive.com/reactor%40doughughes.net/
> -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--
>-- -- -- --
>
_______________________________________________________________________
David Phipps
Director, Chapel Studios
T +44 (0)20 7100 6980 F +44 (0)20 7100 6981 M +44 (0)7765 240899
New Broad Street House, 35 New Broad Street, London, EC2M 1NH, UK
http://www.chapel-studios.co.uk
_______________________________________________________________________
The Chapel Studios group of companies are registered in England.
'Chapel
Studios' and the Chapel Studios logo are registered trademarks of
Chapel
Studios. The information in this email is confidential, intended
solely
for
the addressee, and may be legally privileged. If you are not the
addressee
or authorized to receive this for the addressee, you must not use,
copy,
disclose or take any action based upon this message or any
information
herein. If you have received this message in error, please advise
the
sender immediately by reply e-mail.
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- --
-- --
Reactor for ColdFusion Mailing List
[EMAIL PROTECTED]
Archives at: http://www.mail-archive.com/reactor%40doughughes.net/
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-- --
-- --