|
@@ -17,6 +17,7 @@ import org.eclipse.core.runtime.Path;
|
|
|
import org.eclipse.core.runtime.Status;
|
|
|
import org.eclipse.emf.common.util.EList;
|
|
|
import org.eclipse.emf.ecore.EObject;
|
|
|
+import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
|
|
|
import org.yakindu.sct.generator.core.GeneratorActivator;
|
|
|
import org.yakindu.sct.model.sgen.FeatureConfiguration;
|
|
|
import org.yakindu.sct.model.sgen.FeatureParameter;
|
|
@@ -29,33 +30,26 @@ import org.yakindu.sct.model.sgen.SGenFactory;
|
|
|
* @author andreas muelder - Initial contribution and API
|
|
|
*
|
|
|
*/
|
|
|
-public abstract class AbstractDefaultFeatureValueProvider implements
|
|
|
- IDefaultFeatureValueProvider {
|
|
|
+public abstract class AbstractDefaultFeatureValueProvider implements IDefaultFeatureValueProvider {
|
|
|
|
|
|
protected static final SGenFactory factory = SGenFactory.eINSTANCE;
|
|
|
|
|
|
- protected abstract void setDefaultValue(
|
|
|
- FeatureParameterValue parameterValue, EObject contextElement);
|
|
|
+ protected abstract void setDefaultValue(FeatureParameterValue parameterValue, EObject contextElement);
|
|
|
|
|
|
- public final FeatureConfiguration createDefaultFeatureConfiguration(
|
|
|
- FeatureType type, EObject contextElement) {
|
|
|
+ public final FeatureConfiguration createDefaultFeatureConfiguration(FeatureType type, EObject contextElement) {
|
|
|
FeatureConfiguration config = createConfiguration(type);
|
|
|
EList<FeatureParameter> parameters = type.getParameters();
|
|
|
for (FeatureParameter parameter : parameters) {
|
|
|
- FeatureParameterValue parameterValue = createParameterValue(
|
|
|
- parameter, contextElement);
|
|
|
- if (parameterValue != null
|
|
|
- && parameterValue.getExpression() != null) {
|
|
|
+ FeatureParameterValue parameterValue = createParameterValue(parameter, contextElement);
|
|
|
+ if (parameterValue != null && parameterValue.getExpression() != null) {
|
|
|
config.getParameterValues().add(parameterValue);
|
|
|
}
|
|
|
}
|
|
|
return config;
|
|
|
}
|
|
|
|
|
|
- protected FeatureParameterValue createParameterValue(
|
|
|
- FeatureParameter parameter, EObject contextElement) {
|
|
|
- FeatureParameterValue parameterValue = factory
|
|
|
- .createFeatureParameterValue();
|
|
|
+ protected FeatureParameterValue createParameterValue(FeatureParameter parameter, EObject contextElement) {
|
|
|
+ FeatureParameterValue parameterValue = factory.createFeatureParameterValue();
|
|
|
parameterValue.setParameter(parameter);
|
|
|
setDefaultValue(parameterValue, contextElement);
|
|
|
return parameterValue;
|
|
@@ -67,17 +61,8 @@ public abstract class AbstractDefaultFeatureValueProvider implements
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * get the {@link IProject} containing the given {@link EObject}
|
|
|
- *
|
|
|
- */
|
|
|
protected IProject getProject(EObject contextElement) {
|
|
|
- return ResourcesPlugin
|
|
|
- .getWorkspace()
|
|
|
- .getRoot()
|
|
|
- .getFile(
|
|
|
- new Path(contextElement.eResource().getURI()
|
|
|
- .toPlatformString(true))).getProject();
|
|
|
+ return WorkspaceSynchronizer.getFile(contextElement.eResource()).getProject();
|
|
|
}
|
|
|
|
|
|
protected IStatus error(String msg) {
|
|
@@ -90,17 +75,15 @@ public abstract class AbstractDefaultFeatureValueProvider implements
|
|
|
|
|
|
protected boolean projectExists(String value) {
|
|
|
try {
|
|
|
- return ResourcesPlugin.getWorkspace().getRoot().getProject(value)
|
|
|
- .exists();
|
|
|
+ return ResourcesPlugin.getWorkspace().getRoot().getProject(value).exists();
|
|
|
} catch (IllegalArgumentException e) {
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
protected boolean projectOpened(String value) {
|
|
|
try {
|
|
|
- return ResourcesPlugin.getWorkspace().getRoot().getProject(value)
|
|
|
- .isOpen();
|
|
|
+ return ResourcesPlugin.getWorkspace().getRoot().getProject(value).isOpen();
|
|
|
} catch (IllegalArgumentException e) {
|
|
|
return false;
|
|
|
}
|
|
@@ -108,8 +91,7 @@ public abstract class AbstractDefaultFeatureValueProvider implements
|
|
|
|
|
|
protected boolean folderExists(String projectName, String folderPath) {
|
|
|
try {
|
|
|
- return ResourcesPlugin.getWorkspace().getRoot()
|
|
|
- .getProject(projectName).getFolder(new Path(folderPath))
|
|
|
+ return ResourcesPlugin.getWorkspace().getRoot().getProject(projectName).getFolder(new Path(folderPath))
|
|
|
.exists();
|
|
|
} catch (IllegalArgumentException e) {
|
|
|
return false;
|
|
@@ -118,8 +100,7 @@ public abstract class AbstractDefaultFeatureValueProvider implements
|
|
|
|
|
|
protected boolean fileExists(String projectName, String folderPath) {
|
|
|
try {
|
|
|
- return ResourcesPlugin.getWorkspace().getRoot()
|
|
|
- .getProject(projectName).getFile(new Path(folderPath))
|
|
|
+ return ResourcesPlugin.getWorkspace().getRoot().getProject(projectName).getFile(new Path(folderPath))
|
|
|
.exists();
|
|
|
} catch (IllegalArgumentException e) {
|
|
|
return false;
|