I'm sure Mark will correct me if I'm mistaken, but I don't think you should
be calling setTransferObject() in your code.  I'm guessing you could get
yourself into all kinds of trouble.

On Thu, Nov 5, 2009 at 3:26 PM, John Watson <[email protected]> wrote:

> I'm actually running into issues of losing my decorator methods after using
> the setTransferObject(TO). I haven't had time to debug yet (as this is not a
> production app yet).
>
> I do this inside a "myDecoratedObject" called someobject:
>
> <cfset TO = getTransfer().readByPropertyMap("myDecoratedObject",filter) />
> <cfif TO.getIsPersisted()>
>   <cfset setTransferObject(TO) />
> <cfelse>
>  <!--- code that initializes this object based on the filter and saves it
> --->
> </cfif>
>
> After running this code, randomly (haven't investigated yet; believe it
> somehow related to my filter). "someobject" loses all of its decorator
> methods until I clear the transfer cache.
>
> Bob, I read your blog post:
>
> http://www.silverwareconsulting.com/index.cfm/2008/7/22/How-I-Use-Transfer--Part-IX--My-Abstract-Transfer-Decorator-Object--The-Populate-Method
> And i think I will try that out whenever I go back to working on my
> project. Thanks for the tip!
>
> Mark, any plans for implementing something similar?
>
> Thanks,
> John
>
> On Thu, Nov 5, 2009 at 12:11, Jim Rising <[email protected]> wrote:
>
>> Mark,
>>
>> Thanks. I'll look into it a bit further.
>>
>> -jim
>>
>>
>>
>> On Thu, Nov 5, 2009 at 1:14 PM, Mark Mandel <[email protected]>wrote:
>>
>>> Probably because you are using a variety of undocumented badness :o(
>>>
>>> getMemento() , switching out the inner object if a Decorator... all
>>> sounds pretty bad if you ask me.
>>>
>>> I think Bob's approach of using his memento function is probably the way
>>> to go.
>>>
>>> Mark
>>>
>>>
>>>
>>> On Fri, Nov 6, 2009 at 6:07 AM, Jim Rising <[email protected]>wrote:
>>>
>>>> ok... so here is what I did in my decorator:
>>>>
>>>>     <cffunction name="copyContentTemplate">
>>>>         <cfargument name="contentTemplate"
>>>> type="transfer.com.transferObject" required="true">
>>>> <cfset var contentTemplate = arguments.contentTemplate>
>>>>         <cfset var content = getTransfer().get("content.Content", "")>
>>>>
>>>>         <cfset content = setTransferObject(contentTemplate)>
>>>>     </cffunction>
>>>>
>>>> now... this does seem to copy a 'contentTemplate' TO into a 'content' TO
>>>> without any issues, but when i attempt to save using the following:
>>>>
>>>>     <cffunction name="saveContent" access="public" returntype="any">
>>>>         <cfargument name="content" type="transfer.com.transferObject"
>>>> required="true">
>>>>         <cfset var content = arguments.content>
>>>>
>>>>         <cfset getTransfer().save(content)>
>>>>
>>>>     </cffunction>
>>>>
>>>> the object does not save.
>>>>
>>>> any ideas?
>>>>
>>>> -jim
>>>>
>>>>
>>>>
>>>> On Thu, Oct 29, 2009 at 11:21 AM, John Watson <[email protected]>wrote:
>>>>
>>>>> Someone who knows a little more detail about how the caching works may
>>>>> say what I suggest is a bad a idea, but here's a method I've used with no
>>>>> issues yet.
>>>>>
>>>>> Inside the decorator I've used the TO.setTransferObject(otherTO)
>>>>> method. Though both the setting object and the TO object are both the same
>>>>> (IE: content/content).
>>>>>
>>>>> Another idea may be to use setMemento(mementoStruct)
>>>>>
>>>>> John
>>>>>
>>>>>
>>>>> On Thu, Oct 29, 2009 at 09:10, Jim Rising <[email protected]>wrote:
>>>>>
>>>>>> I'm needing to copy one TO to another TO, and wondered if anyone had
>>>>>> any ideas on the best way to do that? Basically I have one TO that needs 
>>>>>> to
>>>>>> serve as a 'template' of another.
>>>>>>
>>>>>> Example:
>>>>>>
>>>>>> I have a TO called 'contentTemplate' and another called 'content'.
>>>>>> I want to be able to create a 'content' object from the
>>>>>> 'contentTemplate' object.
>>>>>>
>>>>>> I'm thinking I will need to just get / set everything between each of
>>>>>> them, but was hoping I would have another option available.
>>>>>>
>>>>>> Thanks!
>>>>>> --
>>>>>> Jim Rising
>>>>>> Serial Entrepreneur
>>>>>> Software Engineer
>>>>>> Web Developer
>>>>>>
>>>>>> "Knowledge work requires both autonomy and accountability."
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Jim Rising
>>>> Serial Entrepreneur
>>>> Software Engineer
>>>> Web Developer
>>>>
>>>> "Knowledge work requires both autonomy and accountability."
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> E: [email protected]
>>> T: http://www.twitter.com/neurotic
>>> W: www.compoundtheory.com
>>>
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Jim Rising
>> Serial Entrepreneur
>> Software Engineer
>> Web Developer
>>
>> "Knowledge work requires both autonomy and accountability."
>>
>>
>>
>
> >
>


-- 
Bob Silverberg
www.silverwareconsulting.com

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

You received this message because you are subscribed to the Google Groups 
"transfer-dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/transfer-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to