Book a Demo

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - LastDragon

Pages: [1]
1
After change the 'Show Parameter Detail' = 'Full Details' will be shown not all details defined in UML specification.

I agree, that some are not necessary, but I consider that it is useful to add default parameter value.

Without it I should look properties of a method to learn how much parametres it is possible to pass it, it is inconvenient. And what to do if at me only a printing copy of the diagram?



2
General Board / Re: Display Function Parameters in Model
« on: August 08, 2008, 07:55:27 pm »
Quote
As far as I know, EA has no option to show default values.

:(

Quote
And as far as I know, UML specification does not define the operation notataion to show the default value. I think EA seems correct.

Really?

Please see: "UML Infrastructure Specification, v2.1.2", Chapter: "11.8.2 Operation" => Notation

Code: [Select]
<parameter-list> is a list of parameters of the operation in the following format:
    <parameter-list> ::= <parameter> [‘,’<parameter>]*
    <parameter> ::= [<direction>] <parameter-name> ‘:’ <type-expression>
                    [‘[‘<multiplicity>’]’] [‘=’ <default>] [‘{‘ <parm-property> [‘,’ <parm-property>]* ‘}’]

3
General Board / Re: Display Function Parameters in Model
« on: August 07, 2008, 06:00:38 pm »
How to show parameter default value?
eg: +myFunction( str:string='myString' ):string

Thanks

4
Bugs and Issues / Add-In Event "EA_MenuClick" invalid MenuLocation
« on: June 17, 2009, 06:57:17 pm »
If the addin create the following menu:


Code: [Select]
"MainMenu"
Add-Ins
- Addin Menu
  |- Item 1
  |- Item 2
- -----------
- Manage Add-Ins...

That at a choice "Item 1" in EA_MenuClick will be transferred MenuLocation = "Diagram" though should be "MainMenu".

In EA_GetMenuState transferred to the correct value ("MainMenu").

      
Tested on EA 7.5.844 & 7.5.845

6
Bugs and Issues / Re: Mistakes/improvements of the PHP5 support in E
« on: June 24, 2009, 01:48:48 am »
Quote
RE: Disadvantages/mistakes/improvements of the PHP5 support in EA
From: [email protected]

Hello Aleksej,

The Class diagram: there is no possibility to show the Default Parameters Values in Methods.
Yes, we don't currently support this, and don't have any immediate plans to add it.  It has however been recorded as a feature request.
 
Awkward Herodoc syntax support
Unfortunately, our parse is unable to deal with Heredoc syntax.  We have logged this issue with ID: 07030622.  It works in methods because EA doesn't need to parse expressions fully when inside methods.  However, depending on the text in your heredoc it will fail inside methods too.
 
No types support
Yes, this is a limitation of EA's support of PHP.  Both the code templates and synchronization rely on types only being 'var', and will cause errors.  We do plan on adding some support for this, including PHPDoc support.  At this stage we are unable to give a timeframe for this addition.
 
Final Methods Creation Inconveniences
The final keyword on an operation is set from the tagged value because it is a concept that doesn't exist in UML.  (The const checkbox is for a constant return value.)  This is the strategy that is taken for any language specific extensions.  This is also the reason why it is not checked, however if you want to add that check you can add one.  Please see http://www.sparxsystems.com/uml_tool_guide/sdk_for_enterprise_architect/validation.html.
 
When generating the code - the package path is done incorrectly.
Although I can't see you templates, I suspect the problem is that you are using the packagePath macro, without using the namespace template to iterate into the child templates.  At the file template, the packagePath macro will not be the full path.
 
The diagrams validation – why not adding the option of the Methods Second-Time Definition Check?
Adding a validation check for two methods with the same signature is a good suggestion, and I have logged it as a feature request.
 
Unfortunately, I can't promise a short term solution to any of the issues you are having.  What I can say is that we do test EA.  Most of what you have described was deemed as acceptable behavior.  The exception being the lack of heredoc support.  But even with this shortcoming, I believe that the PHP support in EA is worthwhile.
 
Best Regards,
 
Sparx Systems Pty Ltd
[email protected]
http://www.sparxsystems.com

7
[size=15]Some questions:[/size]
1) Is it worth waiting the mentioned above bugs to be corrected in the nearest time or is it better not to loose one’s time and to go to the competitors right now?

