diff options
Diffstat (limited to 'extraplugins/java/org.eclipse.papyrus.java.reverse.ui')
4 files changed, 38 insertions, 5 deletions
diff --git a/extraplugins/java/org.eclipse.papyrus.java.reverse.ui/.settings/org.eclipse.core.resources.prefs b/extraplugins/java/org.eclipse.papyrus.java.reverse.ui/.settings/org.eclipse.core.resources.prefs index b8c742b3460..2697efedfa3 100644 --- a/extraplugins/java/org.eclipse.papyrus.java.reverse.ui/.settings/org.eclipse.core.resources.prefs +++ b/extraplugins/java/org.eclipse.papyrus.java.reverse.ui/.settings/org.eclipse.core.resources.prefs @@ -1,2 +1,3 @@ eclipse.preferences.version=1 encoding//src/org/eclipse/papyrus/java/reverse/ui/dnd/messages.properties=ISO-8859-1 +encoding//src/org/eclipse/papyrus/java/reverse/ui/messages.properties=ISO-8859-1 diff --git a/extraplugins/java/org.eclipse.papyrus.java.reverse.ui/src/org/eclipse/papyrus/java/reverse/ui/Messages.java b/extraplugins/java/org.eclipse.papyrus.java.reverse.ui/src/org/eclipse/papyrus/java/reverse/ui/Messages.java new file mode 100644 index 00000000000..38577506c0d --- /dev/null +++ b/extraplugins/java/org.eclipse.papyrus.java.reverse.ui/src/org/eclipse/papyrus/java/reverse/ui/Messages.java @@ -0,0 +1,19 @@ +package org.eclipse.papyrus.java.reverse.ui; + +import org.eclipse.osgi.util.NLS; + +public class Messages extends NLS { + + private static final String BUNDLE_NAME = "org.eclipse.papyrus.java.reverse.ui.messages"; //$NON-NLS-1$ + + public static String ReverseCodeHandler_NoModelError_Message; + + public static String ReverseCodeHandler_NoModelError_Title; + static { + // initialize resource bundle + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + private Messages() { + } +} diff --git a/extraplugins/java/org.eclipse.papyrus.java.reverse.ui/src/org/eclipse/papyrus/java/reverse/ui/ReverseCodeHandler.java b/extraplugins/java/org.eclipse.papyrus.java.reverse.ui/src/org/eclipse/papyrus/java/reverse/ui/ReverseCodeHandler.java index 24c33edcde1..55aec76bd3b 100644 --- a/extraplugins/java/org.eclipse.papyrus.java.reverse.ui/src/org/eclipse/papyrus/java/reverse/ui/ReverseCodeHandler.java +++ b/extraplugins/java/org.eclipse.papyrus.java.reverse.ui/src/org/eclipse/papyrus/java/reverse/ui/ReverseCodeHandler.java @@ -10,9 +10,11 @@ import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.runtime.Status;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.transaction.RecordingCommand;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.jface.window.Window;
import org.eclipse.papyrus.infra.core.editor.IMultiDiagramEditor;
import org.eclipse.papyrus.infra.core.services.ServiceException;
@@ -22,6 +24,7 @@ import org.eclipse.papyrus.java.reverse.ui.dialog.ReverseCodeDialog; import org.eclipse.papyrus.uml.tools.model.UmlUtils;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.uml2.uml.Package;
@@ -37,11 +40,19 @@ public class ReverseCodeHandler extends AbstractHandler implements IHandler { * Method called when button is pressed.
*/
public Object execute(ExecutionEvent event) throws ExecutionException {
-
-
-
- final Resource umlResource = getUmlResource();
- // String rootModelName = getRootModelName(umlResource);
+ // Try to find uml resource
+ final Resource umlResource;
+ try {
+ umlResource = getUmlResource();
+ } catch(NullPointerException e) {
+ // No uml resource available. User must open a model. We open an error dialog with an explicit message to advice user.
+ Shell shell = HandlerUtil.getActiveShell(event);
+ Status errorStatus = new Status(Status.ERROR, Activator.PLUGIN_ID, Messages.ReverseCodeHandler_NoModelError_Title);
+ ErrorDialog.openError(shell, "", Messages.ReverseCodeHandler_NoModelError_Message, errorStatus);
+
+ // Stop the reverse execution.
+ return null;
+ };
String modelUid = getModelUid(umlResource);
System.out.println("Model uid :" + modelUid);
diff --git a/extraplugins/java/org.eclipse.papyrus.java.reverse.ui/src/org/eclipse/papyrus/java/reverse/ui/messages.properties b/extraplugins/java/org.eclipse.papyrus.java.reverse.ui/src/org/eclipse/papyrus/java/reverse/ui/messages.properties new file mode 100644 index 00000000000..a754ab7df2a --- /dev/null +++ b/extraplugins/java/org.eclipse.papyrus.java.reverse.ui/src/org/eclipse/papyrus/java/reverse/ui/messages.properties @@ -0,0 +1,2 @@ +ReverseCodeHandler_NoModelError_Message=No model selected for Reverse. Please open a model where you want to add the reverse result. +ReverseCodeHandler_NoModelError_Title=No model selected |