浏览代码

Refactoring: Moved extension_parser and resourcedescriptions to resource plugin

Andreas Mülder 14 年之前
父节点
当前提交
4f2eb080ba

+ 2 - 1
plugins/org.yakindu.sct.statechart.core.resource/META-INF/MANIFEST.MF

@@ -10,6 +10,7 @@ Require-Bundle: org.eclipse.ui,
  org.yakindu.sct.statechart.expressions.ui;bundle-version="1.0.0",
  org.yakindu.sct.model.statechart;bundle-version="1.0.0",
  de.itemis.xtext.utils.gmf;bundle-version="1.0.0",
- org.eclipse.gmf.runtime.emf.core;bundle-version="1.4.1"
+ org.eclipse.gmf.runtime.emf.core;bundle-version="1.4.1",
+ org.eclipse.xtext.ui;bundle-version="2.0.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy

+ 10 - 3
plugins/org.yakindu.sct.statechart.core.resource/plugin.xml

@@ -2,13 +2,20 @@
 <?eclipse version="3.4"?>
 <plugin>
 
-<!-- Resource   -->
-  <extension
+<!-- Resource  -->
+ <extension
          point="org.eclipse.emf.ecore.extension_parser">
       <parser
-            class="org.yakindu.sct.statechart.core.resource.InjectMembersResourceFactory"
+            class="org.yakindu.sct.statechart.core.resource.factory.ExpressionsExecutableExtensionFactory:org.yakindu.sct.statechart.core.resource.factory.InjectMembersResourceFactory"
             type="sct">
       </parser>
    </extension>
 
+   <!-- Resource Provider -->
+   <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+        <resourceServiceProvider
+           class="org.yakindu.sct.statechart.core.resource.factory.ExpressionsExecutableExtensionFactory:org.yakindu.sct.statechart.core.resource.provider.StatechartResourceProvider"
+            uriExtension="sct">
+        </resourceServiceProvider>
+    </extension>
 </plugin>

+ 27 - 0
plugins/org.yakindu.sct.statechart.core.resource/src/org/yakindu/sct/statechart/core/resource/factory/ExpressionsExecutableExtensionFactory.java

@@ -0,0 +1,27 @@
+/*
+ * generated by Xtext
+ */
+package org.yakindu.sct.statechart.core.resource.factory;
+
+import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
+import org.osgi.framework.Bundle;
+
+import com.google.inject.Injector;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass. 
+ */
+public class ExpressionsExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
+
+	@Override
+	protected Bundle getBundle() {
+		return org.yakindu.sct.statechart.core.resource.Activator.getDefault().getBundle();
+	}
+	
+	@Override
+	protected Injector getInjector() {
+		return org.yakindu.sct.statechart.ui.internal.ExpressionsActivator.getInstance().getInjector("org.yakindu.sct.statechart.Expressions");
+	}
+	
+}

+ 12 - 12
plugins/org.yakindu.sct.statechart.core.resource/src/org/yakindu/sct/statechart/core/resource/InjectMembersResourceFactory.java

@@ -1,12 +1,13 @@
-package org.yakindu.sct.statechart.core.resource;
+package org.yakindu.sct.statechart.core.resource.factory;
 
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-import org.yakindu.sct.statechart.ExpressionsRuntimeModule;
+import org.yakindu.sct.statechart.core.resource.services.StateInjectionService;
+import org.yakindu.sct.statechart.core.resource.services.StatechartInjectionService;
+import org.yakindu.sct.statechart.core.resource.services.TransitionInjectionService;
 
-import com.google.inject.Guice;
-import com.google.inject.Injector;
+import com.google.inject.Inject;
 
 import de.itemis.xtext.utils.gmf.resource.InjectMembersResource;
 
