Automatic Refactoring Disranging Seaside Rest Methods

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Automatic Refactoring Disranging Seaside Rest Methods

lionelakue
Hello everyone,

When you copy an image or sometimes when you make a Metacello commit, your methods are automatically refactored.

This uncleanse the code (replacing context meaningfull variable names with gereric identifiers) and prevents  seaside request parameters . Which are mapped to method parameters by uri strings:

ToDoHandler>>searchFor: aString
   <get>
   <path: '/search?query={aString}'>

   ^ String streamContents: [ :stream |
      ToDoList default items do: [ :each |
         (each title includesSubString: aString)
            ifTrue: [ stream nextPutAll: each title; crlf ] ] ]


will become:


ToDoHandler>>searchFor: arg1
        <get>
        <path: '/search?query={aString}'>
        ^ String streamContents: [ :arg2|
        ToDoList default items do: [ :arg3|
           (each title includesSubString: aString)
                ifTrue: [ arg2 nextPutAll: arg3 title; crlf ] ] ]
 

So will end having a Parameter not found exception because arg1 and aString mismatche.


Is there a way to disable automatic refactoring?

Lionel
Reply | Threaded
Open this post in threaded view
|

Re: Automatic Refactoring Disranging Seaside Rest Methods

gcotelli
I saw this happening only when the image cannot find the sources file, so it has to decompile the methods.

On Mon, Jul 17, 2017 at 7:34 PM, lionelakue <[hidden email]> wrote:
Hello everyone,

When you copy an image or sometimes when you make a Metacello commit, your
methods are automatically refactored.

This uncleanse the code (replacing context meaningfull variable names with
gereric identifiers) and prevents  seaside request parameters . Which are
mapped to method parameters by uri strings:

ToDoHandler>>searchFor: aString
   <get>
   <path: '/search?query={aString}'>

   ^ String streamContents: [ :stream |
      ToDoList default items do: [ :each |
         (each title includesSubString: aString)
            ifTrue: [ stream nextPutAll: each title; crlf ] ] ]


will become:


ToDoHandler>>searchFor: arg1
        <get>
        <path: '/search?query={aString}'>
        ^ String streamContents: [ :arg2|
        ToDoList default items do: [ :arg3|
           (each title includesSubString: aString)
                ifTrue: [ arg2 nextPutAll: arg3 title; crlf ] ] ]


So will end having a Parameter not found exception because arg1 and aString
mismatche.


Is there a way to disable automatic refactoring?

Lionel



--
View this message in context: http://forum.world.st/Automatic-Refactoring-Disranging-Seaside-Rest-Methods-tp4955422.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: Automatic Refactoring Disranging Seaside Rest Methods

lionelakue
Now I can remember reading about this somewhere(wrongly remembered it as automatic refactoring)...

I have this problem when I have to copy my image to pharocloud by example.

You need to zip your .image file and load it to the cloud.

what I am doing now is to replace my in-uri string parameters with the excepted arg1, arg2 etc.

So is this the only solution? since the behavior is not voluntary.

gcotelli wrote
I saw this happening only when the image cannot find the sources file, so
it has to decompile the methods.

On Mon, Jul 17, 2017 at 7:34 PM, lionelakue <[hidden email]> wrote:

> Hello everyone,
>
> When you copy an image or sometimes when you make a Metacello commit, your
> methods are automatically refactored.
>
> This uncleanse the code (replacing context meaningfull variable names with
> gereric identifiers) and prevents  seaside request parameters . Which are
> mapped to method parameters by uri strings:
>
> ToDoHandler>>searchFor: aString
>    <get>
>    <path: '/search?query={aString}'>
>
>    ^ String streamContents: [ :stream |
>       ToDoList default items do: [ :each |
>          (each title includesSubString: aString)
>             ifTrue: [ stream nextPutAll: each title; crlf ] ] ]
>
>
> will become:
>
>
> ToDoHandler>>searchFor: arg1
>         <get>
>         <path: '/search?query={aString}'>
>         ^ String streamContents: [ :arg2|
>         ToDoList default items do: [ :arg3|
>            (each title includesSubString: aString)
>                 ifTrue: [ arg2 nextPutAll: arg3 title; crlf ] ] ]
>
>
> So will end having a Parameter not found exception because arg1 and aString
> mismatche.
>
>
> Is there a way to disable automatic refactoring?
>
> Lionel
>
>
>
> --
> View this message in context: http://forum.world.st/Automatic-Refactoring-
> Disranging-Seaside-Rest-Methods-tp4955422.html
> Sent from the Pharo Smalltalk Developers mailing list archive at
> Nabble.com.
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Automatic Refactoring Disranging Seaside Rest Methods

Max Leske
As Gabriel notes, it looks like your missing the .sources file. I don't know what pharocloud supports, but you could try packaging your image and your .sources file into the same ZIP archive.

Cheers,
Max

 

On 18 July 2017 at 02:21:54, lionelakue ([hidden email]) wrote:

Now I can remember reading about this somewhere(wrongly remembered it as
automatic refactoring)...

I have this problem when I have to copy my image to pharocloud by example.

You need to zip your .image file and load it to the cloud.

what I am doing now is to replace my in-uri string parameters with the
excepted arg1, arg2 etc.

So is this the only solution? since the behavior is not voluntary.