2) Why your potential customers should work as your testers?

8
[size=15]5. Final Methods Creation Inconveniences[/size]
I cannot understand why in order to create a Final Method one needs to use the “final” tagged value? Firstly, this is just unhandy to do, secondly, it is uncomfortable to use such a diagram, because you constantly need to go to the Method Properties, and, thirdly, after the diagram is printed this data becomes unavailable…

Why can’t you do this like they do it in Java?



To be more exact, why one can put the check mark in, but when the generation is done, it’s ignored?

Also, when the Model validation is done there is no Final Methods check.
(this is not only for PHP, and, maybe, this is not really a mistake)

If one creates Classes Diagram:



And performs model validation “Project | Model Validation | Validate Selected” the mistakes are not found. This seems to me to be not safe, as it can cause major mistakes later.

Except the validation, it would be also useful to indicate the Final Methods on the diagram somehow. And it would be even more useful to make a warning every time one tries to define a Final Method second-time.


[size=15]6. When generating the code - the package path is done incorrectly.[/size]

For ex., there is a project:



Let’s generate the code for the “Class1” class. If we at the same time in the generation templates use:

Code: [Select]
%importPackagePath%
      The package path with a '.' separator of the Class being imported.
%packagePath%
      The string representing the hierarchy of packages, for the Class in scope.
      Each package name is separated by a dot (.).

, the code, in spite of required variables will ALWAYS have “System” (i.e. the main package name) when it should be “System.Package1”.

This leads to that when generation is going on, one cannot indicate the package containing any class inside – and this could be extremely useful when generating documentation.

The sample of what is needed to get:
Code: [Select]
<?php/** * @package System.Package1 **//** * ..... */class Class1 &#123;&#125;?>


[size=15]7. The diagrams validation – why not adding the option of the Methods Second-Time Definition Check?[/size]

If one creates the following diagram:



Then, firstly – it goes through validation and, secondly, we get the code with the syntax mistakes as a result.

Code: [Select]
<?phprequire_once ('Class3.php');require_once ('Interface1.php');require_once ('Class2.php');/** * @author sfdgdfgdfgdgdgdfgdfgdff * @version 1.0 * @created 02-[ch1084][ch1072][ch1081]-2009 21:30:32 */class Class1 extends Class2 implements Interface1&#123;      public $m_Class3;      function __construct()      &#123;      &#125;      function __destruct()      &#123;      &#125;      /**       *        * @param a       */      public function test(boolean $a = true)      &#123;      &#125;      /**       *        * @param a       */      public function test(boolean $a = true)      &#123;      &#125;      /**       *        * @param v       * @param a       */      public function test($v, boolean $a = true)      &#123;      &#125;&#125;?>

It would be more reasonable either to restrict adding the same methods to classes or to add the option to find them while making the model validation.

9
[size=15]3. No types support: (this is the main problem)[/size]

There isn’t a notion of types currently! Instead of them you define and use an absolutely inappropriate here «var» type for everything.

This approach is fundamentally wrong: PHP defines the following data types (http://www.php.net/manual/en/language.types.intro.php): boolean, integer, float (floating-point number, aka double), string, array, object, resource, NULL, mixed, number, callback.

The miss of the types causes at least 4 problems:

[size=14]3.1)[/size] One needs to add the mentioned above types for each project again and again and that’s awkward and takes time.

Why don’t you add all those types at once (excluding NULL) and use «mixed» instead of «var»?

[size=14]3.2)[/size] After adding the types manually and generating the code one gets the syntax mistakes as a result. This happens because the type parameter is not considered in generation and as a result we get:

