[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [wtp-dev] Some (hopefully) quick validator v2 questions
|
Paul, Can we carry on this discussion
in https://bugs.eclipse.org/bugs/show_bug.cgi?id=252891
?
Is this patch still the best thing to
look at? Can you also attach a small project that will cause your validator
to be invoked ?
Gary Karasiuk, RAD Performance Analyst
karasiuk@xxxxxxxxxx
TL-969-3985, external: (905)-413-3985
From:
| Paul Fullbright <paul.fullbright@xxxxxxxxxx>
|
To:
| "General discussion of project-wide
or architectural issues." <wtp-dev@xxxxxxxxxxx>
|
Date:
| 11/26/2008 10:52 AM
|
Subject:
| Re: [wtp-dev] Some (hopefully) quick
validator v2 questions |
Yes, we're using #3. The only thing we changed is
the framework. We still create messages exactly the same way. The
only other thing that's different is that the markers aren't showing up
in the problems view. Is there an ordering difference now that's
now showing because of the fact that our validation is not just on the
resource in question?
- Paul
Gary Karasiuk wrote:
Hi Paul, I tried to answer your question in a more robust way, by enhancing
the Javadoc. Let me know if you still have questions.
How do I create Problem Markers?
There are three different ways to create problem markers.
1. Use the native support
in the validation framework.
2. Manage your own markers.
3. Use the support in the
previous version of the validation framework.
The first approach, is the recommended approach.
1. Use the native support in the validation framework
After you have finished performing your validation, and
are returning control back to the validation framework, add your messages
into the ValidationResult
by using the add(ValidatorMessage
message) method.
2. Manage your own markers
Create and remove your own markers. So that summary information
can still be displayed, the counts of any newly created markers in the
ValidationResult
by using the setSeverityXXX() methods.
3. Use the support in the previous version of the validation
framework
If you are porting a validator that used the previous version
of the validation framework, and you wish to continue to use an IReporter
to report your markers, you can continue to do so.
For this approach, use the getReporter(IProgressMonitor
monitor) method, and return your messages through
the IReporter. If this method is called it is assumed by the framework,
that this IReporter will be used as the only way of passing messages back
to the framework.
Gary Karasiuk, RAD Performance Analyst
karasiuk@xxxxxxxxxx
TL-969-3985, external: (905)-413-3985
I was able to implement something which looks like it works, at least in
debugging mode. The V2 framework solved my problem about triggering
validation on resource content types which extend another resource content
type, so I'm sure I've got the basic setup correct. And I can follow
that problem markers are indeed added to the resources where they should
be added. And it doesn't *seem* as though the problem markers get
deleted after they've been added. And the validation dialog comes
back with something like "8 errors in 19 resources" every time,
so everything seems good up to that point. But after validation is
done, the problems view shows *nothing*. I've messed with the problems
view filters and scoured the debugger for places where my added markers
get deleted, but so far it's a mystery. Is there anyone who can shed
any light on this? Where did my markers go?
Here's our implementation (check out the patch) if anyone has any ideas
on this: https://bugs.eclipse.org/bugs/show_bug.cgi?id=252891
Thanks,
- Paul
Paul Fullbright wrote:
Thanks, especially the last point.
One other point of confusion I had was how to tie our existing helper class
into the new/old implementation. Can that be done? I see the
HTMLValidationWorkbenchHelper still around, but I don't see it used anywhere.
- Paul
Gary Karasiuk wrote:
Currently the best place for documentation is the Javadoc.
Most of the validators that are currently enabled to the new framework,
simply made a few changes to their earlier validators to convert them into
v2 validators. You could look at the HTML or XML ones as examples.
You don't want to use the delegates extension point, it is for something
else entirely.
There are other validators, that want to be triggered on may different
types of changes, but then only want to run once. The method you want to
use is org.eclipse.wst.validation.ValidationResult#setSuspendValidation(IProject
project)
setSuspendValidation
public void setSuspendValidation(IProject project)
Calling this method will inform the framework, that this validator does
not wish to be called again for any resources in this project, for the
duration of this validation operation.
Some validators may have a rich set of triggers, but once
they have been invoked once, do not need to be invoked again during the
course of the current validation.
Parameters:
project - The project that this validator no longer
wants to be notified on.
I hopes this helps.
Gary Karasiuk, RAD Performance Analyst
karasiuk@xxxxxxxxxx
TL-969-3985, external: (905)-413-3985
Hello all,
As a result of adding a new resource type in our extension of our own
JPA tools framework, it seems we need to advance quickly to the v2
validator framework. Very quickly. I wonder if I could pose
a few
questions:
- In the presentation (here:
http://www.eclipse.org./webtools/common/validation/New-VF-2007-12-11.pdf)
it was hinted that one could provide a v2 implementation by wrapping an
existing v1 implementation. Obviously, if we need to do this quickly,
this sounds very good. Looking at the existing v2 validators, I don't
see anyone who has done what I understand as wrapping.Can someone give
me a thumbnail sketch of how that might be done? I tried finding
a
post-implementation overview, but only found one from 2005
(http://www.eclipse.org/webtools/wst/components/validation/ValidationOverview.html).
Do I want the delegating validator? And if so, do I need to use the
validatorDelegates extension point?
- Relatedly, there was a hint in the bug
(https://bugs.eclipse.org/bugs/show_bug.cgi?id=212196)
that there might
be a getting started guide. *Is* there a getting started guide?
- Most of the validator framework surrounds validation of a *file*. Are
there any thoughts about *project-wide* validation? The nature of
the
beast that is JPA is that everything depends on everything else.
Changing a java file can change validation for a persistence.xml file.
Changing the persistence.xml file can change validation for an orm.xml
file. Changing the orm.xml file can change validation for the original
java file. So each validation run for us, due to the nature of JPA,
implies a validation of the entire project. But each validation run
is
centered on a single file. This means that if several files change
(or
if a project wide validation is run), then the project gets validated
once for each resource, which is a huge waste of cycles. Any thoughts
on how we can register validation to be run on changes to all these
files, but done only once per project, per validation run? (OK, this
one isn't as quick, but it also isn't as pressing, either.)
Thanks in advance,
--
Paul Fullbright
Oracle Corp.
Eclipse Dali/Java Persistence Tools Development
paul.fullbright@xxxxxxxxxx
_______________________________________________
wtp-dev mailing list
wtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/wtp-dev
_______________________________________________
wtp-dev mailing list
wtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/wtp-dev
_______________________________________________
wtp-dev mailing list
wtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/wtp-dev
_______________________________________________
wtp-dev mailing list
wtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/wtp-dev
_______________________________________________
wtp-dev mailing list
wtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/wtp-dev
_______________________________________________
wtp-dev mailing list
wtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/wtp-dev