| @GenModel(fileExtensions="blip") |
| @GenModel(modelName="BlipDSL") |
| @GenModel(prefix="BlipDSL") |
| @GenModel(updateClasspath="false") |
| @GenModel(copyrightText="Copyright (c) 2014, Loetz GmbH&Co.KG (Heidelberg) |
| 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 |
| |
| Based on ideas from Xtext, Xtend, Xcore |
| |
| Contributors: |
| Loetz GmbH&Co.KG - Initial implementation |
| ") |
| @Ecore(nsURI="http://osbp.eclipse.org/xtext/blip/BlipDSL") |
| @Ecore(nsPrefix="blipdsl") |
| @Ecore(rootPackage="blipdsl") |
| package org.eclipse.osbp.xtext.blip |
| |
| import org.eclipse.bpmn2.CallActivity |
| import org.eclipse.bpmn2.Event |
| import org.eclipse.bpmn2.Gateway |
| import org.eclipse.bpmn2.Process |
| import org.eclipse.bpmn2.ScriptTask |
| import org.eclipse.bpmn2.SequenceFlow |
| import org.eclipse.bpmn2.ServiceTask |
| import org.eclipse.bpmn2.Task |
| import org.eclipse.emf.ecore.EObject |
| import org.eclipse.emf.ecore.InternalEObject |
| import org.eclipse.osbp.dsl.semantic.common.types.LPackage |
| import org.eclipse.osbp.dsl.semantic.dto.LDto |
| import org.eclipse.osbp.dsl.xtext.lazyresolver.api.EcoreUtil3 |
| import org.eclipse.osbp.xtext.blip.common.BlipHelper |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryBlipGroup |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryFunction |
| import org.eclipse.osbp.xtext.functionlibrarydsl.FunctionLibraryTest |
| import org.eclipse.xtext.xtype.XImportSection |
| |
| class BlipModel{ |
| contains LPackage[] packages |
| } |
| |
| type InternalEObject wraps InternalEObject |
| |
| class BlipLazyResolver { |
| op EObject eResolveProxy(InternalEObject proxy) { |
| return EcoreUtil3.resolve(proxy, this.eResource().resourceSet); |
| } |
| } |
| |
| class BlipPackage extends LPackage{ |
| contains XImportSection importSection |
| contains Blip[] blips |
| } |
| |
| class BlipBase extends BlipLazyResolver{ |
| String name |
| } |
| |
| class Blip extends BlipBase{ |
| //String resourceName |
| refers Process process |
| boolean description |
| String descriptionValue |
| boolean hasImage |
| String image |
| boolean hasIcon |
| IconsEnum icon |
| boolean hasLogging |
| refers FunctionLibraryBlipGroup functionGroup |
| contains BlipWorkload workload |
| contains BlipItem[] items |
| } |
| |
| class BlipWorkload extends BlipLazyResolver{ |
| contains BlipDto source |
| contains BlipFilter[] filters |
| } |
| |
| class BlipFilter extends BlipLazyResolver{ |
| String filterName |
| String filterValue |
| } |
| |
| class BlipDto extends BlipLazyResolver{ |
| refers LDto dtoRef |
| } |
| |
| class BlipDtoPath { |
| String dtoPath |
| } |
| |
| class BlipItem { |
| String name |
| contains BlipDtoPath dtoPath |
| /** get the operative LDto defined by the dtoPath */ |
| op LDto getOperativeLDto() { |
| BlipHelper.getOperativeLDto(this) |
| } |
| } |
| |
| class BlipEvent extends BlipItem { |
| refers Event event |
| } |
| |
| class BlipStartEvent extends BlipEvent { |
| } |
| |
| enum EndEventHandlingEnum { |
| TERMINATES_PROCESS as 'terminates process' |
| ENDS_TOKEN_PATH as 'ends token path' |
| } |
| |
| class BlipEndEvent extends BlipEvent { |
| EndEventHandlingEnum endHandling |
| } |
| |
| class BlipUserTask extends BlipItem { |
| refers Task task |
| refers FunctionLibraryFunction onEntry |
| refers FunctionLibraryFunction onExit |
| } |
| |
| class BlipCallActivity extends BlipItem { |
| refers CallActivity callActivity |
| refers FunctionLibraryFunction onEntry |
| refers FunctionLibraryFunction onExit |
| } |
| |
| class BlipScript extends BlipItem { |
| refers ScriptTask task |
| refers FunctionLibraryFunction function |
| } |
| |
| class BlipScriptTask extends BlipScript { |
| } |
| |
| class BlipPersistTask extends BlipScript { |
| } |
| |
| class BlipServiceTask extends BlipItem { |
| refers ServiceTask task |
| refers FunctionLibraryFunction onEntry |
| refers FunctionLibraryFunction onExit |
| ServiceExecutionModeEnum executionMode |
| int timeoutInSecs |
| refers FunctionLibraryFunction function |
| String webServiceInterface |
| String webServiceOperation |
| } |
| |
| class BlipOutGoing extends BlipItem { |
| refers SequenceFlow sequenceFlow |
| refers FunctionLibraryTest constraint |
| boolean isDefault |
| } |
| |
| class BlipOutGoingDefault extends BlipOutGoing { |
| } |
| |
| class BlipSplitGateway extends BlipItem { |
| refers Gateway gateway |
| contains BlipOutGoing[] outgoings |
| } |
| |
| class BlipExclusiveSplitGateway extends BlipSplitGateway { |
| } |
| |
| class BlipInclusiveSplitGateway extends BlipSplitGateway { |
| } |
| |
| enum ServiceExecutionModeEnum { |
| SYNC as "synchron", |
| // ASYNCHRON as "asynchron", |
| ONEWAY as "oneway" |
| } |
| |
| enum IconsEnum{ |
| ICON_PLUS as 'plus' |
| ICON_MINUS as 'minus' |
| ICON_INFO as 'info' |
| ICON_LEFT as 'left' |
| ICON_UP as 'up' |
| ICON_RIGHT as 'right' |
| ICON_DOWN as 'down' |
| ICON_EXCHANGE as 'exchange' |
| ICON_HOME as 'home' |
| ICON_HOME_1 as 'home-1' |
| ICON_UP_DIR as 'up-dir' |
| ICON_RIGHT_DIR as 'right-dir' |
| ICON_DOWN_DIR as 'down-dir' |
| ICON_LEFT_DIR as 'left-dir' |
| ICON_STAR as 'star' |
| ICON_STAR_EMPTY as 'star-empty' |
| ICON_TH_LIST as 'th-list' |
| ICON_HEART_EMPTY as 'heart-empty' |
| ICON_HEART as 'heart' |
| ICON_MUSIC as 'music' |
| ICON_TH as 'th' |
| ICON_FLAG as 'flag' |
| ICON_COG as 'cog' |
| ICON_ATTENTION as 'attention' |
| ICON_MAIL as 'mail' |
| ICON_EDIT as 'edit' |
| ICON_PENCIL as 'pencil' |
| ICON_OK as 'ok' |
| ICON_CANCEL_1 as 'cancel-1' |
| ICON_CANCEL as 'cancel' |
| ICON_CANCEL_CIRCLE as 'cancel-circle' |
| ICON_HELP as 'help' |
| ICON_PLUS_CIRCLE as 'plus-circle' |
| ICON_MINUS_CIRCLE as 'minus-circle' |
| ICON_RIGHT_THIN as 'right-thin' |
| ICON_FORWARD as 'forward' |
| ICON_CW as 'cw' |
| ICON_LEFT_THIN as 'left-thin' |
| ICON_UP_THIN as 'up-thin' |
| ICON_DOWN_THIN as 'down-thin' |
| ICON_LEFT_BOLD as 'left-bold' |
| ICON_RIGHT_BOLD as 'right-bold' |
| ICON_UP_BOLD as 'up-bold' |
| ICON_DOWN_BOLD as 'down-bold' |
| ICON_USER_ADD as 'user-add' |
| ICON_HELP_CIRCLE as 'help-circle' |
| ICON_INFO_CIRCLE as 'info-circle' |
| ICON_BACK as 'back' |
| ICON_EYE as 'eye' |
| ICON_TAG as 'tag' |
| ICON_UPLOAD_CLOUD as 'upload-cloud' |
| ICON_REPLY as 'reply' |
| ICON_EXPORT as 'export' |
| ICON_PRINT as 'print' |
| ICON_RETWEET as 'retweet' |
| ICON_COMMENT as 'comment' |
| ICON_VCARD as 'vcard' |
| ICON_LOCATION as 'location' |
| ICON_TRASH as 'trash' |
| ICON_RESIZE_FULL as 'resize-full' |
| ICON_RESIZE_SMALL as 'resize-small' |
| ICON_DOWN_OPEN as 'down-open' |
| ICON_LEFT_OPEN as 'left-open' |
| ICON_RIGHT_OPEN as 'right-open' |
| ICON_UP_OPEN as 'up-open' |
| ICON_ARROWS_CW as 'arrows-cw' |
| ICON_CHART_PIE as 'chart-pie' |
| ICON_SEARCH_1 as 'search-1' |
| ICON_USER as 'user' |
| ICON_USERS as 'users' |
| ICON_MONITOR as 'monitor' |
| ICON_FOLDER as 'folder' |
| ICON_DOC as 'doc' |
| ICON_CALENDAR as 'calendar' |
| ICON_CHART as 'chart' |
| ICON_ATTACH as 'attach' |
| ICON_UPLOAD as 'upload' |
| ICON_DOWNLOAD as 'download' |
| ICON_MOBILE as 'mobile' |
| ICON_CAMERA as 'camera' |
| ICON_LOCK as 'lock' |
| ICON_LOCK_OPEN as 'lock-open' |
| ICON_BELL as 'bell' |
| ICON_LINK as 'link' |
| ICON_CLOCK as 'clock' |
| ICON_BLOCK as 'block' |
| } |