gcotelli wrote
> I saw this happening only when the image cannot find the sources file, so
> it has to decompile the methods.
>
> On Mon, Jul 17, 2017 at 7:34 PM, lionelakue &lt;

> lionelakue@

> &gt; wrote:
>
>> Hello everyone,
>>
>> When you copy an image or sometimes when you make a Metacello commit,
>> your
>> methods are automatically refactored.
>>
>> This uncleanse the code (replacing context meaningfull variable names
>> with
>> gereric identifiers) and prevents seaside request parameters . Which are
>> mapped to method parameters by uri strings:
>>
>> ToDoHandler>>searchFor: aString
>>
> <get>
>>
> <path: '/search?query={aString}'>
>>
>> ^ String streamContents: [ :stream |
>> ToDoList default items do: [ :each |
>> (each title includesSubString: aString)
>> ifTrue: [ stream nextPutAll: each title; crlf ] ] ]
>>
>>
>> will become:
>>
>>
>> ToDoHandler>>searchFor: arg1
>>
> <get>
>>
> <path: '/search?query={aString}'>
>> ^ String streamContents: [ :arg2|
>> ToDoList default items do: [ :arg3|
>> (each title includesSubString: aString)
>> ifTrue: [ arg2 nextPutAll: arg3 title; crlf ] ] ]
>>
>>
>> So will end having a Parameter not found exception because arg1 and
>> aString
>> mismatche.
>>
>>
>> Is there a way to disable automatic refactoring?
>>
>> Lionel
>>
>>
>>
>> --
>> View this message in context:
>> http://forum.world.st/Automatic-Refactoring-
>> Disranging-Seaside-Rest-Methods-tp4955422.html
>> Sent from the Pharo Smalltalk Developers mailing list archive at
>> Nabble.com.
>>
>>





--
View this message in context: http://forum.world.st/Automatic-Refactoring-Disranging-Seaside-Rest-Methods-tp4955422p4955429.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: Automatic Refactoring Disranging Seaside Rest Methods

Stephane Ducasse-3
Lionel

when the system does find a source, it decompiles the method and this
is why you get the code changed.

Stef

On Tue, Jul 18, 2017 at 7:22 AM, Max Leske <[hidden email]> wrote:

> As Gabriel notes, it looks like your missing the .sources file. I don't know
> what pharocloud supports, but you could try packaging your image and your
> .sources file into the same ZIP archive.
>
> Cheers,
> Max
>
>
>
> On 18 July 2017 at 02:21:54, lionelakue ([hidden email]) wrote:
>
> Now I can remember reading about this somewhere(wrongly remembered it as
> automatic refactoring)...
>
> I have this problem when I have to copy my image to pharocloud by example.
>
> You need to zip your .image file and load it to the cloud.
>
> what I am doing now is to replace my in-uri string parameters with the
> excepted arg1, arg2 etc.
>
> So is this the only solution? since the behavior is not voluntary.
>
>
> gcotelli wrote
>> I saw this happening only when the image cannot find the sources file, so
>> it has to decompile the methods.
>>
>> On Mon, Jul 17, 2017 at 7:34 PM, lionelakue &lt;
>
>> lionelakue@
>
>> &gt; wrote:
>>
>>> Hello everyone,
>>>
>>> When you copy an image or sometimes when you make a Metacello commit,
>>> your
>>> methods are automatically refactored.
>>>
>>> This uncleanse the code (replacing context meaningfull variable names
>>> with
>>> gereric identifiers) and prevents seaside request parameters . Which are
>>> mapped to method parameters by uri strings:
>>>
>>> ToDoHandler>>searchFor: aString
>>>
>> <get>
>>>
>> <path: '/search?query={aString}'>
>>>
>>> ^ String streamContents: [ :stream |
>>> ToDoList default items do: [ :each |
>>> (each title includesSubString: aString)
>>> ifTrue: [ stream nextPutAll: each title; crlf ] ] ]
>>>
>>>
>>> will become:
>>>
>>>
>>> ToDoHandler>>searchFor: arg1
>>>
>> <get>
>>>
>> <path: '/search?query={aString}'>
>>> ^ String streamContents: [ :arg2|
>>> ToDoList default items do: [ :arg3|
>>> (each title includesSubString: aString)
>>> ifTrue: [ arg2 nextPutAll: arg3 title; crlf ] ] ]
>>>
>>>
>>> So will end having a Parameter not found exception because arg1 and
>>> aString
>>> mismatche.
>>>
>>>
>>> Is there a way to disable automatic refactoring?
>>>
>>> Lionel
>>>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://forum.world.st/Automatic-Refactoring-
>>> Disranging-Seaside-Rest-Methods-tp4955422.html
>>> Sent from the Pharo Smalltalk Developers mailing list archive at
>>> Nabble.com.
>>>
>>>
>
>
>
>
>
> --
> View this message in context:
> http://forum.world.st/Automatic-Refactoring-Disranging-Seaside-Rest-Methods-tp4955422p4955429.html
> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
>

Reply | Threaded
Open this post in threaded view
|

Re: Automatic Refactoring Disranging Seaside Rest Methods

lionelakue
Thank you all.

The system was in fact missing the sources.

I zipped my .image and .changes files together for the cloud.

Lionel