[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">