@@ -17,22 +18,21 @@ import de.itemis.xtext.utils.gmf.resource.InjectMembersResource;
  */
 public class InjectMembersResourceFactory extends XMIResourceFactoryImpl {
 
+	@Inject
+	TransitionInjectionService transitionService;
+	@Inject
+	StateInjectionService stateService;
+	@Inject
+	StatechartInjectionService statechartService;
+
 	@Override
 	public Resource createResource(URI uri) {
 		InjectMembersResource resource = new InjectMembersResource(uri);
-		ExpressionsRuntimeModule module = new ExpressionsRuntimeModule();
-		Injector injector = Guice.createInjector(module);
 		// Add a Transition service
-		TransitionInjectionService transitionService = new TransitionInjectionService();
-		injector.injectMembers(transitionService);
 		resource.getServices().add(transitionService);
 		// Add a State service
-		StateInjectionService stateService = new StateInjectionService();
-		injector.injectMembers(stateService);
 		resource.getServices().add(stateService);
 		// Add a Statechart service
-		StatechartInjectionService statechartService = new StatechartInjectionService();
-		injector.injectMembers(statechartService);
 		resource.getServices().add(statechartService);
 		return resource;
 	}

+ 3 - 3
plugins/org.yakindu.sct.statechart.expressions.ui/src/org/yakindu/sct/statechart/ui/resourceprovider/ExpressionsResourceDescription.java

@@ -1,4 +1,4 @@
-package org.yakindu.sct.statechart.ui.resourceprovider;
+package org.yakindu.sct.statechart.core.resource.provider;
 
 import java.util.HashMap;
 import java.util.Iterator;
@@ -23,14 +23,14 @@ import com.google.common.collect.Lists;
  * @author andreas muelder
  * 
  */
-public class ExpressionsResourceDescription extends AbstractResourceDescription
+public class StatechartResourceDescription extends AbstractResourceDescription
 		implements IResourceDescription {
 
 	private final Resource resource;
 
 	private final URI uri;
 
-	public ExpressionsResourceDescription(Resource resource) {
+	public StatechartResourceDescription(Resource resource) {
 		this.resource = resource;
 		this.uri = getNormalizedURI(resource);
 	}

+ 3 - 3
plugins/org.yakindu.sct.statechart.expressions.ui/src/org/yakindu/sct/statechart/ui/resourceprovider/ExpressionsResourceProvider.java

@@ -1,4 +1,4 @@
-package org.yakindu.sct.statechart.ui.resourceprovider;
+package org.yakindu.sct.statechart.core.resource.provider;
 
 
 import org.eclipse.emf.common.util.URI;
@@ -13,14 +13,14 @@ import org.eclipse.xtext.resource.impl.DefaultResourceServiceProvider;
  * @author andreas muelder
  * 
  */
-public class ExpressionsResourceProvider extends
+public class StatechartResourceProvider extends
 DefaultResourceServiceProvider implements IResourceServiceProvider {
 
 	@Override
 	public IResourceDescription.Manager getResourceDescriptionManager() {
 		return new DefaultResourceDescriptionManager() {
 			public IResourceDescription getResourceDescription(Resource resource) {
-				return new ExpressionsResourceDescription(resource);
+				return new StatechartResourceDescription(resource);
 			}
 		};
 	}

+ 1 - 1
plugins/org.yakindu.sct.statechart.core.resource/src/org/yakindu/sct/statechart/core/resource/StateInjectionService.java

@@ -1,4 +1,4 @@
-package org.yakindu.sct.statechart.core.resource;
+package org.yakindu.sct.statechart.core.resource.services;
 
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EObject;

+ 1 - 1
plugins/org.yakindu.sct.statechart.core.resource/src/org/yakindu/sct/statechart/core/resource/StatechartInjectionService.java

@@ -1,4 +1,4 @@
-package org.yakindu.sct.statechart.core.resource;
+package org.yakindu.sct.statechart.core.resource.services;
 
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EObject;

+ 1 - 1
plugins/org.yakindu.sct.statechart.core.resource/src/org/yakindu/sct/statechart/core/resource/TransitionInjectionService.java

@@ -1,4 +1,4 @@
-package org.yakindu.sct.statechart.core.resource;
+package org.yakindu.sct.statechart.core.resource.services;
 
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EObject;

+ 0 - 18
plugins/org.yakindu.sct.statechart.expressions.ui/plugin.xml

@@ -136,16 +136,6 @@
             uriExtension="exp">
         </resourceServiceProvider>
     </extension>
-
-
-
-   <extension
-         point="org.eclipse.xtext.builder.participant">
-      <participant
-            class="org.yakindu.sct.statechart.ui.ExpressionsExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant">
-      </participant>
-   </extension>
-
 	<!-- Quick Outline -->
 	<extension
 		point="org.eclipse.ui.handlers">
@@ -211,12 +201,4 @@
          </command>
       </menuContribution>
    </extension>
- <!-- ResourceProvider -->
-   <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
-        <resourceServiceProvider
-           class="org.yakindu.sct.statechart.ui.ExpressionsExecutableExtensionFactory:org.yakindu.sct.statechart.ui.resourceprovider.ExpressionsResourceProvider"
-            uriExtension="sct">
-        </resourceServiceProvider>
-    </extension>
-
 </plugin>

+ 0 - 209
plugins/org.yakindu.sct.statechart.expressions.ui/plugin.xml_gen

@@ -1,209 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-    <extension
-            point="org.eclipse.ui.editors">
-        <editor
-            class="org.yakindu.sct.statechart.ui.ExpressionsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
-            contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
-            default="true"
-            extensions="exp"
-            id="org.yakindu.sct.statechart.Expressions"
-            name="Expressions Editor">
-        </editor>
-    </extension>
-    <extension
-        point="org.eclipse.ui.handlers">
-        <handler
-            class="org.yakindu.sct.statechart.ui.ExpressionsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
-            commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
-            <activeWhen>
-                <reference
-                    definitionId="org.yakindu.sct.statechart.Expressions.Editor.opened">
-                </reference>
-            </activeWhen>
-        </handler>
-        <handler
-            class="org.yakindu.sct.statechart.ui.ExpressionsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
-            commandId="org.yakindu.sct.statechart.Expressions.validate">
-         <activeWhen>
-            <reference
-                    definitionId="org.yakindu.sct.statechart.Expressions.Editor.opened">
-            </reference>
-         </activeWhen>
-      </handler>
-    </extension>
-    <extension point="org.eclipse.core.expressions.definitions">
-        <definition id="org.yakindu.sct.statechart.Expressions.Editor.opened">
-            <and>
-                <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
-                <with variable="activeEditor">
-                    <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" 
-                        value="org.yakindu.sct.statechart.Expressions" 
-                        forcePluginActivation="true"/>
-                </with>        
-            </and>
-        </definition>
-    </extension>
-    <extension
-            point="org.eclipse.ui.preferencePages">
-        <page
-            class="org.yakindu.sct.statechart.ui.ExpressionsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
-            id="org.yakindu.sct.statechart.Expressions"
-            name="Expressions">
-            <keywordReference id="org.yakindu.sct.statechart.ui.keyword_Expressions"/>
-        </page>
-        <page
-            category="org.yakindu.sct.statechart.Expressions"
-            class="org.yakindu.sct.statechart.ui.ExpressionsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
-            id="org.yakindu.sct.statechart.Expressions.coloring"
-            name="Syntax Coloring">
-            <keywordReference id="org.yakindu.sct.statechart.ui.keyword_Expressions"/>
-        </page>
-        <page
-            category="org.yakindu.sct.statechart.Expressions"
-            class="org.yakindu.sct.statechart.ui.ExpressionsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
-            id="org.yakindu.sct.statechart.Expressions.templates"
-            name="Templates">
-            <keywordReference id="org.yakindu.sct.statechart.ui.keyword_Expressions"/>
-        </page>
-    </extension>
-    <extension
-        point="org.eclipse.ui.keywords">
-        <keyword
-            id="org.yakindu.sct.statechart.ui.keyword_Expressions"
-            label="Expressions"/>
-    </extension>
-    <extension
-         point="org.eclipse.ui.commands">
-      <command
-            description="Trigger expensive validation"
-            id="org.yakindu.sct.statechart.Expressions.validate"
-            name="Validate">
-      </command>
-    </extension>
-    <extension point="org.eclipse.ui.menus">
-        <menuContribution
-            locationURI="popup:#TextEditorContext?after=group.edit">
-             <command
-                 commandId="org.yakindu.sct.statechart.Expressions.validate"
-                 style="push"
-                 tooltip="Trigger expensive validation">
-            <visibleWhen checkEnabled="false">
-                <reference
-                    definitionId="org.yakindu.sct.statechart.Expressions.Editor.opened">
-                </reference>
-            </visibleWhen>
-         </command>  
-         </menuContribution>
-    </extension>
-    <extension point="org.eclipse.ui.menus">
-		<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
-			<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
-				<visibleWhen checkEnabled="false">
-                	<reference definitionId="org.yakindu.sct.statechart.Expressions.Editor.opened">
-                	</reference>
-            	</visibleWhen>
-			</command>
-		</menuContribution>
-	</extension>
-	<extension point="org.eclipse.ui.handlers">
-	    <handler
-            class="org.yakindu.sct.statechart.ui.ExpressionsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
-            commandId="org.eclipse.xtext.ui.editor.FindReferences">
-            <activeWhen>
-                <reference
-                    definitionId="org.yakindu.sct.statechart.Expressions.Editor.opened">
-                </reference>
-            </activeWhen>
-        </handler>
-    </extension>   
-
-<!-- adding resource factories -->
-
-	<extension
-		point="org.eclipse.emf.ecore.extension_parser">
-		<parser
-			class="org.yakindu.sct.statechart.ui.ExpressionsExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
-			type="exp">
-		</parser>
-	</extension>
-	<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
-        <resourceServiceProvider
-            class="org.yakindu.sct.statechart.ui.ExpressionsExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
-            uriExtension="exp">
-        </resourceServiceProvider>
-    </extension>
-
-
-
-	<!-- Quick Outline -->
-	<extension
-		point="org.eclipse.ui.handlers">
-		<handler 
-			class="org.yakindu.sct.statechart.ui.ExpressionsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
-			commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
-			<activeWhen>
-				<reference
-					definitionId="org.yakindu.sct.statechart.Expressions.Editor.opened">
-				</reference>
-			</activeWhen>
-		</handler>
-	</extension>
-	<extension
-		point="org.eclipse.ui.commands">
-		<command
-			description="Open the quick outline."
-			id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
-			name="Quick Outline">
-		</command>
-	</extension>
-	<extension point="org.eclipse.ui.menus">
-		<menuContribution
-			locationURI="popup:#TextEditorContext?after=group.open">
-			<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
-				style="push"
-				tooltip="Open Quick Outline">
-				<visibleWhen checkEnabled="false">
-					<reference definitionId="org.yakindu.sct.statechart.Expressions.Editor.opened"/>
-				</visibleWhen>
-			</command>
-		</menuContribution>
-	</extension>
-   <!-- quickfix marker resolution generator -->
-   <extension
-         point="org.eclipse.ui.ide.markerResolution">
-      <markerResolutionGenerator
-            class="org.yakindu.sct.statechart.ui.ExpressionsExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator">
-      </markerResolutionGenerator>
-   </extension>
-   	<!-- Rename Refactoring -->
-	<extension point="org.eclipse.ui.handlers">
-		<handler 
-			class="org.yakindu.sct.statechart.ui.ExpressionsExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RenameElementHandler"
-			commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
-			<activeWhen>
-				<reference
-					definitionId="org.yakindu.sct.statechart.Expressions.Editor.opened">
-				</reference>
-			</activeWhen>
-		</handler>
-	</extension>
-    <extension point="org.eclipse.ui.menus">
-         <menuContribution
-            locationURI="popup:#TextEditorContext?after=group.edit">
-         <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
-               style="push">
-            <visibleWhen checkEnabled="false">
-               <reference
-                     definitionId="org.yakindu.sct.statechart.Expressions.Editor.opened">
-               </reference>
-            </visibleWhen>
-         </command>
-      </menuContribution>
-   </extension>
-
-
-</plugin>

+ 0 - 18
plugins/org.yakindu.sct.statechart.expressions/plugin.xml_gen

@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-  <extension point="org.eclipse.emf.ecore.generated_package">
-    <package 
-       uri = "http://www.yakindu.org/sct/statechart/Expressions" 
-       class = "org.yakindu.sct.statechart.expressions.ExpressionsPackage"
-       genModel = "org/yakindu/sct/statechart/Expressions.genmodel" /> 
-	
-  </extension>
-
-
-
-
-
-</plugin>