Von:
jwt-dev-bounces@xxxxxxxxxxx [mailto:jwt-dev-bounces@xxxxxxxxxxx] Im Auftrag
von RAVI K. THAPLIYAL
Gesendet: Dienstag, 19. Januar 2010 11:40
An: Florian Lautenbacher; 'Java Workflow Toolbox'
Betreff: RE: [jwt-dev] AW: Regarding fix for excessive GDI object usage
Hi Florian,
I tried modifying the
JWT60toJWT70.atl as you explained but it didn’t work for me. I’ve attached the
modified file for reference. While going through the source code I found that
ATLTransformation makes use of ASMEMFModel and loads the .asm file instead of
the .atl as below:
// launch
JWT2JWT_TransfoResource =
ATLTransformation.class
.getResource("resources/transformations/" + "JWT" + sourceVersion
+ "toJWT" + targetVersion + ".asm");//$NON-NLS-1$
I guess I need to
modify JWT60toJWT70.asm too or update it somehow. Am I correct?
Regards,
Ravi
From: Florian Lautenbacher
[mailto:florian.lautenbacher@xxxxxxxxxxxxxxxxxxxxxxxxxx]
Sent: Monday, January 11, 2010 2:45 PM
To: 'Java Workflow Toolbox'; RAVI K. THAPLIYAL
Subject: AW: [jwt-dev] AW: Regarding fix for excessive GDI object usage
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.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
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.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|