use of com.robotoworks.mechanoid.db.sqliteModel.SelectCoreExpression in project mechanoid by robotoworks.
the class XSqliteModelScopeProvider method scope_ColumnSourceRef_column.
public IScope scope_ColumnSourceRef_column(final ColumnSourceRef context, final EReference reference) {
SelectSource _source = context.getSource();
boolean _equals = Objects.equal(_source, null);
if (_equals) {
IScope scope = this.buildScopeForColumnSourceRef_column(context, context);
return scope;
} else {
SelectSource _source_1 = context.getSource();
if ((_source_1 instanceof SingleSourceTable)) {
SelectSource _source_2 = context.getSource();
SingleSourceTable tableSource = ((SingleSourceTable) _source_2);
DDLStatement _ancestorOfType = ModelUtil.<DDLStatement>getAncestorOfType(tableSource, DDLStatement.class);
TableDefinition _tableReference = tableSource.getTableReference();
ArrayList<EObject> _findColumnDefs = ModelUtil.findColumnDefs(_ancestorOfType, _tableReference);
return Scopes.scopeFor(_findColumnDefs);
} else {
SelectSource _source_3 = context.getSource();
if ((_source_3 instanceof SingleSourceSelectStatement)) {
SelectSource _source_4 = context.getSource();
SingleSourceSelectStatement selectStmtSource = ((SingleSourceSelectStatement) _source_4);
SelectStatement _selectStatement = selectStmtSource.getSelectStatement();
SelectCoreExpression _core = _selectStatement.getCore();
ArrayList<EObject> _allReferenceableColumns = ModelUtil.getAllReferenceableColumns(_core);
return Scopes.scopeFor(_allReferenceableColumns);
}
}
}
return IScope.NULLSCOPE;
}
use of com.robotoworks.mechanoid.db.sqliteModel.SelectCoreExpression in project mechanoid by robotoworks.
the class ModelUtil method getViewResultColumns.
public static ArrayList<ColumnSource> getViewResultColumns(final CreateViewStatement stmt) {
ArrayList<ColumnSource> result = new ArrayList<ColumnSource>();
SelectStatement _selectStatement = stmt.getSelectStatement();
SelectCoreExpression coreExpr = _selectStatement.getCore();
if ((coreExpr instanceof SelectCore)) {
SelectCore core = ((SelectCore) coreExpr);
SelectCoreExpression _right = core.getRight();
SelectList selectList = ((SelectExpression) _right).getSelectList();
boolean _notEquals = (!Objects.equal(selectList, null));
if (_notEquals) {
EList<ColumnSource> _resultColumns = selectList.getResultColumns();
final Function1<ColumnSource, Boolean> _function = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
boolean _and = false;
String _name = it.getName();
boolean _notEquals = (!Objects.equal(_name, null));
if (!_notEquals) {
_and = false;
} else {
String _name_1 = it.getName();
boolean _equals = _name_1.equals("");
boolean _not = (!_equals);
_and = _not;
}
return Boolean.valueOf(_and);
}
};
Iterable<ColumnSource> _filter = IterableExtensions.<ColumnSource>filter(_resultColumns, _function);
Iterables.<ColumnSource>addAll(result, _filter);
}
} else {
SelectList selectList_1 = ((SelectExpression) coreExpr).getSelectList();
boolean _notEquals_1 = (!Objects.equal(selectList_1, null));
if (_notEquals_1) {
EList<ColumnSource> _resultColumns_1 = selectList_1.getResultColumns();
final Function1<ColumnSource, Boolean> _function_1 = new Function1<ColumnSource, Boolean>() {
public Boolean apply(final ColumnSource it) {
boolean _and = false;
String _name = it.getName();
boolean _notEquals = (!Objects.equal(_name, null));
if (!_notEquals) {
_and = false;
} else {
String _name_1 = it.getName();
boolean _equals = _name_1.equals("");
boolean _not = (!_equals);
_and = _not;
}
return Boolean.valueOf(_and);
}
};
Iterable<ColumnSource> _filter_1 = IterableExtensions.<ColumnSource>filter(_resultColumns_1, _function_1);
Iterables.<ColumnSource>addAll(result, _filter_1);
}
}
return result;
}
use of com.robotoworks.mechanoid.db.sqliteModel.SelectCoreExpression in project mechanoid by robotoworks.
the class ModelUtil method getAllReferenceableColumns.
public static ArrayList<EObject> getAllReferenceableColumns(final SelectCoreExpression expr) {
final ArrayList<EObject> items = Lists.<EObject>newArrayList();
if ((expr instanceof SelectCore)) {
SelectCoreExpression _left = ((SelectCore) expr).getLeft();
ArrayList<EObject> _allReferenceableColumns = ModelUtil.getAllReferenceableColumns(_left);
items.addAll(_allReferenceableColumns);
SelectCoreExpression _right = ((SelectCore) expr).getRight();
ArrayList<EObject> _allReferenceableColumns_1 = ModelUtil.getAllReferenceableColumns(_right);
items.addAll(_allReferenceableColumns_1);
} else {
if ((expr instanceof SelectExpression)) {
ArrayList<EObject> _allReferenceableColumns_2 = ModelUtil.getAllReferenceableColumns(((SelectExpression) expr), true);
items.addAll(_allReferenceableColumns_2);
}
}
return items;
}
use of com.robotoworks.mechanoid.db.sqliteModel.SelectCoreExpression in project mechanoid by robotoworks.
the class ModelUtil method getAllReferenceableSingleSources.
public static ArrayList<EObject> getAllReferenceableSingleSources(final SelectCoreExpression expr) {
final ArrayList<EObject> items = Lists.<EObject>newArrayList();
if ((expr instanceof SelectCore)) {
SelectCoreExpression _left = ((SelectCore) expr).getLeft();
ArrayList<EObject> _allReferenceableSingleSources = ModelUtil.getAllReferenceableSingleSources(_left);
items.addAll(_allReferenceableSingleSources);
SelectCoreExpression _right = ((SelectCore) expr).getRight();
ArrayList<EObject> _allReferenceableSingleSources_1 = ModelUtil.getAllReferenceableSingleSources(_right);
items.addAll(_allReferenceableSingleSources_1);
} else {
if ((expr instanceof SelectExpression)) {
ArrayList<SingleSource> _findAllSingleSources = ModelUtil.findAllSingleSources(((SelectExpression) expr));
items.addAll(_findAllSingleSources);
}
}
return items;
}
use of com.robotoworks.mechanoid.db.sqliteModel.SelectCoreExpression in project mechanoid by robotoworks.
the class StatementSequenceValidator method _validateStatement.
protected void _validateStatement(final StatementSequenceValidatorResult result, final CreateViewStatement stmt) {
String _name = stmt.getName();
boolean _nameExists = this.nameExists(_name);
if (_nameExists) {
result.valid = false;
result.message = "Name conflict, use another name";
result.feature = SqliteModelPackage.Literals.TABLE_DEFINITION__NAME;
} else {
SelectStatement _selectStatement = stmt.getSelectStatement();
SelectCoreExpression _core = _selectStatement.getCore();
this.validateTablesInExpression(result, _core);
}
}
Aggregations