Hi Lukas,
Some times ago you enhanced MOEasel with text completion. However I do not remember to have seen it working. Currently, it does not work for me. Do you know the procedure to make MOEasel benefit from the completion? If no, then I will bother Romain :-)
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi!
I tried to add a new issue on the codegoogle website. But apparently a branch is needed. No idea what it is about.
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi,
I think it would be a good idea to integrate Famix2Importer in ConfigurationOfMoose.
For now, i load it with a gofer script:
===
Gofer new
squeaksource: 'Famix2Importer';
package: 'Famix2Importer';
load.
===
Cheers
---
Jannik Laval
On 9/2/10 1:42 PM, Simon Denier wrote:
>
> On 2 sept. 2010, at 13:23, Alberto Bacchelli wrote:
>
> Moose developers, would you include
> GLORP in the images built by hudson?
> I think 839 passing tests are good enough for
> the development image.
>
> I guess yes, it's pretty easy now to add a new build config in Hudson which would load Glorp with Moose.
>
> Which Pharo version are you using? 1.2 or 1.1?
I think it's 1.1.
It's the moose hudson nightly built image.
> BTW, last week I wrote a metacello configuration group to load GlorpDBX with the native postgres driver. You can evaluate first:
>
>
> Gofer new
> squeaksource: 'MetacelloRepository';
> package: 'ConfigurationOfGlorpDBX';
> load.
>
> and then
>
> (ConfigurationOfGlorpDBX project version: '1.2') load: 'All with PostgreSQL native
>
Hi,
I followed your instructions and I've been able to load GLORP
on a Moose Nightly Built image [1].
I run the 844 tests. 839 of them passed (wow),
4 failed and 1 generated an error.
These are the problematic ones:
GlorpManyToManyDBTest>>#testReadNodeAndDeleteChildWithSaveAndContinue
GlorpRowMapForMementosCollectionTest>>#testRBSmallDictionary
GlorpDateTest>>#testDate
GlorpObjectMappedToImaginaryTableTest>>#testReadBackEntireExample
GlorpUnitOfWorkTest>>#testRollbackOneToManyAfterAdd
Are these tests failing also on other Pharo images
(i.e., they are known "problems")?
Do you know the impact of these failures?
will GLORP be reliable without them?
Moose developers, would you include
GLORP in the images built by hudson?
I think 839 passing tests are good enough for
the development image.
Ciao,
Alberto
[1] http://hudson.moosetechnology.org/job/moose-with-glamour-seaside/
How to reproduce the problem: step by step if necessary
- select a class in a MoosePanel
- right click -> visualize class blueprint
There is no + and - buttons
Additional information: platform, context which may impact the problem
Last Moose Hudson image
http://code.google.com/p/moose-technology/issues/detail?id=444
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi,
i just notice that the UML Class shape is broken, going back in the history seems that the problem has been introduced from the relative coordinates.
This screen shot is from the commit Mondrian-tg.540
This from the commit Mondrian-Alexandre_Bergel.540
Than staring from the commit Mondrian-AlexandreBergel.545 the class name disappear i think covered by the rectangle containing the methods name that is bigger than before.
The problem is in the method MOShapeSelector>>umlClass that has not been updated considering the last changes or in the changes themselves?
Fabrizio
Hi. I am using Distribution Maps where I analyze an snapshot, a particular
moment of my image state. I would like to be able to compare it with another
moment.
For example, I analyze packages and see which classes have instances for
evaluating something. Something like this:
^ (self onContainers: (self listOfCorePackagesNames
collect: [ :each | (PackageInfo named: each) ]) elements: #classes
properties: [:element | element hasUsedInstances ] )
render
open.
Then, I do something different (suppose I start a seaside app) and I would
like to see the difference between both distribution maps. To easily compare
and know which "new" classes where used by running seaside that were not
used in the first scenario.
Maybe just a simple solution is to take both DM and to make a 3th with
them: check each element...if in both it is the same...them I paint with a
particular color. If they are different, each one keeps its original color.
What do you think? is it doable? is there someting done about this?
Thanks
Mariano
Hi!
I fixed a bug uncovered by Doru. Not easy to get this formsshape properly working.
If you fix any bugs, let me know.
Does anyone needs to nest a formsshape into another formsshape ? The following script does not work.
-=-=-=-=-=-=-=-=-=-=-=-=
| builder1 builder2 |
builder1 := MOFormsBuilder new.
builder1 row; fill; pref; grow; row; pref.
builder1 column; pref.
builder1 x: 1 y: 1 add: (MORectangleShape new text: [:each | each printString]).
builder1 x: 1 y: 2 add: (MOChildrenShape new).
builder2 := MOFormsBuilder new.
builder2 row; fill; pref; grow; row; pref; row; pref.
builder2 column; pref.
builder2 x: 1 y: 1 add: (MORectangleShape new text: [:each | each printString]).
builder2 x: 1 y: 2 add: (MOChildrenShape new).
builder2 x: 1 y: 3 add: (builder1 asShape).
view shape: builder2 asShape.
view nodes: #(10 20 30 ) forEach: [:each | view nodes: (1 to: each )]
-=-=-=-=-=-=-=-=-=-=-=-=
But I first want to concentrate on the situation we need now.
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi, I am working in the RMoD team (INRIA) in a project called /Seed/.
One of the tasks of the project is to identify those mandatory classes
that should be part of Pharo kernel. Currently, Pharo kernel has some
"unhappy dependecies". We are using /Moose + Glamour/ to create a tool
(a browser) that help up with this task. The idea is to start by loading
in our browser the classes used in the /SpecialObjectsArray/ and then
iterate to add dependencies incrementally. This way we will be able to
detect smells and "blacklist" methods we don't want to be part of our
kernel.
During this days we will have a working version of our browser to start
the analysis.
If you want to take a look, search for Seed on SqueackSource.
We will be sharing our findings in the Pharo mailing list.
Regards,
NicoPaez.
Hello,
If soemone is interested in JNIPort, I just published a small example using
it. It is not doing yet what I was expecting :), but it already set up
correctly a Pharo 1.1 image to run the example (loading Alien, JNIPort,
making a link to the JAVAVM for mac).
In this example I try to generate a mse file with infusion, by directly
invoking the main method of Java2Mse (instead of invoking OSProcess to
execute the script). All seems to work fine (except that the mse file is not
generated, I still have to find why).
To load it, this should work (for a pharo 1.1 image):
Gofer new
url: 'www.squeaksource.com/DelaunayTmpStuffs';
package: 'JNIPortExample';
load.
There is a class comment and an example in the class side
('cyrilleOwnExample').
Hi, I started working with Moose a couple of days ago.
I am creating a new model from a script and I DON'T want the new model to
be
added to the Moose Panel
Is it possible? how?
Thanks!
Saludos!
Nico.
blog: nicopaez.wordpress.com
Hi!
I just grabbed the hudson image, and imported Mondrian in it. It is said that Mondrian is composed of 53 packages! It should be about a dozen. When I click on "All model packages", I see many repeated item.
I imported Mondrian using the class category importer.
A screenshot attached
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi Moosers!
You can now check out the FAMOOSr program online at
http://www.moosetechnology.org/events/famoosr2010
As soon as we will have all the final versions of all the
papers we will upload them and then let you know. For
those of you that won't be able to attend, we advise you
to have a look at the papers, and send questions
that could fuel the discussions. Even if you will not be
there, your name and questions will be heard.
On the other hand, if you plan to attend ICSM then consider
also attending FAMOOSr. There is no extra registration fee
for it. However, we still invite you to go to the ICSM
registration page and update the list of events you will attend.
Best regards,
Mircea & Simon.
Organizers.
--
Mircea Lungu
Researcher
Software Composition Group
University of Bern
http://lungu.org/mircea
Hi,
I tried to export as png in Mondrian Renderer.
The first time, I changed the name in the open popup. The image did not create.
The second time, I do not change it, the image was created but, it is strange (see in attachment). Texts are not taken into account.
I am not sure it comes from Mondrian itself. I am using the Cog VM.
So can anyone try to export and to give feedback ?
Thank you.
---
Jannik Laval
Begin forwarded message:
> From: Simon Denier <Simon.Denier(a)inria.fr>
> Date: 19 août 2010 18:30:51 HAEC
> To: A friendly place where any question about pharo is welcome <pharo-users(a)lists.gforge.inria.fr>
> Cc: Simon Denier <Simon.Denier(a)inria.fr>
> Subject: String insertion
>
> What's the best (most elegant/efficient...) way to insert a string into another string at a given index?
>
> Say I have the string 'Toto-Tata-Titi' and I want to build the string 'Toto-Tests-Tata-Titi'
>
> I could think of the following:
>
> | string sepIndex stream |
> string := 'Toto-Tata-Titi'.
> sepIndex := string indexOf: $-.
> stream :=String new writeStream.
> stream nextPutAll: (string copyFrom: 1 to: sepIndex).
> stream nextPutAll: 'Tests'.
> stream nextPutAll: (string copyFrom: sepIndex to: string size).
> ^ stream contents
>
>
> Any suggestion?
>
> --
> Simon
>
>
>
--
Simon
Begin forwarded message:
> From: Simon Denier <Simon.Denier(a)inria.fr>
> Date: 27 août 2010 14:06:42 HAEC
> To: A friendly place where any question about pharo is welcome <pharo-users(a)lists.gforge.inria.fr>
> Cc: Simon Denier <Simon.Denier(a)inria.fr>
> Subject: Robust flatten for collection?
>
> Hi there
>
> A question to test your sagacity :)
>
> I'm looking for a method which would flatten a collection, regardless of whether the collection is already flat or not.
>
>
> that is:
> #((1 2 3) (4 5 6)) flatten --> #(1 2 3 4 5 6)
>
> #(1 2 3 4 5 6) flatten --> #(1 2 3 4 5 6)
>
> #((1 2 3) 4 5 6) flatten --> #(1 2 3 4 5 6)
>
>
> Any idea about the best implementation for this?
>
>
> --
> Simon
>
>
>
--
Simon
Hi Nico
As you noticed, Moose is not (yet) made to load in a Pharo Core image. The full suite can only be loaded in a Pharo normal image.
Now it would be cool to have a special 'Core' configuration which could be loaded into a PharoCore for analysis. I know that Jannik worked on that a bit.
Especially since we now have good tools (dsm, blueprints) to take a look into that :)
So one dependency which we cant escape is the refactoring browser, because of the Smalltalk importer.
BTW, if you plan to use Moose regularly, the best is to subscribe to the mailing list:
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
On 27 août 2010, at 11:13, Nicolás Paez wrote:
> Hi, to workaround this issue, I started the setup again, loading first the RB package and after that Moose, that was enough to prevent the warning and everything went ok.
>
>
> Saludos!
> Nico.
> blog: nicopaez.wordpress.com
>
>
> On Fri, Aug 27, 2010 at 10:16 AM, Nicolas Paez <nicopaez(a)gmail.com> wrote:
> Hi,
>
> Summary
>
>
> Pharo image: PharoCore-1.1-11411
> VM: Squeak4.1.1.exe
> Moose: Loaded using Gofer script available in SqueakSource.
> Issue: it fails when trying to general a Smalltalk model
>
> Details
>
> This morning I have started by taking a clean PharoCore-1.1 image and launching the installation of Moose using the following command:
>
> Gofer new
> squeaksource: 'Moose';
> package: 'ConfigurationOfMoose';
> load.
> (Smalltalk at: #ConfigurationOfMoose) perform: #loadDefault
>
> After some minutes the installation started I got the following warning message. It seems that Moose depends on the Refactoring Browser that is not present in the image.
>
> <moz-screenshot-78.png>
>
> I proceeded with the process and it finished I try to create a Smalltalk Model including the following packages:
> Kernel
> System-Support
> Compiler
> Collections
> When the model generation started I get the following error (the SmalltalkMethodVisitor class is not present in the image):
>
> <moz-screenshot-81.png>
>
>
>
> Regards,
> Nicolás
>
> _______________________________________________
> Lsehub-staff mailing list
> Lsehub-staff(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/lsehub-staff
--
Simon
I am reviewing the code relating to invocations in Famix. I noticed the following.
FamixInvocation>>to
^ self receiver
Receiver can be a variable or a class, but can also be nil. This seemed a reasonable default at one time, because we do not necessarily now which method we are invoking (but again, we may not have a clear receiver to refer too).
However, with respect to other associations, consider:
FamixReference: from -> aMethod to -> aClass
FamixInheritance: form -> aClass to -> aClass
FamixAccess: from -> aMethod to -> aVariable
FamixInvocation: from -> aMethod to -> aVariable or a Class ???
(FamixExtension: from -> aPackage to -> aClass (well, this one is just future work :) )
It seems much more intuitive to have:
FamixInvocation: from -> aMethod to -> aMethod
Now of course, how do we refine that when we may have multiple candidates?
What would be a reasonable default?
FamixInvocation>>to
^ self candidates ifNotEmpty: [ self candidates any ]
FamixInvocation>>to
^ self isASureInvocation ifTrue: [ self candidates first ]
(sure invocation does not imply one candidate, so it may still break or be inconsistent)
FamixInvocation>>to
^ self candidates size = 1 ifTrue: [ self candidates first ]
or:
FamixInvocation>>to
^ self candidates
Actually, this one has my preference even if slightly different, because with the other choices we make hypothesis which are not clear.
FamixInvocation: from -> aMethod to -> a collection of Methods (candidates)
--
Simon
Hi,
Nicolas Paez tried to load Moose in a PharoCore.
But SmalltalkImporter depends on RB.
I think we should load RB in loadDefault.
Cheers,
Jannik
Begin forwarded message:
> From: Nicolas Paez <nicopaez(a)gmail.com>
> Date: August 27, 2010 10:16:50 GMT+02:00
> To: lsehub-staff(a)lists.gforge.inria.fr
> Subject: [Lsehub-staff] Moose installation issue
> Reply-To: notre liste <lsehub-staff(a)lists.gforge.inria.fr>
>
> Hi,
>
> Summary
>
>
> Pharo image: PharoCore-1.1-11411
> VM: Squeak4.1.1.exe
> Moose: Loaded using Gofer script available in SqueakSource.
> Issue: it fails when trying to general a Smalltalk model
>
> Details
>
> This morning I have started by taking a clean PharoCore-1.1 image and launching the installation of Moose using the following command:
>
> Gofer new
> squeaksource: 'Moose';
> package: 'ConfigurationOfMoose';
> load.
> (Smalltalk at: #ConfigurationOfMoose) perform: #loadDefault
>
> After some minutes the installation started I got the following warning message. It seems that Moose depends on the Refactoring Browser that is not present in the image.
>
>
>
> I proceeded with the process and it finished I try to create a Smalltalk Model including the following packages:
> Kernel
> System-Support
> Compiler
> Collections
> When the model generation started I get the following error (the SmalltalkMethodVisitor class is not present in the image):
>
>
>
>
>
> Regards,
> Nicolás
> _______________________________________________
> Lsehub-staff mailing list
> Lsehub-staff(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/lsehub-staff
---
Jannik Laval
Hi. I am having a funny bug (I think). For a reason I don't know, some
properties (the ones that I think do not have any ocurrences), show a class
name instead of the selector.
Look and the attached picture. My example is something like
DistributionMap class >> anExample
^ (self onContainers: (self listOfCorePackagesNamesWithoutTests
collect: [ :each | (PackageInfo named: each) ]) elements: #classes
properties: [:element | element propertyInstancesStatesAndAmount ] )
render
open.
and Class >> propertyInstancesStatesAndAmount
propertyInstancesStatesAndAmount
| usedInstanceCount unusedInstanceCount |
usedInstanceCount := 0.
unusedInstanceCount := 0.
self isAbstractClass ifTrue: [
(UnusedObjectDiscoverer current primitiveGetUsedBit: self)
ifTrue: [ ^ #abstractUsedClass ]
ifFalse: [ ^ #abstractNotUsedClass].
].
self instanceCount = 0 ifTrue: [ ^ #noInstances].
self allInstancesDo: [:inst | (UnusedObjectDiscoverer current
primitiveGetUsedBit: inst) ifTrue: [ usedInstanceCount := usedInstanceCount
+ 1 ] ifFalse: [ unusedInstanceCount := unusedInstanceCount +1 ] ].
(unusedInstanceCount = 0) ifTrue: [ ^ #hasInstancesButNotUsed].
(usedInstanceCount between: 1 and: 10) ifTrue: [^
#usedInstancesBetween1And10].
(usedInstanceCount between: 11 and: 100) ifTrue: [^
#usedInstancesBetween11And100].
(usedInstanceCount between: 101 and: 1000) ifTrue: [^
#usedInstancesBetween101And1000].
(usedInstanceCount between: 1001 and: 10000) ifTrue: [^
#usedInstancesBetween1001And1000].
(usedInstanceCount between: 10001 and: 100000) ifTrue: [^
#usedInstancesBetween10001And100000].
(usedInstanceCount between: 100001 and: 1000000) ifTrue: [^
#usedInstancesBetween100001And1000000].
The last 3 properties: #usedInstancesBetween1001And1000,
#usedInstancesBetween10001And100000, #usedInstancesBetween100001And1000000
I guess they have no ocurrences, but, in the reference place in the DM, it
shows a class name instead of theor own name, lilke the rest.
I tried to track down the issue, but I didn't find anything.
Thanks for any help.
Mariano
Hello,
In order to provide a reporting system for pharo, I implemented some tools
over arki, build some concerns, work on way to save reports.
There still work to do, but you can already test it and give me feedback if
you want :):
Download the package 'MooseComputedConcerns' at:
www.squeaksource.com/MooseDemoReport.
A message will tell you to resolve depencies by first loading
'System-Benchmarks'.
As the concern about benchmarks is not finished you can choose to 'proceed'
(the benchmarkConcern will just not been working).
Otherwise you can load 'System-Benchmarks' from the same repository (allow
'block argument assignement' in the settings before).
Then you will be able, in the moose panel, to right click on a model and
open a arki reporter.
You can then play a bit with the browser.
pay attencion : load the last version of 'Refactoring-core' to be able to
use the LintRules-Concern
--------------------
Hi Alexander,
I updated my image today with the last version of Mondrian (541). I had previously (523).
The problem I noticed immediately is a terrible slowdown presenting popup views... They are used a lot in Torch for presenting diffs!!
Could you please find the problem?
Regards,
Veronica
Hello,
I would like to be able to update the title of a browser. Here is what I do
for example:
|browser |
browser := GLMTabulator new.
browser title: 'browser'.
browser openOn: nil.
browser title: 'new browser name'.
browser update.
The browser always display 'browser' as title.
Do you have any idea of how to do that ?