[505651] Remove redondant "Generate" word in every action

Also makes the code more robust in case there is no genmodel available.

Bug: 505651
Change-Id: I844bf555f7876cdc55ee9d870c92e1c0041d44e7
diff --git a/org.eclipse.emf.ecoretools.design.ui/src/org/eclipse/emf/ecoretools/design/ui/action/GenerateAllAction.java b/org.eclipse.emf.ecoretools.design.ui/src/org/eclipse/emf/ecoretools/design/ui/action/GenerateAllAction.java
index 5267284..a4e188f 100644
--- a/org.eclipse.emf.ecoretools.design.ui/src/org/eclipse/emf/ecoretools/design/ui/action/GenerateAllAction.java
+++ b/org.eclipse.emf.ecoretools.design.ui/src/org/eclipse/emf/ecoretools/design/ui/action/GenerateAllAction.java
@@ -60,52 +60,54 @@
 		final List<GenModel> gens = Lists
 				.newArrayList(Iterables.filter((Collection<?>) genmodelsParamValue, GenModel.class));
 
-		Display.getDefault().syncExec(new Runnable() {
+		if (gens.size() > 0) {
+			Display.getDefault().syncExec(new Runnable() {
 
-			public void run() {
-				IEditorPart activeEditorPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
-						.getActiveEditor();
-				GeneratorUIUtil.GeneratorOperation operation = new GeneratorUIUtil.GeneratorOperation(
-						activeEditorPart.getSite().getShell());
-				for (GenModel genModel : gens) {
-					genModel.reconcile();
-					genModel.setCanGenerate(true);
-					Generator generator = new Generator();
-					generator.setInput(genModel);
-					if (scope.contains("model")) {
-						operation.addGeneratorAndArguments(generator, genModel,
-								GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE,
-								CodeGenEcorePlugin.INSTANCE.getString("_UI_ModelProject_name"));
+				public void run() {
+					IEditorPart activeEditorPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+							.getActiveEditor();
+					GeneratorUIUtil.GeneratorOperation operation = new GeneratorUIUtil.GeneratorOperation(
+							activeEditorPart.getSite().getShell());
+					for (GenModel genModel : gens) {
+						genModel.reconcile();
+						genModel.setCanGenerate(true);
+						Generator generator = new Generator();
+						generator.setInput(genModel);
+						if (scope.contains("model")) {
+							operation.addGeneratorAndArguments(generator, genModel,
+									GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE,
+									CodeGenEcorePlugin.INSTANCE.getString("_UI_ModelProject_name"));
+						}
+						if (scope.contains("edit")) {
+							operation.addGeneratorAndArguments(generator, genModel,
+									GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE,
+									CodeGenEcorePlugin.INSTANCE.getString("_UI_EditProject_name"));
+						}
+						if (scope.contains("editor")) {
+							operation.addGeneratorAndArguments(generator, genModel,
+									GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE,
+									CodeGenEcorePlugin.INSTANCE.getString("_UI_EditorProject_name"));
+						}
+						if (scope.contains("tests")) {
+							operation.addGeneratorAndArguments(generator, genModel,
+									GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE,
+									CodeGenEcorePlugin.INSTANCE.getString("_UI_TestsProject_name"));
+						}
 					}
-					if (scope.contains("edit")) {
-						operation.addGeneratorAndArguments(generator, genModel,
-								GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE,
-								CodeGenEcorePlugin.INSTANCE.getString("_UI_EditProject_name"));
-					}
-					if (scope.contains("editor")) {
-						operation.addGeneratorAndArguments(generator, genModel,
-								GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE,
-								CodeGenEcorePlugin.INSTANCE.getString("_UI_EditorProject_name"));
-					}
-					if (scope.contains("tests")) {
-						operation.addGeneratorAndArguments(generator, genModel,
-								GenBaseGeneratorAdapter.TESTS_PROJECT_TYPE,
-								CodeGenEcorePlugin.INSTANCE.getString("_UI_TestsProject_name"));
+					try {
+
+						IWorkbench wb = PlatformUI.getWorkbench();
+						IProgressService ps = wb.getProgressService();
+						ps.busyCursorWhile(operation);
+
+					} catch (Exception exception) {
+						// Something went wrong that shouldn't.
+						//
+						GenModelEditPlugin.INSTANCE.log(exception);
 					}
 				}
-				try {
-
-					IWorkbench wb = PlatformUI.getWorkbench();
-					IProgressService ps = wb.getProgressService();
-					ps.busyCursorWhile(operation);
-
-				} catch (Exception exception) {
-					// Something went wrong that shouldn't.
-					//
-					GenModelEditPlugin.INSTANCE.log(exception);
-				}
-			}
-		});
+			});
+		}
 	}
 
 }
diff --git a/org.eclipse.emf.ecoretools.design/description/ecore.odesign b/org.eclipse.emf.ecoretools.design/description/ecore.odesign
index 332f9e5..fbeae97 100644
--- a/org.eclipse.emf.ecoretools.design/description/ecore.odesign
+++ b/org.eclipse.emf.ecoretools.design/description/ecore.odesign
@@ -193,8 +193,8 @@
           </style>
         </containerMappings>
         <toolSections name="Existing Elements">
-          <ownedTools xsi:type="tool:PopupMenu" name="Generate" precondition="aql:OrderedSet{self.target}->select(e | e.eInverse().eClass().ePackage.nsURI->includes('http://www.eclipse.org/emf/2002/GenModel'))">
-            <menuItemDescription xsi:type="tool:OperationAction" name="Generate Model Code" precondition="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()->select(m | m.modelDirectory.size() > 0)->size() > 0" icon="/org.eclipse.emf.ecoretools.design/icons/full/obj16/GenModel.gif">
+          <ownedTools xsi:type="tool:PopupMenu" name="Generate">
+            <menuItemDescription xsi:type="tool:OperationAction" name="Model Code" precondition="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()->select(m | m.modelDirectory.size() > 0)->size() > 0" icon="/org.eclipse.emf.ecoretools.design/icons/full/obj16/GenModel.gif">
               <view name="views"/>
               <initialOperation>
                 <firstModelOperations xsi:type="tool:ExternalJavaAction" name="Generate All" id="org.eclipse.emf.ecoretools.design.action.generateAllID">
@@ -203,7 +203,7 @@
                 </firstModelOperations>
               </initialOperation>
             </menuItemDescription>
-            <menuItemDescription xsi:type="tool:OperationAction" name="Generate Edit Code" precondition="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()->select(m | m.editDirectory.size() > 0)->size() > 0" icon="/org.eclipse.emf.ecoretools.design/icons/full/obj16/GenModel.gif">
+            <menuItemDescription xsi:type="tool:OperationAction" name="Edit Code" precondition="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()->select(m | m.editDirectory.size() > 0)->size() > 0" icon="/org.eclipse.emf.ecoretools.design/icons/full/obj16/GenModel.gif">
               <view name="views"/>
               <initialOperation>
                 <firstModelOperations xsi:type="tool:ExternalJavaAction" name="Generate All" id="org.eclipse.emf.ecoretools.design.action.generateAllID">
@@ -212,7 +212,7 @@
                 </firstModelOperations>
               </initialOperation>
             </menuItemDescription>
-            <menuItemDescription xsi:type="tool:OperationAction" name="Generate Editor Code" precondition="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()->select(m | m.editorDirectory.size() > 0)->size() > 0" icon="/org.eclipse.emf.ecoretools.design/icons/full/obj16/GenModel.gif">
+            <menuItemDescription xsi:type="tool:OperationAction" name="Editor Code" precondition="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()->select(m | m.editorDirectory.size() > 0)->size() > 0" icon="/org.eclipse.emf.ecoretools.design/icons/full/obj16/GenModel.gif">
               <view name="views"/>
               <initialOperation>
                 <firstModelOperations xsi:type="tool:ExternalJavaAction" name="Generate All" id="org.eclipse.emf.ecoretools.design.action.generateAllID">
@@ -221,7 +221,7 @@
                 </firstModelOperations>
               </initialOperation>
             </menuItemDescription>
-            <menuItemDescription xsi:type="tool:OperationAction" name="Generate Tests Code" precondition="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()->select(m | m.testsDirectory.size() > 0)->size() > 0" icon="/org.eclipse.emf.ecoretools.design/icons/full/obj16/GenModel.gif">
+            <menuItemDescription xsi:type="tool:OperationAction" name="Tests Code" precondition="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()->select(m | m.testsDirectory.size() > 0)->size() > 0" icon="/org.eclipse.emf.ecoretools.design/icons/full/obj16/GenModel.gif">
               <view name="views"/>
               <initialOperation>
                 <firstModelOperations xsi:type="tool:ExternalJavaAction" name="Generate All" id="org.eclipse.emf.ecoretools.design.action.generateAllID">
@@ -230,7 +230,7 @@
                 </firstModelOperations>
               </initialOperation>
             </menuItemDescription>
-            <menuItemDescription xsi:type="tool:OperationAction" name="Generate All" precondition="aql:OrderedSet{self.target}->select(e | e.eInverse().eClass().ePackage.nsURI->includes('http://www.eclipse.org/emf/2002/GenModel'))" icon="/org.eclipse.emf.ecoretools.design/icons/full/obj16/GenModel.gif">
+            <menuItemDescription xsi:type="tool:OperationAction" name=" All" precondition="aql:OrderedSet{views.target}.eInverse().eContainerOrSelf(genmodel::GenModel)->asSet()->size() > 0" icon="/org.eclipse.emf.ecoretools.design/icons/full/obj16/GenModel.gif">
               <view name="views"/>
               <initialOperation>
                 <firstModelOperations xsi:type="tool:ExternalJavaAction" name="Generate All" id="org.eclipse.emf.ecoretools.design.action.generateAllID">