/* * generated by Xtext */ package emfviews.dsl.ui.contentassist; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.*; import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor; import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext; import java.util.Iterator; import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.emf.common.util.Diagnostic; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EAnnotation; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EClassifier; import org.eclipse.emf.ecore.EDataType; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.EcoreFactory; import org.eclipse.emf.ecore.EcorePackage; import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.emf.ecore.resource.impl.ResourceImpl; import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; import org.eclipse.emf.ecore.util.Diagnostician; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.EcoreUtil.Copier; import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl; import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.widgets.ColorDialog; import org.eclipse.swt.widgets.Display; import org.eclipse.xtext.*; import org.eclipse.xtext.nodemodel.INode; import org.eclipse.xtext.ui.editor.contentassist.ConfigurableCompletionProposal; import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor; import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext; import org.eclipse.xtext.ui.editor.contentassist.ReplacementTextApplier; /** * Represents a generated, default implementation of superclass {@link org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider}. * Methods are dynamically dispatched on the first parameter, i.e., you can override them * with a more concrete subtype. */ @SuppressWarnings("all") public class AbstractVpdlProposalProvider extends org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider { public void completeModel_ViewName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void completeModel_Metamodel(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void completeModel_Expression(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void completeMetamodel_MetamodelURL(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void completeMetamodel_MetamodelName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void completeExpression_Select(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void completeExpression_From(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void completeExpression_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void completeSelect_Select(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } public void completeSelect_Metamodel(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); } public void completeSelect_Class(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { //Load metamodel ResourceSet virtualResourceSet = new ResourceSetImpl(); EPackage originalPackage = virtualResourceSet.getPackageRegistry().getEPackage("http://www.obeonetwork.org/dsl/togaf/contentfwk/9.0.0"); EList classes = originalPackage.getEClassifiers(); for (int i = 0; i < classes.size(); i++) { EClass element = (EClass) classes.get(i); acceptor.accept(createCompletionProposal(element.getName(), element.getName(), null, context)); } } public void completeSelect_Attribute(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { String className=context.getLastCompleteNode().getPreviousSibling().getText(); String packageName = context.getLastCompleteNode().getNextSibling().getText().substring(1, context.getLastCompleteNode().getNextSibling().getText().length()); System.out.println("packageName: "+packageName); //look for the URL of this package name String packageURL = ""; Iterator<INode> iter=context.getRootNode().getAsTreeIterable().iterator(); iter.next(); boolean URLok = false; while (iter.hasNext() && !URLok) { INode node=iter.next(); if(node.getText().contains(packageName)){ System.out.println("packageURL: "+node.getText().split("as "+packageName)[0]); packageURL = node.getText().split("as "+packageName)[0]; URLok = true; } } packageURL = packageURL.trim(); packageURL = packageURL.substring(1, packageURL.length()-1);//Remove '' ResourceSet virtualResourceSet = new ResourceSetImpl(); EPackage originalPackage = virtualResourceSet.getPackageRegistry().getEPackage(packageURL); EList classes = originalPackage.getEClassifiers(); for (int i = 0; i < classes.size(); i++) { EClass element = (EClass) classes.get(i); if(element.getName().compareTo(className)==0){ EList attributes = element.getEAllAttributes(); for (int j = 0; j < classes.size(); j++) { EAttribute attribute = (EAttribute) attributes.get(j); acceptor.accept(createCompletionProposal(attribute.getName(), attribute.getName(), null, context)); } } } } public void completeFrom_Metamodel(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); } public void completeFrom_Class(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { //Load metamodel ResourceSet virtualResourceSet = new ResourceSetImpl(); EPackage originalPackage = virtualResourceSet.getPackageRegistry().getEPackage("http://www.obeonetwork.org/dsl/togaf/contentfwk/9.0.0"); EList classes = originalPackage.getEClassifiers(); for (int i = 0; i < classes.size(); i++) { EClass element = (EClass) classes.get(i); acceptor.accept(createCompletionProposal(element.getName(), element.getName(), null, context)); } } public void completeAttribute_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { String className=context.getLastCompleteNode().getPreviousSibling().getText(); String packageName = context.getLastCompleteNode().getNextSibling().getText().substring(1, context.getLastCompleteNode().getNextSibling().getText().length()); System.out.println("packageName: "+packageName); //look for the URL of this package name String packageURL = ""; Iterator<INode> iter=context.getRootNode().getAsTreeIterable().iterator(); iter.next(); boolean URLok = false; while (iter.hasNext() && !URLok) { INode node=iter.next(); if(node.getText().contains(packageName)){ System.out.println("packageURL: "+node.getText().split("as "+packageName)[0]); packageURL = node.getText().split("as "+packageName)[0]; URLok = true; } } packageURL = packageURL.trim(); packageURL = packageURL.substring(1, packageURL.length()-1);//Remove '' ResourceSet virtualResourceSet = new ResourceSetImpl(); EPackage originalPackage = virtualResourceSet.getPackageRegistry().getEPackage(packageURL); EList classes = originalPackage.getEClassifiers(); for (int i = 0; i < classes.size(); i++) { EClass element = (EClass) classes.get(i); if(element.getName().compareTo(className)==0){ EList attributes = element.getEAllAttributes(); for (int j = 0; j < classes.size(); j++) { EAttribute attribute = (EAttribute) attributes.get(j); acceptor.accept(createCompletionProposal(attribute.getName(), attribute.getName(), null, context)); } } } } public void completeClass_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { //Load metamodel ResourceSet virtualResourceSet = new ResourceSetImpl(); EPackage originalPackage = virtualResourceSet.getPackageRegistry().getEPackage("http://www.obeonetwork.org/dsl/togaf/contentfwk/9.0.0"); EList classes = originalPackage.getEClassifiers(); for (int i = 0; i < classes.size(); i++) { EClass element = (EClass) classes.get(i); acceptor.accept(createCompletionProposal(element.getName(), element.getName(), null, context)); } } public void completeMetamodelName_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void completeCondition_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void completeComparison_Left(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void completeComparison_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void completeLeft_Metamodel(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); } public void completeLeft_Class(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { //Load metamodel ResourceSet virtualResourceSet = new ResourceSetImpl(); EPackage originalPackage = virtualResourceSet.getPackageRegistry().getEPackage("http://www.obeonetwork.org/dsl/togaf/contentfwk/9.0.0"); EList classes = originalPackage.getEClassifiers(); for (int i = 0; i < classes.size(); i++) { EClass element = (EClass) classes.get(i); acceptor.accept(createCompletionProposal(element.getName(), element.getName(), null, context)); } } public void completeLeft_AttributeWhereLeft(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { String className=context.getLastCompleteNode().getPreviousSibling().getText(); String packageName = context.getLastCompleteNode().getNextSibling().getText().substring(1, context.getLastCompleteNode().getNextSibling().getText().length()); System.out.println("packageName: "+packageName); //look for the URL of this package name String packageURL = ""; Iterator<INode> iter=context.getRootNode().getAsTreeIterable().iterator(); iter.next(); boolean URLok = false; while (iter.hasNext() && !URLok) { INode node=iter.next(); if(node.getText().contains(packageName)){ System.out.println("packageURL: "+node.getText().split("as "+packageName)[0]); packageURL = node.getText().split("as "+packageName)[0]; URLok = true; } } packageURL = packageURL.trim(); packageURL = packageURL.substring(1, packageURL.length()-1);//Remove '' ResourceSet virtualResourceSet = new ResourceSetImpl(); EPackage originalPackage = virtualResourceSet.getPackageRegistry().getEPackage(packageURL); EList classes = originalPackage.getEClassifiers(); for (int i = 0; i < classes.size(); i++) { EClass element = (EClass) classes.get(i); if(element.getName().compareTo(className)==0){ EList attributes = element.getEAllAttributes(); for (int j = 0; j < classes.size(); j++) { EAttribute attribute = (EAttribute) attributes.get(j); acceptor.accept(createCompletionProposal(attribute.getName(), attribute.getName(), null, context)); } } } } public void completeRight_Metamodel(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); } public void completeRight_Class(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { //Load metamodel ResourceSet virtualResourceSet = new ResourceSetImpl(); EPackage originalPackage = virtualResourceSet.getPackageRegistry().getEPackage("http://www.obeonetwork.org/dsl/togaf/contentfwk/9.0.0"); EList classes = originalPackage.getEClassifiers(); for (int i = 0; i < classes.size(); i++) { EClass element = (EClass) classes.get(i); acceptor.accept(createCompletionProposal(element.getName(), element.getName(), null, context)); } } public void completeRight_AttributeWhereRight(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { String className=context.getLastCompleteNode().getPreviousSibling().getText(); String packageName = context.getLastCompleteNode().getNextSibling().getText().substring(1, context.getLastCompleteNode().getNextSibling().getText().length()); System.out.println("packageName: "+packageName); //look for the URL of this package name String packageURL = ""; Iterator<INode> iter=context.getRootNode().getAsTreeIterable().iterator(); iter.next(); boolean URLok = false; while (iter.hasNext() && !URLok) { INode node=iter.next(); if(node.getText().contains(packageName)){ System.out.println("packageURL: "+node.getText().split("as "+packageName)[0]); packageURL = node.getText().split("as "+packageName)[0]; URLok = true; } } packageURL = packageURL.trim(); packageURL = packageURL.substring(1, packageURL.length()-1);//Remove '' ResourceSet virtualResourceSet = new ResourceSetImpl(); EPackage originalPackage = virtualResourceSet.getPackageRegistry().getEPackage(packageURL); EList classes = originalPackage.getEClassifiers(); for (int i = 0; i < classes.size(); i++) { EClass element = (EClass) classes.get(i); if(element.getName().compareTo(className)==0){ EList attributes = element.getEAllAttributes(); for (int j = 0; j < classes.size(); j++) { EAttribute attribute = (EAttribute) attributes.get(j); acceptor.accept(createCompletionProposal(attribute.getName(), attribute.getName(), null, context)); } } } } public void completeRight_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); } public void complete_Model(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } public void complete_Metamodel(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } public void complete_Expression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } public void complete_Select(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } public void complete_From(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } public void complete_Attribute(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } public void complete_Class(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } public void complete_MetamodelName(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } public void complete_Condition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } public void complete_Comparison(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } public void complete_Left(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } public void complete_Right(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } public void complete_EString(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { // subclasses may override } }