Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: AW: [jwt-dev] AW: Regarding fix for excessive GDI object usage

Oh, I'll have a look this week at these Aspect-related problems.

Regards,
Marc

Florian Lautenbacher a écrit :

Hi Ravi, hi Chris,

>>#1

>>I think it should be possible to adapt the ATL transformation in the converter >>(converter/internal/resources/transformations/JWT60toJWT70.atl) so that layoutdata is created for both views at the same >>time but Florian has probably more knowledge in that matter. Maybe the method described in #2 could help you here.

Of course, creating the layoutdata for all existing views is not an issue. Currently the layout data is only generated once with the view “Technical” assigned. If you have several views, then simply the same rule in the ATL-transformation can be copied and the term “Technical” could be replaced by “Business” or others (depending on the views that you have). If you have some problems here, just let me know.

>>#4:

>>As far as I know there haven’t been any substantial changes to aspects in 0.7 (apart from bugfixes of course ;) ). Also, apart >>from removing view data (point, dimension, reference, referenceedge), the meta model hasn’t changed.

Yes, there are several bug fixes concerning aspects which Marc and I have been working on. If you experience some problems such as the ones described below, I guess Marc is the best to answer:

>>I’ve noticed that in 0.7 I’m not being able to attach new aspects to any action node by the right-click > New Child context menu option. Existing aspects however are being displayed correctly. The Manage Profiles tab info is identical between the two versions.

>>I’ve observed that in 0.7, the child descriptors passed to ActionBarContributor.generateCreateChildActions() do not include AspectCommandParameter(s) that get passed for every Aspect defined via extensions in 0.6.

Best regards,

Florian

*Von:* RAVI K. THAPLIYAL [mailto:RAVI.THAPLIYAL@xxxxxxxxxx]
*Gesendet:* Freitag, 8. Januar 2010 07:00
*An:* Christian Saad
*Betreff:* RE: Regarding fix for excessive GDI object usage

Hi Chris,

Thanks for your reply.

Since, I didn’t hear from you for long I started porting my app to JWT 0.7 in parallel. Now, I’ve been able to get my App compile and start without errors and currently I’m identify the code changes required to work with 0.7 and its overall impact on testing. I just have some concerns and would like to hear your thoughts on the following:

#1. Our customized New Workflow wizard creates a 0.6 version file which when opened in the editor is automatically converted to 0.7. If we stick to creating files in 0.6 and suppress the file format change information dialog is there a way to have the same layout info for both technical and business views. Currently, it would ask if the user wants to import it from technical view which would confuse the users.

#2. If we would like to keep the layout algorithms out of the picture and keep it as simple as – what you’ll draw is what you’ll get. Can we auto sync the layout info between tech and biz views without any prompts? Idea is to keep it exactly like 0.6 in spite of having a separate _view file.

#3. Even if we stick to creating 0.6 workflow file (when a new workflow is created and when an existing workflow is checked out from db) the check in workflow op that saves it to db would now have to parse 3 files. We can’t maintain multiple view layouts in db so would really want to keep the layout info in sync between views without any prompts. Please point towards any API that would help us do all this behind the scenes.

#4. Unlike other integrators of JWT like AgilPro and Scarbo, our App makes heavy use of Aspects. Do you foresee any major changes required for them to work with 0.7? In addition to separating the meta model out of the editor has it also been changed that may impact Aspects that were developed on 0.6.

I personally feel that we should move to 0.7 rather than doing it later and ending up doing maintenance for two architecturally very different versions. So, I would really appreciate your thoughts on the above concerns.

Regards,

Ravi

*From:* Christian Saad [mailto:christian.saad@xxxxxxxxxxxxxxxxxxxxxxxxxx]
*Sent:* Thursday, January 07, 2010 6:30 PM
*To:* RAVI K. THAPLIYAL
*Subject:* AW: Regarding fix for excessive GDI object usage

Hi Ravi,

