| package org.eclipse.osbp.xtext.datamartdsl.util |
| |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartAttribute |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartAttributeBase |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartEntity |
| import org.eclipse.xtext.EcoreUtil2 |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartDSLFactory |
| import org.eclipse.osbp.xtext.datamartdsl.AxisEnum |
| import org.eclipse.osbp.dsl.semantic.entity.LEntity |
| |
| class DatamartAttributeUtil { |
| |
| def static getAliasedAttributeName(DatamartAttributeBase attributeBase){ |
| if (attributeBase instanceof DatamartAttribute){ |
| var attribute = attributeBase as DatamartAttribute |
| if (attribute.aliased){ |
| return '''«attribute?.aliasName?.replace("^", "")»''' |
| } |
| } |
| return '''«attributeBase?.attributeRef?.name?.replace("^", "")»''' |
| } |
| |
| def static fillEmptyAttributes(DatamartEntity datamartEntity){ |
| var entity = datamartEntity?.entityRef |
| if (entity.eIsProxy) { |
| entity = EcoreUtil2.resolve(entity, datamartEntity.eResource) as LEntity |
| } |
| for (attribute : entity.attributes) { |
| var datamartAttribute = DatamartDSLFactory.eINSTANCE.createDatamartAttribute |
| datamartAttribute.attributeRef = attribute |
| var axis = DatamartDSLFactory.eINSTANCE.createDatamartAxis |
| axis.name = AxisEnum.COLUMNS |
| datamartAttribute.axis = axis |
| datamartEntity?.attributes?.add(datamartAttribute) |
| } |
| } |
| |
| } |