diff options
author | rschnekenbu | 2014-01-28 15:00:42 +0000 |
---|---|---|
committer | rschnekenbu | 2014-01-28 15:00:42 +0000 |
commit | d73cb9fccf26f720aea5ffbe4de84b5e9f2f2a03 (patch) | |
tree | 861382d233e8927ffd368d558fa511418691645f /plugins/infra | |
parent | 90c8fa9d460a87884e90dbfce5f544c275c6b798 (diff) | |
parent | 7ee11fcd35aa3294244940e18f3b6956ef570e69 (diff) | |
download | org.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')
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) {
|