Sfoglia il codice sorgente

Moved Preference Initializer to Generator Core

muelder 10 anni fa
parent
commit
d2cd36c9ae

+ 151 - 146
plugins/org.yakindu.sct.generator.core/plugin.xml

@@ -1,146 +1,151 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension-point id="org.yakindu.sct.generator.core.generator" name="SCT Generator" schema="schema/generator.exsd"/>
-  <extension-point id="org.yakindu.sct.generator.core.featuretypes" name="GenModel Feature Types" schema="schema/featuretypes.exsd"/>
-  <extension-point id="org.yakindu.sct.generator.core.extensions" name="File Extension Mapping" schema="schema/extensions.exsd"/>
- <extension
-         point="org.yakindu.sct.generator.core.featuretypes">
-      <FeatureLibrary
-            library_id="org.yakindu.generator.core.features"
-            defaultProvider="org.yakindu.sct.generator.core.features.impl.CoreLibraryDefaultFeatureValueProvider"
-            uri="platform:/plugin/org.yakindu.sct.generator.core/library/CoreFeatureTypeLibrary.xmi">
-      </FeatureLibrary>
-      <FeatureLibrary
-            library_id="org.yakindu.generator.core.features.xpand"
-            defaultProvider="org.yakindu.sct.generator.core.features.impl.XpandLibraryDefaultFeatureValueProvider"
-            uri="platform:/plugin/org.yakindu.sct.generator.core/library/XpandFeatureTypeLibrary.xmi">
-      </FeatureLibrary>
-      <FeatureLibrary
-            library_id="org.yakindu.generator.core.features.generic"
-            defaultProvider="org.yakindu.sct.generator.core.features.impl.GenericJavaLibraryDefaultValueProvider"
-            uri="platform:/plugin/org.yakindu.sct.generator.core/library/GenericJavaFeatureTypeLibrary.xmi">
-   	  </FeatureLibrary>   	  
-   	  <FeatureLibrary
-            library_id="org.yakindu.generator.core.features.sctbase"
-            defaultProvider="org.yakindu.sct.generator.core.features.impl.SCTBaseLibaryDefaultFeatureValueProvider"
-            uri="platform:/plugin/org.yakindu.sct.generator.core/library/SCTBaseFeatureLibrary.xmi">
-   	  </FeatureLibrary>
- </extension>
- <extension
-       point="org.yakindu.sct.generator.core.generator">
-    <SCTGenerator
-          class="org.yakindu.sct.generator.core.impl.GenericXPandCodeGenerator"
-          contentType="statechart"
-          description="Generate Code using Xpand Templates"
-          elementRefType="org.yakindu.sct.model.sgraph.Statechart"
-          icon="icons/sct.png"
-          id="yakindu::xpand"
-          name="Custom Xpand-based Generator">
-       <FeatureLibrary
-             library_id="org.yakindu.generator.core.features">
-       </FeatureLibrary>
-       <FeatureLibrary
-             library_id="org.yakindu.generator.core.features.xpand">
-       </FeatureLibrary>
-    </SCTGenerator>
- </extension>
-    <extension
-         point="org.yakindu.sct.generator.core.extensions">
-      <ExtensionGeneratorMapping
-            fileExtension="sct"
-            generatorId="yakindu::xpand">
-      </ExtensionGeneratorMapping>
-   </extension>
- 
- <extension
-       point="org.yakindu.sct.generator.core.generator">
-   <SCTGenerator
-         class="org.yakindu.sct.generator.core.impl.GenericJavaBasedGenerator"
-         contentType="statechart"
-         description="Generate Code using Xpand Templates"
-         elementRefType="org.yakindu.sct.model.sgraph.Statechart"
-         icon="icons/sct.png"
-         id="yakindu::generic"
-         name="Custom Xtend2/Java-based Generator">
-      <FeatureLibrary
-            library_id="org.yakindu.generator.core.features">
-      </FeatureLibrary>
-      <FeatureLibrary
-            library_id="org.yakindu.generator.core.features.generic">
-      </FeatureLibrary>
-    </SCTGenerator>
- </extension>
-    <extension
-         point="org.yakindu.sct.generator.core.extensions">
-      <ExtensionGeneratorMapping
-            fileExtension="sct"
-            generatorId="yakindu::generic">
-      </ExtensionGeneratorMapping>
-   </extension>
- 
-  <extension
-         id="org.yakindu.sct.builder.SCTBuilder"
-         name="YAKINDU SCT Builder"
-         point="org.eclipse.core.resources.builders">
-      <builder hasNature="true">
-         <run  class="org.yakindu.sct.builder.SCTBuilder">
-         </run>
-      </builder>
-   </extension>
-   <extension
-         point="org.eclipse.core.resources.natures"
-         id="org.yakindu.sct.builder.SCTNature"
-         name="YAKINDU SCT Project Nature">
-      <runtime>
-         <run class="org.yakindu.sct.builder.nature.SCTNature">
-         </run>
-      </runtime>
-      <builder
-            id="org.yakindu.sct.builder.SCTBuilder">
-      </builder>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            adaptable="true"
-            objectClass="org.eclipse.core.resources.IProject"
-            nameFilter="*"
-            id="org.yakindu.sct.builder.addNature">
-         <action
-               label="Add YAKINDU SCT Nature"
-               class="org.yakindu.sct.builder.nature.ToggleSCTNatureAction"
-               menubarPath="org.eclipse.ui.projectConfigure/additions"
-               enablesFor="+"
-               id="org.yakindu.sct.builder.addRemoveNatureAction">
-         </action>
-           <visibility>
-         	<not>
-	            <objectState
-    	              name="nature"
-        	          value="org.yakindu.sct.builder.SCTNature">
-            	</objectState>
-            </not>
-         </visibility>
-      </objectContribution>
-      <objectContribution
-            adaptable="true"
-            objectClass="org.eclipse.core.resources.IProject"
-            nameFilter="*"
-            id="org.yakindu.sct.builder.removeNature">
-         <action
-               label="Remove YAKINDU SCT Nature"
-               class="org.yakindu.sct.builder.nature.ToggleSCTNatureAction"
-               menubarPath="org.eclipse.ui.projectConfigure/additions"
-               enablesFor="+"
-               id="org.yakindu.sct.builder.addRemoveNatureAction">
-         </action>
-           <visibility>
-	            <objectState
-    	              name="nature"
-        	          value="org.yakindu.sct.builder.SCTNature">
-            	</objectState>
-         </visibility>
-      </objectContribution>
-   </extension>
-</plugin>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension-point id="org.yakindu.sct.generator.core.generator" name="SCT Generator" schema="schema/generator.exsd"/>
+  <extension-point id="org.yakindu.sct.generator.core.featuretypes" name="GenModel Feature Types" schema="schema/featuretypes.exsd"/>
+  <extension-point id="org.yakindu.sct.generator.core.extensions" name="File Extension Mapping" schema="schema/extensions.exsd"/>
+ <extension
+         point="org.yakindu.sct.generator.core.featuretypes">
+      <FeatureLibrary
+            library_id="org.yakindu.generator.core.features"
+            defaultProvider="org.yakindu.sct.generator.core.features.impl.CoreLibraryDefaultFeatureValueProvider"
+            uri="platform:/plugin/org.yakindu.sct.generator.core/library/CoreFeatureTypeLibrary.xmi">
+      </FeatureLibrary>
+      <FeatureLibrary
+            library_id="org.yakindu.generator.core.features.xpand"
+            defaultProvider="org.yakindu.sct.generator.core.features.impl.XpandLibraryDefaultFeatureValueProvider"
+            uri="platform:/plugin/org.yakindu.sct.generator.core/library/XpandFeatureTypeLibrary.xmi">
+      </FeatureLibrary>
+      <FeatureLibrary
+            library_id="org.yakindu.generator.core.features.generic"
+            defaultProvider="org.yakindu.sct.generator.core.features.impl.GenericJavaLibraryDefaultValueProvider"
+            uri="platform:/plugin/org.yakindu.sct.generator.core/library/GenericJavaFeatureTypeLibrary.xmi">
+   	  </FeatureLibrary>   	  
+   	  <FeatureLibrary
+            library_id="org.yakindu.generator.core.features.sctbase"
+            defaultProvider="org.yakindu.sct.generator.core.features.impl.SCTBaseLibaryDefaultFeatureValueProvider"
+            uri="platform:/plugin/org.yakindu.sct.generator.core/library/SCTBaseFeatureLibrary.xmi">
+   	  </FeatureLibrary>
+ </extension>
+ <extension
+       point="org.yakindu.sct.generator.core.generator">
+    <SCTGenerator
+          class="org.yakindu.sct.generator.core.impl.GenericXPandCodeGenerator"
+          contentType="statechart"
+          description="Generate Code using Xpand Templates"
+          elementRefType="org.yakindu.sct.model.sgraph.Statechart"
+          icon="icons/sct.png"
+          id="yakindu::xpand"
+          name="Custom Xpand-based Generator">
+       <FeatureLibrary
+             library_id="org.yakindu.generator.core.features">
+       </FeatureLibrary>
+       <FeatureLibrary
+             library_id="org.yakindu.generator.core.features.xpand">
+       </FeatureLibrary>
+    </SCTGenerator>
+ </extension>
+    <extension
+         point="org.yakindu.sct.generator.core.extensions">
+      <ExtensionGeneratorMapping
+            fileExtension="sct"
+            generatorId="yakindu::xpand">
+      </ExtensionGeneratorMapping>
+   </extension>
+ 
+ <extension
+       point="org.yakindu.sct.generator.core.generator">
+   <SCTGenerator
+         class="org.yakindu.sct.generator.core.impl.GenericJavaBasedGenerator"
+         contentType="statechart"
+         description="Generate Code using Xpand Templates"
+         elementRefType="org.yakindu.sct.model.sgraph.Statechart"
+         icon="icons/sct.png"
+         id="yakindu::generic"
+         name="Custom Xtend2/Java-based Generator">
+      <FeatureLibrary
+            library_id="org.yakindu.generator.core.features">
+      </FeatureLibrary>
+      <FeatureLibrary
+            library_id="org.yakindu.generator.core.features.generic">
+      </FeatureLibrary>
+    </SCTGenerator>
+ </extension>
+    <extension
+         point="org.yakindu.sct.generator.core.extensions">
+      <ExtensionGeneratorMapping
+            fileExtension="sct"
+            generatorId="yakindu::generic">
+      </ExtensionGeneratorMapping>
+   </extension>
+ 
+  <extension
+         id="org.yakindu.sct.builder.SCTBuilder"
+         name="YAKINDU SCT Builder"
+         point="org.eclipse.core.resources.builders">
+      <builder hasNature="true">
+         <run  class="org.yakindu.sct.builder.SCTBuilder">
+         </run>
+      </builder>
+   </extension>
+   <extension
+         point="org.eclipse.core.resources.natures"
+         id="org.yakindu.sct.builder.SCTNature"
+         name="YAKINDU SCT Project Nature">
+      <runtime>
+         <run class="org.yakindu.sct.builder.nature.SCTNature">
+         </run>
+      </runtime>
+      <builder
+            id="org.yakindu.sct.builder.SCTBuilder">
+      </builder>
+   </extension>
+   <extension
+         point="org.eclipse.ui.popupMenus">
+      <objectContribution
+            adaptable="true"
+            objectClass="org.eclipse.core.resources.IProject"
+            nameFilter="*"
+            id="org.yakindu.sct.builder.addNature">
+         <action
+               label="Add YAKINDU SCT Nature"
+               class="org.yakindu.sct.builder.nature.ToggleSCTNatureAction"
+               menubarPath="org.eclipse.ui.projectConfigure/additions"
+               enablesFor="+"
+               id="org.yakindu.sct.builder.addRemoveNatureAction">
+         </action>
+           <visibility>
+         	<not>
+	            <objectState
+    	              name="nature"
+        	          value="org.yakindu.sct.builder.SCTNature">
+            	</objectState>
+            </not>
+         </visibility>
+      </objectContribution>
+      <objectContribution
+            adaptable="true"
+            objectClass="org.eclipse.core.resources.IProject"
+            nameFilter="*"
+            id="org.yakindu.sct.builder.removeNature">
+         <action
+               label="Remove YAKINDU SCT Nature"
+               class="org.yakindu.sct.builder.nature.ToggleSCTNatureAction"
+               menubarPath="org.eclipse.ui.projectConfigure/additions"
+               enablesFor="+"
+               id="org.yakindu.sct.builder.addRemoveNatureAction">
+         </action>
+           <visibility>
+	            <objectState
+    	              name="nature"
+        	          value="org.yakindu.sct.builder.SCTNature">
+            	</objectState>
+         </visibility>
+      </objectContribution>
+   </extension>
+     <extension
+       point="org.eclipse.core.runtime.preferences">
+    	<initializer class="org.yakindu.sct.generator.core.preferences.GenModelPreferenceInitializer">
+    	</initializer>
+ 	</extension>
+</plugin>