Code: [Select]
public function test(boolean $a = true)
      {
      }

When actually it is allowed to mention as the type ONLY «array» and the class name.

The template of parameter generation («Parameter») needs correction.

[size=14]3.3)[/size] There are inconveniences when model is synchronized with the code.

There is a following class diagram:


 
Make the «Class1» [ch1089]lass generation, and now let’s try to synchronize the model and the code (highlight the class and press F7):


 
Caution: all the information about the parameter type in “Class1::test()” is lost. The diagram is damaged - great!

[size=14]3.4)[/size] Let’s take another class diagram



Making the code generation (highlight the class and press F11)

Code: [Select]
.....
      /**
       *
       * @param a
       */
      public function test(boolean $a = true)
      {
      }
.....

Correcting:
Code: [Select]
.....
      /**
       *
       * @param a
       */
      public function test($a = true)
      {
      }
.....

Highlighting “Class1” and pressing F11 again:



As a result we have to manually make correspondence between the test() methods in model and in code.


 
In case of large classes this procedure VERY soon becomes VERY annoying. In spite of doing really useful work one needs to spend his time on this rubbish…

The problems described here later are partly caused by the lack of PHPDoc support (see later).


[size=15]4. No PHPDoc support[/size]
Currently, to make the comments while code generating one needs to use «%JAVADOC_COMMENT(genOptWrapComment)%» - this is not correct, because “javadoc” and “phpdoc” are significantly different!

For details see:http://manual.phpdoc.org/HTMLframesConverter/default/

The creation of this kind of support will let everyone to get rid of some problems mentioned in the “No types support” section.

It would be great also to add the support of the tagged value “throws” as it is done in Java – and, of course, not to forget to add it to comments (@throws).

Yeah, one surely can put that all in manually, but when importing, all this stuff becomes useless; moreover: doing so will lead to comments pollution as the parameters definitions would be again and again added to them.

10
Bugs and Issues / Mistakes/improvements of the PHP5 support in EA
« on: May 10, 2009, 11:53:45 pm »
I’ve been trying your product for some time already, but, unfortunately, I am not ready to buy it due to some mistakes it has in PHP5 support (and this is why I need your product most).

Here below I tried to describe all the found bugs (and if some of them are not connected with the PHP5, I clearly indicated that).

I tested EA Version 7.5.844 on Win XP SP 3. Standard diagrams were used (the language was substituted by PHP 5)

[size=15]1. The Class diagram: there is no possibility to show the Default Parameters Values in Methods.[/size]
(this concerns not only PHP – I guess this function is really necessary)

As PHP allow creating the methods with variable amount of parameters it would be very handy to show the default values on the diagram, but currently EA doesn’t allow doing that. This makes using the diagrams too uncomfortable, ‘because you constantly need to go to the Methods to see at what amount of parameters they can be called.

Moreover, this “feature” makes it impossible to use the printed diagram.

I created a topic on your web-site’s forum about this bug more than a half year (!!!) ago, and on another internet-forum discussion, your registered user posted the answer from your Support Service:

Quote
It is not currently possible to display this information in EA. However,
it shouldn't be difficult to add, so I will try to add it for one of the
next builds of EA.

Best Regards,
Name Removed
Sparx Systems Pty Ltd
[email protected]
http://www.sparxsystems.com.au

It’s a pity that you still haven’t made such an easy and helpful function.


[size=15]2. Awkward Herodoc syntax support[/size]

When trying to import the following file:

Code: [Select]
<?php$value = 'test';$heredoc = <<<TEXT1Text Text Text Text Text Text Text Text Text Text Text TEXT1;class Test &#123;      public function __construct () &#123;            $heredoc = <<<TEXTText Text Text Text Text Text Text Text Text Text Text TEXT;      &#125;&#125;?>

we get:



And at the same time when the Herodoc is inside the method, it is operated successfully. Why?!

Pages: [1]