blob: 3a64042c5e21b0d21614b44fa9c86860f7e89b01 [file] [log] [blame]
/**
* Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
*
*
* This copyright notice shows up in the generated Java code
*/
package org.eclipse.osbp.xtext.datainterchange.ui.contentassist;
import com.google.common.base.Objects;
import com.google.inject.Inject;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.text.contentassist.ICompletionProposal;
import org.eclipse.jface.viewers.StyledString;
import org.eclipse.osbp.xtext.basic.ui.BasicDSLDocumentationTranslator;
import org.eclipse.osbp.xtext.basic.ui.contentassist.BasicDSLProposalProviderHelper;
import org.eclipse.osbp.xtext.datainterchange.ui.DataDSLDocumentationTranslator;
import org.eclipse.osbp.xtext.datainterchange.ui.contentassist.AbstractDataDSLProposalProvider;
import org.eclipse.osbp.xtext.datainterchange.ui.contentassist.FileNameTextApplier;
import org.eclipse.osbp.xtext.datainterchange.ui.contentassist.LocaleTextApplier;
import org.eclipse.xtext.Assignment;
import org.eclipse.xtext.Keyword;
import org.eclipse.xtext.RuleCall;
import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider;
import org.eclipse.xtext.ui.editor.contentassist.ConfigurableCompletionProposal;
import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;
@SuppressWarnings("all")
public class DataDSLProposalProvider extends AbstractDataDSLProposalProvider {
@Inject
private TerminalsProposalProvider provider;
@Inject
private BasicDSLProposalProviderHelper providerHelper;
protected StyledString getKeywordDisplayString(final Keyword keyword) {
BasicDSLDocumentationTranslator _instance = DataDSLDocumentationTranslator.instance();
return BasicDSLProposalProviderHelper.getKeywordDisplayString(keyword, _instance);
}
/**
* This override will enable 1 length non letter characters as keyword.
*/
protected boolean isKeywordWorthyToPropose(final Keyword keyword) {
return true;
}
public void completeDataInterchangeFileXML_FileURL(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
this.filePickerProposal(model, assignment, context, acceptor, "*.xml");
}
public void completeDataInterchangeFileCSV_FileURL(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
this.filePickerProposal(model, assignment, context, acceptor, "*.csv");
}
public void completeDataInterchangeFileEDI_FileURL(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
this.filePickerProposal(model, assignment, context, acceptor, "*.edi");
}
public void completeDataInterchangeFormat_Locale(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
this.chooseLocaleProposal(model, assignment, context, acceptor);
}
public void completeDataInterchangeFileEDI_MappingModel(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
this.mappingPickerProposal(model, assignment, context, acceptor, "*.xml");
}
public void filePickerProposal(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor, final String fileExtensions) {
ICompletionProposal _createCompletionProposal = this.createCompletionProposal("Select input file...", context);
ConfigurableCompletionProposal fileName = ((ConfigurableCompletionProposal) _createCompletionProposal);
boolean _notEquals = (!Objects.equal(fileName, null));
if (_notEquals) {
FileNameTextApplier applier = new FileNameTextApplier();
String[] _split = fileExtensions.split(",");
applier.setExtensions(_split);
applier.setContext(context);
fileName.setTextApplier(applier);
}
acceptor.accept(fileName);
}
public void mappingPickerProposal(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor, final String fileExtensions) {
ICompletionProposal _createCompletionProposal = this.createCompletionProposal("Select mapping file...", context);
ConfigurableCompletionProposal fileName = ((ConfigurableCompletionProposal) _createCompletionProposal);
boolean _notEquals = (!Objects.equal(fileName, null));
if (_notEquals) {
FileNameTextApplier applier = new FileNameTextApplier();
String[] _split = fileExtensions.split(",");
applier.setExtensions(_split);
applier.setContext(context);
fileName.setTextApplier(applier);
}
acceptor.accept(fileName);
}
public void chooseLocaleProposal(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
ICompletionProposal _createCompletionProposal = this.createCompletionProposal("Select locale...", context);
ConfigurableCompletionProposal locale = ((ConfigurableCompletionProposal) _createCompletionProposal);
boolean _notEquals = (!Objects.equal(locale, null));
if (_notEquals) {
LocaleTextApplier applier = new LocaleTextApplier();
applier.setContext(context);
locale.setTextApplier(applier);
}
acceptor.accept(locale);
}
protected boolean isValidProposal(final String proposal, final String prefix, final ContentAssistContext context) {
boolean result = super.isValidProposal(proposal, prefix, context);
return result;
}
public void complete_QualifiedName(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
this.providerHelper.complete_PackageName(model, ruleCall, context, acceptor, this);
}
public void complete_DataInterchangeQualifiedNameWithWildCard(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
this.providerHelper.complete_PackageName(model, ruleCall, context, acceptor, this);
}
public void complete_INT(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
this.provider.complete_INT(model, ruleCall, context, acceptor);
}
public void complete_TRANSLATABLEID(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
this.provider.complete_ID(model, ruleCall, context, acceptor);
}
public void complete_TRANSLATABLESTRING(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
this.provider.complete_STRING(model, ruleCall, context, acceptor);
}
public void complete_STRING(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) {
this.provider.complete_STRING(model, ruleCall, context, acceptor);
}
}