+ 53 - 52
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/GeneratorActivator.java

@@ -1,52 +1,53 @@
-package org.yakindu.sct.generator.core;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class GeneratorActivator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.yakindu.sct.generator.core"; //$NON-NLS-1$
-
-	// The shared instance
-	private static GeneratorActivator plugin;
-	//Preference constant for automatic code generation
-	public static final String PREF_GENERATE_AUTOMATICALLY = "generate.automatically";
-	
-	/**
-	 * The constructor
-	 */
-	public GeneratorActivator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static GeneratorActivator getDefault() {
-		return plugin;
-	}
-
-}
+package org.yakindu.sct.generator.core;
+
+import org.eclipse.ui.IStartup;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class GeneratorActivator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.yakindu.sct.generator.core"; //$NON-NLS-1$
+
+	// The shared instance
+	private static GeneratorActivator plugin;
+	//Preference constant for automatic code generation
+	public static final String PREF_GENERATE_AUTOMATICALLY = "generate.automatically";
+	
+	/**
+	 * The constructor
+	 */
+	public GeneratorActivator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static GeneratorActivator getDefault() {
+		return plugin;
+	}
+
+}

+ 4 - 7
plugins/org.yakindu.sct.generator.genmodel.ui/src/org/yakindu/sct/generator/genmodel/ui/preferences/GenModelPreferenceInitializer.java

