Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrschnekenbu2014-01-28 15:00:42 +0000
committerrschnekenbu2014-01-28 15:00:42 +0000
commitd73cb9fccf26f720aea5ffbe4de84b5e9f2f2a03 (patch)
tree861382d233e8927ffd368d558fa511418691645f /plugins/infra
parent90c8fa9d460a87884e90dbfce5f544c275c6b798 (diff)
parent7ee11fcd35aa3294244940e18f3b6956ef570e69 (diff)
downloadorg.eclipse.papyrus-d73cb9fccf26f720aea5ffbe4de84b5e9f2f2a03.tar.gz
org.eclipse.papyrus-d73cb9fccf26f720aea5ffbe4de84b5e9f2f2a03.tar.xz
org.eclipse.papyrus-d73cb9fccf26f720aea5ffbe4de84b5e9f2f2a03.zip
Merge branch 'committers/rschnekenbu/extendedtypes' into streams/0.10-maintenance
Diffstat (limited to 'plugins/infra')
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/plugin.xml1
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/converter/ConverterRegistry.java4
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/converter/ValueSpecificationToEnumerationConverter.java50
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/setvaluesactionconfiguration/SetValuesActionCreationElementValidator.java36
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/aspectActionConfiguration.exsd10
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/AspectSemanticTypeFactory.java12
6 files changed, 106 insertions, 7 deletions
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/plugin.xml b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/plugin.xml
index 60da86d4885..c6ed11b6ad9 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/plugin.xml
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/plugin.xml
@@ -35,6 +35,7 @@
<aspectAction
configurationClass="org.eclipse.papyrus.infra.extendedtypes.emf.setvaluesactionconfiguration.SetValuesActionConfiguration"
configurationModelCreation="org.eclipse.papyrus.infra.extendedtypes.emf.setvaluesactionconfiguration.SetValuesActionConfigurationModelCreation"
+ creationElementValidator="org.eclipse.papyrus.infra.extendedtypes.emf.setvaluesactionconfiguration.SetValuesActionCreationElementValidator"
editHelperAdvice="org.eclipse.papyrus.infra.extendedtypes.emf.setvaluesactionconfiguration.SetValuesActionEditHelperAdvice">
</aspectAction>
</extension>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/converter/ConverterRegistry.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/converter/ConverterRegistry.java
index 40aba2a7ffe..00ed70a3d0d 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/converter/ConverterRegistry.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/converter/ConverterRegistry.java
@@ -15,10 +15,11 @@ import java.util.HashMap;
import java.util.Map;
import org.eclipse.core.databinding.conversion.IConverter;
+import org.eclipse.uml2.uml.Enumeration;
import org.eclipse.uml2.uml.ValueSpecification;
/**
- * Registry to store converters.
+ * Registry to store onverters.
*/
public class ConverterRegistry {
@@ -54,6 +55,7 @@ public class ConverterRegistry {
converterMaps.put(String.class, new ValueSpecificationToStringConverter());
converterMaps.put(int.class, new ValueSpecificationToIntegerConverter());
converterMaps.put(boolean.class, new ValueSpecificationToBooleanConverter());
+ converterMaps.put(Enumeration.class, new ValueSpecificationToEnumerationConverter());
}
/**
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/converter/ValueSpecificationToEnumerationConverter.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/converter/ValueSpecificationToEnumerationConverter.java
new file mode 100644
index 00000000000..92f5e460d44
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/converter/ValueSpecificationToEnumerationConverter.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.emf.converter;
+
+import org.eclipse.core.databinding.conversion.Converter;
+import org.eclipse.core.databinding.conversion.IConverter;
+import org.eclipse.uml2.uml.Enumeration;
+import org.eclipse.uml2.uml.EnumerationLiteral;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.InstanceValue;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+
+/**
+ * Converter for enumeration values
+ */
+public class ValueSpecificationToEnumerationConverter extends Converter implements IConverter {
+
+ /**
+ * @param fromType
+ * @param toType
+ */
+ public ValueSpecificationToEnumerationConverter() {
+ super(ValueSpecification.class, Enumeration.class);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Object convert(Object fromObject) {
+ if(fromObject instanceof InstanceValue) {
+ InstanceSpecification instanceSpecification = ((InstanceValue)fromObject).getInstance();
+ if(instanceSpecification instanceof EnumerationLiteral) {
+ return ((EnumerationLiteral)instanceSpecification);
+ }
+ }
+
+ return fromObject;
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/setvaluesactionconfiguration/SetValuesActionCreationElementValidator.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/setvaluesactionconfiguration/SetValuesActionCreationElementValidator.java
new file mode 100644
index 00000000000..bd969c6452c
--- /dev/null
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/setvaluesactionconfiguration/SetValuesActionCreationElementValidator.java
@@ -0,0 +1,36 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.extendedtypes.emf.setvaluesactionconfiguration;
+
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.papyrus.infra.extendedtypes.IActionCreationElementValidator;
+import org.eclipse.papyrus.infra.extendedtypes.ICreationElementValidator;
+
+/**
+ * {@link ICreationElementValidator} for {@link SetValuesActionConfiguration}
+ */
+public class SetValuesActionCreationElementValidator implements IActionCreationElementValidator<SetValuesActionConfiguration> {
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean canCreate(CreateElementRequest request) {
+ return true;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void init(SetValuesActionConfiguration configuration) {
+ }
+}
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/aspectActionConfiguration.exsd b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/aspectActionConfiguration.exsd
index a95e8cbb114..263ec8afad5 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/aspectActionConfiguration.exsd
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/schema/aspectActionConfiguration.exsd
@@ -89,6 +89,16 @@
</appInfo>
</annotation>
</attribute>
+ <attribute name="creationElementValidator" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.extendedtypes.IActionCreationElementValidator"/>
+ </appInfo>
+ </annotation>
+ </attribute>
</complexType>
</element>
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/AspectSemanticTypeFactory.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/AspectSemanticTypeFactory.java
index 7971f03dfd2..8101df940bd 100644
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/AspectSemanticTypeFactory.java
+++ b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes/src/org/eclipse/papyrus/infra/extendedtypes/AspectSemanticTypeFactory.java
@@ -43,8 +43,8 @@ public class AspectSemanticTypeFactory extends AbstractConfigurableElementTypeFa
IEditHelperAdvice advice = AspectConfigurationFactoryRegistry.getInstance().createEditHelperAdvice(actionConfiguration);
if(advice!=null) {
actionAdvices.add(advice);
- } else {
- Activator.log.error("Impossible to create an advice for :" + actionConfiguration, null);
+// } else {
+// Activator.log.error("Impossible to create an advice for :" + actionConfiguration, null);
}
}
if(actionAdvices!=null && actionAdvices.size() > 0) {
@@ -64,8 +64,8 @@ public class AspectSemanticTypeFactory extends AbstractConfigurableElementTypeFa
IContainerDescriptor containerDescriptor = AspectConfigurationFactoryRegistry.getInstance().createContainerDescriptor(actionConfiguration);
if(containerDescriptor!=null) {
containerDescriptors.add(containerDescriptor);
- } else {
- Activator.log.error("Impossible to create an advice for :" + actionConfiguration, null);
+// } else {
+// Activator.log.error("Impossible to create a container descriptor for :" + actionConfiguration, null);
}
}
if(containerDescriptors!=null && containerDescriptors.size() > 0) {
@@ -85,8 +85,8 @@ public class AspectSemanticTypeFactory extends AbstractConfigurableElementTypeFa
ICreationElementValidator validator = AspectConfigurationFactoryRegistry.getInstance().createCreationElementValidator(actionConfiguration);
if(validator!=null) {
actionValidators.add(validator);
- } else {
- Activator.log.error("Impossible to create an advice for :" + actionConfiguration, null);
+// } else {
+// Activator.log.error("Impossible to create a creation element validator for :" + actionConfiguration, null);
}
}
if(actionValidators!=null && actionValidators.size() > 0) {

Back to the top