=UTF-8
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/META-INF/MANIFEST.MF b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 60883a39f8b..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,27 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.papyrus.emf.facet.query.java.sdk.ui;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Activator
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.papyrus.emf.facet.efacet.sdk.ui;bundle-version="0.2.0",
- org.eclipse.papyrus.emf.facet.efacet.metamodel;bundle-version="0.2.0",
- org.eclipse.papyrus.emf.facet.query.java.metamodel;bundle-version="0.2.0",
- org.eclipse.papyrus.emf.facet.util.ui;bundle-version="0.3.0",
- org.eclipse.papyrus.emf.facet.util.core;bundle-version="0.2.0",
- org.eclipse.papyrus.emf.facet.query.java.core;bundle-version="0.2.0",
- org.eclipse.core.resources;bundle-version="3.6.0",
- org.eclipse.emf.ecore;bundle-version="2.6.0",
- org.eclipse.emf.common.ui;bundle-version="2.6.0",
- org.eclipse.emf;bundle-version="2.6.0",
- org.eclipse.jdt.core;bundle-version="3.6.0",
- org.eclipse.emf.codegen.ecore;bundle-version="2.6.0",
- org.eclipse.emf.edit;bundle-version="2.6.0",
- org.eclipse.jdt.ui;bundle-version="3.6.0",
- org.eclipse.papyrus.emf.facet.custom.metamodel;bundle-version="0.3.0",
- org.eclipse.papyrus.emf.facet.util.pde.core;bundle-version="0.4.0"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-Vendor: %Bundle-Vendor
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/OSGI-INF/l10n/bundle.properties b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index 42058f0e1c2..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2012 Mia-Software.
-#
-# 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:
-# Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
-###############################################################################
-Bundle-Vendor = Eclipse Modeling Project
-Bundle-Name = EMF Facet Java Query UI (Incubation)
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/about.html b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/about.html
deleted file mode 100644
index aacf0cfd3b9..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-About
-
-
-About This Content
-
-August 17, 2012
-License
-
-The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at http://www.eclipse.org/legal/epl-v10.html.
-For purposes of the EPL, "Program" will mean the Content.
-
-If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at http://www.eclipse.org.
-
-
-
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/build.properties b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/build.properties
deleted file mode 100644
index b28b108392b..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2012 Mia-Software.
-#
-# 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:
-# Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- OSGI-INF/,\
- about.html
-javacDefaultEncoding.. = UTF-8
-src.includes = about.html
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/plugin.xml b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/plugin.xml
deleted file mode 100644
index 35fe2b8d723..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/plugin.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/Activator.java b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/Activator.java
deleted file mode 100644
index 1c6a310e3a5..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/Activator.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Copyright (c) 2012 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:
- * Gregoire Dupe (Mia-Software) - Bug 372626 - Aggregates
- */
-package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-// Copied from /org.eclipse.papyrus.emf.facet.aggregate.metamodel.notgenerated/src/org/eclipse/emf/facet/aggregate/metamodel/notgenerated/internal/Activator.java
-@SuppressWarnings("PMD.UseSingleton")
-// @SuppressWarnings("PMD.UseSingleton") We cannot conforms to this rule because
-// this class is an Eclipse plug-in activator which will be instantiated by the
-// Eclipse framework.
-public class Activator extends Plugin {
-
- private static Activator plugin;
-
- @Override
- @SuppressWarnings("PMD.SignatureDeclareThrowsException")
- // @SuppressWarnings("PMD.SignatureDeclareThrowsException") We have to use
- // this signature because this is an override of an Eclipse framework's
- // method.
- public void start(final BundleContext bundleContext) throws Exception {
- super.start(bundleContext);
- Activator.plugin = this;
- }
-
- @Override
- @SuppressWarnings("PMD.SignatureDeclareThrowsException")
- // @SuppressWarnings("PMD.SignatureDeclareThrowsException") We have to use
- // this signature because this is an override of an Eclipse framework's
- // method.
- public void stop(final BundleContext bundleContext) throws Exception {
- // NOPMD: PMD say "Assigning an Object to null is a code smell."
- // No choice to right it in another way : this is an Eclipse pattern.
- Activator.plugin = null; // NOPMD by gdupe on 30/03/12 10:19
- super.stop(bundleContext);
- }
-
- public static Plugin getDefault() {
- return Activator.plugin;
- }
-
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/JavaQueryUIRuntimeException.java b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/JavaQueryUIRuntimeException.java
deleted file mode 100644
index 6eb074e8919..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/JavaQueryUIRuntimeException.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal;
-
-public class JavaQueryUIRuntimeException extends RuntimeException {
-
- private static final long serialVersionUID = 8815972557940912330L;
-
- public JavaQueryUIRuntimeException(final Throwable cause) {
- super(cause);
- }
-
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/Messages.java b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/Messages.java
deleted file mode 100644
index b7efde8d365..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/Messages.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Copyright (c) 2011 Mia-Software.
- *
- * 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:
- * Nicolas Guyomar (Mia-Software) - Bug 349556 - EMF Facet Java Query wizard
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-// copy from /org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/emf/facet/query/java/sdk/ui/internal/Messages.java
-public final class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.messages"; //$NON-NLS-1$
- public static String Choose_an_operation;
- public static String Choose_an_operation_desc;
- public static String Create_new_java_class;
- public static String JavaQueryWizardPage_Can_be_cached;
- public static String JavaQueryWizardPage_has_side_effect;
- public static String JavaQueryWizardPage_Java_Class_Name;
- public static String JavaQueryWizardPage_Java_Query;
- public static String JavaQueryWizardPage_Java_query_creation_page;
- public static String JavaQueryWizardPage_lower_bound;
- public static String JavaQueryWizardPage_Query_name;
- public static String JavaQueryWizardPage_Browse;
- public static String JavaQueryWizardPage_Create;
- public static String JavaQueryWizardPage_interface_constraints;
- public static String JavaQueryWizardPage_Please_select_a_scope;
- public static String JavaQueryWizardPage_Please_select_create_IJavaQuery_Class;
- public static String JavaQueryWizardPage_Scope;
- public static String JavaQueryWizardPage_upper_bound;
- public static String NewClassWizardPage_CreateANewJavaClass;
- public static String NewClassWizardPage_JavaClass;
- public static String NewQueryClassWizardPage_Failed_to_create_java_class;
- public static String NewQueryClassWizardPage_Failed_to_create_query_implementation;
- public static String Select_existing_java_class;
- public static String SelectJavaClassWizardPage_SeclectAJavaClassLongDescription;
- public static String SelectJavaClassWizardPage_SelectAJavaClass;
- public static String Upper_bound;
- public static String Multi_Values;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(Messages.BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/dialog/JavaQueryStrategy.java b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/dialog/JavaQueryStrategy.java
deleted file mode 100644
index 63e0f7b379a..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/dialog/JavaQueryStrategy.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.dialog;
-
-import org.eclipse.papyrus.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
-import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
-import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryDialogFactoryStrategy;
-import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.query.AbstractQueryDialogFactory;
-import org.eclipse.papyrus.emf.facet.query.java.metamodel.v0_2_0.javaquery.JavaQuery;
-import org.eclipse.papyrus.emf.facet.query.java.metamodel.v0_2_0.javaquery.JavaQueryFactory;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Messages;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.widget.query.JavaQueryWidget;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.widget.IAbstractWidget;
-import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement2;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * This class will be used for the creation of a java query.
- *
- * @see AbstractQueryDialogFactory
- * @see JavaQueryWidget
- */
-public class JavaQueryStrategy implements IQueryDialogFactoryStrategy {
-
- private final PropertyElement2 implClassNameProp;
-
- public JavaQueryStrategy() {
- this.implClassNameProp = new PropertyElement2(true);
- }
-
- public IAbstractWidget createWidget(
- final Composite parent, final IQueryContext queryContext) {
- return new JavaQueryWidget(parent, queryContext,
- this.implClassNameProp);
- }
-
- public Query createQuery(final boolean canBeCached,
- final boolean sideEffects, final IQueryContext queryContext) {
- JavaQuery result = null;
- final String implClassName = (String) this.implClassNameProp.getValue();
- final JavaQuery query = JavaQueryFactory.eINSTANCE.createJavaQuery();
- query.setCanBeCached(canBeCached);
- query.setCanHaveSideEffects(sideEffects);
- if (implClassName != null) {
- query.setImplementationClassName(implClassName);
- result = query;
- }
- return result;
- }
-
- public String getDialogMessage() {
- return Messages.JavaQueryWizardPage_Java_query_creation_page;
- }
-
- public String getDialogTitle() {
- return Messages.JavaQueryWizardPage_Java_Query;
- }
-
- public String getConclusionText() {
- return this.implClassNameProp.getValue2();
- }
-
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/messages.properties b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/messages.properties
deleted file mode 100644
index b4b09cf65ab..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/messages.properties
+++ /dev/null
@@ -1,39 +0,0 @@
-##########################################################################
-# Copyright (c) 2011 Mia-Software.
-#
-# 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:
-# Nicolas Guyomar (Mia-Software) - Bug 349556 - EMF Facet Java Query wizard
-# Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
-###########################################################################
-# Copy from /org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/emf/facet/query/java/sdk/ui/internal/messages.properties
-Choose_an_operation=Choose an operation:
-Choose_an_operation_desc=Choose whether you want to create a new Java class, or to select an existing one
-Create_new_java_class=Create a new Java Class
-JavaQueryWizardPage_Can_be_cached=Can be cached:
-JavaQueryWizardPage_has_side_effect=Has side effect:
-JavaQueryWizardPage_Java_Class_Name=Java Class name:
-JavaQueryWizardPage_Java_Query=Java Query
-JavaQueryWizardPage_Java_query_creation_page=Java query creation page
-JavaQueryWizardPage_lower_bound=Lower bound:
-JavaQueryWizardPage_Query_name=Query name:
-JavaQueryWizardPage_Browse=Browse
-JavaQueryWizardPage_upper_bound=Upper bound:
-JavaQueryWizardPage_Create=Create
-JavaQueryWizardPage_interface_constraints=The selected class has to implements
-JavaQueryWizardPage_Please_select_a_scope=Please select a scope for this query
-JavaQueryWizardPage_Please_select_create_IJavaQuery_Class=Please select or create an IJavaQuery Class
-JavaQueryWizardPage_Scope=Scope:
-NewClassWizardPage_CreateANewJavaClass=Create a new Java class.
-NewClassWizardPage_JavaClass=Java Class
-NewQueryClassWizardPage_Failed_to_create_java_class=Failed to create a Java class
-NewQueryClassWizardPage_Failed_to_create_query_implementation=Failed to create the Java model query implementation class.
-Select_existing_java_class=Select an existing Java Class
-SelectJavaClassWizardPage_SeclectAJavaClassLongDescription=Select a Java class
-SelectJavaClassWizardPage_SelectAJavaClass=Select a Java class
-Upper_bound=Upper Bound:
-Multi_Values=Multi-values:
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/GetMultiValuesWidgetComposite.java b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/GetMultiValuesWidgetComposite.java
deleted file mode 100644
index b65d86e53d7..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/GetMultiValuesWidgetComposite.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.widget;
-
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Messages;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.widget.component.properties.AbstractGetPropertyWidget;
-import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * This class create a boolean widget to check if the returned value is multiple
- * or not (1 or *).
- */
-public class GetMultiValuesWidgetComposite extends AbstractGetPropertyWidget {
-
- private static final int LABEL_WIDTH_HINT = 110;
-
- /**
- * Constructor.
- *
- * @param parent
- * the parent of this widget.
- * @param propertyElement
- * the property element edited by this widget.
- */
- public GetMultiValuesWidgetComposite(final Composite parent,
- final PropertyElement propertyElement) {
- super(parent, propertyElement);
- setLabelWidthHint(LABEL_WIDTH_HINT);
- }
-
- @Override
- protected String getLabel() {
- return Messages.Multi_Values;
- }
-
- @Override
- public String getError() {
- return null;
- }
-
- @Override
- public void notifyChanged() {
- // Nothing.
- }
-
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/GetOrCreateJavaImplementationWidgetComposite.java b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/GetOrCreateJavaImplementationWidgetComposite.java
deleted file mode 100644
index cc52135a9e8..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/GetOrCreateJavaImplementationWidgetComposite.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.widget;
-
-import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.JavaQueryUIRuntimeException;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Messages;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.SelectOrCreateJavaClassWizard;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.dialog.IDialogCallback;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.widget.component.getorcreate.AbstractGetOrCreateElementWithWizardButtonWidget;
-import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement2;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Widget for the recovery or creation of a java query class.
- */
-public class GetOrCreateJavaImplementationWidgetComposite extends
- AbstractGetOrCreateElementWithWizardButtonWidget {
-
- private final IQueryContext queryContext;
-
- /**
- * Constructor.
- *
- * @param parent
- * the parent of this widget.
- * @param properties
- * the properties.
- * @param queryContext
- * the main queryContext of the model.
- * @param facet
- * the current facet of the model.
- */
- public GetOrCreateJavaImplementationWidgetComposite(final Composite parent,
- final PropertyElement2 implClassNameProp,
- final IQueryContext queryContext) {
- super(parent, implClassNameProp);
- this.queryContext = queryContext;
- }
-
- @Override
- protected String getLabel() {
- return Messages.JavaQueryWizardPage_Java_Class_Name;
- }
-
- @Override
- protected String getErrorMessage() {
- return Messages.JavaQueryWizardPage_Please_select_create_IJavaQuery_Class;
- }
-
- @Override
- protected String getTextFieldInitialText() {
- return null;
- }
-
- @Override
- public void notifyChanged() {
- // Nothing to do.
- }
-
- @Override
- protected SelectOrCreateJavaClassWizard createIWizard() {
- SelectOrCreateJavaClassWizard classCreation = null;
- final IDialogCallback callBack = new IDialogCallback() {
- public void committed(final String result) {
- GetOrCreateJavaImplementationWidgetComposite.this
- .onWizardCommited(result);
- }
- };
- try {
- classCreation = new SelectOrCreateJavaClassWizard(this.queryContext,
- callBack);
- } catch (Exception e) {
- throw new JavaQueryUIRuntimeException(e);
- }
- return classCreation;
- }
-
- protected final void onWizardCommited(final String classQAName) {
- this.getPropertyElement().setValue(classQAName);
- this.getTextField().setText(classQAName);
- }
-
- @Override
- protected void onWizardCanceled() {
- // Not used because SelectOrCreateJavaClassWizard manage event using
- // the call back pattern.
- }
-
- @Override
- protected void onWizardCommited(final SelectOrCreateJavaClassWizard wizard) {
- // Not used because SelectOrCreateJavaClassWizard manage event using
- // the call back pattern.
- }
-
- @Override
- protected SelectOrCreateJavaClassWizard createSynchronizedWizard(
- final SelectOrCreateJavaClassWizard wizard) {
- // TODO Auto-generated method stub
- return null;
- }
-
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/query/JavaQueryWidget.java b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/query/JavaQueryWidget.java
deleted file mode 100644
index 642b08e2bb3..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/query/JavaQueryWidget.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.widget.query;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.ecore.ETypedElement;
-import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.widget.GetOrCreateJavaImplementationWidgetComposite;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.widget.query.AbstractQueryWidget;
-import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement2;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * This class provide the main widget for the creation of a Java query.
- */
-public class JavaQueryWidget extends AbstractQueryWidget {
-
- private final PropertyElement2 implClassNameProp;
- private final IQueryContext queryContext;
-
- /**
- * Constructor.
- *
- * @param parent
- * the parent of this widget.
- * @param editingDomain
- * the current editing domain.
- * @param properties
- * the properties.
- * @param facetSet
- * the main facetSet of the model.
- * @param facet
- * the current facet of the model.
- */
- public JavaQueryWidget(final Composite parent,
- final IQueryContext queryContext,
- final PropertyElement2 implClassNameProp) {
- super(parent);
- this.implClassNameProp = implClassNameProp;
- this.queryContext = queryContext;
- }
-
- @Override
- protected void addSubWidgets() {
- final GetOrCreateJavaImplementationWidgetComposite widget = new GetOrCreateJavaImplementationWidgetComposite(this,
- this.implClassNameProp, this.queryContext);
- addSubWidget(widget);
- }
-
- @Override
- public Command getCommand() {
- // No Command to return.
- return null;
- }
-
- @Override
- public void notifyChanged() {
- // Nothing to do.
- }
-
- @Override
- public void onDialogValidation() {
- // Nothing to do.
- }
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/JavaQueryUtils.java b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/JavaQueryUtils.java
deleted file mode 100644
index 41ec6e22f63..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/JavaQueryUtils.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard;
-
-import java.util.Locale;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.papyrus.emf.facet.efacet.core.FacetUtils;
-import org.eclipse.papyrus.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet;
-import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
-import org.eclipse.jdt.core.IJavaProject;
-
-public final class JavaQueryUtils {
-
- private JavaQueryUtils() {
- // Must no be used
- }
-
- private static final String UNKONWN = "unkonwn"; //$NON-NLS-1$
-
- public static String getDefaultPackageName(
- final IQueryContext queryContext,
- final IJavaProject javaProject) {
- String sourceClassName = UNKONWN;
- final Facet facet = queryContext.getFacet();
- final EClass eClass = FacetUtils.findExtendedEClass(facet);
- if (eClass != null) {
- sourceClassName = eClass.getName();
- }
- final String packageName = javaProject.getProject().getName()
- + ".queries." + sourceClassName.toLowerCase(Locale.getDefault()); //$NON-NLS-1$
- return packageName;
- }
-
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/JdtUtils.java b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/JdtUtils.java
deleted file mode 100644
index 69078668e7b..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/JdtUtils.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.jar.Manifest;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Activator;
-import org.eclipse.papyrus.emf.facet.util.core.Logger;
-import org.eclipse.papyrus.emf.facet.util.core.internal.JavaUtils;
-import org.eclipse.papyrus.emf.facet.util.pde.core.internal.exported.PluginUtils;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.osgi.util.ManifestElement;
-
-public final class JdtUtils {
-
- private JdtUtils() {
- // Must no be used
- }
-
- public static ICompilationUnit createJavaClass(
- final EClassifier returnTypeClass,
- final boolean multiValues, final EClassifier scope,
- final IPackageFragment packageFragment,
- final IPackageFragmentRoot root,
- final String typeName, final String cuName)
- throws JavaModelException {
- IPackageFragment packgeFragment2;
- if (packageFragment == null) {
- packgeFragment2 = root.getPackageFragment(""); //$NON-NLS-1$
- } else {
- packgeFragment2 = packageFragment;
- }
- final String packageName = packgeFragment2.getElementName();
- if (!packgeFragment2.exists()) {
- packgeFragment2 = root.createPackageFragment(packageName, true,
- new NullProgressMonitor());
- }
- final StringBuilder contents = new StringBuilder();
- createJavaClassContents(contents, typeName, packageName,
- returnTypeClass, multiValues, scope);
- return packgeFragment2.createCompilationUnit(cuName,
- contents.toString(),
- false, new NullProgressMonitor());
- }
-
- private static void createJavaClassContents(final StringBuilder contents,
- final String name, final String packageName,
- final EClassifier returnTypeClass, final boolean multiValues,
- final EClassifier scope) {
- if (packageName.length() > 0) {
- contents.append("package "); //$NON-NLS-1$
- contents.append(packageName);
- contents.append(";\n\n"); //$NON-NLS-1$
- }
- boolean importCollection = false;
-
- String returnType;
- String shortReturnType;
- if (returnTypeClass == null) {
- returnType = "java.lang.Object"; //$NON-NLS-1$
- shortReturnType = "Object"; //$NON-NLS-1$
- } else {
- returnType = returnTypeClass.getInstanceClassName();
- returnType = JavaUtils.objectType(returnType);
- final int lastDotPos = returnType.lastIndexOf('.');
- if (multiValues) {
- importCollection = true;
- shortReturnType = "Collection<" + returnType.substring(lastDotPos + 1) + ">"; //$NON-NLS-1$//$NON-NLS-2$
- } else {
- shortReturnType = returnType.substring(lastDotPos + 1);
- }
- }
-
- // EList scope = modelQuery.getScope();
- String scopeType;
- String shortScopeType;
- // if (scope != null && scope.size() == 1) {
- if (scope == null) {
- scopeType = "org.eclipse.emf.ecore.EObject"; //$NON-NLS-1$
- shortScopeType = "EObject"; //$NON-NLS-1$
- } else {
- scopeType = scope.getInstanceClassName();
- scopeType = JavaUtils.objectType(scopeType);
- shortScopeType = scopeType
- .substring(scopeType.lastIndexOf('.') + 1);
- }
-
- if (importCollection) {
- contents.append("import java.util.Collection;\n"); //$NON-NLS-1$
- }
- if (mustImport(returnType)) {
- contents.append("import " + returnType + ";\n"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- if (!returnType.equals(scopeType) && mustImport(scopeType)) {
- contents.append("import " + scopeType + ";\n"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- contents.append("import org.eclipse.papyrus.emf.facet.efacet.core.IFacetManager;\n"); //$NON-NLS-1$
- contents.append("import org.eclipse.papyrus.emf.facet.efacet.core.exception.DerivedTypedElementException;\n"); //$NON-NLS-1$
- contents.append("import org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2;\n"); //$NON-NLS-1$
- contents.append("import org.eclipse.papyrus.emf.facet.query.java.core.IParameterValueList2;\n"); //$NON-NLS-1$
- contents.append("\n"); //$NON-NLS-1$
- contents.append("public class " + name + " implements IJavaQuery2<" + shortScopeType + ", " + shortReturnType + "> {\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- contents.append(" public " + shortReturnType + " evaluate(final " + shortScopeType + " context, \n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- contents.append(" final IParameterValueList2 parameterValues,\n"); //$NON-NLS-1$
- contents.append(" final IFacetManager facetManager)\n"); //$NON-NLS-1$
- contents.append(" throws DerivedTypedElementException {\n"); //$NON-NLS-1$
- contents.append(" // TODO Auto-generated method stub\n"); //$NON-NLS-1$
- contents.append(" return null;\n"); //$NON-NLS-1$
- contents.append(" }\n"); //$NON-NLS-1$
- contents.append("}\n"); //$NON-NLS-1$
- }
-
- private static boolean mustImport(final String type) {
- return type.contains(".") && !type.startsWith("java.lang."); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * Setup the given project's Manifest so that metamodels referenced by the
- * query's returnType
and scope
are available on
- * the classpath.
- */
- public static void setupProject(final IProject project,
- final EClassifier returnType, final EClassifier scope) {
- try {
- final String[] requiredBundles = findRequiredBundles(returnType,
- scope);
- // start with all and then remove those already present
- final List missingBundles = new ArrayList();
- for (final String requiredBundle : requiredBundles) {
- missingBundles.add(requiredBundle);
- }
- missingBundles.add("org.eclipse.papyrus.emf.facet.efacet.core"); //$NON-NLS-1$
- missingBundles.add("org.eclipse.papyrus.emf.facet.query.java.core"); //$NON-NLS-1$
-
- PluginUtils.configureAsPluginProject(project);
- final IFile manifestResource = (IFile) project.findMember(new Path(
- "/META-INF/MANIFEST.MF")); //$NON-NLS-1$
- manifestResource.refreshLocal(IResource.DEPTH_ONE,
- new NullProgressMonitor());
- final InputStream contents = manifestResource.getContents();
- final Manifest manifest = new Manifest(contents);
- final String requires = manifest.getMainAttributes().getValue(
- "Require-Bundle"); //$NON-NLS-1$
- if (requires != null) {
- final ManifestElement[] manifestElements = ManifestElement
- .parseHeader("Require-Bundle", requires); //$NON-NLS-1$
- for (final ManifestElement manifestElement : manifestElements) {
- // make sure it won't be duplicated
- missingBundles.remove(manifestElement.getValue());
- }
- }
-
- final StringBuilder newRequires = new StringBuilder();
- if (requires != null) {
- newRequires.append(requires);
- }
- for (int i = 0; i < missingBundles.size(); i++) {
- final String missingBundle = missingBundles.get(i);
- if ((i != 0) || (requires != null)) {
- newRequires.append(","); //$NON-NLS-1$
- }
- newRequires.append(missingBundle);
- }
-
- manifest.getMainAttributes().putValue(
- "Require-Bundle", newRequires.toString()); //$NON-NLS-1$
-
- final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- manifest.write(outputStream);
- final ByteArrayInputStream inputStream = new ByteArrayInputStream(
- outputStream.toByteArray());
- manifestResource.setContents(inputStream, true, true,
- new NullProgressMonitor());
- } catch (final Exception e) {
- Logger.logError(e, Activator.getDefault());
- }
- }
-
- /**
- * Find the bundles containing the implementations of the metamodels
- * referenced by the given classifiers.
- */
- private static String[] findRequiredBundles(final EClassifier returnType,
- final EClassifier scope) {
- final Set requiredBundles = new HashSet();
- final Set requiredEPackages = new HashSet();
- if (returnType != null) {
- requiredEPackages.add(returnType.getEPackage());
- }
- if (scope != null) {
- requiredEPackages.add(scope.getEPackage());
- }
-
- final Map genModelLocMap = EcorePlugin
- .getEPackageNsURIToGenModelLocationMap();
-
- for (final EPackage ePackage : requiredEPackages) {
- try {
- final URI genModelURI = genModelLocMap.get(ePackage.getNsURI());
- if (genModelURI == null) {
- Logger.logWarning(
- "Couldn't add the metamodel implementation plug-in" //$NON-NLS-1$
- + " to the dependencies automatically because" //$NON-NLS-1$
- + " the corresponding genmodel couldn't be found: " //$NON-NLS-1$
- + ePackage.getNsURI(),
- Activator.getDefault());
- } else {
- final ResourceSet resourceSet = createResource();
- final Resource resource = resourceSet
- .createResource(genModelURI);
- resource.load(Collections.emptyMap());
- final GenModel genModel = (GenModel) resource.getContents()
- .get(0);
- final String modelPluginID = genModel.getModelPluginID();
- if (modelPluginID != null) {
- requiredBundles.add(modelPluginID);
- }
- }
- } catch (final Exception e) {
- Logger.logError(e, Activator.getDefault());
- }
- }
- return requiredBundles.toArray(new String[requiredBundles.size()]);
- }
-
- private static ResourceSetImpl createResource() {
- return new ResourceSetImpl();
- }
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/SelectOrCreateJavaClassWizard.java b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/SelectOrCreateJavaClassWizard.java
deleted file mode 100644
index d5ce0b41458..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/SelectOrCreateJavaClassWizard.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Mia-Software.
- * 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:
- * Gregoire Dupe (Mia-Software)
- * Nicolas Bros (Mia-Software)
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- *******************************************************************************/
-package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.papyrus.emf.facet.custom.metamodel.v0_2_0.custom.ETypedElementCase;
-import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
-import org.eclipse.papyrus.emf.facet.query.java.core.internal.exceptions.ClassAlreadyExistsException;
-import org.eclipse.papyrus.emf.facet.query.java.core.internal.exceptions.ResourceURIExpectedException;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Activator;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Messages;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.page.CreateQueryClassWizardPage;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.page.SelectJavaClassWizardPage;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.page.SelectOrCreateJavaClassWizardPage;
-import org.eclipse.papyrus.emf.facet.util.core.Logger;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.dialog.IDialogCallback;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.wizard.IExtendedWizard;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardDialog;
-
-// Copied from org.eclipse.papyrus.emf.facet.query.java.ui.internal.wizard.SelectOrCreateJavaClassWizard
-public class SelectOrCreateJavaClassWizard extends Wizard implements
- IExtendedWizard {
-
-
- private final WizardDialog dialog;
- private CreateQueryClassWizardPage createClassPage;
- private SelectOrCreateJavaClassWizardPage firstPage;
-
- private final IDialogCallback callBack;
- private SelectJavaClassWizardPage selectClassPage;
- private final IQueryContext queryContext;
-
- public SelectOrCreateJavaClassWizard(final IQueryContext queryContext,
- final IDialogCallback callBack)
- throws ClassAlreadyExistsException, ResourceURIExpectedException,
- JavaModelException {
- super();
- this.queryContext = queryContext;
- this.callBack = callBack;
- this.dialog = new WizardDialog(getShell(), this);
- setWindowTitle(Messages.Choose_an_operation);
-
- // check that the resource is from a platform URI
- final Resource resource = queryContext.getResource();
- final URI uri = resource.getURI();
- if (!uri.isPlatformResource()) {
- throw new ResourceURIExpectedException();
- }
- // check that the class doesn't already exist
- final String projectName = uri.segment(1);
- final IWorkspace workspace = ResourcesPlugin.getWorkspace();
- final IProject project = workspace.getRoot().getProject(projectName);
- final IJavaProject javaProject = JavaCore.create(project);
- final StringBuffer implClassName = new StringBuffer(
- this.queryContext.getDerivedTypedElementName());
- final EObject intermediate = this.queryContext.getIntermediateEObject();
- if (intermediate instanceof ETypedElementCase) {
- final ETypedElementCase eTECase = (ETypedElementCase) intermediate;
- if (eTECase.getCase() != null) {
- implClassName.append(eTECase.getCase().getName());
- }
- }
- implClassName.append("Query"); //$NON-NLS-1$
- if (javaProject.findType(implClassName.toString()) != null) {
- throw new ClassAlreadyExistsException();
- }
- }
-
- @Override
- public void addPages() {
- this.firstPage = new SelectOrCreateJavaClassWizardPage();
- addPage(this.firstPage);
- this.createClassPage = new CreateQueryClassWizardPage(
- this.queryContext);
- addPage(this.createClassPage);
- this.selectClassPage = new SelectJavaClassWizardPage();
- addPage(this.selectClassPage);
- }
-
- private String createJavaClass() {
- return this.createClassPage.apply(this.queryContext.getReturnType(),
- this.queryContext.getUpperBound() > 1,
- this.queryContext.getExtendedEClass());
- }
-
- @Override
- public boolean canFinish() {
- return getContainer().getCurrentPage().isPageComplete();
- }
-
- @Override
- public boolean performFinish() {
- return finish();
- }
-
- public int open() {
- return this.dialog.open();
- }
-
- public IWizardPage getCurrentPage() {
- return getContainer().getCurrentPage();
- }
-
- public IWizardPage next() {
- final IWizardPage nextPage = getNextPage(this.getCurrentPage());
- this.dialog.showPage(nextPage);
- return nextPage;
- }
-
- public IWizardPage previous() {
- final IWizardPage previousPage = getPreviousPage(this.getCurrentPage());
- this.dialog.showPage(previousPage);
- return previousPage;
- }
-
- public boolean finish() {
- boolean result = true;
- try {
- if (getContainer().getCurrentPage() == this.createClassPage) {
- final String classQName = createJavaClass();
- this.callBack.committed(classQName);
- } else if (getContainer().getCurrentPage() == this.selectClassPage) {
- this.callBack.committed(this.selectClassPage.getResult()
- .toString());
- }
- } catch (final Exception e) {
- Logger.logError(e, Activator.getDefault());
- result = false;
- }
- return result;
- }
-
- @Override
- public boolean performCancel() {
- return true;
- }
-
- @Override
- public IWizardPage getNextPage(final IWizardPage page) {
- IWizardPage result = null;
- if (page == this.firstPage) {
- if (this.firstPage.isSelect()) {
- result = this.selectClassPage;
- } else {
- result = this.createClassPage;
- }
- }
- return result;
-
- }
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/CreateQueryClassWizardPage.java b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/CreateQueryClassWizardPage.java
deleted file mode 100644
index 50a9f950506..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/CreateQueryClassWizardPage.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Mia-Software.
- * 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:
- * Gregoire Dupe (Mia-Software)
- * Nicolas Bros (Mia-Software)
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- *******************************************************************************/
-package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.page;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.emf.facet.custom.metamodel.v0_2_0.custom.ETypedElementCase;
-import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
-import org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Activator;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Messages;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.JavaQueryUtils;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.JdtUtils;
-import org.eclipse.papyrus.emf.facet.util.core.Logger;
-import org.eclipse.papyrus.emf.facet.util.core.internal.exported.StringUtils;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jface.dialogs.MessageDialog;
-
-// Copied from org.eclipse.papyrus.emf.facet.query.java.ui.internal.wizard.page.NewQueryClassWizardPage
-public class CreateQueryClassWizardPage extends NewClassWizardPage {
-
- // This class has been copied from
- // org.eclipse.papyrus.emf.facet.infra.query.ui.wizards.NewQueryClassWizardPage
-
- public CreateQueryClassWizardPage(final IQueryContext queryContainer) {
- super();
- final IJavaProject javaProject = JavaCore.create(queryContainer
- .getProject());
- final List interfaceList = new ArrayList();
- interfaceList.add(IJavaQuery2.class.getName());
- setSuperInterfaces(interfaceList, false);
- final String packageName = JavaQueryUtils.getDefaultPackageName(
- queryContainer,
- javaProject);
- final String typeName = getClassName(queryContainer);
- setTypeName(typeName, true);
- selectPackage(javaProject, packageName);
- setModifiers(this.F_PUBLIC, false);
- setSuperClass("", false); //$NON-NLS-1$
- setEnclosingTypeSelection(false, false);
- setAddComments(false, false);
- }
-
- private static String getClassName(final IQueryContext queryContext) {
- final StringBuffer result = new StringBuffer();
- final EObject intermediate = queryContext.getIntermediateEObject();
- if (intermediate instanceof ETypedElementCase) {
- final ETypedElementCase eteCase = (ETypedElementCase) intermediate;
- String caseLabel = ""; //$NON-NLS-1$
- if (eteCase.getCase() != null) {
- caseLabel = eteCase.getCase().getName();
- }
- result.append(StringUtils.firstLetterToUpperCase(caseLabel));
- }
- result.append(StringUtils.firstLetterToUpperCase(queryContext
- .getDerivedTypedElementName()));
- result.append("Query"); //$NON-NLS-1$
- return result.toString();
- }
-
- private void selectPackage(final IJavaProject javaProject,
- final String packageName) {
- try {
- for (final IPackageFragmentRoot packageFragmentRootToTest : javaProject
- .getPackageFragmentRoots()) {
- if (packageFragmentRootToTest.getKind() == IPackageFragmentRoot.K_SOURCE) {
- final IPackageFragmentRoot pkgFragmentRoot = packageFragmentRootToTest;
- setPackageFragmentRoot(pkgFragmentRoot, false);
- final IPackageFragment packageFragment = pkgFragmentRoot
- .getPackageFragment(packageName);
- setPackageFragment(packageFragment, true);
- break;
- }
- }
- } catch (final JavaModelException e1) {
- Logger.logError(e1, Activator.getDefault());
- }
- }
-
- public String apply(final EClassifier returnType,
- final boolean multiValues,
- final EClassifier scope) {
- String result = ""; //$NON-NLS-1$
- try {
- final IPackageFragmentRoot root = getPackageFragmentRoot();
- final IPackageFragment packageFragment = getPackageFragment();
- final String typeName = getTypeName();
- final String cuName = getCompilationUnitName(typeName);
- final ICompilationUnit javaClass = JdtUtils.createJavaClass(
- returnType, multiValues, scope, packageFragment, root,
- typeName, cuName);
- final IProject project = javaClass.getCorrespondingResource()
- .getProject();
- JdtUtils.setupProject(project, returnType, scope);
- result = packageFragment.getElementName() + '.' + typeName;
- } catch (final Exception e) {
- Logger.logError(e, Activator.getDefault());
- MessageDialog
- .openError(
- getShell(),
- Messages.NewQueryClassWizardPage_Failed_to_create_java_class,
- Messages.NewQueryClassWizardPage_Failed_to_create_query_implementation);
- }
- return result;
- }
-
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/NewClassWizardPage.java b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/NewClassWizardPage.java
deleted file mode 100644
index 7e9d8ac5e12..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/NewClassWizardPage.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * Copyright (c) 2011 Mia-Software.
- *
- * 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:
- * Nicolas Guyomar (Mia-Software) - Bug 349556 - EMF Facet Java Query wizard
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.page;
-
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Messages;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.ui.wizards.NewTypeWizardPage;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-// Copied from org.eclipse.papyrus.emf.facet.query.java.ui.internal.wizard.page.NewClassWizardPage
-public class NewClassWizardPage extends NewTypeWizardPage {
-
- private static final String PAGE_NAME = "NewClassWizardPage"; //$NON-NLS-1$
- private static final int COLUMN_NB = 4;
-
- public NewClassWizardPage() {
- super(true, NewClassWizardPage.PAGE_NAME);
- setTitle(Messages.NewClassWizardPage_JavaClass);
- setDescription(Messages.NewClassWizardPage_CreateANewJavaClass);
- }
-
- public void init(final IStructuredSelection selection) {
- final IJavaElement javaElement = getInitialJavaElement(selection);
- initContainerPage(javaElement);
- initTypePage(javaElement);
- }
-
- public void createControl(final Composite parent) {
- initializeDialogUnits(parent);
-
- final Composite composite = new Composite(parent, SWT.NONE);
- composite.setFont(parent.getFont());
-
- final GridLayout layout = new GridLayout();
- layout.numColumns = COLUMN_NB;
- composite.setLayout(layout);
-
- createContainerControls(composite, COLUMN_NB);
- createPackageControls(composite, COLUMN_NB);
-
- createSeparator(composite, COLUMN_NB);
-
- createTypeNameControls(composite, COLUMN_NB);
- createModifierControls(composite, COLUMN_NB);
-
- createSuperInterfacesControls(composite, COLUMN_NB);
-
- setControl(composite);
-
- Dialog.applyDialogFont(composite);
- }
-
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/SelectJavaClassWizardPage.java b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/SelectJavaClassWizardPage.java
deleted file mode 100644
index 3d8704adc50..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/SelectJavaClassWizardPage.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/**
- * Copyright (c) 2011 Mia-Software.
- *
- * 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:
- * Nicolas Guyomar (Mia-Software) - Bug 349556 - EMF Facet Java Query wizard
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.page;
-
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Activator;
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Messages;
-import org.eclipse.papyrus.emf.facet.util.core.Logger;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.ui.IJavaElementSearchConstants;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.SelectionDialog;
-
-// Copied from org.eclipse.papyrus.emf.facet.query.java.ui.internal.wizard.page.SelectOrCreateJavaClassWizardPage
-public class SelectJavaClassWizardPage extends WizardPage {
-
- private String result;
- private Text text;
-
- public SelectJavaClassWizardPage() {
- super("SelectJavaClass"); //$NON-NLS-1$
- setTitle(Messages.SelectJavaClassWizardPage_SelectAJavaClass);
- setDescription(Messages.SelectJavaClassWizardPage_SeclectAJavaClassLongDescription);
- }
-
- public void createControl(final Composite parent) {
- final Composite composite = new Composite(parent, SWT.NONE);
- composite.setLayout(new GridLayout());
- final Button dialogBtn = new Button(composite, SWT.PUSH);
- dialogBtn.setText("Open the class selection wizard..."); //$NON-NLS-1$
- final SelectionListener listener = new SelectionListener() {
- public void widgetSelected(final SelectionEvent event) {
- SelectJavaClassWizardPage.this.openSelectionDialog();
- }
-
- public void widgetDefaultSelected(final SelectionEvent event) {
- // Noting to do
- }
- };
- dialogBtn.addSelectionListener(listener);
- this.text = new Text(composite, SWT.BORDER);
- setControl(composite);
- setPageComplete(false);
- }
-
- protected void openSelectionDialog() {
- final Display display = Display.getDefault();
- display.asyncExec(new Runnable() {
- public void run() {
- final Shell shell = new Shell(display);
- SelectionDialog dialog;
- try {
- dialog = JavaUI.createTypeDialog(shell,
- new ProgressMonitorDialog(shell),
- SearchEngine.createWorkspaceScope(),
- IJavaElementSearchConstants.CONSIDER_CLASSES, false);
- dialog.open();
- final boolean cancelled = (dialog.getReturnCode() == Window.CANCEL);
- Object dilaogResult = null;
- if (!cancelled && dialog.getResult()[0] instanceof IType) {
- final IType type = (IType) dialog.getResult()[0];
- dilaogResult = type.getFullyQualifiedName();
- }
- SelectJavaClassWizardPage.this.dialogClosed(dilaogResult,
- cancelled);
- } catch (JavaModelException e) {
- Logger.logError(e, Activator.getDefault());
- SelectJavaClassWizardPage.this.dialogClosed(null, true);
- }
- }
- });
- }
-
- protected void dialogClosed(final Object dialogResult, final boolean cancelled) {
- if (cancelled) {
- this.getPreviousPage();
- } else {
- if (dialogResult != null && dialogResult.toString().length() > 0) {
- this.result = dialogResult.toString();
- this.text.setText(dialogResult.toString());
- setPageComplete(true);
- } else {
- setPageComplete(false);
- }
- }
- }
-
- public String getResult() {
- return this.result;
- }
-
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/SelectOrCreateJavaClassWizardPage.java b/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/SelectOrCreateJavaClassWizardPage.java
deleted file mode 100644
index 51943050be3..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/SelectOrCreateJavaClassWizardPage.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
- * Copyright (c) 2011 Mia-Software.
- *
- * 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:
- * Nicolas Guyomar (Mia-Software) - Bug 349556 - EMF Facet Java Query wizard
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.page;
-
-import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Messages;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-
-// Copied from org.eclipse.papyrus.emf.facet.query.java.ui.internal.wizard.page.SelectOrCreateJavaClassWizardPage
-public class SelectOrCreateJavaClassWizardPage extends WizardPage {
-
- private Button selectButton;
-
- private final SelectionListener selectionListener = new SelectionListener() {
- public void widgetSelected(final SelectionEvent event) {
- onSelection();
- }
-
- public void widgetDefaultSelected(final SelectionEvent event) {
- // Nothing
- }
- };
-
- public SelectOrCreateJavaClassWizardPage() {
- super("Whatever"); //$NON-NLS-1$
- setTitle(Messages.Choose_an_operation);
- setDescription(Messages.Choose_an_operation_desc);
- }
-
- public void createControl(final Composite parent) {
- final Composite container = new Composite(parent, SWT.NONE);
- container.setLayout(new GridLayout(1, false));
- // Create the creation radio button
- final Button createButton = new Button(container, SWT.RADIO);
- createButton.setText(Messages.Create_new_java_class);
- createButton.addSelectionListener(this.selectionListener);
- // Create the creation radio button
- this.selectButton = new Button(container, SWT.RADIO);
- this.selectButton.setText(Messages.Select_existing_java_class);
- this.selectButton.addSelectionListener(this.selectionListener);
- setControl(container);
- }
-
- public boolean canFinish() {
- return this.selectButton.getSelection();
- }
-
-
- protected void onSelection() {
- getContainer().updateButtons();
- }
-
- public boolean isSelect() {
- return this.selectButton.getSelection();
- }
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.checkstyle b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.checkstyle
deleted file mode 100644
index 2664c7abd61..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.checkstyle
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.classpath b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.classpath
deleted file mode 100644
index 2d1a4302f04..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.pmd b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.pmd
deleted file mode 100644
index e8d3e27588f..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.pmd
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
- true
- ../org.eclipse.papyrus.emf.facet.archi.tech.rules/pmd/ruleset.xml
- false
- true
-
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.project b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.project
deleted file mode 100644
index 580b1b197df..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.project
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
- org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
- net.sourceforge.pmd.eclipse.plugin.pmdBuilder
-
-
-
-
- net.sf.eclipsecs.core.CheckstyleBuilder
-
-
-
-
-
- org.eclipse.pde.PluginNature
- org.eclipse.jdt.core.javanature
- net.sourceforge.pmd.eclipse.plugin.pmdNature
- net.sf.eclipsecs.core.CheckstyleNature
-
-
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.settings/org.eclipse.core.resources.prefs b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 4824b802631..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 060c5ee3d2e..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,11 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/META-INF/MANIFEST.MF b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 11eb46b56a4..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.Activator
-Bundle-Vendor: %Bundle-Vendor
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.papyrus.emf.facet.util.ui;bundle-version="0.3.0",
- org.eclipse.papyrus.emf.facet.efacet.sdk.ui;bundle-version="0.3.0",
- org.eclipse.emf.ecore;bundle-version="2.6.0",
- org.eclipse.papyrus.emf.facet.efacet.metamodel;bundle-version="0.3.0",
- org.eclipse.papyrus.emf.facet.query.ocl.metamodel;bundle-version="0.3.0",
- org.eclipse.emf.edit;bundle-version="2.6.0",
- org.eclipse.papyrus.emf.facet.query.ocl.core;bundle-version="0.3.0",
- org.eclipse.ocl.ecore;bundle-version="3.0.0",
- org.eclipse.papyrus.emf.facet.efacet.core;bundle-version="0.3.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.dialog,
- org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.widget,
- org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.widget.oclexpression
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/OSGI-INF/l10n/bundle.properties b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index 7f61301e5ee..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2012 Mia-Software.
-#
-# 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:
-# Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
-###############################################################################
-Bundle-Vendor = Eclipse Modeling Project
-Bundle-Name = EMF Facet OCL Query SDK UI (Incubation)
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/about.html b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/about.html
deleted file mode 100644
index aacf0cfd3b9..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-About
-
-
-About This Content
-
-August 17, 2012
-License
-
-The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at http://www.eclipse.org/legal/epl-v10.html.
-For purposes of the EPL, "Program" will mean the Content.
-
-If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at http://www.eclipse.org.
-
-
-
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/build.properties b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/build.properties
deleted file mode 100644
index 341fc62b2b9..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2012 Mia-Software.
-#
-# 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:
-# Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- OSGI-INF/,\
- plugin.xml,\
- about.html
-javacDefaultEncoding.. = UTF-8
-src.includes = about.html
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/plugin.xml b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/plugin.xml
deleted file mode 100644
index 753e8a41f19..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/plugin.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/dialog/IOclDialogFactory.java b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/dialog/IOclDialogFactory.java
deleted file mode 100644
index cc1bac601c7..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/dialog/IOclDialogFactory.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.dialog;
-
-import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.dialog.query.IQueryDialogFactory;
-
-public interface IOclDialogFactory extends IQueryDialogFactory {
-
- void setExpression(final String expression);
-
-}
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/Activator.java b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/Activator.java
deleted file mode 100644
index 333502ad9b4..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/Activator.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Copyright (c) 2012 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:
- * Gregoire Dupe (Mia-Software) - Bug 372626 - Aggregates
- */
-package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-// Copied from org.eclipse.papyrus.emf.facet.aggregate.metamodel.notgenerated
-@SuppressWarnings("PMD.UseSingleton")
-// @SuppressWarnings("PMD.UseSingleton") We cannot conforms to this rule because
-// this class is an Eclipse plug-in activator which will be instantiated by the
-// Eclipse framework.
-public class Activator extends Plugin {
-
- private static Activator plugin;
-
- @Override
- @SuppressWarnings("PMD.SignatureDeclareThrowsException")
- // @SuppressWarnings("PMD.SignatureDeclareThrowsException") We have to use
- // this signature because this is an override of an Eclipse framework's
- // method.
- public void start(final BundleContext bundleContext) throws Exception {
- super.start(bundleContext);
- Activator.plugin = this;
- }
-
- @Override
- @SuppressWarnings("PMD.SignatureDeclareThrowsException")
- // @SuppressWarnings("PMD.SignatureDeclareThrowsException") We have to use
- // this signature because this is an override of an Eclipse framework's
- // method.
- public void stop(final BundleContext bundleContext) throws Exception {
- // NOPMD: PMD say "Assigning an Object to null is a code smell."
- // No choice to right it in another way : this is an Eclipse pattern.
- Activator.plugin = null; // NOPMD by gdupe on 30/03/12 10:19
- super.stop(bundleContext);
- }
-
- public static Plugin getDefault() {
- return Activator.plugin;
- }
-
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/Messages.java b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/Messages.java
deleted file mode 100644
index 68cd5a4df3a..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/Messages.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.messages"; //$NON-NLS-1$
-
- public static String Query_Context;
- public static String Return_type;
- public static String Type_returned;
-
- public static String OclDialogFactory_OclExpression;
-
- public static String OclExpression_Error;
- public static String OclQueryDialogFactory_Dialog_Desc;
- public static String OclQueryDialogFactory_Dialog_Title;
- public static String Expression;
- public static String Expression_return_type_not_valid;
- public static String Expression_not_valid;
-
- // OCL expression
- public static String Create_Ocl_expression;
- public static String Create_the;
- public static String OclExpression_Error_type;
-
- // OCL
- public static String console_badContextForQuery;
- public static String console_badContextForConstraint;
- static {
- // initialize resource bundle
- NLS.initializeMessages(Messages.BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/dialog/OclDialogFactory.java b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/dialog/OclDialogFactory.java
deleted file mode 100644
index 3c84dbc8340..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/dialog/OclDialogFactory.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.dialog;
-
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
-import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryDialogFactoryStrategy;
-import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.query.AbstractQueryDialogFactory;
-import org.eclipse.papyrus.emf.facet.query.ocl.metamodel.oclquery.OclQuery;
-import org.eclipse.papyrus.emf.facet.query.ocl.metamodel.oclquery.OclQueryFactory;
-import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.Messages;
-import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.query.OclQueryWidget;
-import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.query.SynchonizedOclQueryWidget;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.widget.IAbstractWidget;
-import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement2;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Concrete implementation of {@link AbstractQueryDialogFactory} for the
- * creation of OCLExpression.
- *
- * @see AbstractQueryDialogFactory
- */
-public class OclDialogFactory implements IQueryDialogFactoryStrategy {
-
- private final PropertyElement2 oclExpressionProp;
-
- public OclDialogFactory() {
- this.oclExpressionProp = new PropertyElement2(false,
- Messages.OclDialogFactory_OclExpression);
- }
-
- public IAbstractWidget createWidget(
- final Composite parent, final IQueryContext queryContext) {
- // An OCL query by definition can't have side effects.
- return new SynchonizedOclQueryWidget(new OclQueryWidget(parent,
- this.oclExpressionProp, queryContext), parent.getDisplay());
- }
-
- public String getDialogMessage() {
- return Messages.OclQueryDialogFactory_Dialog_Desc;
- }
-
- public String getDialogTitle() {
- return Messages.OclQueryDialogFactory_Dialog_Title;
- }
-
- public String getConclusionText() {
- return this.oclExpressionProp.getValue2();
- }
-
- public OclQuery createQuery(final boolean canBeCached,
- final boolean sideEffects, final IQueryContext queryContext) {
- OclQuery query = null;
- final String oclExpression = (String) this.oclExpressionProp.getValue();
- final EClassifier context = queryContext.getExtendedEClass();
- if ((oclExpression != null) && (context != null)) {
- query = OclQueryFactory.eINSTANCE.createOclQuery();
- query.setCanBeCached(true);
- query.setCanHaveSideEffects(false);
- query.setOclExpression(oclExpression);
- query.setContext(context);
- }
- return query;
- }
-
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/exception/OclQueryRuntimeException.java b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/exception/OclQueryRuntimeException.java
deleted file mode 100644
index 39d6967b0e1..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/exception/OclQueryRuntimeException.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.exception;
-
-public class OclQueryRuntimeException extends RuntimeException {
-
- private static final long serialVersionUID = -3675130124806299967L;
-
- public OclQueryRuntimeException(final String message) {
- super(message);
- }
-
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/messages.properties b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/messages.properties
deleted file mode 100644
index 8a5cb9243d9..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/messages.properties
+++ /dev/null
@@ -1,104 +0,0 @@
-########################################################################
-# Copyright (c) 2012 Mia-Software.
-#
-# 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:
-# Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
-# Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
-########################################################################
-OclDialogFactory_OclExpression=OCL expression
-OclQueryDialogFactory_Dialog_Desc=Create a new OCL query
-OclQueryDialogFactory_Dialog_Title=New OCL query
-OclExpression_Error=You must create a valid OCL expression
-Expression=Expression :
-Edition_Group=Edition
-Previous=Previous
-Next=Next
-Expression_return_type_not_valid=The type returned by the expression is not valid
-Expression_not_valid=The OCL expression is not valid
-Return_type=Expected type :
-Type_returned=Type returned :
-Select_choice=You must select an element
-Select_option= = Select an option =
-
-Create_next_step=Add an new element at the expression
-
-New_wizard=New Element
-
-Can_finish=OR you can rather finish the expression
-
-#### Wizard Pages
-Choice_step_name=Select an option
-Choice_step_message=Select an option for the current expression.
-String_step_name=String comparison
-String_step_message=Compare the string to an other one.
-Operation_step_name=Create the operation expression
-Operation_step_message=Create the operation expression for the selected operation
-
-#### OCL Expression
-Create_Ocl_expression=Create an OCL Expression
-Create_the=Create the parameter
-OclExpression_Error_type=The type returned by the expression is not correct, expected :
-
-#### Booleans
-Add_a_boolean_expression=Add a boolean expression
-
-Or_tree_item=OR
-Or_menu_item=Or
-
-And_tree_item=AND
-And_menu_item=And
-
-Not_tree_item=NOT
-Not_menu_item=Not
-
-#### Comparator
-Add_a_comparator=Add a comparator
-
-Equal==
-Different=<>
-Gretter=>
-Gretter_equal=>=
-Lower=<
-Lower_equal=<=
-
-#### Constant
-Add_constant=Add a constant
-Create_new_constant=Create a new constant
-
-String=String
-Integer=Integer
-Real=Real
-Real_error=You must enter a real number (like 42.1337)
-Real_can_be_null=The real can't be null
-Boolean=Boolean
-
-#### Dynamic Menu Attributes
-Attributes_of=Attributes of
-
-#### OCL
-
-console_badContextForQuery = Must select a model element on which to evaluate the query.
-console_badContextForConstraint = Must select a classifier, operation, or attribute on which to parse the constraint.
-
-
-#### Let
-Create_Let_expression=Create a let Expression
-Variable_Name=Name :
-Variable_Type=Type :
-Variable_Select_Type: Select a type
-Variable_Expression=Expression :
-
-Variable_Name_Error=You must set a name for the variable
-Variable_Type_Error=You must set a type for the variable
-
-#### Variables
-Variable=Variables
-
-Query_Context=Context :
-Delete_Item=Delete item
-Parameters_for : Parameters for
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/PrintQueryContextWidget.java b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/PrintQueryContextWidget.java
deleted file mode 100644
index 89606dfb085..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/PrintQueryContextWidget.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget;
-
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.Messages;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.widget.component.properties.name.AbstractPrintElementWidget;
-import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement;
-import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement2;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Widget for the display of the expected type. Display a simple text field, not
- * editable with the type expected in it.
- */
-public class PrintQueryContextWidget extends
- AbstractPrintElementWidget {
-
- /**
- * Constructor.
- *
- * @param parent
- * the parent of this widget.
- * @param propertyElement
- * the {@link PropertyElement} that this widget will edit.
- */
- public PrintQueryContextWidget(final Composite parent,
- final PropertyElement2 propertyElement) {
- super(parent, propertyElement);
- }
-
- @Override
- protected String getLabel() {
- return Messages.Query_Context;
- }
-
- @Override
- public void notifyChanged() {
- // Nothing.
- }
-
- @Override
- protected String getErrorMessage() {
- return null;
- }
-
- @Override
- protected String getTextFieldInitialText() {
- return this.getPropertyElement().getValue2().getName();
- }
-
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/PrintQueryReturnTypeWidget.java b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/PrintQueryReturnTypeWidget.java
deleted file mode 100644
index b78b0aadfaf..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/PrintQueryReturnTypeWidget.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget;
-
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.Messages;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.widget.component.properties.name.AbstractPrintElementWidget;
-import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement;
-import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement2;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Widget for the display of the expected type. Display a simple text field, not
- * editable with the type expected in it.
- */
-public class PrintQueryReturnTypeWidget extends
- AbstractPrintElementWidget {
-
- /**
- * Constructor.
- *
- * @param parent
- * the parent of this widget.
- * @param propertyElement
- * the {@link PropertyElement} that this widget will edit.
- */
- public PrintQueryReturnTypeWidget(final Composite parent,
- final PropertyElement2 propertyElement) {
- super(parent, propertyElement);
- }
-
- @Override
- protected String getLabel() {
- return Messages.Return_type;
- }
-
- @Override
- public void notifyChanged() {
- // Nothing.
- }
-
- @Override
- protected String getErrorMessage() {
- return null;
- }
-
- @Override
- protected String getTextFieldInitialText() {
- return this.getPropertyElement().getValue2().getName();
- }
-
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/oclexpression/OclExpressionWidgetSimple.java b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/oclexpression/OclExpressionWidgetSimple.java
deleted file mode 100644
index 7afe5e0d520..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/oclexpression/OclExpressionWidgetSimple.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.oclexpression;
-
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.papyrus.emf.facet.query.ocl.core.util.OclQueryUtil;
-import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.Messages;
-import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.widget.oclexpression.IOCLExpressionWidget;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.widget.AbstractWidget;
-import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement;
-import org.eclipse.ocl.ParserException;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Simple widget for the edition of a complexe OCl expression.
- */
-public class OclExpressionWidgetSimple extends AbstractWidget implements
- IOCLExpressionWidget {
-
- private static final String UNREC_VAR = "Unrecognized variable"; //$NON-NLS-1$
- private static final int TEXT_HEIGHT = 100;
- private final EClassifier context;
- private final String expression;
- private Text text;
- private final PropertyElement oclExpressionProp;
-
- public OclExpressionWidgetSimple(final Composite parent,
- final EClassifier context, final String expression,
- final PropertyElement oclExpressionProp) {
- super(parent);
- this.context = context;
- this.expression = expression;
- this.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- this.oclExpressionProp = oclExpressionProp;
- }
-
- @Override
- protected void addSubWidgets() {
- this.text = new Text(this, SWT.MULTI | SWT.V_SCROLL);
- final GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
- gridData.heightHint = TEXT_HEIGHT;
- this.text.setLayoutData(gridData);
-
- if (this.expression != null) {
- this.text.setText(this.expression);
- }
- }
-
- @Override
- public String getError() {
- String result = null;
-
- final String textExpression = this.text.getText().trim();
- if ("".equals(textExpression)) { //$NON-NLS-1$
- result = Messages.OclExpression_Error;
- } else {
- try {
- OclQueryUtil.createOCLExpression(this.context, textExpression);
- this.oclExpressionProp.setValue(textExpression);
- } catch (final ParserException exception) {
- if (exception.getMessage().contains(UNREC_VAR)) {
- this.oclExpressionProp.setValue(textExpression);
- } else {
- result = Messages.OclExpression_Error
- + " :\n - " + exception.getMessage(); //$NON-NLS-1$
- }
- }
- }
-
- return result;
- }
-
- @Override
- public void notifyChanged() {
- // Nothing to do.
- }
-
- public void setExpression(final String expression) {
- this.text.setText(expression);
- }
-
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/query/OclQueryWidget.java b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/query/OclQueryWidget.java
deleted file mode 100644
index de95018922c..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/query/OclQueryWidget.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.query;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.ETypedElement;
-import org.eclipse.papyrus.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
-import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
-import org.eclipse.papyrus.emf.facet.query.ocl.metamodel.oclquery.OclQuery;
-import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.PrintQueryContextWidget;
-import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.PrintQueryReturnTypeWidget;
-import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.oclexpression.OclExpressionWidgetSimple;
-import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.widget.IOclQueryWidget;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.widget.query.AbstractQueryWidget;
-import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement;
-import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement2;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * It is the main widget of the main dialog. This widget add the expected return
- * type and display the tree.
- */
-public class OclQueryWidget extends AbstractQueryWidget implements IOclQueryWidget {
-
- private final PropertyElement oclExpressionProp;
- private OclExpressionWidgetSimple oclExprWidget;
- private final IQueryContext queryContext;
-
- /**
- * Constructor.
- *
- * @param parent
- * the parent of this widget.
- * @param properties
- * the properties for this widget.
- * @param context
- * the context of the OCL expression.
- * @param returnType
- * the type that the OCL expression must return.
- * @param initialQuery
- * the initial {@link OclQuery} if there is one (can be null).
- * @param facet
- */
- public OclQueryWidget(final Composite parent,
- final PropertyElement oclExpressionProp,
- final IQueryContext queryContext) {
- super(parent);
- this.queryContext = queryContext;
- this.oclExpressionProp = oclExpressionProp;
- }
-
- @Override
- protected void addSubWidgets() {
- final EClassifier extendedEClass = this.queryContext
- .getExtendedEClass();
- addSubWidget(new PrintQueryContextWidget(this,
- new PropertyElement2(false, extendedEClass)));
- final EClassifier returnType = this.queryContext.getReturnType();
- addSubWidget(new PrintQueryReturnTypeWidget(this,
- new PropertyElement2(false, returnType)));
- String expression;
- final Query initialQuery = this.queryContext.getQuery();
- if (initialQuery instanceof OclQuery) {
- final OclQuery oclQuery = (OclQuery) initialQuery;
- expression = oclQuery.getOclExpression();
- } else {
- expression = (String) this.oclExpressionProp.getValue();
- }
- this.oclExprWidget = new OclExpressionWidgetSimple(this,
- extendedEClass, expression, this.oclExpressionProp);
- addSubWidget(this.oclExprWidget);
- }
-
- @Override
- public Command getCommand() {
- // This widget doesn't create any command.
- return null;
- }
-
- @Override
- public void notifyChanged() {
- // Nothing to do.
- }
-
- @Override
- public void onDialogValidation() {
- // Nothing
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.query.IOclQueryWidget#setExpression(java.lang.String)
- */
- public void setExpression(final String expression) {
- this.oclExprWidget.setExpression(expression);
- }
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/query/SynchonizedOclQueryWidget.java b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/query/SynchonizedOclQueryWidget.java
deleted file mode 100644
index 0e5a6fdeeb9..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/query/SynchonizedOclQueryWidget.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.query;
-
-import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.widget.IOclQueryWidget;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.displaysync.AbstractExceptionFreeRunnable;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.displaysync.AbstractVoidExceptionFreeRunnable;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.displaysync.SynchronizedObject;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.widget.AbstractWidget;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.widget.IAbstractWidget;
-import org.eclipse.swt.widgets.Display;
-
-public class SynchonizedOclQueryWidget extends
- SynchronizedObject implements IOclQueryWidget,
- IAbstractWidget {
-
- public SynchonizedOclQueryWidget(final OclQueryWidget widget,
- final Display display) {
- super(widget, display);
- }
-
- public void setExpression(final String expression) {
- voidExceptionFreeRunnable(new AbstractVoidExceptionFreeRunnable() {
- @Override
- public void voidSafeRun() {
- SynchonizedOclQueryWidget.this.getSynchronizedObject()
- .setExpression(expression);
- }
- });
- }
-
- public void addListener(final AbstractWidget abstractWidget) {
- voidExceptionFreeRunnable(new AbstractVoidExceptionFreeRunnable() {
- @Override
- public void voidSafeRun() {
- SynchonizedOclQueryWidget.this.getSynchronizedObject()
- .addListener(abstractWidget);
- }
- });
- }
-
- public void notifyChanged() {
- voidExceptionFreeRunnable(new AbstractVoidExceptionFreeRunnable() {
- @Override
- public void voidSafeRun() {
- SynchonizedOclQueryWidget.this.getSynchronizedObject()
- .notifyChanged();
- }
- });
- }
-
- public void createWidgetContent() {
- voidExceptionFreeRunnable(new AbstractVoidExceptionFreeRunnable() {
- @Override
- public void voidSafeRun() {
- SynchonizedOclQueryWidget.this.getSynchronizedObject()
- .createWidgetContent();
- }
- });
- }
-
- public String getError() {
- return safeSyncExec(new AbstractExceptionFreeRunnable() {
- @Override
- public String safeRun() {
- // TODO Auto-generated method stub
- return SynchonizedOclQueryWidget.this.getSynchronizedObject()
- .getError();
- }
- });
- }
-
-}
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/widget/IOclQueryWidget.java b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/widget/IOclQueryWidget.java
deleted file mode 100644
index ff2d5696139..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/widget/IOclQueryWidget.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.widget;
-
-public interface IOclQueryWidget {
-
- void setExpression(final String expression);
-
-}
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/widget/oclexpression/IOCLExpressionWidget.java b/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/widget/oclexpression/IOCLExpressionWidget.java
deleted file mode 100644
index d9ee22f4934..00000000000
--- a/plugins/facet/org.eclipse.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/widget/oclexpression/IOCLExpressionWidget.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.widget.oclexpression;
-
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.widget.IAbstractWidget;
-
-/**
- * @see OCLExpressionWidget
- * @noextend This interface is not intended to be extended by clients.
- * @noimplement This interface is not intended to be implemented by clients.
- */
-public interface IOCLExpressionWidget extends IAbstractWidget {
-
- /**
- * @param expression
- */
- void setExpression(String expression);
-
-}
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/.checkstyle b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/.checkstyle
new file mode 100644
index 00000000000..2664c7abd61
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/.checkstyle
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/.classpath b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/.classpath
new file mode 100644
index 00000000000..2d1a4302f04
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/.pmd b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/.pmd
new file mode 100644
index 00000000000..e8d3e27588f
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/.pmd
@@ -0,0 +1,7 @@
+
+
+ true
+ ../org.eclipse.papyrus.emf.facet.archi.tech.rules/pmd/ruleset.xml
+ false
+ true
+
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/.project b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/.project
new file mode 100644
index 00000000000..994c6376423
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/.project
@@ -0,0 +1,40 @@
+
+
+ org.eclipse.papyrus.emf.facet.query.java.sdk.ui
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+ net.sf.eclipsecs.core.CheckstyleBuilder
+
+
+
+
+ net.sourceforge.pmd.eclipse.plugin.pmdBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+ net.sf.eclipsecs.core.CheckstyleNature
+ net.sourceforge.pmd.eclipse.plugin.pmdNature
+
+
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/.settings/org.eclipse.core.resources.prefs b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..4824b802631
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/META-INF/MANIFEST.MF b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..60883a39f8b
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,27 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.emf.facet.query.java.sdk.ui;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Activator
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.papyrus.emf.facet.efacet.sdk.ui;bundle-version="0.2.0",
+ org.eclipse.papyrus.emf.facet.efacet.metamodel;bundle-version="0.2.0",
+ org.eclipse.papyrus.emf.facet.query.java.metamodel;bundle-version="0.2.0",
+ org.eclipse.papyrus.emf.facet.util.ui;bundle-version="0.3.0",
+ org.eclipse.papyrus.emf.facet.util.core;bundle-version="0.2.0",
+ org.eclipse.papyrus.emf.facet.query.java.core;bundle-version="0.2.0",
+ org.eclipse.core.resources;bundle-version="3.6.0",
+ org.eclipse.emf.ecore;bundle-version="2.6.0",
+ org.eclipse.emf.common.ui;bundle-version="2.6.0",
+ org.eclipse.emf;bundle-version="2.6.0",
+ org.eclipse.jdt.core;bundle-version="3.6.0",
+ org.eclipse.emf.codegen.ecore;bundle-version="2.6.0",
+ org.eclipse.emf.edit;bundle-version="2.6.0",
+ org.eclipse.jdt.ui;bundle-version="3.6.0",
+ org.eclipse.papyrus.emf.facet.custom.metamodel;bundle-version="0.3.0",
+ org.eclipse.papyrus.emf.facet.util.pde.core;bundle-version="0.4.0"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Vendor: %Bundle-Vendor
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/OSGI-INF/l10n/bundle.properties b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 00000000000..42058f0e1c2
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,13 @@
+###############################################################################
+# Copyright (c) 2012 Mia-Software.
+#
+# 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:
+# Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+###############################################################################
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = EMF Facet Java Query UI (Incubation)
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/about.html b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/about.html
new file mode 100644
index 00000000000..aacf0cfd3b9
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/about.html
@@ -0,0 +1,28 @@
+
+
+
+
+About
+
+
+About This Content
+
+August 17, 2012
+License
+
+The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at http://www.eclipse.org/legal/epl-v10.html.
+For purposes of the EPL, "Program" will mean the Content.
+
+If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at http://www.eclipse.org.
+
+
+
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/build.properties b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/build.properties
new file mode 100644
index 00000000000..b28b108392b
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/build.properties
@@ -0,0 +1,20 @@
+###############################################################################
+# Copyright (c) 2012 Mia-Software.
+#
+# 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:
+# Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+###############################################################################
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ OSGI-INF/,\
+ about.html
+javacDefaultEncoding.. = UTF-8
+src.includes = about.html
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/plugin.xml b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/plugin.xml
new file mode 100644
index 00000000000..35fe2b8d723
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/plugin.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/Activator.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/Activator.java
new file mode 100644
index 00000000000..1c6a310e3a5
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/Activator.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2012 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:
+ * Gregoire Dupe (Mia-Software) - Bug 372626 - Aggregates
+ */
+package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+// Copied from /org.eclipse.papyrus.emf.facet.aggregate.metamodel.notgenerated/src/org/eclipse/emf/facet/aggregate/metamodel/notgenerated/internal/Activator.java
+@SuppressWarnings("PMD.UseSingleton")
+// @SuppressWarnings("PMD.UseSingleton") We cannot conforms to this rule because
+// this class is an Eclipse plug-in activator which will be instantiated by the
+// Eclipse framework.
+public class Activator extends Plugin {
+
+ private static Activator plugin;
+
+ @Override
+ @SuppressWarnings("PMD.SignatureDeclareThrowsException")
+ // @SuppressWarnings("PMD.SignatureDeclareThrowsException") We have to use
+ // this signature because this is an override of an Eclipse framework's
+ // method.
+ public void start(final BundleContext bundleContext) throws Exception {
+ super.start(bundleContext);
+ Activator.plugin = this;
+ }
+
+ @Override
+ @SuppressWarnings("PMD.SignatureDeclareThrowsException")
+ // @SuppressWarnings("PMD.SignatureDeclareThrowsException") We have to use
+ // this signature because this is an override of an Eclipse framework's
+ // method.
+ public void stop(final BundleContext bundleContext) throws Exception {
+ // NOPMD: PMD say "Assigning an Object to null is a code smell."
+ // No choice to right it in another way : this is an Eclipse pattern.
+ Activator.plugin = null; // NOPMD by gdupe on 30/03/12 10:19
+ super.stop(bundleContext);
+ }
+
+ public static Plugin getDefault() {
+ return Activator.plugin;
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/JavaQueryUIRuntimeException.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/JavaQueryUIRuntimeException.java
new file mode 100644
index 00000000000..6eb074e8919
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/JavaQueryUIRuntimeException.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal;
+
+public class JavaQueryUIRuntimeException extends RuntimeException {
+
+ private static final long serialVersionUID = 8815972557940912330L;
+
+ public JavaQueryUIRuntimeException(final Throwable cause) {
+ super(cause);
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/Messages.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/Messages.java
new file mode 100644
index 00000000000..b7efde8d365
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/Messages.java
@@ -0,0 +1,55 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Nicolas Guyomar (Mia-Software) - Bug 349556 - EMF Facet Java Query wizard
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal;
+
+import org.eclipse.osgi.util.NLS;
+
+// copy from /org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/emf/facet/query/java/sdk/ui/internal/Messages.java
+public final class Messages extends NLS {
+
+ private static final String BUNDLE_NAME = "org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.messages"; //$NON-NLS-1$
+ public static String Choose_an_operation;
+ public static String Choose_an_operation_desc;
+ public static String Create_new_java_class;
+ public static String JavaQueryWizardPage_Can_be_cached;
+ public static String JavaQueryWizardPage_has_side_effect;
+ public static String JavaQueryWizardPage_Java_Class_Name;
+ public static String JavaQueryWizardPage_Java_Query;
+ public static String JavaQueryWizardPage_Java_query_creation_page;
+ public static String JavaQueryWizardPage_lower_bound;
+ public static String JavaQueryWizardPage_Query_name;
+ public static String JavaQueryWizardPage_Browse;
+ public static String JavaQueryWizardPage_Create;
+ public static String JavaQueryWizardPage_interface_constraints;
+ public static String JavaQueryWizardPage_Please_select_a_scope;
+ public static String JavaQueryWizardPage_Please_select_create_IJavaQuery_Class;
+ public static String JavaQueryWizardPage_Scope;
+ public static String JavaQueryWizardPage_upper_bound;
+ public static String NewClassWizardPage_CreateANewJavaClass;
+ public static String NewClassWizardPage_JavaClass;
+ public static String NewQueryClassWizardPage_Failed_to_create_java_class;
+ public static String NewQueryClassWizardPage_Failed_to_create_query_implementation;
+ public static String Select_existing_java_class;
+ public static String SelectJavaClassWizardPage_SeclectAJavaClassLongDescription;
+ public static String SelectJavaClassWizardPage_SelectAJavaClass;
+ public static String Upper_bound;
+ public static String Multi_Values;
+
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(Messages.BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/dialog/JavaQueryStrategy.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/dialog/JavaQueryStrategy.java
new file mode 100644
index 00000000000..63e0f7b379a
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/dialog/JavaQueryStrategy.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.dialog;
+
+import org.eclipse.papyrus.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
+import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryDialogFactoryStrategy;
+import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.query.AbstractQueryDialogFactory;
+import org.eclipse.papyrus.emf.facet.query.java.metamodel.v0_2_0.javaquery.JavaQuery;
+import org.eclipse.papyrus.emf.facet.query.java.metamodel.v0_2_0.javaquery.JavaQueryFactory;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Messages;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.widget.query.JavaQueryWidget;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.widget.IAbstractWidget;
+import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * This class will be used for the creation of a java query.
+ *
+ * @see AbstractQueryDialogFactory
+ * @see JavaQueryWidget
+ */
+public class JavaQueryStrategy implements IQueryDialogFactoryStrategy {
+
+ private final PropertyElement2 implClassNameProp;
+
+ public JavaQueryStrategy() {
+ this.implClassNameProp = new PropertyElement2(true);
+ }
+
+ public IAbstractWidget createWidget(
+ final Composite parent, final IQueryContext queryContext) {
+ return new JavaQueryWidget(parent, queryContext,
+ this.implClassNameProp);
+ }
+
+ public Query createQuery(final boolean canBeCached,
+ final boolean sideEffects, final IQueryContext queryContext) {
+ JavaQuery result = null;
+ final String implClassName = (String) this.implClassNameProp.getValue();
+ final JavaQuery query = JavaQueryFactory.eINSTANCE.createJavaQuery();
+ query.setCanBeCached(canBeCached);
+ query.setCanHaveSideEffects(sideEffects);
+ if (implClassName != null) {
+ query.setImplementationClassName(implClassName);
+ result = query;
+ }
+ return result;
+ }
+
+ public String getDialogMessage() {
+ return Messages.JavaQueryWizardPage_Java_query_creation_page;
+ }
+
+ public String getDialogTitle() {
+ return Messages.JavaQueryWizardPage_Java_Query;
+ }
+
+ public String getConclusionText() {
+ return this.implClassNameProp.getValue2();
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/messages.properties b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/messages.properties
new file mode 100644
index 00000000000..b4b09cf65ab
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/messages.properties
@@ -0,0 +1,39 @@
+##########################################################################
+# Copyright (c) 2011 Mia-Software.
+#
+# 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:
+# Nicolas Guyomar (Mia-Software) - Bug 349556 - EMF Facet Java Query wizard
+# Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+###########################################################################
+# Copy from /org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/emf/facet/query/java/sdk/ui/internal/messages.properties
+Choose_an_operation=Choose an operation:
+Choose_an_operation_desc=Choose whether you want to create a new Java class, or to select an existing one
+Create_new_java_class=Create a new Java Class
+JavaQueryWizardPage_Can_be_cached=Can be cached:
+JavaQueryWizardPage_has_side_effect=Has side effect:
+JavaQueryWizardPage_Java_Class_Name=Java Class name:
+JavaQueryWizardPage_Java_Query=Java Query
+JavaQueryWizardPage_Java_query_creation_page=Java query creation page
+JavaQueryWizardPage_lower_bound=Lower bound:
+JavaQueryWizardPage_Query_name=Query name:
+JavaQueryWizardPage_Browse=Browse
+JavaQueryWizardPage_upper_bound=Upper bound:
+JavaQueryWizardPage_Create=Create
+JavaQueryWizardPage_interface_constraints=The selected class has to implements
+JavaQueryWizardPage_Please_select_a_scope=Please select a scope for this query
+JavaQueryWizardPage_Please_select_create_IJavaQuery_Class=Please select or create an IJavaQuery Class
+JavaQueryWizardPage_Scope=Scope:
+NewClassWizardPage_CreateANewJavaClass=Create a new Java class.
+NewClassWizardPage_JavaClass=Java Class
+NewQueryClassWizardPage_Failed_to_create_java_class=Failed to create a Java class
+NewQueryClassWizardPage_Failed_to_create_query_implementation=Failed to create the Java model query implementation class.
+Select_existing_java_class=Select an existing Java Class
+SelectJavaClassWizardPage_SeclectAJavaClassLongDescription=Select a Java class
+SelectJavaClassWizardPage_SelectAJavaClass=Select a Java class
+Upper_bound=Upper Bound:
+Multi_Values=Multi-values:
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/GetMultiValuesWidgetComposite.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/GetMultiValuesWidgetComposite.java
new file mode 100644
index 00000000000..b65d86e53d7
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/GetMultiValuesWidgetComposite.java
@@ -0,0 +1,56 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.widget;
+
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Messages;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.widget.component.properties.AbstractGetPropertyWidget;
+import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * This class create a boolean widget to check if the returned value is multiple
+ * or not (1 or *).
+ */
+public class GetMultiValuesWidgetComposite extends AbstractGetPropertyWidget {
+
+ private static final int LABEL_WIDTH_HINT = 110;
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent of this widget.
+ * @param propertyElement
+ * the property element edited by this widget.
+ */
+ public GetMultiValuesWidgetComposite(final Composite parent,
+ final PropertyElement propertyElement) {
+ super(parent, propertyElement);
+ setLabelWidthHint(LABEL_WIDTH_HINT);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Multi_Values;
+ }
+
+ @Override
+ public String getError() {
+ return null;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // Nothing.
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/GetOrCreateJavaImplementationWidgetComposite.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/GetOrCreateJavaImplementationWidgetComposite.java
new file mode 100644
index 00000000000..cc52135a9e8
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/GetOrCreateJavaImplementationWidgetComposite.java
@@ -0,0 +1,113 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.widget;
+
+import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.JavaQueryUIRuntimeException;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Messages;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.SelectOrCreateJavaClassWizard;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.dialog.IDialogCallback;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.widget.component.getorcreate.AbstractGetOrCreateElementWithWizardButtonWidget;
+import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Widget for the recovery or creation of a java query class.
+ */
+public class GetOrCreateJavaImplementationWidgetComposite extends
+ AbstractGetOrCreateElementWithWizardButtonWidget {
+
+ private final IQueryContext queryContext;
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent of this widget.
+ * @param properties
+ * the properties.
+ * @param queryContext
+ * the main queryContext of the model.
+ * @param facet
+ * the current facet of the model.
+ */
+ public GetOrCreateJavaImplementationWidgetComposite(final Composite parent,
+ final PropertyElement2 implClassNameProp,
+ final IQueryContext queryContext) {
+ super(parent, implClassNameProp);
+ this.queryContext = queryContext;
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.JavaQueryWizardPage_Java_Class_Name;
+ }
+
+ @Override
+ protected String getErrorMessage() {
+ return Messages.JavaQueryWizardPage_Please_select_create_IJavaQuery_Class;
+ }
+
+ @Override
+ protected String getTextFieldInitialText() {
+ return null;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // Nothing to do.
+ }
+
+ @Override
+ protected SelectOrCreateJavaClassWizard createIWizard() {
+ SelectOrCreateJavaClassWizard classCreation = null;
+ final IDialogCallback callBack = new IDialogCallback() {
+ public void committed(final String result) {
+ GetOrCreateJavaImplementationWidgetComposite.this
+ .onWizardCommited(result);
+ }
+ };
+ try {
+ classCreation = new SelectOrCreateJavaClassWizard(this.queryContext,
+ callBack);
+ } catch (Exception e) {
+ throw new JavaQueryUIRuntimeException(e);
+ }
+ return classCreation;
+ }
+
+ protected final void onWizardCommited(final String classQAName) {
+ this.getPropertyElement().setValue(classQAName);
+ this.getTextField().setText(classQAName);
+ }
+
+ @Override
+ protected void onWizardCanceled() {
+ // Not used because SelectOrCreateJavaClassWizard manage event using
+ // the call back pattern.
+ }
+
+ @Override
+ protected void onWizardCommited(final SelectOrCreateJavaClassWizard wizard) {
+ // Not used because SelectOrCreateJavaClassWizard manage event using
+ // the call back pattern.
+ }
+
+ @Override
+ protected SelectOrCreateJavaClassWizard createSynchronizedWizard(
+ final SelectOrCreateJavaClassWizard wizard) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/query/JavaQueryWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/query/JavaQueryWidget.java
new file mode 100644
index 00000000000..642b08e2bb3
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/widget/query/JavaQueryWidget.java
@@ -0,0 +1,75 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.widget.query;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.widget.GetOrCreateJavaImplementationWidgetComposite;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.widget.query.AbstractQueryWidget;
+import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * This class provide the main widget for the creation of a Java query.
+ */
+public class JavaQueryWidget extends AbstractQueryWidget {
+
+ private final PropertyElement2 implClassNameProp;
+ private final IQueryContext queryContext;
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent of this widget.
+ * @param editingDomain
+ * the current editing domain.
+ * @param properties
+ * the properties.
+ * @param facetSet
+ * the main facetSet of the model.
+ * @param facet
+ * the current facet of the model.
+ */
+ public JavaQueryWidget(final Composite parent,
+ final IQueryContext queryContext,
+ final PropertyElement2 implClassNameProp) {
+ super(parent);
+ this.implClassNameProp = implClassNameProp;
+ this.queryContext = queryContext;
+ }
+
+ @Override
+ protected void addSubWidgets() {
+ final GetOrCreateJavaImplementationWidgetComposite widget = new GetOrCreateJavaImplementationWidgetComposite(this,
+ this.implClassNameProp, this.queryContext);
+ addSubWidget(widget);
+ }
+
+ @Override
+ public Command getCommand() {
+ // No Command to return.
+ return null;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // Nothing to do.
+ }
+
+ @Override
+ public void onDialogValidation() {
+ // Nothing to do.
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/JavaQueryUtils.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/JavaQueryUtils.java
new file mode 100644
index 00000000000..41ec6e22f63
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/JavaQueryUtils.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard;
+
+import java.util.Locale;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.emf.facet.efacet.core.FacetUtils;
+import org.eclipse.papyrus.emf.facet.efacet.metamodel.v0_2_0.efacet.Facet;
+import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
+import org.eclipse.jdt.core.IJavaProject;
+
+public final class JavaQueryUtils {
+
+ private JavaQueryUtils() {
+ // Must no be used
+ }
+
+ private static final String UNKONWN = "unkonwn"; //$NON-NLS-1$
+
+ public static String getDefaultPackageName(
+ final IQueryContext queryContext,
+ final IJavaProject javaProject) {
+ String sourceClassName = UNKONWN;
+ final Facet facet = queryContext.getFacet();
+ final EClass eClass = FacetUtils.findExtendedEClass(facet);
+ if (eClass != null) {
+ sourceClassName = eClass.getName();
+ }
+ final String packageName = javaProject.getProject().getName()
+ + ".queries." + sourceClassName.toLowerCase(Locale.getDefault()); //$NON-NLS-1$
+ return packageName;
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/JdtUtils.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/JdtUtils.java
new file mode 100644
index 00000000000..69078668e7b
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/JdtUtils.java
@@ -0,0 +1,264 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.jar.Manifest;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Activator;
+import org.eclipse.papyrus.emf.facet.util.core.Logger;
+import org.eclipse.papyrus.emf.facet.util.core.internal.JavaUtils;
+import org.eclipse.papyrus.emf.facet.util.pde.core.internal.exported.PluginUtils;
+import org.eclipse.jdt.core.ICompilationUnit;
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.osgi.util.ManifestElement;
+
+public final class JdtUtils {
+
+ private JdtUtils() {
+ // Must no be used
+ }
+
+ public static ICompilationUnit createJavaClass(
+ final EClassifier returnTypeClass,
+ final boolean multiValues, final EClassifier scope,
+ final IPackageFragment packageFragment,
+ final IPackageFragmentRoot root,
+ final String typeName, final String cuName)
+ throws JavaModelException {
+ IPackageFragment packgeFragment2;
+ if (packageFragment == null) {
+ packgeFragment2 = root.getPackageFragment(""); //$NON-NLS-1$
+ } else {
+ packgeFragment2 = packageFragment;
+ }
+ final String packageName = packgeFragment2.getElementName();
+ if (!packgeFragment2.exists()) {
+ packgeFragment2 = root.createPackageFragment(packageName, true,
+ new NullProgressMonitor());
+ }
+ final StringBuilder contents = new StringBuilder();
+ createJavaClassContents(contents, typeName, packageName,
+ returnTypeClass, multiValues, scope);
+ return packgeFragment2.createCompilationUnit(cuName,
+ contents.toString(),
+ false, new NullProgressMonitor());
+ }
+
+ private static void createJavaClassContents(final StringBuilder contents,
+ final String name, final String packageName,
+ final EClassifier returnTypeClass, final boolean multiValues,
+ final EClassifier scope) {
+ if (packageName.length() > 0) {
+ contents.append("package "); //$NON-NLS-1$
+ contents.append(packageName);
+ contents.append(";\n\n"); //$NON-NLS-1$
+ }
+ boolean importCollection = false;
+
+ String returnType;
+ String shortReturnType;
+ if (returnTypeClass == null) {
+ returnType = "java.lang.Object"; //$NON-NLS-1$
+ shortReturnType = "Object"; //$NON-NLS-1$
+ } else {
+ returnType = returnTypeClass.getInstanceClassName();
+ returnType = JavaUtils.objectType(returnType);
+ final int lastDotPos = returnType.lastIndexOf('.');
+ if (multiValues) {
+ importCollection = true;
+ shortReturnType = "Collection<" + returnType.substring(lastDotPos + 1) + ">"; //$NON-NLS-1$//$NON-NLS-2$
+ } else {
+ shortReturnType = returnType.substring(lastDotPos + 1);
+ }
+ }
+
+ // EList scope = modelQuery.getScope();
+ String scopeType;
+ String shortScopeType;
+ // if (scope != null && scope.size() == 1) {
+ if (scope == null) {
+ scopeType = "org.eclipse.emf.ecore.EObject"; //$NON-NLS-1$
+ shortScopeType = "EObject"; //$NON-NLS-1$
+ } else {
+ scopeType = scope.getInstanceClassName();
+ scopeType = JavaUtils.objectType(scopeType);
+ shortScopeType = scopeType
+ .substring(scopeType.lastIndexOf('.') + 1);
+ }
+
+ if (importCollection) {
+ contents.append("import java.util.Collection;\n"); //$NON-NLS-1$
+ }
+ if (mustImport(returnType)) {
+ contents.append("import " + returnType + ";\n"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ if (!returnType.equals(scopeType) && mustImport(scopeType)) {
+ contents.append("import " + scopeType + ";\n"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ contents.append("import org.eclipse.papyrus.emf.facet.efacet.core.IFacetManager;\n"); //$NON-NLS-1$
+ contents.append("import org.eclipse.papyrus.emf.facet.efacet.core.exception.DerivedTypedElementException;\n"); //$NON-NLS-1$
+ contents.append("import org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2;\n"); //$NON-NLS-1$
+ contents.append("import org.eclipse.papyrus.emf.facet.query.java.core.IParameterValueList2;\n"); //$NON-NLS-1$
+ contents.append("\n"); //$NON-NLS-1$
+ contents.append("public class " + name + " implements IJavaQuery2<" + shortScopeType + ", " + shortReturnType + "> {\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ contents.append(" public " + shortReturnType + " evaluate(final " + shortScopeType + " context, \n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ contents.append(" final IParameterValueList2 parameterValues,\n"); //$NON-NLS-1$
+ contents.append(" final IFacetManager facetManager)\n"); //$NON-NLS-1$
+ contents.append(" throws DerivedTypedElementException {\n"); //$NON-NLS-1$
+ contents.append(" // TODO Auto-generated method stub\n"); //$NON-NLS-1$
+ contents.append(" return null;\n"); //$NON-NLS-1$
+ contents.append(" }\n"); //$NON-NLS-1$
+ contents.append("}\n"); //$NON-NLS-1$
+ }
+
+ private static boolean mustImport(final String type) {
+ return type.contains(".") && !type.startsWith("java.lang."); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * Setup the given project's Manifest so that metamodels referenced by the
+ * query's returnType
and scope
are available on
+ * the classpath.
+ */
+ public static void setupProject(final IProject project,
+ final EClassifier returnType, final EClassifier scope) {
+ try {
+ final String[] requiredBundles = findRequiredBundles(returnType,
+ scope);
+ // start with all and then remove those already present
+ final List missingBundles = new ArrayList();
+ for (final String requiredBundle : requiredBundles) {
+ missingBundles.add(requiredBundle);
+ }
+ missingBundles.add("org.eclipse.papyrus.emf.facet.efacet.core"); //$NON-NLS-1$
+ missingBundles.add("org.eclipse.papyrus.emf.facet.query.java.core"); //$NON-NLS-1$
+
+ PluginUtils.configureAsPluginProject(project);
+ final IFile manifestResource = (IFile) project.findMember(new Path(
+ "/META-INF/MANIFEST.MF")); //$NON-NLS-1$
+ manifestResource.refreshLocal(IResource.DEPTH_ONE,
+ new NullProgressMonitor());
+ final InputStream contents = manifestResource.getContents();
+ final Manifest manifest = new Manifest(contents);
+ final String requires = manifest.getMainAttributes().getValue(
+ "Require-Bundle"); //$NON-NLS-1$
+ if (requires != null) {
+ final ManifestElement[] manifestElements = ManifestElement
+ .parseHeader("Require-Bundle", requires); //$NON-NLS-1$
+ for (final ManifestElement manifestElement : manifestElements) {
+ // make sure it won't be duplicated
+ missingBundles.remove(manifestElement.getValue());
+ }
+ }
+
+ final StringBuilder newRequires = new StringBuilder();
+ if (requires != null) {
+ newRequires.append(requires);
+ }
+ for (int i = 0; i < missingBundles.size(); i++) {
+ final String missingBundle = missingBundles.get(i);
+ if ((i != 0) || (requires != null)) {
+ newRequires.append(","); //$NON-NLS-1$
+ }
+ newRequires.append(missingBundle);
+ }
+
+ manifest.getMainAttributes().putValue(
+ "Require-Bundle", newRequires.toString()); //$NON-NLS-1$
+
+ final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+ manifest.write(outputStream);
+ final ByteArrayInputStream inputStream = new ByteArrayInputStream(
+ outputStream.toByteArray());
+ manifestResource.setContents(inputStream, true, true,
+ new NullProgressMonitor());
+ } catch (final Exception e) {
+ Logger.logError(e, Activator.getDefault());
+ }
+ }
+
+ /**
+ * Find the bundles containing the implementations of the metamodels
+ * referenced by the given classifiers.
+ */
+ private static String[] findRequiredBundles(final EClassifier returnType,
+ final EClassifier scope) {
+ final Set requiredBundles = new HashSet();
+ final Set requiredEPackages = new HashSet();
+ if (returnType != null) {
+ requiredEPackages.add(returnType.getEPackage());
+ }
+ if (scope != null) {
+ requiredEPackages.add(scope.getEPackage());
+ }
+
+ final Map genModelLocMap = EcorePlugin
+ .getEPackageNsURIToGenModelLocationMap();
+
+ for (final EPackage ePackage : requiredEPackages) {
+ try {
+ final URI genModelURI = genModelLocMap.get(ePackage.getNsURI());
+ if (genModelURI == null) {
+ Logger.logWarning(
+ "Couldn't add the metamodel implementation plug-in" //$NON-NLS-1$
+ + " to the dependencies automatically because" //$NON-NLS-1$
+ + " the corresponding genmodel couldn't be found: " //$NON-NLS-1$
+ + ePackage.getNsURI(),
+ Activator.getDefault());
+ } else {
+ final ResourceSet resourceSet = createResource();
+ final Resource resource = resourceSet
+ .createResource(genModelURI);
+ resource.load(Collections.emptyMap());
+ final GenModel genModel = (GenModel) resource.getContents()
+ .get(0);
+ final String modelPluginID = genModel.getModelPluginID();
+ if (modelPluginID != null) {
+ requiredBundles.add(modelPluginID);
+ }
+ }
+ } catch (final Exception e) {
+ Logger.logError(e, Activator.getDefault());
+ }
+ }
+ return requiredBundles.toArray(new String[requiredBundles.size()]);
+ }
+
+ private static ResourceSetImpl createResource() {
+ return new ResourceSetImpl();
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/SelectOrCreateJavaClassWizard.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/SelectOrCreateJavaClassWizard.java
new file mode 100644
index 00000000000..d5ce0b41458
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/SelectOrCreateJavaClassWizard.java
@@ -0,0 +1,172 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Gregoire Dupe (Mia-Software)
+ * Nicolas Bros (Mia-Software)
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ *******************************************************************************/
+package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.papyrus.emf.facet.custom.metamodel.v0_2_0.custom.ETypedElementCase;
+import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
+import org.eclipse.papyrus.emf.facet.query.java.core.internal.exceptions.ClassAlreadyExistsException;
+import org.eclipse.papyrus.emf.facet.query.java.core.internal.exceptions.ResourceURIExpectedException;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Activator;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Messages;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.page.CreateQueryClassWizardPage;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.page.SelectJavaClassWizardPage;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.page.SelectOrCreateJavaClassWizardPage;
+import org.eclipse.papyrus.emf.facet.util.core.Logger;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.dialog.IDialogCallback;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.wizard.IExtendedWizard;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jface.wizard.IWizardPage;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardDialog;
+
+// Copied from org.eclipse.papyrus.emf.facet.query.java.ui.internal.wizard.SelectOrCreateJavaClassWizard
+public class SelectOrCreateJavaClassWizard extends Wizard implements
+ IExtendedWizard {
+
+
+ private final WizardDialog dialog;
+ private CreateQueryClassWizardPage createClassPage;
+ private SelectOrCreateJavaClassWizardPage firstPage;
+
+ private final IDialogCallback callBack;
+ private SelectJavaClassWizardPage selectClassPage;
+ private final IQueryContext queryContext;
+
+ public SelectOrCreateJavaClassWizard(final IQueryContext queryContext,
+ final IDialogCallback callBack)
+ throws ClassAlreadyExistsException, ResourceURIExpectedException,
+ JavaModelException {
+ super();
+ this.queryContext = queryContext;
+ this.callBack = callBack;
+ this.dialog = new WizardDialog(getShell(), this);
+ setWindowTitle(Messages.Choose_an_operation);
+
+ // check that the resource is from a platform URI
+ final Resource resource = queryContext.getResource();
+ final URI uri = resource.getURI();
+ if (!uri.isPlatformResource()) {
+ throw new ResourceURIExpectedException();
+ }
+ // check that the class doesn't already exist
+ final String projectName = uri.segment(1);
+ final IWorkspace workspace = ResourcesPlugin.getWorkspace();
+ final IProject project = workspace.getRoot().getProject(projectName);
+ final IJavaProject javaProject = JavaCore.create(project);
+ final StringBuffer implClassName = new StringBuffer(
+ this.queryContext.getDerivedTypedElementName());
+ final EObject intermediate = this.queryContext.getIntermediateEObject();
+ if (intermediate instanceof ETypedElementCase) {
+ final ETypedElementCase eTECase = (ETypedElementCase) intermediate;
+ if (eTECase.getCase() != null) {
+ implClassName.append(eTECase.getCase().getName());
+ }
+ }
+ implClassName.append("Query"); //$NON-NLS-1$
+ if (javaProject.findType(implClassName.toString()) != null) {
+ throw new ClassAlreadyExistsException();
+ }
+ }
+
+ @Override
+ public void addPages() {
+ this.firstPage = new SelectOrCreateJavaClassWizardPage();
+ addPage(this.firstPage);
+ this.createClassPage = new CreateQueryClassWizardPage(
+ this.queryContext);
+ addPage(this.createClassPage);
+ this.selectClassPage = new SelectJavaClassWizardPage();
+ addPage(this.selectClassPage);
+ }
+
+ private String createJavaClass() {
+ return this.createClassPage.apply(this.queryContext.getReturnType(),
+ this.queryContext.getUpperBound() > 1,
+ this.queryContext.getExtendedEClass());
+ }
+
+ @Override
+ public boolean canFinish() {
+ return getContainer().getCurrentPage().isPageComplete();
+ }
+
+ @Override
+ public boolean performFinish() {
+ return finish();
+ }
+
+ public int open() {
+ return this.dialog.open();
+ }
+
+ public IWizardPage getCurrentPage() {
+ return getContainer().getCurrentPage();
+ }
+
+ public IWizardPage next() {
+ final IWizardPage nextPage = getNextPage(this.getCurrentPage());
+ this.dialog.showPage(nextPage);
+ return nextPage;
+ }
+
+ public IWizardPage previous() {
+ final IWizardPage previousPage = getPreviousPage(this.getCurrentPage());
+ this.dialog.showPage(previousPage);
+ return previousPage;
+ }
+
+ public boolean finish() {
+ boolean result = true;
+ try {
+ if (getContainer().getCurrentPage() == this.createClassPage) {
+ final String classQName = createJavaClass();
+ this.callBack.committed(classQName);
+ } else if (getContainer().getCurrentPage() == this.selectClassPage) {
+ this.callBack.committed(this.selectClassPage.getResult()
+ .toString());
+ }
+ } catch (final Exception e) {
+ Logger.logError(e, Activator.getDefault());
+ result = false;
+ }
+ return result;
+ }
+
+ @Override
+ public boolean performCancel() {
+ return true;
+ }
+
+ @Override
+ public IWizardPage getNextPage(final IWizardPage page) {
+ IWizardPage result = null;
+ if (page == this.firstPage) {
+ if (this.firstPage.isSelect()) {
+ result = this.selectClassPage;
+ } else {
+ result = this.createClassPage;
+ }
+ }
+ return result;
+
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/CreateQueryClassWizardPage.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/CreateQueryClassWizardPage.java
new file mode 100644
index 00000000000..50a9f950506
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/CreateQueryClassWizardPage.java
@@ -0,0 +1,127 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Gregoire Dupe (Mia-Software)
+ * Nicolas Bros (Mia-Software)
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ *******************************************************************************/
+package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.page;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.emf.facet.custom.metamodel.v0_2_0.custom.ETypedElementCase;
+import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
+import org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Activator;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Messages;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.JavaQueryUtils;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.JdtUtils;
+import org.eclipse.papyrus.emf.facet.util.core.Logger;
+import org.eclipse.papyrus.emf.facet.util.core.internal.exported.StringUtils;
+import org.eclipse.jdt.core.ICompilationUnit;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jface.dialogs.MessageDialog;
+
+// Copied from org.eclipse.papyrus.emf.facet.query.java.ui.internal.wizard.page.NewQueryClassWizardPage
+public class CreateQueryClassWizardPage extends NewClassWizardPage {
+
+ // This class has been copied from
+ // org.eclipse.papyrus.emf.facet.infra.query.ui.wizards.NewQueryClassWizardPage
+
+ public CreateQueryClassWizardPage(final IQueryContext queryContainer) {
+ super();
+ final IJavaProject javaProject = JavaCore.create(queryContainer
+ .getProject());
+ final List interfaceList = new ArrayList();
+ interfaceList.add(IJavaQuery2.class.getName());
+ setSuperInterfaces(interfaceList, false);
+ final String packageName = JavaQueryUtils.getDefaultPackageName(
+ queryContainer,
+ javaProject);
+ final String typeName = getClassName(queryContainer);
+ setTypeName(typeName, true);
+ selectPackage(javaProject, packageName);
+ setModifiers(this.F_PUBLIC, false);
+ setSuperClass("", false); //$NON-NLS-1$
+ setEnclosingTypeSelection(false, false);
+ setAddComments(false, false);
+ }
+
+ private static String getClassName(final IQueryContext queryContext) {
+ final StringBuffer result = new StringBuffer();
+ final EObject intermediate = queryContext.getIntermediateEObject();
+ if (intermediate instanceof ETypedElementCase) {
+ final ETypedElementCase eteCase = (ETypedElementCase) intermediate;
+ String caseLabel = ""; //$NON-NLS-1$
+ if (eteCase.getCase() != null) {
+ caseLabel = eteCase.getCase().getName();
+ }
+ result.append(StringUtils.firstLetterToUpperCase(caseLabel));
+ }
+ result.append(StringUtils.firstLetterToUpperCase(queryContext
+ .getDerivedTypedElementName()));
+ result.append("Query"); //$NON-NLS-1$
+ return result.toString();
+ }
+
+ private void selectPackage(final IJavaProject javaProject,
+ final String packageName) {
+ try {
+ for (final IPackageFragmentRoot packageFragmentRootToTest : javaProject
+ .getPackageFragmentRoots()) {
+ if (packageFragmentRootToTest.getKind() == IPackageFragmentRoot.K_SOURCE) {
+ final IPackageFragmentRoot pkgFragmentRoot = packageFragmentRootToTest;
+ setPackageFragmentRoot(pkgFragmentRoot, false);
+ final IPackageFragment packageFragment = pkgFragmentRoot
+ .getPackageFragment(packageName);
+ setPackageFragment(packageFragment, true);
+ break;
+ }
+ }
+ } catch (final JavaModelException e1) {
+ Logger.logError(e1, Activator.getDefault());
+ }
+ }
+
+ public String apply(final EClassifier returnType,
+ final boolean multiValues,
+ final EClassifier scope) {
+ String result = ""; //$NON-NLS-1$
+ try {
+ final IPackageFragmentRoot root = getPackageFragmentRoot();
+ final IPackageFragment packageFragment = getPackageFragment();
+ final String typeName = getTypeName();
+ final String cuName = getCompilationUnitName(typeName);
+ final ICompilationUnit javaClass = JdtUtils.createJavaClass(
+ returnType, multiValues, scope, packageFragment, root,
+ typeName, cuName);
+ final IProject project = javaClass.getCorrespondingResource()
+ .getProject();
+ JdtUtils.setupProject(project, returnType, scope);
+ result = packageFragment.getElementName() + '.' + typeName;
+ } catch (final Exception e) {
+ Logger.logError(e, Activator.getDefault());
+ MessageDialog
+ .openError(
+ getShell(),
+ Messages.NewQueryClassWizardPage_Failed_to_create_java_class,
+ Messages.NewQueryClassWizardPage_Failed_to_create_query_implementation);
+ }
+ return result;
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/NewClassWizardPage.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/NewClassWizardPage.java
new file mode 100644
index 00000000000..7e9d8ac5e12
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/NewClassWizardPage.java
@@ -0,0 +1,68 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Nicolas Guyomar (Mia-Software) - Bug 349556 - EMF Facet Java Query wizard
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.page;
+
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Messages;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.ui.wizards.NewTypeWizardPage;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+
+// Copied from org.eclipse.papyrus.emf.facet.query.java.ui.internal.wizard.page.NewClassWizardPage
+public class NewClassWizardPage extends NewTypeWizardPage {
+
+ private static final String PAGE_NAME = "NewClassWizardPage"; //$NON-NLS-1$
+ private static final int COLUMN_NB = 4;
+
+ public NewClassWizardPage() {
+ super(true, NewClassWizardPage.PAGE_NAME);
+ setTitle(Messages.NewClassWizardPage_JavaClass);
+ setDescription(Messages.NewClassWizardPage_CreateANewJavaClass);
+ }
+
+ public void init(final IStructuredSelection selection) {
+ final IJavaElement javaElement = getInitialJavaElement(selection);
+ initContainerPage(javaElement);
+ initTypePage(javaElement);
+ }
+
+ public void createControl(final Composite parent) {
+ initializeDialogUnits(parent);
+
+ final Composite composite = new Composite(parent, SWT.NONE);
+ composite.setFont(parent.getFont());
+
+ final GridLayout layout = new GridLayout();
+ layout.numColumns = COLUMN_NB;
+ composite.setLayout(layout);
+
+ createContainerControls(composite, COLUMN_NB);
+ createPackageControls(composite, COLUMN_NB);
+
+ createSeparator(composite, COLUMN_NB);
+
+ createTypeNameControls(composite, COLUMN_NB);
+ createModifierControls(composite, COLUMN_NB);
+
+ createSuperInterfacesControls(composite, COLUMN_NB);
+
+ setControl(composite);
+
+ Dialog.applyDialogFont(composite);
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/SelectJavaClassWizardPage.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/SelectJavaClassWizardPage.java
new file mode 100644
index 00000000000..3d8704adc50
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/SelectJavaClassWizardPage.java
@@ -0,0 +1,116 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Nicolas Guyomar (Mia-Software) - Bug 349556 - EMF Facet Java Query wizard
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.page;
+
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Activator;
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Messages;
+import org.eclipse.papyrus.emf.facet.util.core.Logger;
+import org.eclipse.jdt.core.IType;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jdt.core.search.SearchEngine;
+import org.eclipse.jdt.ui.IJavaElementSearchConstants;
+import org.eclipse.jdt.ui.JavaUI;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+import org.eclipse.jface.window.Window;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.dialogs.SelectionDialog;
+
+// Copied from org.eclipse.papyrus.emf.facet.query.java.ui.internal.wizard.page.SelectOrCreateJavaClassWizardPage
+public class SelectJavaClassWizardPage extends WizardPage {
+
+ private String result;
+ private Text text;
+
+ public SelectJavaClassWizardPage() {
+ super("SelectJavaClass"); //$NON-NLS-1$
+ setTitle(Messages.SelectJavaClassWizardPage_SelectAJavaClass);
+ setDescription(Messages.SelectJavaClassWizardPage_SeclectAJavaClassLongDescription);
+ }
+
+ public void createControl(final Composite parent) {
+ final Composite composite = new Composite(parent, SWT.NONE);
+ composite.setLayout(new GridLayout());
+ final Button dialogBtn = new Button(composite, SWT.PUSH);
+ dialogBtn.setText("Open the class selection wizard..."); //$NON-NLS-1$
+ final SelectionListener listener = new SelectionListener() {
+ public void widgetSelected(final SelectionEvent event) {
+ SelectJavaClassWizardPage.this.openSelectionDialog();
+ }
+
+ public void widgetDefaultSelected(final SelectionEvent event) {
+ // Noting to do
+ }
+ };
+ dialogBtn.addSelectionListener(listener);
+ this.text = new Text(composite, SWT.BORDER);
+ setControl(composite);
+ setPageComplete(false);
+ }
+
+ protected void openSelectionDialog() {
+ final Display display = Display.getDefault();
+ display.asyncExec(new Runnable() {
+ public void run() {
+ final Shell shell = new Shell(display);
+ SelectionDialog dialog;
+ try {
+ dialog = JavaUI.createTypeDialog(shell,
+ new ProgressMonitorDialog(shell),
+ SearchEngine.createWorkspaceScope(),
+ IJavaElementSearchConstants.CONSIDER_CLASSES, false);
+ dialog.open();
+ final boolean cancelled = (dialog.getReturnCode() == Window.CANCEL);
+ Object dilaogResult = null;
+ if (!cancelled && dialog.getResult()[0] instanceof IType) {
+ final IType type = (IType) dialog.getResult()[0];
+ dilaogResult = type.getFullyQualifiedName();
+ }
+ SelectJavaClassWizardPage.this.dialogClosed(dilaogResult,
+ cancelled);
+ } catch (JavaModelException e) {
+ Logger.logError(e, Activator.getDefault());
+ SelectJavaClassWizardPage.this.dialogClosed(null, true);
+ }
+ }
+ });
+ }
+
+ protected void dialogClosed(final Object dialogResult, final boolean cancelled) {
+ if (cancelled) {
+ this.getPreviousPage();
+ } else {
+ if (dialogResult != null && dialogResult.toString().length() > 0) {
+ this.result = dialogResult.toString();
+ this.text.setText(dialogResult.toString());
+ setPageComplete(true);
+ } else {
+ setPageComplete(false);
+ }
+ }
+ }
+
+ public String getResult() {
+ return this.result;
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/SelectOrCreateJavaClassWizardPage.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/SelectOrCreateJavaClassWizardPage.java
new file mode 100644
index 00000000000..51943050be3
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.java.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/java/sdk/ui/internal/wizard/page/SelectOrCreateJavaClassWizardPage.java
@@ -0,0 +1,72 @@
+/**
+ * Copyright (c) 2011 Mia-Software.
+ *
+ * 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:
+ * Nicolas Guyomar (Mia-Software) - Bug 349556 - EMF Facet Java Query wizard
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.wizard.page;
+
+import org.eclipse.papyrus.emf.facet.query.java.sdk.ui.internal.Messages;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+
+// Copied from org.eclipse.papyrus.emf.facet.query.java.ui.internal.wizard.page.SelectOrCreateJavaClassWizardPage
+public class SelectOrCreateJavaClassWizardPage extends WizardPage {
+
+ private Button selectButton;
+
+ private final SelectionListener selectionListener = new SelectionListener() {
+ public void widgetSelected(final SelectionEvent event) {
+ onSelection();
+ }
+
+ public void widgetDefaultSelected(final SelectionEvent event) {
+ // Nothing
+ }
+ };
+
+ public SelectOrCreateJavaClassWizardPage() {
+ super("Whatever"); //$NON-NLS-1$
+ setTitle(Messages.Choose_an_operation);
+ setDescription(Messages.Choose_an_operation_desc);
+ }
+
+ public void createControl(final Composite parent) {
+ final Composite container = new Composite(parent, SWT.NONE);
+ container.setLayout(new GridLayout(1, false));
+ // Create the creation radio button
+ final Button createButton = new Button(container, SWT.RADIO);
+ createButton.setText(Messages.Create_new_java_class);
+ createButton.addSelectionListener(this.selectionListener);
+ // Create the creation radio button
+ this.selectButton = new Button(container, SWT.RADIO);
+ this.selectButton.setText(Messages.Select_existing_java_class);
+ this.selectButton.addSelectionListener(this.selectionListener);
+ setControl(container);
+ }
+
+ public boolean canFinish() {
+ return this.selectButton.getSelection();
+ }
+
+
+ protected void onSelection() {
+ getContainer().updateButtons();
+ }
+
+ public boolean isSelect() {
+ return this.selectButton.getSelection();
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.checkstyle b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.checkstyle
new file mode 100644
index 00000000000..2664c7abd61
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.checkstyle
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.classpath b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.classpath
new file mode 100644
index 00000000000..2d1a4302f04
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.pmd b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.pmd
new file mode 100644
index 00000000000..e8d3e27588f
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.pmd
@@ -0,0 +1,7 @@
+
+
+ true
+ ../org.eclipse.papyrus.emf.facet.archi.tech.rules/pmd/ruleset.xml
+ false
+ true
+
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.project b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.project
new file mode 100644
index 00000000000..580b1b197df
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.project
@@ -0,0 +1,40 @@
+
+
+ org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+ net.sourceforge.pmd.eclipse.plugin.pmdBuilder
+
+
+
+
+ net.sf.eclipsecs.core.CheckstyleBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+ org.eclipse.jdt.core.javanature
+ net.sourceforge.pmd.eclipse.plugin.pmdNature
+ net.sf.eclipsecs.core.CheckstyleNature
+
+
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.settings/org.eclipse.core.resources.prefs b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..4824b802631
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..060c5ee3d2e
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/META-INF/MANIFEST.MF b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..11eb46b56a4
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.Activator
+Bundle-Vendor: %Bundle-Vendor
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.papyrus.emf.facet.util.ui;bundle-version="0.3.0",
+ org.eclipse.papyrus.emf.facet.efacet.sdk.ui;bundle-version="0.3.0",
+ org.eclipse.emf.ecore;bundle-version="2.6.0",
+ org.eclipse.papyrus.emf.facet.efacet.metamodel;bundle-version="0.3.0",
+ org.eclipse.papyrus.emf.facet.query.ocl.metamodel;bundle-version="0.3.0",
+ org.eclipse.emf.edit;bundle-version="2.6.0",
+ org.eclipse.papyrus.emf.facet.query.ocl.core;bundle-version="0.3.0",
+ org.eclipse.ocl.ecore;bundle-version="3.0.0",
+ org.eclipse.papyrus.emf.facet.efacet.core;bundle-version="0.3.0"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.dialog,
+ org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.widget,
+ org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.widget.oclexpression
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/OSGI-INF/l10n/bundle.properties b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 00000000000..7f61301e5ee
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,13 @@
+###############################################################################
+# Copyright (c) 2012 Mia-Software.
+#
+# 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:
+# Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+###############################################################################
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = EMF Facet OCL Query SDK UI (Incubation)
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/about.html b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/about.html
new file mode 100644
index 00000000000..aacf0cfd3b9
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/about.html
@@ -0,0 +1,28 @@
+
+
+
+
+About
+
+
+About This Content
+
+August 17, 2012
+License
+
+The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at http://www.eclipse.org/legal/epl-v10.html.
+For purposes of the EPL, "Program" will mean the Content.
+
+If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at http://www.eclipse.org.
+
+
+
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/build.properties b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/build.properties
new file mode 100644
index 00000000000..341fc62b2b9
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/build.properties
@@ -0,0 +1,20 @@
+###############################################################################
+# Copyright (c) 2012 Mia-Software.
+#
+# 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:
+# Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+###############################################################################
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ OSGI-INF/,\
+ plugin.xml,\
+ about.html
+javacDefaultEncoding.. = UTF-8
+src.includes = about.html
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/plugin.xml b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/plugin.xml
new file mode 100644
index 00000000000..753e8a41f19
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/plugin.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/dialog/IOclDialogFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/dialog/IOclDialogFactory.java
new file mode 100644
index 00000000000..cc1bac601c7
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/dialog/IOclDialogFactory.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.dialog;
+
+import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.dialog.query.IQueryDialogFactory;
+
+public interface IOclDialogFactory extends IQueryDialogFactory {
+
+ void setExpression(final String expression);
+
+}
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/Activator.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/Activator.java
new file mode 100644
index 00000000000..333502ad9b4
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/Activator.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) 2012 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:
+ * Gregoire Dupe (Mia-Software) - Bug 372626 - Aggregates
+ */
+package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+// Copied from org.eclipse.papyrus.emf.facet.aggregate.metamodel.notgenerated
+@SuppressWarnings("PMD.UseSingleton")
+// @SuppressWarnings("PMD.UseSingleton") We cannot conforms to this rule because
+// this class is an Eclipse plug-in activator which will be instantiated by the
+// Eclipse framework.
+public class Activator extends Plugin {
+
+ private static Activator plugin;
+
+ @Override
+ @SuppressWarnings("PMD.SignatureDeclareThrowsException")
+ // @SuppressWarnings("PMD.SignatureDeclareThrowsException") We have to use
+ // this signature because this is an override of an Eclipse framework's
+ // method.
+ public void start(final BundleContext bundleContext) throws Exception {
+ super.start(bundleContext);
+ Activator.plugin = this;
+ }
+
+ @Override
+ @SuppressWarnings("PMD.SignatureDeclareThrowsException")
+ // @SuppressWarnings("PMD.SignatureDeclareThrowsException") We have to use
+ // this signature because this is an override of an Eclipse framework's
+ // method.
+ public void stop(final BundleContext bundleContext) throws Exception {
+ // NOPMD: PMD say "Assigning an Object to null is a code smell."
+ // No choice to right it in another way : this is an Eclipse pattern.
+ Activator.plugin = null; // NOPMD by gdupe on 30/03/12 10:19
+ super.stop(bundleContext);
+ }
+
+ public static Plugin getDefault() {
+ return Activator.plugin;
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/Messages.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/Messages.java
new file mode 100644
index 00000000000..68cd5a4df3a
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/Messages.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+ private static final String BUNDLE_NAME = "org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.messages"; //$NON-NLS-1$
+
+ public static String Query_Context;
+ public static String Return_type;
+ public static String Type_returned;
+
+ public static String OclDialogFactory_OclExpression;
+
+ public static String OclExpression_Error;
+ public static String OclQueryDialogFactory_Dialog_Desc;
+ public static String OclQueryDialogFactory_Dialog_Title;
+ public static String Expression;
+ public static String Expression_return_type_not_valid;
+ public static String Expression_not_valid;
+
+ // OCL expression
+ public static String Create_Ocl_expression;
+ public static String Create_the;
+ public static String OclExpression_Error_type;
+
+ // OCL
+ public static String console_badContextForQuery;
+ public static String console_badContextForConstraint;
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(Messages.BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/dialog/OclDialogFactory.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/dialog/OclDialogFactory.java
new file mode 100644
index 00000000000..3c84dbc8340
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/dialog/OclDialogFactory.java
@@ -0,0 +1,77 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.dialog;
+
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
+import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryDialogFactoryStrategy;
+import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.query.AbstractQueryDialogFactory;
+import org.eclipse.papyrus.emf.facet.query.ocl.metamodel.oclquery.OclQuery;
+import org.eclipse.papyrus.emf.facet.query.ocl.metamodel.oclquery.OclQueryFactory;
+import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.Messages;
+import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.query.OclQueryWidget;
+import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.query.SynchonizedOclQueryWidget;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.widget.IAbstractWidget;
+import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Concrete implementation of {@link AbstractQueryDialogFactory} for the
+ * creation of OCLExpression.
+ *
+ * @see AbstractQueryDialogFactory
+ */
+public class OclDialogFactory implements IQueryDialogFactoryStrategy {
+
+ private final PropertyElement2 oclExpressionProp;
+
+ public OclDialogFactory() {
+ this.oclExpressionProp = new PropertyElement2(false,
+ Messages.OclDialogFactory_OclExpression);
+ }
+
+ public IAbstractWidget createWidget(
+ final Composite parent, final IQueryContext queryContext) {
+ // An OCL query by definition can't have side effects.
+ return new SynchonizedOclQueryWidget(new OclQueryWidget(parent,
+ this.oclExpressionProp, queryContext), parent.getDisplay());
+ }
+
+ public String getDialogMessage() {
+ return Messages.OclQueryDialogFactory_Dialog_Desc;
+ }
+
+ public String getDialogTitle() {
+ return Messages.OclQueryDialogFactory_Dialog_Title;
+ }
+
+ public String getConclusionText() {
+ return this.oclExpressionProp.getValue2();
+ }
+
+ public OclQuery createQuery(final boolean canBeCached,
+ final boolean sideEffects, final IQueryContext queryContext) {
+ OclQuery query = null;
+ final String oclExpression = (String) this.oclExpressionProp.getValue();
+ final EClassifier context = queryContext.getExtendedEClass();
+ if ((oclExpression != null) && (context != null)) {
+ query = OclQueryFactory.eINSTANCE.createOclQuery();
+ query.setCanBeCached(true);
+ query.setCanHaveSideEffects(false);
+ query.setOclExpression(oclExpression);
+ query.setContext(context);
+ }
+ return query;
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/exception/OclQueryRuntimeException.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/exception/OclQueryRuntimeException.java
new file mode 100644
index 00000000000..39d6967b0e1
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/exception/OclQueryRuntimeException.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.exception;
+
+public class OclQueryRuntimeException extends RuntimeException {
+
+ private static final long serialVersionUID = -3675130124806299967L;
+
+ public OclQueryRuntimeException(final String message) {
+ super(message);
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/messages.properties b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/messages.properties
new file mode 100644
index 00000000000..8a5cb9243d9
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/messages.properties
@@ -0,0 +1,104 @@
+########################################################################
+# Copyright (c) 2012 Mia-Software.
+#
+# 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:
+# Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+# Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+########################################################################
+OclDialogFactory_OclExpression=OCL expression
+OclQueryDialogFactory_Dialog_Desc=Create a new OCL query
+OclQueryDialogFactory_Dialog_Title=New OCL query
+OclExpression_Error=You must create a valid OCL expression
+Expression=Expression :
+Edition_Group=Edition
+Previous=Previous
+Next=Next
+Expression_return_type_not_valid=The type returned by the expression is not valid
+Expression_not_valid=The OCL expression is not valid
+Return_type=Expected type :
+Type_returned=Type returned :
+Select_choice=You must select an element
+Select_option= = Select an option =
+
+Create_next_step=Add an new element at the expression
+
+New_wizard=New Element
+
+Can_finish=OR you can rather finish the expression
+
+#### Wizard Pages
+Choice_step_name=Select an option
+Choice_step_message=Select an option for the current expression.
+String_step_name=String comparison
+String_step_message=Compare the string to an other one.
+Operation_step_name=Create the operation expression
+Operation_step_message=Create the operation expression for the selected operation
+
+#### OCL Expression
+Create_Ocl_expression=Create an OCL Expression
+Create_the=Create the parameter
+OclExpression_Error_type=The type returned by the expression is not correct, expected :
+
+#### Booleans
+Add_a_boolean_expression=Add a boolean expression
+
+Or_tree_item=OR
+Or_menu_item=Or
+
+And_tree_item=AND
+And_menu_item=And
+
+Not_tree_item=NOT
+Not_menu_item=Not
+
+#### Comparator
+Add_a_comparator=Add a comparator
+
+Equal==
+Different=<>
+Gretter=>
+Gretter_equal=>=
+Lower=<
+Lower_equal=<=
+
+#### Constant
+Add_constant=Add a constant
+Create_new_constant=Create a new constant
+
+String=String
+Integer=Integer
+Real=Real
+Real_error=You must enter a real number (like 42.1337)
+Real_can_be_null=The real can't be null
+Boolean=Boolean
+
+#### Dynamic Menu Attributes
+Attributes_of=Attributes of
+
+#### OCL
+
+console_badContextForQuery = Must select a model element on which to evaluate the query.
+console_badContextForConstraint = Must select a classifier, operation, or attribute on which to parse the constraint.
+
+
+#### Let
+Create_Let_expression=Create a let Expression
+Variable_Name=Name :
+Variable_Type=Type :
+Variable_Select_Type: Select a type
+Variable_Expression=Expression :
+
+Variable_Name_Error=You must set a name for the variable
+Variable_Type_Error=You must set a type for the variable
+
+#### Variables
+Variable=Variables
+
+Query_Context=Context :
+Delete_Item=Delete item
+Parameters_for : Parameters for
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/PrintQueryContextWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/PrintQueryContextWidget.java
new file mode 100644
index 00000000000..89606dfb085
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/PrintQueryContextWidget.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget;
+
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.Messages;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.widget.component.properties.name.AbstractPrintElementWidget;
+import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement;
+import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Widget for the display of the expected type. Display a simple text field, not
+ * editable with the type expected in it.
+ */
+public class PrintQueryContextWidget extends
+ AbstractPrintElementWidget {
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent of this widget.
+ * @param propertyElement
+ * the {@link PropertyElement} that this widget will edit.
+ */
+ public PrintQueryContextWidget(final Composite parent,
+ final PropertyElement2 propertyElement) {
+ super(parent, propertyElement);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Query_Context;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // Nothing.
+ }
+
+ @Override
+ protected String getErrorMessage() {
+ return null;
+ }
+
+ @Override
+ protected String getTextFieldInitialText() {
+ return this.getPropertyElement().getValue2().getName();
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/PrintQueryReturnTypeWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/PrintQueryReturnTypeWidget.java
new file mode 100644
index 00000000000..b78b0aadfaf
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/PrintQueryReturnTypeWidget.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget;
+
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.Messages;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.widget.component.properties.name.AbstractPrintElementWidget;
+import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement;
+import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Widget for the display of the expected type. Display a simple text field, not
+ * editable with the type expected in it.
+ */
+public class PrintQueryReturnTypeWidget extends
+ AbstractPrintElementWidget {
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent of this widget.
+ * @param propertyElement
+ * the {@link PropertyElement} that this widget will edit.
+ */
+ public PrintQueryReturnTypeWidget(final Composite parent,
+ final PropertyElement2 propertyElement) {
+ super(parent, propertyElement);
+ }
+
+ @Override
+ protected String getLabel() {
+ return Messages.Return_type;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // Nothing.
+ }
+
+ @Override
+ protected String getErrorMessage() {
+ return null;
+ }
+
+ @Override
+ protected String getTextFieldInitialText() {
+ return this.getPropertyElement().getValue2().getName();
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/oclexpression/OclExpressionWidgetSimple.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/oclexpression/OclExpressionWidgetSimple.java
new file mode 100644
index 00000000000..7afe5e0d520
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/oclexpression/OclExpressionWidgetSimple.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.oclexpression;
+
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.papyrus.emf.facet.query.ocl.core.util.OclQueryUtil;
+import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.Messages;
+import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.widget.oclexpression.IOCLExpressionWidget;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.widget.AbstractWidget;
+import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement;
+import org.eclipse.ocl.ParserException;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+
+/**
+ * Simple widget for the edition of a complexe OCl expression.
+ */
+public class OclExpressionWidgetSimple extends AbstractWidget implements
+ IOCLExpressionWidget {
+
+ private static final String UNREC_VAR = "Unrecognized variable"; //$NON-NLS-1$
+ private static final int TEXT_HEIGHT = 100;
+ private final EClassifier context;
+ private final String expression;
+ private Text text;
+ private final PropertyElement oclExpressionProp;
+
+ public OclExpressionWidgetSimple(final Composite parent,
+ final EClassifier context, final String expression,
+ final PropertyElement oclExpressionProp) {
+ super(parent);
+ this.context = context;
+ this.expression = expression;
+ this.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ this.oclExpressionProp = oclExpressionProp;
+ }
+
+ @Override
+ protected void addSubWidgets() {
+ this.text = new Text(this, SWT.MULTI | SWT.V_SCROLL);
+ final GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.heightHint = TEXT_HEIGHT;
+ this.text.setLayoutData(gridData);
+
+ if (this.expression != null) {
+ this.text.setText(this.expression);
+ }
+ }
+
+ @Override
+ public String getError() {
+ String result = null;
+
+ final String textExpression = this.text.getText().trim();
+ if ("".equals(textExpression)) { //$NON-NLS-1$
+ result = Messages.OclExpression_Error;
+ } else {
+ try {
+ OclQueryUtil.createOCLExpression(this.context, textExpression);
+ this.oclExpressionProp.setValue(textExpression);
+ } catch (final ParserException exception) {
+ if (exception.getMessage().contains(UNREC_VAR)) {
+ this.oclExpressionProp.setValue(textExpression);
+ } else {
+ result = Messages.OclExpression_Error
+ + " :\n - " + exception.getMessage(); //$NON-NLS-1$
+ }
+ }
+ }
+
+ return result;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // Nothing to do.
+ }
+
+ public void setExpression(final String expression) {
+ this.text.setText(expression);
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/query/OclQueryWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/query/OclQueryWidget.java
new file mode 100644
index 00000000000..de95018922c
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/query/OclQueryWidget.java
@@ -0,0 +1,107 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.query;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.ETypedElement;
+import org.eclipse.papyrus.emf.facet.efacet.metamodel.v0_2_0.efacet.extensible.Query;
+import org.eclipse.papyrus.emf.facet.efacet.sdk.ui.internal.exported.IQueryContext;
+import org.eclipse.papyrus.emf.facet.query.ocl.metamodel.oclquery.OclQuery;
+import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.PrintQueryContextWidget;
+import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.PrintQueryReturnTypeWidget;
+import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.oclexpression.OclExpressionWidgetSimple;
+import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.widget.IOclQueryWidget;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.widget.query.AbstractQueryWidget;
+import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement;
+import org.eclipse.papyrus.emf.facet.util.ui.utils.PropertyElement2;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * It is the main widget of the main dialog. This widget add the expected return
+ * type and display the tree.
+ */
+public class OclQueryWidget extends AbstractQueryWidget implements IOclQueryWidget {
+
+ private final PropertyElement oclExpressionProp;
+ private OclExpressionWidgetSimple oclExprWidget;
+ private final IQueryContext queryContext;
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * the parent of this widget.
+ * @param properties
+ * the properties for this widget.
+ * @param context
+ * the context of the OCL expression.
+ * @param returnType
+ * the type that the OCL expression must return.
+ * @param initialQuery
+ * the initial {@link OclQuery} if there is one (can be null).
+ * @param facet
+ */
+ public OclQueryWidget(final Composite parent,
+ final PropertyElement oclExpressionProp,
+ final IQueryContext queryContext) {
+ super(parent);
+ this.queryContext = queryContext;
+ this.oclExpressionProp = oclExpressionProp;
+ }
+
+ @Override
+ protected void addSubWidgets() {
+ final EClassifier extendedEClass = this.queryContext
+ .getExtendedEClass();
+ addSubWidget(new PrintQueryContextWidget(this,
+ new PropertyElement2(false, extendedEClass)));
+ final EClassifier returnType = this.queryContext.getReturnType();
+ addSubWidget(new PrintQueryReturnTypeWidget(this,
+ new PropertyElement2(false, returnType)));
+ String expression;
+ final Query initialQuery = this.queryContext.getQuery();
+ if (initialQuery instanceof OclQuery) {
+ final OclQuery oclQuery = (OclQuery) initialQuery;
+ expression = oclQuery.getOclExpression();
+ } else {
+ expression = (String) this.oclExpressionProp.getValue();
+ }
+ this.oclExprWidget = new OclExpressionWidgetSimple(this,
+ extendedEClass, expression, this.oclExpressionProp);
+ addSubWidget(this.oclExprWidget);
+ }
+
+ @Override
+ public Command getCommand() {
+ // This widget doesn't create any command.
+ return null;
+ }
+
+ @Override
+ public void notifyChanged() {
+ // Nothing to do.
+ }
+
+ @Override
+ public void onDialogValidation() {
+ // Nothing
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.query.IOclQueryWidget#setExpression(java.lang.String)
+ */
+ public void setExpression(final String expression) {
+ this.oclExprWidget.setExpression(expression);
+ }
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/query/SynchonizedOclQueryWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/query/SynchonizedOclQueryWidget.java
new file mode 100644
index 00000000000..0e5a6fdeeb9
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/internal/widget/query/SynchonizedOclQueryWidget.java
@@ -0,0 +1,82 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Grégoire Dupé (Mia-Software) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.internal.widget.query;
+
+import org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.widget.IOclQueryWidget;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.displaysync.AbstractExceptionFreeRunnable;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.displaysync.AbstractVoidExceptionFreeRunnable;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.displaysync.SynchronizedObject;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.widget.AbstractWidget;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.widget.IAbstractWidget;
+import org.eclipse.swt.widgets.Display;
+
+public class SynchonizedOclQueryWidget extends
+ SynchronizedObject implements IOclQueryWidget,
+ IAbstractWidget {
+
+ public SynchonizedOclQueryWidget(final OclQueryWidget widget,
+ final Display display) {
+ super(widget, display);
+ }
+
+ public void setExpression(final String expression) {
+ voidExceptionFreeRunnable(new AbstractVoidExceptionFreeRunnable() {
+ @Override
+ public void voidSafeRun() {
+ SynchonizedOclQueryWidget.this.getSynchronizedObject()
+ .setExpression(expression);
+ }
+ });
+ }
+
+ public void addListener(final AbstractWidget abstractWidget) {
+ voidExceptionFreeRunnable(new AbstractVoidExceptionFreeRunnable() {
+ @Override
+ public void voidSafeRun() {
+ SynchonizedOclQueryWidget.this.getSynchronizedObject()
+ .addListener(abstractWidget);
+ }
+ });
+ }
+
+ public void notifyChanged() {
+ voidExceptionFreeRunnable(new AbstractVoidExceptionFreeRunnable() {
+ @Override
+ public void voidSafeRun() {
+ SynchonizedOclQueryWidget.this.getSynchronizedObject()
+ .notifyChanged();
+ }
+ });
+ }
+
+ public void createWidgetContent() {
+ voidExceptionFreeRunnable(new AbstractVoidExceptionFreeRunnable() {
+ @Override
+ public void voidSafeRun() {
+ SynchonizedOclQueryWidget.this.getSynchronizedObject()
+ .createWidgetContent();
+ }
+ });
+ }
+
+ public String getError() {
+ return safeSyncExec(new AbstractExceptionFreeRunnable() {
+ @Override
+ public String safeRun() {
+ // TODO Auto-generated method stub
+ return SynchonizedOclQueryWidget.this.getSynchronizedObject()
+ .getError();
+ }
+ });
+ }
+
+}
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/widget/IOclQueryWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/widget/IOclQueryWidget.java
new file mode 100644
index 00000000000..ff2d5696139
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/widget/IOclQueryWidget.java
@@ -0,0 +1,18 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.widget;
+
+public interface IOclQueryWidget {
+
+ void setExpression(final String expression);
+
+}
\ No newline at end of file
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/widget/oclexpression/IOCLExpressionWidget.java b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/widget/oclexpression/IOCLExpressionWidget.java
new file mode 100644
index 00000000000..d9ee22f4934
--- /dev/null
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui/src/org/eclipse/papyrus/emf/facet/query/ocl/sdk/ui/widget/oclexpression/IOCLExpressionWidget.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban MĂ©nager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui.widget.oclexpression;
+
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.widget.IAbstractWidget;
+
+/**
+ * @see OCLExpressionWidget
+ * @noextend This interface is not intended to be extended by clients.
+ * @noimplement This interface is not intended to be implemented by clients.
+ */
+public interface IOCLExpressionWidget extends IAbstractWidget {
+
+ /**
+ * @param expression
+ */
+ void setExpression(String expression);
+
+}
\ No newline at end of file
--
cgit v1.2.3