blob: 177da099a5cd5fce63398371a9655893b1bea475 [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.perspective.scoping;
import com.google.common.base.Objects;
import java.util.ArrayList;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.osbp.dsl.semantic.dto.LDto;
import org.eclipse.osbp.dsl.xtext.lazyresolver.api.EcoreUtil3;
import org.eclipse.osbp.ecview.semantic.uimodel.UiBeanSlot;
import org.eclipse.osbp.ecview.semantic.uimodel.UiIDEView;
import org.eclipse.osbp.ecview.semantic.uimodel.UiView;
import org.eclipse.osbp.xtext.blip.Blip;
import org.eclipse.osbp.xtext.blip.BlipItem;
import org.eclipse.osbp.xtext.blip.BlipUserTask;
import org.eclipse.osbp.xtext.dialogdsl.Dialog;
import org.eclipse.osbp.xtext.perspective.Perspective;
import org.eclipse.osbp.xtext.perspective.PerspectiveDialog;
import org.eclipse.osbp.xtext.perspective.PerspectiveDslPackage;
import org.eclipse.osbp.xtext.perspective.PerspectiveElement;
import org.eclipse.osbp.xtext.perspective.PerspectiveGrid;
import org.eclipse.osbp.xtext.perspective.PerspectivePartStack;
import org.eclipse.osbp.xtext.perspective.PerspectiveSashContainer;
import org.eclipse.osbp.xtext.perspective.PerspectiveSelection;
import org.eclipse.osbp.xtext.perspective.PerspectiveTable;
import org.eclipse.osbp.xtext.table.Table;
import org.eclipse.osbp.xtext.table.TableDtoDatasource;
import org.eclipse.osbp.xtext.table.TableGrid;
import org.eclipse.osbp.xtext.table.TableOption;
import org.eclipse.osbp.xtext.table.TableSelection;
import org.eclipse.osbp.xtext.table.TableTable;
import org.eclipse.xtext.common.types.JvmType;
import org.eclipse.xtext.common.types.JvmTypeReference;
import org.eclipse.xtext.resource.EObjectDescription;
import org.eclipse.xtext.resource.IEObjectDescription;
import org.eclipse.xtext.scoping.IScope;
import org.eclipse.xtext.scoping.impl.MapBasedScope;
import org.eclipse.xtext.xbase.annotations.typesystem.XbaseWithAnnotationsBatchScopeProvider;
import org.eclipse.xtext.xbase.lib.CollectionLiterals;
@SuppressWarnings("all")
public class PerspectiveScopeProvider extends XbaseWithAnnotationsBatchScopeProvider {
@Override
public IScope getScope(final EObject context, final EReference reference) {
boolean _equals = Objects.equal(reference, PerspectiveDslPackage.Literals.PERSPECTIVE_SASH_CONTAINER__SELECTED_ELEMENT);
if (_equals) {
return this.getScope_CCPerspectiveSashContainer_selected_element(context);
} else {
boolean _equals_1 = Objects.equal(reference, PerspectiveDslPackage.Literals.PERSPECTIVE_PART_STACK__SELECTED_ELEMENT);
if (_equals_1) {
return this.getScope_CCPerspectivePartStack_selected_element(context);
} else {
boolean _equals_2 = Objects.equal(reference, PerspectiveDslPackage.Literals.PERSPECTIVE__USER_TASK);
if (_equals_2) {
return this.getScope_CCPerspectivePartStack_USER_TASK(((Perspective) context));
} else {
boolean _equals_3 = Objects.equal(reference, PerspectiveDslPackage.Literals.PERSPECTIVE_DIALOG__REF);
if (_equals_3) {
return this.getScope_CCPerspectivePartStack_PERSPECTIVE_DIALOG__REF(((PerspectiveDialog) context), reference);
} else {
boolean _equals_4 = Objects.equal(reference, PerspectiveDslPackage.Literals.PERSPECTIVE_SELECTION__REF);
if (_equals_4) {
return this.getScope_CCPerspectivePartStack_PERSPECTIVE_SELECTION__REF(((PerspectiveSelection) context), reference);
} else {
boolean _equals_5 = Objects.equal(reference, PerspectiveDslPackage.Literals.PERSPECTIVE_TABLE__REF);
if (_equals_5) {
return this.getScope_CCPerspectivePartStack_PERSPECTIVE_TABLE__REF(((PerspectiveTable) context), reference);
} else {
boolean _equals_6 = Objects.equal(reference, PerspectiveDslPackage.Literals.PERSPECTIVE_GRID__REF);
if (_equals_6) {
return this.getScope_CCPerspectivePartStack_PERSPECTIVE_GRID__REF(((PerspectiveGrid) context), reference);
}
}
}
}
}
}
}
return super.getScope(context, reference);
}
public IScope getScope_CCPerspectivePartStack_PERSPECTIVE_DIALOG__REF(final PerspectiveDialog dialogView, final EReference reference) {
final IScope superScope = super.getScope(dialogView, reference);
ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
EObject perspective = dialogView.eContainer();
while (((!Objects.equal(perspective, null)) && (!(perspective instanceof Perspective)))) {
EObject _eContainer = perspective.eContainer();
perspective = _eContainer;
}
BlipUserTask _userTask = null;
if (((Perspective) perspective)!=null) {
_userTask=((Perspective) perspective).getUserTask();
}
boolean _equals = Objects.equal(_userTask, null);
if (_equals) {
return superScope;
} else {
BlipUserTask _userTask_1 = null;
if (((Perspective) perspective)!=null) {
_userTask_1=((Perspective) perspective).getUserTask();
}
Resource _eResource = dialogView.eResource();
ResourceSet _resourceSet = _eResource.getResourceSet();
EObject _resolve = EcoreUtil3.resolve(_userTask_1, _resourceSet);
final BlipUserTask humanTask = ((BlipUserTask) _resolve);
final LDto operativeDto = humanTask.getOperativeLDto();
String _name = null;
if (operativeDto!=null) {
_name=operativeDto.getName();
}
boolean _equals_1 = Objects.equal(_name, null);
if (_equals_1) {
return superScope;
} else {
Iterable<IEObjectDescription> _allElements = superScope.getAllElements();
for (final IEObjectDescription element : _allElements) {
EObject _eObjectOrProxy = element.getEObjectOrProxy();
if ((_eObjectOrProxy instanceof Dialog)) {
EObject _eObjectOrProxy_1 = element.getEObjectOrProxy();
Dialog dialog = ((Dialog) _eObjectOrProxy_1);
Resource _eResource_1 = dialogView.eResource();
ResourceSet _resourceSet_1 = _eResource_1.getResourceSet();
EObject _resolve_1 = EcoreUtil3.resolve(dialog, _resourceSet_1);
dialog = ((Dialog) _resolve_1);
UiView _uiView = dialog.getUiView();
boolean _notEquals = (!Objects.equal(_uiView, null));
if (_notEquals) {
UiView _uiView_1 = dialog.getUiView();
Resource _eResource_2 = dialogView.eResource();
ResourceSet _resourceSet_2 = _eResource_2.getResourceSet();
final EObject uiViewObj = EcoreUtil3.resolve(((EObject) _uiView_1), _resourceSet_2);
if ((uiViewObj instanceof UiIDEView)) {
final UiIDEView uiView = ((UiIDEView) uiViewObj);
EList<UiBeanSlot> _beanSlots = uiView.getBeanSlots();
for (final UiBeanSlot beanSlot : _beanSlots) {
String _name_1 = operativeDto.getName();
JvmTypeReference _jvmType = null;
if (beanSlot!=null) {
_jvmType=beanSlot.getJvmType();
}
JvmType _type = null;
if (_jvmType!=null) {
_type=_jvmType.getType();
}
String _simpleName = null;
if (_type!=null) {
_simpleName=_type.getSimpleName();
}
boolean _equals_2 = _name_1.equals(_simpleName);
if (_equals_2) {
result.add(element);
}
}
}
} else {
LDto _dto = dialog.getDto();
boolean _notEquals_1 = (!Objects.equal(_dto, null));
if (_notEquals_1) {
String _name_2 = operativeDto.getName();
LDto _dto_1 = dialog.getDto();
String _name_3 = _dto_1.getName();
boolean _equals_3 = _name_2.equals(_name_3);
if (_equals_3) {
result.add(element);
}
}
}
}
}
}
return MapBasedScope.createScope(IScope.NULLSCOPE, result);
}
}
public IScope getScope_CCPerspectivePartStack_PERSPECTIVE_TABLE__REF(final PerspectiveTable tableView, final EReference reference) {
IScope superScope = super.getScope(tableView, reference);
ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
Iterable<IEObjectDescription> _allElements = superScope.getAllElements();
for (final IEObjectDescription element : _allElements) {
EObject _eObjectOrProxy = element.getEObjectOrProxy();
if ((_eObjectOrProxy instanceof Table)) {
EObject _eObjectOrProxy_1 = element.getEObjectOrProxy();
Table table = ((Table) _eObjectOrProxy_1);
Resource _eResource = tableView.eResource();
ResourceSet _resourceSet = _eResource.getResourceSet();
EObject _resolve = EcoreUtil3.resolve(table, _resourceSet);
table = ((Table) _resolve);
TableOption _tabletype = table.getTabletype();
if ((_tabletype instanceof TableTable)) {
result.add(element);
} else {
TableOption _tabletype_1 = table.getTabletype();
if ((_tabletype_1 instanceof TableGrid)) {
result.add(element);
}
}
}
}
IScope _createScope = MapBasedScope.createScope(IScope.NULLSCOPE, result);
superScope = _createScope;
ArrayList<IEObjectDescription> _newArrayList = CollectionLiterals.<IEObjectDescription>newArrayList();
result = _newArrayList;
EObject perspective = tableView.eContainer();
while (((!Objects.equal(perspective, null)) && (!(perspective instanceof Perspective)))) {
EObject _eContainer = perspective.eContainer();
perspective = _eContainer;
}
BlipUserTask _userTask = null;
if (((Perspective) perspective)!=null) {
_userTask=((Perspective) perspective).getUserTask();
}
boolean _equals = Objects.equal(_userTask, null);
if (_equals) {
return superScope;
} else {
Blip _process = null;
if (((Perspective) perspective)!=null) {
_process=((Perspective) perspective).getProcess();
}
Resource _eResource_1 = tableView.eResource();
ResourceSet _resourceSet_1 = _eResource_1.getResourceSet();
EcoreUtil3.resolve(_process, _resourceSet_1);
BlipUserTask _userTask_1 = null;
if (((Perspective) perspective)!=null) {
_userTask_1=((Perspective) perspective).getUserTask();
}
Resource _eResource_2 = tableView.eResource();
ResourceSet _resourceSet_2 = _eResource_2.getResourceSet();
EObject _resolve_1 = EcoreUtil3.resolve(_userTask_1, _resourceSet_2);
final BlipUserTask humanTask = ((BlipUserTask) _resolve_1);
final LDto operativeDto = humanTask.getOperativeLDto();
String _name = null;
if (operativeDto!=null) {
_name=operativeDto.getName();
}
boolean _equals_1 = Objects.equal(_name, null);
if (_equals_1) {
return superScope;
} else {
Iterable<IEObjectDescription> _allElements_1 = superScope.getAllElements();
for (final IEObjectDescription element_1 : _allElements_1) {
EObject _eObjectOrProxy_2 = element_1.getEObjectOrProxy();
if ((_eObjectOrProxy_2 instanceof Table)) {
EObject _eObjectOrProxy_3 = element_1.getEObjectOrProxy();
Table table_1 = ((Table) _eObjectOrProxy_3);
Resource _eResource_3 = tableView.eResource();
ResourceSet _resourceSet_3 = _eResource_3.getResourceSet();
EObject _resolve_2 = EcoreUtil3.resolve(table_1, _resourceSet_3);
table_1 = ((Table) _resolve_2);
TableOption _tabletype_2 = table_1.getTabletype();
if ((_tabletype_2 instanceof TableGrid)) {
TableOption _tabletype_3 = table_1.getTabletype();
final TableGrid tableGrid = ((TableGrid) _tabletype_3);
TableDtoDatasource _source = null;
if (tableGrid!=null) {
_source=tableGrid.getSource();
}
final TableDtoDatasource tableDtoDatasource = _source;
LDto _dtoSource = null;
if (tableDtoDatasource!=null) {
_dtoSource=tableDtoDatasource.getDtoSource();
}
final LDto rootTypeDto = _dtoSource;
String _name_1 = operativeDto.getName();
String _name_2 = rootTypeDto.getName();
boolean _equals_2 = _name_1.equals(_name_2);
if (_equals_2) {
result.add(element_1);
}
} else {
TableOption _tabletype_4 = table_1.getTabletype();
if ((_tabletype_4 instanceof TableTable)) {
result.add(element_1);
}
}
}
}
}
return MapBasedScope.createScope(IScope.NULLSCOPE, result);
}
}
public IScope getScope_CCPerspectivePartStack_PERSPECTIVE_SELECTION__REF(final PerspectiveSelection selectionView, final EReference reference) {
IScope superScope = super.getScope(selectionView, reference);
ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
Iterable<IEObjectDescription> _allElements = superScope.getAllElements();
for (final IEObjectDescription element : _allElements) {
EObject _eObjectOrProxy = element.getEObjectOrProxy();
if ((_eObjectOrProxy instanceof Table)) {
EObject _eObjectOrProxy_1 = element.getEObjectOrProxy();
Table table = ((Table) _eObjectOrProxy_1);
Resource _eResource = selectionView.eResource();
ResourceSet _resourceSet = _eResource.getResourceSet();
EObject _resolve = EcoreUtil3.resolve(table, _resourceSet);
table = ((Table) _resolve);
TableOption _tabletype = table.getTabletype();
if ((_tabletype instanceof TableSelection)) {
result.add(element);
}
}
}
IScope _createScope = MapBasedScope.createScope(IScope.NULLSCOPE, result);
superScope = _createScope;
ArrayList<IEObjectDescription> _newArrayList = CollectionLiterals.<IEObjectDescription>newArrayList();
result = _newArrayList;
EObject perspective = selectionView.eContainer();
while (((!Objects.equal(perspective, null)) && (!(perspective instanceof Perspective)))) {
EObject _eContainer = perspective.eContainer();
perspective = _eContainer;
}
BlipUserTask _userTask = null;
if (((Perspective) perspective)!=null) {
_userTask=((Perspective) perspective).getUserTask();
}
boolean _equals = Objects.equal(_userTask, null);
if (_equals) {
return superScope;
} else {
Blip _process = null;
if (((Perspective) perspective)!=null) {
_process=((Perspective) perspective).getProcess();
}
Resource _eResource_1 = selectionView.eResource();
ResourceSet _resourceSet_1 = _eResource_1.getResourceSet();
EcoreUtil3.resolve(_process, _resourceSet_1);
BlipUserTask _userTask_1 = null;
if (((Perspective) perspective)!=null) {
_userTask_1=((Perspective) perspective).getUserTask();
}
Resource _eResource_2 = selectionView.eResource();
ResourceSet _resourceSet_2 = _eResource_2.getResourceSet();
EObject _resolve_1 = EcoreUtil3.resolve(_userTask_1, _resourceSet_2);
final BlipUserTask humanTask = ((BlipUserTask) _resolve_1);
final LDto operativeDto = humanTask.getOperativeLDto();
String _name = null;
if (operativeDto!=null) {
_name=operativeDto.getName();
}
boolean _equals_1 = Objects.equal(_name, null);
if (_equals_1) {
return superScope;
} else {
Iterable<IEObjectDescription> _allElements_1 = superScope.getAllElements();
for (final IEObjectDescription element_1 : _allElements_1) {
EObject _eObjectOrProxy_2 = element_1.getEObjectOrProxy();
if ((_eObjectOrProxy_2 instanceof Table)) {
EObject _eObjectOrProxy_3 = element_1.getEObjectOrProxy();
Table table_1 = ((Table) _eObjectOrProxy_3);
Resource _eResource_3 = selectionView.eResource();
ResourceSet _resourceSet_3 = _eResource_3.getResourceSet();
EObject _resolve_2 = EcoreUtil3.resolve(table_1, _resourceSet_3);
table_1 = ((Table) _resolve_2);
TableOption _tabletype_1 = table_1.getTabletype();
if ((_tabletype_1 instanceof TableSelection)) {
result.add(element_1);
}
}
}
}
return MapBasedScope.createScope(IScope.NULLSCOPE, result);
}
}
public IScope getScope_CCPerspectivePartStack_PERSPECTIVE_GRID__REF(final PerspectiveGrid gridView, final EReference reference) {
final IScope superScope = super.getScope(gridView, reference);
ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
Iterable<IEObjectDescription> _allElements = superScope.getAllElements();
for (final IEObjectDescription element : _allElements) {
EObject _eObjectOrProxy = element.getEObjectOrProxy();
if ((_eObjectOrProxy instanceof Table)) {
EObject _eObjectOrProxy_1 = element.getEObjectOrProxy();
Table table = ((Table) _eObjectOrProxy_1);
Resource _eResource = gridView.eResource();
ResourceSet _resourceSet = _eResource.getResourceSet();
EObject _resolve = EcoreUtil3.resolve(table, _resourceSet);
table = ((Table) _resolve);
TableOption _tabletype = table.getTabletype();
if ((_tabletype instanceof TableGrid)) {
result.add(element);
}
}
}
return MapBasedScope.createScope(IScope.NULLSCOPE, result);
}
public IScope getScope_CCPerspectivePartStack_USER_TASK(final Perspective perspective) {
ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
Blip blipProcess = perspective.getProcess();
boolean _notEquals = (!Objects.equal(blipProcess, null));
if (_notEquals) {
EList<BlipItem> _items = blipProcess.getItems();
for (final BlipItem item : _items) {
if ((item instanceof BlipUserTask)) {
String _name = ((BlipUserTask)item).getName();
IEObjectDescription _create = EObjectDescription.create(_name, item);
result.add(_create);
}
}
}
return MapBasedScope.createScope(IScope.NULLSCOPE, result);
}
public IScope getScope_CCPerspectivePartStack_selected_element(final EObject object) {
ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
if ((object instanceof PerspectivePartStack)) {
PerspectivePartStack stack = ((PerspectivePartStack) object);
EList<PerspectiveElement> _elements = stack.getElements();
for (final PerspectiveElement part : _elements) {
String _elementId = part.getElementId();
IEObjectDescription _create = EObjectDescription.create(_elementId, part);
result.add(_create);
}
}
return MapBasedScope.createScope(IScope.NULLSCOPE, result);
}
public IScope getScope_CCPerspectiveSashContainer_selected_element(final EObject object) {
ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
if ((object instanceof PerspectiveSashContainer)) {
PerspectiveSashContainer sash = ((PerspectiveSashContainer) object);
EList<PerspectiveElement> _elements = sash.getElements();
for (final PerspectiveElement part : _elements) {
String _elementId = part.getElementId();
IEObjectDescription _create = EObjectDescription.create(_elementId, part);
result.add(_create);
}
}
return MapBasedScope.createScope(IScope.NULLSCOPE, result);
}
}