Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [sapphire-dev] Validate a ValueProperty

There isn't a conceptual problem with instantiating and using a model
element, except where it depends on being part of a bigger model which isn't
there (as is the case with this @DependsOn annotation).

There isn't a way to suppress this particular error message.

Do you have access to an existing instance of this model element? If you do,
you can pull the set of ValidationService instances for the property and run
validation yourself without modifying the existing model...

final Status.CompositeStatusFactory factory = Status.factoryForComposite();
          
for( ValidationService svc : element.services( property,
ValidationService.class ) )
{
    factory.merge( svc.validation() );
}

return factory.create();


-----Original Message-----
From: sapphire-dev-bounces@xxxxxxxxxxx
[mailto:sapphire-dev-bounces@xxxxxxxxxxx] On Behalf Of Ling Hao
Sent: Wednesday, August 10, 2011 3:27 PM
To: Sapphire project
Subject: [sapphire-dev] Validate a ValueProperty

I need to validate a value against its ValueProperty. I found the 
following way:

                                 ICachingScheme newScheme = 
scheme.getModelElementType().instantiate();
                                 
newScheme.resource().binding((ValueProperty)property).write(value);
                                 newScheme.refresh(property);
                                 Value<?> newValue = 
newScheme.read((ValueProperty)property);
                                 return newValue.validate();

This seems to work, except there is a @DependsOn() annotation in another 
property which caused the following error:

ERROR : Invalid model path "CachingSchemes/SchemeName" evaluated on 
oracle.eclipse.tools.coherence.descriptors.cacheConfig.IPagedExternalScheme.

First of all, I'm not sure if instantiating an in-memory ModelElement is 
the right approach. If it is, Is there a way a suppress the error 
message in the in-memory case?

Thanks!
_______________________________________________
sapphire-dev mailing list
sapphire-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/sapphire-dev



Back to the top