Explorar o código

fixed #318
packagename without dot

Andreas Muelder %!s(int64=9) %!d(string=hai) anos
pai
achega
82185f82de

+ 2 - 1
plugins/org.yakindu.sct.generator.core/META-INF/MANIFEST.MF

@@ -23,7 +23,8 @@ Require-Bundle: org.eclipse.ui,
  org.eclipse.xtext.builder;bundle-version="2.3.0",
  org.yakindu.sct.commons;bundle-version="1.0.0",
  org.yakindu.sct.domain;bundle-version="2.4.1",
- org.yakindu.sct.domain.generic;bundle-version="2.5.0"
+ org.yakindu.sct.domain.generic;bundle-version="2.5.0",
+ org.eclipse.emf.workspace;bundle-version="1.5.1"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Bundle-ActivationPolicy: lazy
 Export-Package: org.yakindu.sct.builder.nature,

+ 14 - 33
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/features/AbstractDefaultFeatureValueProvider.java

@@ -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;

+ 1 - 2
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/features/JavaFeatureValueProvider.java

@@ -32,7 +32,7 @@ import org.yakindu.sct.model.sgen.FeatureTypeLibrary;
 public class JavaFeatureValueProvider extends
 		AbstractDefaultFeatureValueProvider {
 
-	private static final String PACKAGE_NAME_REGEX = "([a-zA-Z_][a-zA-Z0-9_]*\\.)+[a-zA-Z_][a-zA-Z0-9_]*";
+	private static final String PACKAGE_NAME_REGEX = "([a-zA-Z_][a-zA-Z0-9_\\.]*)+[a-zA-Z_][a-zA-Z0-9_]*";
 	private static final String SUFFIX_REGEX = "[a-zA-Z0-9_]*";
 
 	@Override
@@ -40,7 +40,6 @@ public class JavaFeatureValueProvider extends
 			EObject contextElement) {
 		if (parameterValue.getParameter().getName().equals(BASE_PACKAGE)) {
 			parameterValue.setValue("org.yakindu.sct");
-					//+ JavaFeatureConstants.getValidStatemachineName(statechart.getName()));
 		} else if (parameterValue.getParameter().getName()
 				.equals(IMPLEMENTATION_SUFFIX)) {
 			parameterValue.setValue("impl");