@@ -8,7 +8,7 @@
  * 	committers of YAKINDU - initial API and implementation
  * 
  */
-package org.yakindu.sct.generator.genmodel.ui.preferences;
+package org.yakindu.sct.generator.core.preferences;
 
 import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
 import org.eclipse.jface.preference.IPreferenceStore;
@@ -19,12 +19,9 @@ public class GenModelPreferenceInitializer extends
 
 	@Override
 	public void initializeDefaultPreferences() {
-		getPreferenceStore().setDefault(
-				GeneratorActivator.PREF_GENERATE_AUTOMATICALLY, true);
-	}
-
-	protected IPreferenceStore getPreferenceStore() {
-		return GeneratorActivator.getDefault().getPreferenceStore();
+		IPreferenceStore store = GeneratorActivator.getDefault()
+				.getPreferenceStore();
+		store.setDefault(GeneratorActivator.PREF_GENERATE_AUTOMATICALLY, true);
 	}
 
 }

+ 0 - 5
plugins/org.yakindu.sct.generator.genmodel.ui/plugin.xml

@@ -102,11 +102,6 @@
             <keywordReference id="org.yakindu.sct.generator.genmodel.ui.keyword_SGen"/>
         </page>
     </extension>
-    <extension
-       point="org.eclipse.core.runtime.preferences">
-    	<initializer class="org.yakindu.sct.generator.genmodel.ui.preferences.GenModelPreferenceInitializer">
-    	</initializer>
- 	</extension>
     <extension
             point="org.eclipse.ui.propertyPages">
         <page

+ 1 - 7
plugins/org.yakindu.sct.generator.genmodel.ui/src/org/yakindu/sct/generator/genmodel/ui/preferences/GeneratorRootPreferencePage.java

@@ -12,7 +12,6 @@ package org.yakindu.sct.generator.genmodel.ui.preferences;
 
 import org.eclipse.gmf.runtime.common.ui.preferences.CheckBoxFieldEditor;
 import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPreferencePage;
 import org.yakindu.sct.generator.core.GeneratorActivator;
@@ -31,13 +30,8 @@ public class GeneratorRootPreferencePage extends FieldEditorPreferencePage
 				"Execute SGen Files automatically: ", getFieldEditorParent()));
 	}
 
-	@Override
-	public IPreferenceStore getPreferenceStore() {
-		return GeneratorActivator.getDefault().getPreferenceStore();
-	}
-
 	@Override
 	public void init(IWorkbench workbench) {
-		new GenModelPreferenceInitializer().initializeDefaultPreferences();
+		setPreferenceStore(GeneratorActivator.getDefault().getPreferenceStore());
 	}
 }