use of org.yakindu.sct.model.sgen.FeatureType in project statecharts by Yakindu.
the class FeatureConfigurationItemProvider method getText.
/**
* This returns the label text for the adapted class. <!-- begin-user-doc
* --> <!-- end-user-doc -->
*
* @generated NOT
*/
@Override
public String getText(Object object) {
FeatureConfiguration configuration = ((FeatureConfiguration) object);
FeatureType type = configuration.getType();
if (type != null) {
return type.getName() + " feature";
}
return "";
}
use of org.yakindu.sct.model.sgen.FeatureType in project statecharts by Yakindu.
the class SGenJavaValidator method checkDeprecatedFeatures.
@Check
public void checkDeprecatedFeatures(GeneratorEntry entry) {
Iterable<FeatureConfiguration> features = entry.getFeatures();
Iterable<FeatureType> deprecatedFeatures = filter(transform(features, getFeatureType()), isDeprecated());
for (FeatureType feature : deprecatedFeatures) {
warning(String.format(DEPRECATED + " %s : %s", feature.getName(), feature.getComment()), SGenPackage.Literals.GENERATOR_ENTRY__ELEMENT_REF, feature.getName());
}
}
use of org.yakindu.sct.model.sgen.FeatureType in project statecharts by Yakindu.
the class SGenJavaValidator method checkRequiredFeatures.
@Check
public void checkRequiredFeatures(GeneratorEntry entry) {
GeneratorModel model = (GeneratorModel) EcoreUtil2.getRootContainer(entry);
IGeneratorDescriptor generatorDescriptor = GeneratorExtensions.getGeneratorDescriptor(model.getGeneratorId());
Iterable<ILibraryDescriptor> libraryDescriptors = LibraryExtensions.getLibraryDescriptors(generatorDescriptor.getLibraryIDs());
Iterable<FeatureType> requiredFeatures = filter(concat(transform(transform(libraryDescriptors, getFeatureTypeLibrary()), getFeatureTypes())), isRequired());
List<String> configuredTypes = Lists.newArrayList();
for (FeatureConfiguration featureConfiguration : entry.getFeatures()) {
configuredTypes.add(featureConfiguration.getType().getName());
}
for (FeatureType featureType : requiredFeatures) {
if (!configuredTypes.contains(featureType.getName()))
error(String.format(MISSING_REQUIRED_FEATURE + " %s", featureType.getName()), SGenPackage.Literals.GENERATOR_ENTRY__ELEMENT_REF, CODE_REQUIRED_FEATURE, featureType.getName());
}
}
use of org.yakindu.sct.model.sgen.FeatureType in project statecharts by Yakindu.
the class ModelCreator method getFeatureTypes.
public static List<FeatureType> getFeatureTypes(IGeneratorDescriptor descriptor) {
ArrayList<FeatureType> features = Lists.newArrayList();
Iterable<ILibraryDescriptor> libraryDescriptor = LibraryExtensions.getLibraryDescriptors(descriptor.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();
// Only add the required features to the default model
for (FeatureType featureType : types) {
if (!featureType.isOptional())
features.add(featureType);
}
}
return features;
}
use of org.yakindu.sct.model.sgen.FeatureType 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