blob: b17c0ffc5494fa48240885d6601eb38157090edc [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.blip.ui.quickfix
import org.eclipse.osbp.xtext.blip.validation.BlipDSLValidator
import org.eclipse.xtext.ui.editor.quickfix.Fix
import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionAcceptor
import org.eclipse.xtext.validation.Issue
import org.eclipse.xtext.xbase.annotations.ui.quickfix.XbaseWithAnnotationsQuickfixProvider
/**
* Custom quickfixes.
*
* see http://www.eclipse.org/Xtext/documentation.html#quickfixes
*/
class BlipDSLQuickfixProvider extends XbaseWithAnnotationsQuickfixProvider {
@Fix(BlipDSLValidator::RECOMMENDED_BLIP_NAME)
def recommendedBlipName(Issue issue, IssueResolutionAcceptor acceptor) {
val recommendedBlipName = issue.data.get(0)
acceptor.accept(issue, '''Use BPMs id '«recommendedBlipName»' as process name''', '''Use BPMs id '«recommendedBlipName»' as process name.''', null) [
context |
val xtextDocument = context.xtextDocument
xtextDocument.replace(issue.offset, issue.length, recommendedBlipName)
]
}
@Fix(BlipDSLValidator::RECOMMENDED_BLIP_ITEM_NAME)
def recommendedBlipItemName(Issue issue, IssueResolutionAcceptor acceptor) {
val recommendedBlipItemName = issue.data.get(0)
acceptor.accept(issue, '''Use BPMs item id '«recommendedBlipItemName»' as item name''', '''Use BPMs item id '«recommendedBlipItemName»' as item name.''', null) [
context |
val xtextDocument = context.xtextDocument
xtextDocument.replace(issue.offset, issue.length, recommendedBlipItemName)
]
}
// @Fix(MyDslValidator::INVALID_NAME)
// def capitalizeName(Issue issue, IssueResolutionAcceptor acceptor) {
// acceptor.accept(issue, 'Capitalize name', 'Capitalize the name.', 'upcase.png') [
// context |
// val xtextDocument = context.xtextDocument
// val firstLetter = xtextDocument.get(issue.offset, 1)
// xtextDocument.replace(issue.offset, 1, firstLetter.toUpperCase)
// ]
// }
}