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.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|