• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: ideas to dupe an EO
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ideas to dupe an EO


  • Subject: Re: ideas to dupe an EO
  • From: David LeBer <email@hidden>
  • Date: Fri, 15 Feb 2013 16:33:07 -0500

Ted,

You should be able to do something like:

	((ERXCopyable)object()).copy();

Or more safely:

	if (object() instanceof ERXCopyable) {
		...
		((ERXCopyable)object()).copy();
		...
	}

notactuallylookedattheapivoidwhereprohibitedbylawyourmilagemayvary.

On 2013-02-15, at 4:12 PM, Theodore Petrosky <email@hidden> wrote:

> Thank you very much for the catch!!!
>
> I am stuck half way in D2W land. the TPMODInspectPage only knows about the object(). I was hoping that I could just wire up a button that says "Dupe" and the method would dupe the EO, saveChanges and present the lastPage.
>
> Obviously, object().copy() won't work as object is an EO that doesn't know that the method copy() exists. I don't think I should be casting this to an Entity of Agenda as that kind of destroys the abstracting process.
>
> I think I need to do (pseudo coded)
>
> if (object().respondsTo(copy)) {
>    EO newObject = object().copy();
>    saveChanges(newObject().editingContext);
> }
>
> But I am tired and lost here. I have the Practical WO book at home and hope that will shed light on my ineptitude.
>
> Ted
>
> --- On Fri, 2/15/13, David Avendasora <email@hidden> wrote:
>
>> From: David Avendasora <email@hidden>
>> Subject: Re: ideas to dupe an EO
>> To: "Theodore Petrosky" <email@hidden>
>> Cc: "WebObjects Development" <email@hidden>
>> Date: Friday, February 15, 2013, 3:52 PM
>> Hi Ted,
>>
>> On Feb 16, 2013, at 2:11 AM, Theodore Petrosky <email@hidden>
>> wrote:
>>
>>> @Override
>>> public Agenda
>> duplicate(NSMutableDictionary<EOGlobalID,
>> ERXCopyable<?>> copiedObjects) {
>>>     Agenda duplicate =
>> ERXCopyable.Utility.modelCopy(copiedObjects, (Agenda)
>> this);
>>>     return duplicate;
>>> }
>>
>> Whoops! My Javadoc has lead you astray. Change the
>> "modelCopy" call to "deepCopy". So:
>>
>>     @Override
>>     public Agenda
>> duplicate(NSMutableDictionary<EOGlobalID,
>> ERXCopyable<?>> copiedObjects) {
>>     Agenda duplicate =
>> ERXCopyable.Utility.deepCopy(copiedObjects, (Agenda) this);
>>     return duplicate;
>>     }
>>
>> In order to use the "modelCopy" method, you need to add
>> entries Agenda's UserInfo dictionary in your EOModel which
>> I'm guessing you haven't done.
>>
>> Once you've done that, calling anInstanceOfAgenda.copy()
>> will create a new instance of Agenda EO in the same EC as
>> anInstanceOfAgenda and then copy all the attributes and
>> relationships from anInstanceOfAgenda to the new instance.
>> You then need to make all the related Entities implement
>> ERXCopyable as well.
>>
>> The deepCopy assumes that you want copies of all of Agenda's
>> related EOs also, which may or may not be true (probably
>> not). If it is not true, you will need to change the
>> duplicate method to do what is correct for Agenda and its
>> related EOs. If you have Practical WebObjects, read Chapter
>> 9, with special attention to the Tweaking the Copy Process
>> section on page 264.
>>
>> Basically, you are going to want to use some combination of
>> the various ERXCopyable.Utility.xxxxCopyRelationship methods
>> where xxxx  could be reference, shallow or deep. See
>> the javadoc for an explanation of what each will do.
>>
>> I hope that helps you!
>>
>> Dave
>>
>>
>>>
>>> I am trying to add a method to my version of the
>> ERMODInspectPage that will create and save a new copy the
>> object().
>>>
>>> i'm stuck with the method that fires to duplicate the
>> EO. Could you point me to some code that actually copies?
>>>
>>> Ted
>>>
>>>
>>> --- On Fri, 2/15/13, David LeBer <email@hidden>
>> wrote:
>>>
>>>> From: David LeBer <email@hidden>
>>>> Subject: Re: ideas to dupe an EO
>>>> To: "Theodore Petrosky" <email@hidden>
>>>> Cc: "WebObjects Development" <email@hidden>
>>>> Date: Friday, February 15, 2013, 10:51 AM
>>>> You probably want ERXCopyable.
>>>>
>>>> http://www.mail-archive.com/email@hidden/msg52084.html
>>>>
>>>> D
>>>>
>>>> On 2013-02-15, at 10:42 AM, Theodore Petrosky
>> <email@hidden>
>>>> wrote:
>>>>
>>>>> I am looking for an idea on duping an EO. I've
>> thought
>>>> of putting a hyperlink on the listPage then I
>> thought of
>>>> putting a button on the editPage (i am toying with
>> that
>>>> now).
>>>>>
>>>>> I duped ERMODInspectPage and I added a button.
>> If I
>>>> create a localInstance in a new EC, how can I save
>> this
>>>> 'new' EO. it isn't a new EO yet just a duplicate in
>> a new
>>>> editing context. I am looking at
>> ERXEOControlUtilities to
>>>> see if there are any methods to create a new EO
>> from my old
>>>> one.
>>>>>
>>>>> but some pointing in the right direction would
>> be
>>>> appreciated.
>>>>>
>>>>> Ted
>>>>>
>> _______________________________________________
>>>>> Do not post admin requests to the list. They
>> will be
>>>> ignored.
>>>>> Webobjects-dev mailing list
>> (email@hidden)
>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>
>>>>> This email sent to email@hidden
>>>>
>>>>
>>>
>>>
>>
>>
>> —————————————————————————————
>> WebObjects - so easy that even Dave Avendasora can do
>> it!™
>> —————————————————————————————
>> David Avendasora
>> Senior Software Abuser
>> Kaiten, Inc.
>>
>>
>>
>>
>>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden


References: 
 >Re: ideas to dupe an EO (From: Theodore Petrosky <email@hidden>)

  • Prev by Date: Re: ideas to dupe an EO
  • Next by Date: DateFormat: Format for Time > 24 Hours
  • Previous by thread: Re: ideas to dupe an EO
  • Next by thread: Re: ideas to dupe an EO
  • Index(es):
    • Date
    • Thread