Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/providers/ModifySemanticValuesActionProvider.java')
-rw-r--r--plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/providers/ModifySemanticValuesActionProvider.java186
1 files changed, 0 insertions, 186 deletions
diff --git a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/providers/ModifySemanticValuesActionProvider.java b/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/providers/ModifySemanticValuesActionProvider.java
deleted file mode 100644
index 039a038df90..00000000000
--- a/plugins/infra/org.eclipse.papyrus.infra.extendedtypes.emf/src/org/eclipse/papyrus/infra/extendedtypes/emf/providers/ModifySemanticValuesActionProvider.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2010 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) remi.schnekenburger@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.extendedtypes.emf.providers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.common.core.command.UnexecutableCommand;
-import org.eclipse.gmf.runtime.common.core.service.AbstractProvider;
-import org.eclipse.gmf.runtime.common.core.service.IOperation;
-import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
-import org.eclipse.papyrus.infra.extendedtypes.ActionConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.emf.Activator;
-import org.eclipse.papyrus.infra.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ConstantValue;
-import org.eclipse.papyrus.infra.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureToSet;
-import org.eclipse.papyrus.infra.extendedtypes.emf.modifysemanticvaluesactionconfiguration.FeatureValue;
-import org.eclipse.papyrus.infra.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ListValue;
-import org.eclipse.papyrus.infra.extendedtypes.emf.modifysemanticvaluesactionconfiguration.ModifySemanticValuesActionConfiguration;
-import org.eclipse.papyrus.infra.extendedtypes.emf.modifysemanticvaluesactionconfiguration.QueryExecutionValue;
-import org.eclipse.papyrus.infra.extendedtypes.emf.modifysemanticvaluesactionconfiguration.util.ModifySemanticValuesActionConfigurationSwitch;
-import org.eclipse.papyrus.infra.extendedtypes.providers.GetAllExtendedElementTypeActionProvidersOperation;
-import org.eclipse.papyrus.infra.extendedtypes.providers.GetExtendedElementTypeActionProviderOperation;
-import org.eclipse.papyrus.infra.extendedtypes.providers.IExtendedElementTypeActionProvider;
-import org.eclipse.papyrus.infra.queries.core.configuration.QueryConfiguration;
-import org.eclipse.papyrus.infra.queries.core.converter.ConverterNotfoundException;
-import org.eclipse.papyrus.infra.queries.core.converter.ConverterRegistry;
-import org.eclipse.papyrus.infra.queries.core.modisco.QueryUtil;
-import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
-import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
-
-/**
- * Provider for Action that set semantic values to an element on creation
- */
-public class ModifySemanticValuesActionProvider extends AbstractProvider implements IExtendedElementTypeActionProvider {
-
- /**
- * {@inheritDoc}
- */
- public boolean provides(IOperation operation) {
- if(operation instanceof GetAllExtendedElementTypeActionProvidersOperation) {
- return true;
- }
- if(operation instanceof GetExtendedElementTypeActionProviderOperation) {
- return (((GetExtendedElementTypeActionProviderOperation)operation).getActionConfiguration() instanceof ModifySemanticValuesActionConfiguration);
- }
- return false;
- }
-
- /**
- * {@inheritDoc}
- */
- public ICommand getICommand(List<? extends Object> elementsToEdit, ActionConfiguration configuration) {
- // try to create the command that will apply the stereotypes
- if(!(configuration instanceof ModifySemanticValuesActionConfiguration)) {
- Activator.log.error("Trying to configure a modify semantic values action configuration with a configuration which is not a semantic value one: " + configuration, null);
- return UnexecutableCommand.INSTANCE;
- }
-
- CompositeCommand compositeCommand = new CompositeCommand("Set Values");
- ModifySemanticValuesActionConfiguration modifySemanticValuesActionConfiguration = (ModifySemanticValuesActionConfiguration)configuration;
-
- // for each object in the list of eobjects to edit, create the stereotype apply command
- for(Object objectToEdit : elementsToEdit) {
- // for each feature in the configuration, sets the value
- if(objectToEdit instanceof EObject) {
- for(FeatureToSet featureToSet : modifySemanticValuesActionConfiguration.getFeaturesToSet()) {
- // create a command from a set request and use the Papyrus edit service
- EObject eObject = (EObject)objectToEdit;
- EStructuralFeature feature = eObject.eClass().getEStructuralFeature(featureToSet.getFeatureName());
- if(feature != null && feature.isChangeable()) {
- // retrieve the value to set
- FeatureValue featureValue = featureToSet.getValue();
- Object value = computeValue(eObject, feature, featureValue);
- SetRequest request = new SetRequest(eObject, feature, value);
- IElementEditService service = ElementEditServiceUtils.getCommandProvider(eObject);
- ICommand command = service.getEditCommand(request);
- if(command != null) {
- compositeCommand.add(command);
- }
- }
- }
-
- // for dynamic features, opens the pop up and ask for the values to set
- }
- }
- return compositeCommand;
- }
-
- /**
- * Retrieves the value from the feature value parameter
- *
- * @param eObject
- * the context of the value
- * @param feature
- * the feature for which the value is computed
- * @param featureValue
- * the representation of the value of the feature from which to compute the real value
- * @return the value of the feature
- */
- protected Object computeValue(final EObject eObject, final EStructuralFeature feature, FeatureValue featureValue) {
- Object value = new ModifySemanticValuesActionConfigurationSwitch<Object>() {
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Object caseListValue(ListValue listValue) {
- List<Object> values = new ArrayList<Object>();
- for(FeatureValue fValue : listValue.getValues()) {
- Object value = computeValue(eObject, feature, fValue);
- values.add(value);
- }
- return values;
- };
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Object caseQueryExecutionValue(QueryExecutionValue queryExecutionValue) {
- Object value = null;
- QueryConfiguration configuration = queryExecutionValue.getConfiguration();
- try {
- //value = QueryUtil.evaluateQuery(eObject, configuration);
- } catch (Exception e) {
- Activator.log.error(e);
- }
- return value;
- };
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Object caseConstantValue(ConstantValue constantValue) {
- Class<?> parameterType = feature.getEType().getInstanceClass();
- try {
- Object convertedValue = ConverterRegistry.getSingleton().convert(parameterType, constantValue.getValueInstance());
- return convertedValue;
- } catch (ConverterNotfoundException e) {
- Activator.log.error(e);
- }
- return null;
- }
-
- }.doSwitch(featureValue);
-
- return value;
- }
-
- /**
- * {@inheritDoc}
- */
- public ICommand getBeforeCreateValidationCommand(List<? extends Object> elementsToEdit, ActionConfiguration configuration) {
- // here, element to edit should be the parent of the created element on which the stereotype is applied.
- ModifySemanticValuesActionConfiguration modifySemanticValuesActionConfiguration = (ModifySemanticValuesActionConfiguration)configuration;
-
- for(Object objectToEdit : elementsToEdit) {
- // FIXME ...
- }
- // returns a null command, which means it is possible to apply the stereotype
- return null;
- }
-
- /**
- * {@inheritDoc}
- */
- public void setConfiguration(IConfigurationElement element) {
- // something to do here ?
- }
-
-}

Back to the top