RE: [Webofpatterns-user] questions about WOP Eclipse plugin
Brought to you by:
cmelgar,
jensdietrich
From: Jens D. <j.b...@ma...> - 2006-05-07 23:37:27
|
Hi, I have just tried to reproduce this and get different results. Here is = what I did: - created a new Java project - set the compiler compliance level to 5.0 - added a src folder - set the src folder as source folder - added the javax/swing folder from the src included in the JDK = distribution to src - had a surprise that this worked (I expected it would fail due to some = special rules to load java and javax packages) - started to scanner and found 10 instances of Composite Please check the console for outputs and post error messages if there = are any. Also check whether the compliance level is 5.0 (by default, it = is 1.4 !!).=20 Regarding identity constraints: if switched on, only = =E2=80=9Cnormal=E2=80=9D instances are selected. Please see our SWESE = paper for a formal definition of normal and an example of a =E2=80=9Cnot = normal instances=E2=80=9D.=20 Kind regards, Jens PS: the exported Composite instances found in Swing (Swing only, AWT not = included - ignore the "-" signs, I have copied the code from Firefox ): <patternsummary> =E2=88=92 <patternslist> =E2=88=92 <pattern name=3D" Composite" = uri=3D"http://www.massey.ac.nz/iist/cs/pattern/ontology#Composite"> =E2=88=92 <patterninstance> =E2=88=92 <replacement> <role>Composite.Composite</role> <instance>[class javax.swing.text.JTextComponent]</instance> </replacement> =E2=88=92 <replacement> <role>Composite.Component</role> <instance>[class javax.swing.JComponent]</instance> </replacement> =E2=88=92 <replacement> <role>Composite.Association</role> =E2=88=92 <instance> one2many association [[class javax.swing.JComponent] -> [class = javax.swing.JComponent]][reason: naming / structure pattern indicating = an association: [static void = javax.swing.JComponent.setWriteObjCounter(javax.swing.JComponent,byte)]] </instance> </replacement> </patterninstance> =E2=88=92 <patterninstance> =E2=88=92 <replacement> <role>Composite.Composite</role> =E2=88=92 <instance> [class javax.swing.colorchooser.AbstractColorChooserPanel] </instance> </replacement> =E2=88=92 <replacement> <role>Composite.Component</role> <instance>[class javax.swing.JComponent]</instance> </replacement> =E2=88=92 <replacement> <role>Composite.Association</role> =E2=88=92 <instance> one2many association [[class javax.swing.JComponent] -> [class = javax.swing.JComponent]][reason: naming / structure pattern indicating = an association: [static void = javax.swing.JComponent.setWriteObjCounter(javax.swing.JComponent,byte)]] </instance> </replacement> </patterninstance> =E2=88=92 <patterninstance> =E2=88=92 <replacement> <role>Composite.Composite</role> <instance>[class javax.swing.AbstractButton]</instance> </replacement> =E2=88=92 <replacement> <role>Composite.Component</role> <instance>[class javax.swing.JComponent]</instance> </replacement> =E2=88=92 <replacement> <role>Composite.Association</role> =E2=88=92 <instance> one2many association [[class javax.swing.JComponent] -> [class = javax.swing.JComponent]][reason: naming / structure pattern indicating = an association: [static void = javax.swing.JComponent.setWriteObjCounter(javax.swing.JComponent,byte)]] </instance> </replacement> </patterninstance> =E2=88=92 <patterninstance> =E2=88=92 <replacement> <role>Composite.Composite</role> =E2=88=92 <instance> [class javax.swing.text.AbstractDocument$AbstractElement] </instance> </replacement> =E2=88=92 <replacement> <role>Composite.Component</role> <instance>[interface javax.swing.text.AttributeSet]</instance> </replacement> =E2=88=92 <replacement> <role>Composite.Association</role> =E2=88=92 <instance> one2many association [[interface javax.swing.text.MutableAttributeSet] = -> [interface javax.swing.text.AttributeSet]][reason: naming / structure = pattern indicating an association: [public abstract void = javax.swing.text.MutableAttributeSet.addAttributes(javax.swing.text.Attri= buteSet)]] </instance> </replacement> </patterninstance> =E2=88=92 <patterninstance> =E2=88=92 <replacement> <role>Composite.Composite</role> =E2=88=92 <instance> [class javax.swing.text.AbstractDocument$AbstractElement] </instance> </replacement> =E2=88=92 <replacement> <role>Composite.Component</role> <instance>[interface javax.swing.text.AttributeSet]</instance> </replacement> =E2=88=92 <replacement> <role>Composite.Association</role> =E2=88=92 <instance> one2many association [[class = javax.swing.text.AbstractDocument$AbstractElement] -> [interface = javax.swing.text.AttributeSet]][reason: naming / structure pattern = indicating an association: [public void = javax.swing.text.AbstractDocument$AbstractElement.addAttributes(javax.swi= ng.text.AttributeSet)]] </instance> </replacement> </patterninstance> =E2=88=92 <patterninstance> =E2=88=92 <replacement> <role>Composite.Composite</role> <instance>[interface javax.swing.text.MutableAttributeSet]</instance> </replacement> =E2=88=92 <replacement> <role>Composite.Component</role> <instance>[interface javax.swing.text.AttributeSet]</instance> </replacement> =E2=88=92 <replacement> <role>Composite.Association</role> =E2=88=92 <instance> one2many association [[interface javax.swing.text.MutableAttributeSet] = -> [interface javax.swing.text.AttributeSet]][reason: naming / structure = pattern indicating an association: [public abstract void = javax.swing.text.MutableAttributeSet.addAttributes(javax.swing.text.Attri= buteSet)]] </instance> </replacement> </patterninstance> =E2=88=92 <patterninstance> =E2=88=92 <replacement> <role>Composite.Composite</role> <instance>[interface javax.swing.text.Style]</instance> </replacement> =E2=88=92 <replacement> <role>Composite.Component</role> <instance>[interface javax.swing.text.AttributeSet]</instance> </replacement> =E2=88=92 <replacement> <role>Composite.Association</role> =E2=88=92 <instance> one2many association [[interface javax.swing.text.MutableAttributeSet] = -> [interface javax.swing.text.AttributeSet]][reason: naming / structure = pattern indicating an association: [public abstract void = javax.swing.text.MutableAttributeSet.addAttributes(javax.swing.text.Attri= buteSet)]] </instance> </replacement> </patterninstance> =E2=88=92 <patterninstance> =E2=88=92 <replacement> <role>Composite.Composite</role> =E2=88=92 <instance> [class javax.swing.text.AbstractDocument$AbstractElement] </instance> </replacement> =E2=88=92 <replacement> <role>Composite.Component</role> <instance>[interface javax.swing.text.MutableAttributeSet]</instance> </replacement> =E2=88=92 <replacement> <role>Composite.Association</role> =E2=88=92 <instance> one2many association [[interface javax.swing.text.MutableAttributeSet] = -> [interface javax.swing.text.AttributeSet]][reason: naming / structure = pattern indicating an association: [public abstract void = javax.swing.text.MutableAttributeSet.addAttributes(javax.swing.text.Attri= buteSet)]] </instance> </replacement> </patterninstance> =E2=88=92 <patterninstance> =E2=88=92 <replacement> <role>Composite.Composite</role> =E2=88=92 <instance> [class javax.swing.text.AbstractDocument$AbstractElement] </instance> </replacement> =E2=88=92 <replacement> <role>Composite.Component</role> <instance>[interface javax.swing.text.MutableAttributeSet]</instance> </replacement> =E2=88=92 <replacement> <role>Composite.Association</role> =E2=88=92 <instance> one2many association [[class = javax.swing.text.AbstractDocument$AbstractElement] -> [interface = javax.swing.text.AttributeSet]][reason: naming / structure pattern = indicating an association: [public void = javax.swing.text.AbstractDocument$AbstractElement.addAttributes(javax.swi= ng.text.AttributeSet)]] </instance> </replacement> </patterninstance> =E2=88=92 <patterninstance> =E2=88=92 <replacement> <role>Composite.Composite</role> <instance>[interface javax.swing.text.Style]</instance> </replacement> =E2=88=92 <replacement> <role>Composite.Component</role> <instance>[interface javax.swing.text.MutableAttributeSet]</instance> </replacement> =E2=88=92 <replacement> <role>Composite.Association</role> =E2=88=92 <instance> one2many association [[interface javax.swing.text.MutableAttributeSet] = -> [interface javax.swing.text.AttributeSet]][reason: naming / structure = pattern indicating an association: [public abstract void = javax.swing.text.MutableAttributeSet.addAttributes(javax.swing.text.Attri= buteSet)]] </instance> </replacement> </patterninstance> </pattern> </patternslist> </patternsummary> ________________________________________ From: web...@li... = [mailto:web...@li...] On Behalf Of = Nija Shi Sent: Sunday, 7 May 2006 8:48 a.m. To: web...@li... Subject: [Webofpatterns-user] questions about WOP Eclipse plugin I've downloaded and installed the plugin to my own Eclipse. It seems = like the memory problem no longer exists! However, as I tried to = reproduce the results from the Swing package, it turned out none of the = 7 patterns retrieved from the repository URL were identified. I was = wondering perhaps there are some settings/constraints that I should set = or unset to properly identify some patterns? For example, when I click = on "Composite" under the "Pattern Instances" tab, it says "0 instances = <pattern aggregation is off> [10ms]. Does this imply that "pattern = aggregation" has to be turned on somewhere so that this type of = association can be considered in the pattern-recognition process? Also, = under "Options" tab, what does "Use Identity Constraints" do? =20 Thanks, =20 Nija =20 |