use of org.yakindu.sct.generator.core.library.IDefaultFeatureValueProvider in project statecharts by Yakindu.
the class SGenJavaValidator method checkParameterValue.
@Check
public void checkParameterValue(final FeatureParameterValue value) {
if (value.getExpression() == null || value.getExpression() == null)
return;
GeneratorModel model = (GeneratorModel) EcoreUtil2.getRootContainer(value);
IGeneratorDescriptor generatorDescriptor = GeneratorExtensions.getGeneratorDescriptor(model.getGeneratorId());
IDefaultFeatureValueProvider provider = LibraryExtensions.getDefaultFeatureValueProvider(generatorDescriptor.getLibraryIDs(), value.getParameter().getFeatureType().getLibrary());
injector.injectMembers(provider);
IStatus status = provider.validateParameterValue(value);
createMarker(status);
}
use of org.yakindu.sct.generator.core.library.IDefaultFeatureValueProvider in project statecharts by Yakindu.
the class SGenQuickfixProvider method getDefaultFeatureConfiguration.
private FeatureConfiguration getDefaultFeatureConfiguration(final Issue issue, EObject element) {
GeneratorModel model = (GeneratorModel) EcoreUtil2.getRootContainer(element);
IGeneratorDescriptor generatorDescriptor = GeneratorExtensions.getGeneratorDescriptor(model.getGeneratorId());
Iterable<ILibraryDescriptor> libraryDescriptor = LibraryExtensions.getLibraryDescriptors(generatorDescriptor.getLibraryIDs());
for (ILibraryDescriptor desc : libraryDescriptor) {
ResourceSet set = new ResourceSetImpl();
Resource resource = set.getResource(desc.getURI(), true);
FeatureTypeLibrary lib = (FeatureTypeLibrary) resource.getContents().get(0);
EList<FeatureType> types = lib.getTypes();
for (FeatureType featureType : types) {
if (featureType.getName().equals(issue.getData()[0])) {
IDefaultFeatureValueProvider valueProvider = desc.createFeatureValueProvider(SGenActivator.getInstance().getInjector(SGenActivator.ORG_YAKINDU_SCT_GENERATOR_GENMODEL_SGEN));
if (valueProvider != null) {
return valueProvider.createDefaultFeatureConfiguration(featureType, element);
}
}
}
}
return null;
}
Aggregations