Browse Source

changed ModuleProvider to Injector provider for injector caching

Andreas Mülder 10 years ago
parent
commit
572897d73a

+ 4 - 5
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editor/StatechartDiagramEditor.java

@@ -36,7 +36,7 @@ import org.eclipse.ui.help.IWorkbenchHelpSystem;
 import org.eclipse.ui.ide.IGotoMarker;
 import org.eclipse.xtext.ui.XtextProjectHelper;
 import org.yakindu.sct.domain.extension.DomainRegistry;
-import org.yakindu.sct.domain.extension.IDomainModuleProvider;
+import org.yakindu.sct.domain.extension.IDomainInjectorProvider;
 import org.yakindu.sct.model.sgraph.SGraphPackage;
 import org.yakindu.sct.model.sgraph.Statechart;
 import org.yakindu.sct.ui.editor.DiagramActivator;
@@ -46,7 +46,6 @@ import org.yakindu.sct.ui.editor.partitioning.DiagramPartitioningUtil;
 import org.yakindu.sct.ui.editor.utils.HelpContextIds;
 import org.yakindu.sct.ui.editor.validation.SCTValidationJob;
 
-import com.google.inject.Guice;
 import com.google.inject.Injector;
 
 import de.itemis.xtext.utils.gmf.resource.DirtyStateListener;
@@ -107,9 +106,9 @@ public class StatechartDiagramEditor extends DiagramPartitioningEditor implement
 		final IFile file = ((IFileEditorInput) getEditorInput()).getFile();
 		validationJob = new SCTValidationJob();
 		validationJob.setResource(getDiagram().eResource());
-		IDomainModuleProvider moduleProvider = DomainRegistry.getDomainDescriptor(getDiagram().getElement())
-				.getModuleProvider();
-		Injector injector = Guice.createInjector(moduleProvider.getEmbeddedEditorModule(Statechart.class.getName()));
+		IDomainInjectorProvider injectorProvider = DomainRegistry.getDomainDescriptor(getDiagram().getElement())
+				.getDomainInjectorProvider();
+		Injector injector = injectorProvider.getEmbeddedEditorInjector(Statechart.class.getName());
 		injector.injectMembers(validationJob);
 		validationJob.setRule(file);
 	}

+ 4 - 4
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editparts/PlugableExternalXtextLabelEditPart.java

@@ -23,12 +23,11 @@ import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
 import org.eclipse.jface.viewers.ICellEditorValidator;
 import org.yakindu.sct.domain.extension.DomainRegistry;
-import org.yakindu.sct.domain.extension.IDomainModuleProvider;
+import org.yakindu.sct.domain.extension.IDomainInjectorProvider;
 import org.yakindu.sct.model.sgraph.SpecificationElement;
 import org.yakindu.sct.ui.editor.DiagramActivator;
 import org.yakindu.sct.ui.editor.policies.EAttributeDirectEditPolicy;
 
-import com.google.inject.Guice;
 import com.google.inject.Injector;
 
 import de.itemis.gmf.runtime.commons.parsers.StringAttributeParser;
@@ -69,8 +68,9 @@ public abstract class PlugableExternalXtextLabelEditPart extends ExternalXtextLa
 	}
 
 	private void init(String target) {
-		IDomainModuleProvider moduleProvider = DomainRegistry.getDomainDescriptor(resolveSemanticElement()).getModuleProvider();
-		injector = Guice.createInjector(moduleProvider.getEmbeddedEditorModule(target));
+		IDomainInjectorProvider injectorProvider = DomainRegistry.getDomainDescriptor(resolveSemanticElement())
+				.getDomainInjectorProvider();
+		injector = injectorProvider.getEmbeddedEditorInjector(target);
 	}
 
 	@Override

+ 4 - 5
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editparts/PlugableXtextLabelEditPart.java

@@ -23,12 +23,11 @@ import org.eclipse.gmf.runtime.notation.View;
 import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
 import org.eclipse.jface.viewers.ICellEditorValidator;
 import org.yakindu.sct.domain.extension.DomainRegistry;
-import org.yakindu.sct.domain.extension.IDomainModuleProvider;
+import org.yakindu.sct.domain.extension.IDomainInjectorProvider;
 import org.yakindu.sct.model.sgraph.SpecificationElement;
 import org.yakindu.sct.ui.editor.DiagramActivator;
 import org.yakindu.sct.ui.editor.policies.EAttributeDirectEditPolicy;
 
-import com.google.inject.Guice;
 import com.google.inject.Injector;
 
 import de.itemis.gmf.runtime.commons.parsers.StringAttributeParser;
@@ -69,9 +68,9 @@ public abstract class PlugableXtextLabelEditPart extends XtextLabelEditPart impl
 	}
 
 	private void init(String target) {
-		IDomainModuleProvider moduleProvider = DomainRegistry.getDomainDescriptor(resolveSemanticElement())
-				.getModuleProvider();
-		injector = Guice.createInjector(moduleProvider.getEmbeddedEditorModule(target));
+		IDomainInjectorProvider injectorProvider = DomainRegistry.getDomainDescriptor(resolveSemanticElement())
+				.getDomainInjectorProvider();
+		injector = injectorProvider.getEmbeddedEditorInjector(target);
 	}
 
 	@Override

+ 4 - 5
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/propertysheets/AbstractEditorPropertySection.java

@@ -48,11 +48,10 @@ import org.eclipse.ui.help.IWorkbenchHelpSystem;
 import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
 import org.yakindu.sct.domain.extension.DomainRegistry;
 import org.yakindu.sct.domain.extension.DomainRegistry.DomainDescriptor;
-import org.yakindu.sct.domain.extension.IDomainModuleProvider;
+import org.yakindu.sct.domain.extension.IDomainInjectorProvider;
 import org.yakindu.sct.model.sgraph.SGraphPackage;
 import org.yakindu.sct.model.sgraph.Statechart;
 
-import com.google.inject.Guice;
 import com.google.inject.Injector;
 
 import de.itemis.xtext.utils.jface.fieldassist.CompletionProposalAdapter;
@@ -154,7 +153,7 @@ public abstract class AbstractEditorPropertySection extends AbstractModelerPrope
 		String domainId = SGraphPackage.Literals.STATECHART__DOMAIN_ID.getDefaultValueLiteral();
 		// Since the context object is not set when getInjector is called from
 		// createControls, we have to determine the active domain id via the
-		// current editor input. 
+		// current editor input.
 		if (editorInput instanceof IFileEditorInput) {
 			IFile file = ((IFileEditorInput) editorInput).getFile();
 			ResourceSet set = new ResourceSetImpl();
@@ -166,8 +165,8 @@ public abstract class AbstractEditorPropertySection extends AbstractModelerPrope
 			resource.unload();
 		}
 		DomainDescriptor domainDescriptor = DomainRegistry.getDomainDescriptor(domainId);
-		IDomainModuleProvider moduleProvider = domainDescriptor.getModuleProvider();
-		return Guice.createInjector(moduleProvider.getEmbeddedEditorModule(semanticTarget));
+		IDomainInjectorProvider injectorProvider = domainDescriptor.getDomainInjectorProvider();
+		return injectorProvider.getEmbeddedEditorInjector(semanticTarget);
 	}
 
 	public EObject getContextObject() {