sorry for the late answer, unfortunately I was not available during the holidays :(

The fix for the GDI leak addressed two main issues: On the one hand the fonts and colors which are created in the PreferenceWrappers but these should be fixed once the patch for these has been included. To make sure that the cached resources are released when the last editor is closed you should also update the following method in the GeneralHelper:

*public* *static* *void* deregisterEditor(WEEditor ed)

{

/editorinstances/.remove(ed);

// dispose _gid_ resources

*if* (/editorinstances/.size() == 0)

{

Plugin./getDefault/().getImageRegistry().dispose();

FontPreferenceWrapper./disposeFonts/();

ColorPreferenceWrapper./disposeColors/();

}

}

The other major leak was due to inconsistent use of the ImageFactory. You could try to replace the ImageFactory with the new one but I’m not sure if this will help a lot since many methods used to create their own images instead of using the factory. It is very difficult to provide a patch for this since it affects many files. A possible approach would be to search for getImage() calls in the code and make sure they are redirected to the factory but I guess this would also require a certain amount of work.

I’m really sorry that I can’t provide you with a complete solution here, but the major internal changes which happened during the implementation of 0.7.0 make it almost impossible to extract a useful patch which works with the previous version. If you still have the time I would therefore suggest to nevertheless consider a move to 0.7.0 since from an external point of view, the compatibility with 0.6.0 shouldn’t be too difficult to achieve.

Regards,

Chris

*Von:* RAVI K. THAPLIYAL [mailto:RAVI.THAPLIYAL@xxxxxxxxxx]
*Gesendet:* Donnerstag, 24. Dezember 2009 07:45
*An:* Christian Saad
*Betreff:* RE: Regarding fix for excessive GDI object usage

Hi Chris,

I’ve verified that the problem really is due to the leaked GDI resources. As you rightly said, once the app crosses 10,000 GDI objects it simply closes itself. I’m sending you a sample .workflow and as it uses aspects its .workflow_conf file too.

The file when opened uses around 1450 GDI objects of which only around 70 are disposed when the editor is closed. The number is too high when compared to JWT 0.7 which opens and closes around 300 handles only for the same file after conversion and creation of the required .workflow_view file of course.

I’ve verified that I’m using the patched files that you shared with me. I would appreciate if you could test the attached workflow at your end and share your findings.

Regards,

Ravi

*From:* Christian Saad [mailto:christian.saad@xxxxxxxxxxxxxxxxxxxxxxxxxx]
*Sent:* Wednesday, December 23, 2009 6:10 PM
*To:* RAVI K. THAPLIYAL
*Subject:* AW: Regarding fix for excessive GDI object usage

Hi Ravi,

I’m suprised that this didn’t fix the problem for you since the fonts accounted for most (I guess >60%) of the lost GDI resources. Could you take a look in the task manager to see if the behavior is really caused by a too big number of those (the screen usually goes blank once 10000 is reached).

Regards,

Chris

*Von:* RAVI K. THAPLIYAL [mailto:RAVI.THAPLIYAL@xxxxxxxxxx]
*Gesendet:* Mittwoch, 23. Dezember 2009 10:28
*An:* christian.saad@xxxxxxxxxxxxxxxxxxxxxxxxxx
*Betreff:* Regarding fix for excessive GDI object usage

Hi Chris,

I tried using the patched versions of font and color preference wrappers but they haven’t helped me much. With the kind of complex workflows that are being opened, my RCP app’s lifetime is 10 mins tops.

Due to release constraints, I’m unable to switch to JWT 0.7. We really can’t afford to have another test cycle with the kind of timelines we have right now. So, I would really appreciate if you could list down all the files that have been patched in 0.6 and the ones that have been newly introduced in 0.7 to fix this issue.

As I already have prior experience with image registries etc. I’m trying to see if I can patch my copy of 0.6 by merging code from 0.7 if required. I know the meta model has been separated from the editor and that might make this task near impossible but I need to have the files involved to verify this and then convince my superiors about the same.

Thanking you in anticipation.

Regards,

Ravi


MASTEK LTD.
Mastek is in NASSCOM's 'India Top 20' Software Service Exporters List.
In the US, we're called MAJESCOMASTEK

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Opinions expressed in this e-mail are those of the individual and not that of Mastek Limited, unless specifically indicated to that effect. Mastek Limited does not accept any responsibility or liability for it. This e-mail and attachments (if any) transmitted with it are confidential and/or privileged and solely for the use of the intended person or entity to which it is addressed. Any review, re-transmission, dissemination or other use of or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. This e-mail and its attachments have been scanned for the presence of computer viruses. It is the responsibility of the recipient to run the virus check on e-mails and attachments before opening them. If you have received this e-mail in error, kindly delete this e-mail from desktop and server.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

------------------------------------------------------------------------

_______________________________________________
jwt-dev mailing list
jwt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jwt-dev


Back to the top