| /** |
| * 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.chart.jvmmodel; |
| |
| import com.github.wolfie.refresher.Refresher; |
| import com.google.common.base.Objects; |
| import com.vaadin.data.Property; |
| import com.vaadin.ui.Component; |
| import com.vaadin.ui.VerticalLayout; |
| import elemental.json.JsonException; |
| import java.util.ArrayList; |
| import java.util.Arrays; |
| import java.util.HashMap; |
| import java.util.Locale; |
| import java.util.Set; |
| import javax.annotation.PostConstruct; |
| import javax.annotation.PreDestroy; |
| import javax.inject.Inject; |
| import org.dussan.vaadin.dcharts.DCharts; |
| import org.eclipse.e4.core.contexts.IEclipseContext; |
| import org.eclipse.e4.core.services.events.IEventBroker; |
| import org.eclipse.e4.ui.model.application.MApplication; |
| import org.eclipse.emf.common.util.EList; |
| import org.eclipse.emf.ecore.EObject; |
| import org.eclipse.osbp.dsl.semantic.common.types.LAttribute; |
| import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute; |
| import org.eclipse.osbp.osgi.hybrid.api.AbstractHybridVaaclipseView; |
| import org.eclipse.osbp.ui.api.datamart.DerivedOlapException; |
| import org.eclipse.osbp.ui.api.datamart.IDatamartFilterGenerator; |
| import org.eclipse.osbp.ui.api.layout.IViewLayoutManager; |
| import org.eclipse.osbp.ui.api.metadata.IDSLMetadataService; |
| import org.eclipse.osbp.ui.api.user.IUser; |
| import org.eclipse.osbp.utils.constants.GeneratorConstants; |
| import org.eclipse.osbp.utils.theme.EnumCssClass; |
| import org.eclipse.osbp.utils.vaadin.PropertyLookup; |
| import org.eclipse.osbp.xtext.chart.Chart; |
| import org.eclipse.osbp.xtext.chart.ChartAxis; |
| import org.eclipse.osbp.xtext.chart.ChartBar; |
| import org.eclipse.osbp.xtext.chart.ChartBubble; |
| import org.eclipse.osbp.xtext.chart.ChartDatamart; |
| import org.eclipse.osbp.xtext.chart.ChartDonut; |
| import org.eclipse.osbp.xtext.chart.ChartElement; |
| import org.eclipse.osbp.xtext.chart.ChartGauge; |
| import org.eclipse.osbp.xtext.chart.ChartHighlighter; |
| import org.eclipse.osbp.xtext.chart.ChartInterval; |
| import org.eclipse.osbp.xtext.chart.ChartLegend; |
| import org.eclipse.osbp.xtext.chart.ChartLine; |
| import org.eclipse.osbp.xtext.chart.ChartNumberInterval; |
| import org.eclipse.osbp.xtext.chart.ChartOption; |
| import org.eclipse.osbp.xtext.chart.ChartPackage; |
| import org.eclipse.osbp.xtext.chart.ChartPie; |
| import org.eclipse.osbp.xtext.chart.ChartRangeElement; |
| import org.eclipse.osbp.xtext.chart.ChartSegmentColor; |
| import org.eclipse.osbp.xtext.chart.ChartTree; |
| import org.eclipse.osbp.xtext.chart.LegendPlacementEnum; |
| import org.eclipse.osbp.xtext.chart.RenderTypeEnum; |
| import org.eclipse.osbp.xtext.chart.ToggleTypeEnum; |
| import org.eclipse.osbp.xtext.chart.TooltipLocationEnum; |
| import org.eclipse.osbp.xtext.chart.jvmmodel.ChartDSLD3JavaComponentsCreator; |
| import org.eclipse.osbp.xtext.cubedsl.CubeLevel; |
| import org.eclipse.osbp.xtext.datamart.common.olap.DerivedCellSet; |
| import org.eclipse.osbp.xtext.datamartdsl.AxisEnum; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartAxis; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartCube; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartCubeElement; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartDefinition; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartDerivedMeasure; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartElement; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartEntity; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartMeasure; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartMember; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartNavigation; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartOwner; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartPackage; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartProperty; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartSource; |
| import org.eclipse.osbp.xtext.datamartdsl.ValueScaleEnum; |
| import org.eclipse.osbp.xtext.datamartdsl.jvmmodel.DatamartDSLJvmModelInferrer; |
| import org.eclipse.xtend2.lib.StringConcatenation; |
| import org.eclipse.xtext.common.types.JvmAnnotationReference; |
| import org.eclipse.xtext.common.types.JvmConstructor; |
| import org.eclipse.xtext.common.types.JvmDeclaredType; |
| import org.eclipse.xtext.common.types.JvmField; |
| import org.eclipse.xtext.common.types.JvmFormalParameter; |
| import org.eclipse.xtext.common.types.JvmGenericType; |
| import org.eclipse.xtext.common.types.JvmMember; |
| import org.eclipse.xtext.common.types.JvmOperation; |
| import org.eclipse.xtext.common.types.JvmTypeReference; |
| import org.eclipse.xtext.common.types.JvmVisibility; |
| import org.eclipse.xtext.naming.IQualifiedNameProvider; |
| import org.eclipse.xtext.naming.QualifiedName; |
| import org.eclipse.xtext.xbase.compiler.output.ITreeAppendable; |
| import org.eclipse.xtext.xbase.jvmmodel.AbstractModelInferrer; |
| import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor; |
| import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder; |
| import org.eclipse.xtext.xbase.lib.CollectionLiterals; |
| import org.eclipse.xtext.xbase.lib.Extension; |
| import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; |
| import org.osgi.service.event.EventHandler; |
| import org.slf4j.Logger; |
| |
| /** |
| * <p>Infers a JVM model from the source model.</p> |
| * |
| * <p>The JVM model should contain all elements that would appear in the Java code |
| * which is generated from the source model. Other models link against the JVM model rather than the source model.</p> |
| */ |
| @SuppressWarnings("all") |
| public class ChartDSLJvmModelInferrer extends AbstractModelInferrer { |
| @Inject |
| @Extension |
| private JvmTypesBuilder _jvmTypesBuilder; |
| |
| @Inject |
| @Extension |
| private IQualifiedNameProvider _iQualifiedNameProvider; |
| |
| @Inject |
| @Extension |
| private DatamartDSLJvmModelInferrer datamartInferrer; |
| |
| @Inject |
| @Extension |
| private ChartDSLD3JavaComponentsCreator _chartDSLD3JavaComponentsCreator; |
| |
| /** |
| * <p>infer method dispatches the necessary routines to build fields, setter, getter, constructors and methods of the generated code.</p> |
| */ |
| protected void _infer(final ChartPackage pckg, final IJvmDeclaredTypeAcceptor acceptor, final boolean isPreIndexingPhase) { |
| EList<Chart> _charts = pckg.getCharts(); |
| for (final Chart chart : _charts) { |
| { |
| QualifiedName _fullyQualifiedName = this._iQualifiedNameProvider.getFullyQualifiedName(pckg); |
| String _plus = (_fullyQualifiedName + "."); |
| String _name = chart.getName(); |
| String _plus_1 = (_plus + _name); |
| String _plus_2 = (_plus_1 + "Chart"); |
| JvmGenericType cls = this._jvmTypesBuilder.toClass(chart, _plus_2); |
| EList<JvmTypeReference> _superTypes = cls.getSuperTypes(); |
| JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(AbstractHybridVaaclipseView.class); |
| _superTypes.add(_typeRef); |
| EList<JvmTypeReference> _superTypes_1 = cls.getSuperTypes(); |
| JvmTypeReference _typeRef_1 = this._typeReferenceBuilder.typeRef(IUser.UserLocaleListener.class); |
| _superTypes_1.add(_typeRef_1); |
| final Procedure1<JvmGenericType> _function = new Procedure1<JvmGenericType>() { |
| public void apply(final JvmGenericType it) { |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.setDocumentation(it, GeneratorConstants.GENERATED_CLASSES_DOCUMENTATION); |
| ChartDSLJvmModelInferrer.this.toFields(it, chart); |
| ChartDSLJvmModelInferrer.this.toConstructor(it, chart); |
| ChartDSLJvmModelInferrer.this.toGetterSetter(it, chart); |
| ChartDSLJvmModelInferrer.this.toOperations(it, chart); |
| } |
| }; |
| acceptor.<JvmGenericType>accept(cls, _function); |
| ChartOption _charttype = chart.getCharttype(); |
| if ((_charttype instanceof ChartTree)) { |
| this._chartDSLD3JavaComponentsCreator.createJsJavaComponent(chart, acceptor); |
| } |
| } |
| } |
| } |
| |
| /** |
| * <p>build the constructors to be used by an e4 application.</p> |
| */ |
| public void toConstructor(final JvmDeclaredType type, final Chart chart) { |
| EList<JvmMember> _members = type.getMembers(); |
| final Procedure1<JvmConstructor> _function = new Procedure1<JvmConstructor>() { |
| public void apply(final JvmConstructor it) { |
| EList<JvmAnnotationReference> _annotations = it.getAnnotations(); |
| JvmAnnotationReference _annotationRef = ChartDSLJvmModelInferrer.this._annotationTypesBuilder.annotationRef(Inject.class); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef); |
| EList<JvmFormalParameter> _parameters = it.getParameters(); |
| JvmTypeReference _typeRef = ChartDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(VerticalLayout.class); |
| JvmFormalParameter _parameter = ChartDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(chart, "parent", _typeRef); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter); |
| EList<JvmFormalParameter> _parameters_1 = it.getParameters(); |
| JvmTypeReference _typeRef_1 = ChartDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(IEclipseContext.class); |
| JvmFormalParameter _parameter_1 = ChartDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(chart, "context", _typeRef_1); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1); |
| EList<JvmFormalParameter> _parameters_2 = it.getParameters(); |
| JvmTypeReference _typeRef_2 = ChartDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(MApplication.class); |
| JvmFormalParameter _parameter_2 = ChartDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(chart, "app", _typeRef_2); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_2, _parameter_2); |
| final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() { |
| public void apply(final ITreeAppendable it) { |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append("super(parent,context,app);"); |
| it.append(_builder); |
| } |
| }; |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function); |
| } |
| }; |
| JvmConstructor _constructor = this._jvmTypesBuilder.toConstructor(chart, _function); |
| this._jvmTypesBuilder.<JvmConstructor>operator_add(_members, _constructor); |
| } |
| |
| /** |
| * <p>build the class variables.</p> |
| */ |
| public void toFields(final JvmDeclaredType type, final Chart chart) { |
| JvmField field = null; |
| JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(Logger.class); |
| final Procedure1<JvmField> _function = new Procedure1<JvmField>() { |
| public void apply(final JvmField it) { |
| final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() { |
| public void apply(final ITreeAppendable it) { |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append("org.slf4j.LoggerFactory.getLogger(\"charts\")"); |
| it.append(_builder); |
| } |
| }; |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.setInitializer(it, _function); |
| } |
| }; |
| JvmField _field = this._jvmTypesBuilder.toField(chart, "log", _typeRef, _function); |
| field = _field; |
| field.setStatic(true); |
| field.setVisibility(JvmVisibility.PRIVATE); |
| EList<JvmMember> _members = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members, field); |
| JvmTypeReference _typeRef_1 = this._typeReferenceBuilder.typeRef(IUser.class); |
| final Procedure1<JvmField> _function_1 = new Procedure1<JvmField>() { |
| public void apply(final JvmField it) { |
| EList<JvmAnnotationReference> _annotations = it.getAnnotations(); |
| JvmAnnotationReference _annotationRef = ChartDSLJvmModelInferrer.this._annotationTypesBuilder.annotationRef(Inject.class); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef); |
| } |
| }; |
| JvmField _field_1 = this._jvmTypesBuilder.toField(chart, "user", _typeRef_1, _function_1); |
| field = _field_1; |
| EList<JvmMember> _members_1 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_1, field); |
| JvmTypeReference _typeRef_2 = this._typeReferenceBuilder.typeRef(IEclipseContext.class); |
| final Procedure1<JvmField> _function_2 = new Procedure1<JvmField>() { |
| public void apply(final JvmField it) { |
| EList<JvmAnnotationReference> _annotations = it.getAnnotations(); |
| JvmAnnotationReference _annotationRef = ChartDSLJvmModelInferrer.this._annotationTypesBuilder.annotationRef(Inject.class); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef); |
| } |
| }; |
| JvmField _field_2 = this._jvmTypesBuilder.toField(chart, "eclipseContext", _typeRef_2, _function_2); |
| field = _field_2; |
| EList<JvmMember> _members_2 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_2, field); |
| JvmTypeReference _typeRef_3 = this._typeReferenceBuilder.typeRef(Integer.class); |
| JvmTypeReference _typeRef_4 = this._typeReferenceBuilder.typeRef(ArrayList.class, _typeRef_3); |
| JvmField _field_3 = this._jvmTypesBuilder.toField(chart, "coordinateSystem", _typeRef_4); |
| field = _field_3; |
| EList<JvmMember> _members_3 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_3, field); |
| JvmTypeReference _typeRef_5 = this._typeReferenceBuilder.typeRef(IDatamartFilterGenerator.class); |
| JvmField _field_4 = this._jvmTypesBuilder.toField(chart, "filterGenerator", _typeRef_5); |
| field = _field_4; |
| EList<JvmMember> _members_4 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_4, field); |
| JvmTypeReference _typeRef_6 = this._typeReferenceBuilder.typeRef(IViewLayoutManager.class); |
| JvmField _field_5 = this._jvmTypesBuilder.toField(chart, "layoutManager", _typeRef_6); |
| field = _field_5; |
| EList<JvmMember> _members_5 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_5, field); |
| String _sourceDataMartRefName = this.getSourceDataMartRefName(chart); |
| boolean _notEquals = (!Objects.equal(_sourceDataMartRefName, null)); |
| if (_notEquals) { |
| ChartDatamart _source = chart.getSource(); |
| DatamartDefinition _datamartRef = _source.getDatamartRef(); |
| EObject _eContainer = _datamartRef.eContainer(); |
| QualifiedName _fullyQualifiedName = this._iQualifiedNameProvider.getFullyQualifiedName(((DatamartPackage) _eContainer)); |
| String packageName = _fullyQualifiedName.toString(); |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append(packageName, ""); |
| _builder.append("."); |
| ChartDatamart _source_1 = chart.getSource(); |
| DatamartDefinition _datamartRef_1 = _source_1.getDatamartRef(); |
| String _name = _datamartRef_1.getName(); |
| String _string = _name.toString(); |
| _builder.append(_string, ""); |
| _builder.append("Datamart"); |
| JvmTypeReference _typeRef_7 = this._typeReferenceBuilder.typeRef(_builder.toString()); |
| JvmField _field_6 = this._jvmTypesBuilder.toField(chart, "datamartClass", _typeRef_7); |
| field = _field_6; |
| EList<JvmMember> _members_6 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_6, field); |
| } |
| JvmTypeReference _typeRef_8 = this._typeReferenceBuilder.typeRef(Property.ValueChangeListener.class); |
| JvmField _field_7 = this._jvmTypesBuilder.toField(chart, "filterChangeListener", _typeRef_8); |
| field = _field_7; |
| EList<JvmMember> _members_7 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_7, field); |
| JvmTypeReference _typeRef_9 = this._typeReferenceBuilder.typeRef(Refresher.class); |
| JvmField _field_8 = this._jvmTypesBuilder.toField(chart, "chartRefresher", _typeRef_9); |
| field = _field_8; |
| EList<JvmMember> _members_8 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_8, field); |
| JvmTypeReference _typeRef_10 = this._typeReferenceBuilder.typeRef(boolean.class); |
| JvmField _field_9 = this._jvmTypesBuilder.toField(chart, "chartRefresherDone", _typeRef_10); |
| field = _field_9; |
| EList<JvmMember> _members_9 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_9, field); |
| JvmTypeReference _typeRef_11 = this._typeReferenceBuilder.typeRef(Refresher.class); |
| JvmField _field_10 = this._jvmTypesBuilder.toField(chart, "chartRenderDelay", _typeRef_11); |
| field = _field_10; |
| EList<JvmMember> _members_10 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_10, field); |
| JvmTypeReference _typeRef_12 = this._typeReferenceBuilder.typeRef(Component.class); |
| JvmField _field_11 = this._jvmTypesBuilder.toField(chart, "dataComponent", _typeRef_12); |
| field = _field_11; |
| EList<JvmMember> _members_11 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_11, field); |
| JvmTypeReference _typeRef_13 = this._typeReferenceBuilder.typeRef(String.class); |
| JvmTypeReference _typeRef_14 = this._typeReferenceBuilder.typeRef(PropertyLookup.class); |
| JvmTypeReference _typeRef_15 = this._typeReferenceBuilder.typeRef(HashMap.class, _typeRef_13, _typeRef_14); |
| JvmField _field_12 = this._jvmTypesBuilder.toField(chart, "propertyLookupMap", _typeRef_15); |
| field = _field_12; |
| EList<JvmMember> _members_12 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_12, field); |
| JvmTypeReference _typeRef_16 = this._typeReferenceBuilder.typeRef(DCharts.class); |
| JvmTypeReference _typeRef_17 = this._typeReferenceBuilder.typeRef(ArrayList.class, _typeRef_16); |
| JvmField _field_13 = this._jvmTypesBuilder.toField(chart, "charts", _typeRef_17); |
| field = _field_13; |
| EList<JvmMember> _members_13 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_13, field); |
| JvmTypeReference _typeRef_18 = this._typeReferenceBuilder.typeRef(IEventBroker.class); |
| final Procedure1<JvmField> _function_3 = new Procedure1<JvmField>() { |
| public void apply(final JvmField it) { |
| EList<JvmAnnotationReference> _annotations = it.getAnnotations(); |
| JvmAnnotationReference _annotationRef = ChartDSLJvmModelInferrer.this._annotationTypesBuilder.annotationRef(Inject.class); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef); |
| } |
| }; |
| JvmField _field_14 = this._jvmTypesBuilder.toField(chart, "eventBroker", _typeRef_18, _function_3); |
| field = _field_14; |
| EList<JvmMember> _members_14 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_14, field); |
| JvmTypeReference _typeRef_19 = this._typeReferenceBuilder.typeRef(EventHandler.class); |
| JvmField _field_15 = this._jvmTypesBuilder.toField(chart, "refreshView", _typeRef_19); |
| field = _field_15; |
| EList<JvmMember> _members_15 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_15, field); |
| JvmTypeReference _typeRef_20 = this._typeReferenceBuilder.typeRef(IDSLMetadataService.class); |
| final Procedure1<JvmField> _function_4 = new Procedure1<JvmField>() { |
| public void apply(final JvmField it) { |
| EList<JvmAnnotationReference> _annotations = it.getAnnotations(); |
| JvmAnnotationReference _annotationRef = ChartDSLJvmModelInferrer.this._annotationTypesBuilder.annotationRef(Inject.class); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef); |
| } |
| }; |
| JvmField _field_16 = this._jvmTypesBuilder.toField(chart, "dslMetadataService", _typeRef_20, _function_4); |
| field = _field_16; |
| EList<JvmMember> _members_16 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_16, field); |
| JvmTypeReference _typeRef_21 = this._typeReferenceBuilder.typeRef(Locale.class); |
| JvmField _field_17 = this._jvmTypesBuilder.toField(chart, "locale", _typeRef_21); |
| field = _field_17; |
| EList<JvmMember> _members_17 = type.getMembers(); |
| this._jvmTypesBuilder.<JvmField>operator_add(_members_17, field); |
| } |
| |
| /** |
| * <p>build the getters and setters from class variables.</p> |
| */ |
| public void toGetterSetter(final JvmDeclaredType type, final Chart chart) { |
| JvmOperation operation = null; |
| JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(Integer.class); |
| JvmTypeReference _typeRef_1 = this._typeReferenceBuilder.typeRef(ArrayList.class, _typeRef); |
| JvmOperation _getter = this._jvmTypesBuilder.toGetter(chart, "coordinateSystem", _typeRef_1); |
| operation = _getter; |
| operation.setVisibility(JvmVisibility.PUBLIC); |
| EList<JvmMember> _members = type.getMembers(); |
| this._jvmTypesBuilder.<JvmOperation>operator_add(_members, operation); |
| } |
| |
| /** |
| * <p>build the methods.</p> |
| */ |
| public void toOperations(final JvmDeclaredType type, final Chart chart) { |
| EList<JvmMember> _members = type.getMembers(); |
| JvmTypeReference _typeRef = this._typeReferenceBuilder.typeRef(Void.TYPE); |
| final Procedure1<JvmOperation> _function = new Procedure1<JvmOperation>() { |
| public void apply(final JvmOperation it) { |
| EList<JvmFormalParameter> _parameters = it.getParameters(); |
| JvmTypeReference _typeRef = ChartDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(VerticalLayout.class); |
| JvmFormalParameter _parameter = ChartDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(chart, "parent", _typeRef); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter); |
| final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() { |
| public void apply(final ITreeAppendable it) { |
| StringConcatenation _builder = new StringConcatenation(); |
| String _createView = ChartDSLJvmModelInferrer.this.createView(chart); |
| _builder.append(_createView, ""); |
| it.append(_builder); |
| } |
| }; |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function); |
| } |
| }; |
| JvmOperation _method = this._jvmTypesBuilder.toMethod(chart, "createView", _typeRef, _function); |
| this._jvmTypesBuilder.<JvmOperation>operator_add(_members, _method); |
| EList<JvmMember> _members_1 = type.getMembers(); |
| JvmTypeReference _typeRef_1 = this._typeReferenceBuilder.typeRef(Void.TYPE); |
| final Procedure1<JvmOperation> _function_1 = new Procedure1<JvmOperation>() { |
| public void apply(final JvmOperation it) { |
| final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() { |
| public void apply(final ITreeAppendable it) { |
| StringConcatenation _builder = new StringConcatenation(); |
| String _createComponents = ChartDSLJvmModelInferrer.this.createComponents(chart); |
| _builder.append(_createComponents, ""); |
| it.append(_builder); |
| } |
| }; |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function); |
| } |
| }; |
| JvmOperation _method_1 = this._jvmTypesBuilder.toMethod(chart, "createComponents", _typeRef_1, _function_1); |
| this._jvmTypesBuilder.<JvmOperation>operator_add(_members_1, _method_1); |
| EList<JvmMember> _members_2 = type.getMembers(); |
| JvmTypeReference _typeRef_2 = this._typeReferenceBuilder.typeRef(Component.class); |
| final Procedure1<JvmOperation> _function_2 = new Procedure1<JvmOperation>() { |
| public void apply(final JvmOperation it) { |
| EList<JvmTypeReference> _exceptions = it.getExceptions(); |
| JvmTypeReference _typeRef = ChartDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(DerivedOlapException.class); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmTypeReference>operator_add(_exceptions, _typeRef); |
| EList<JvmFormalParameter> _parameters = it.getParameters(); |
| JvmTypeReference _typeRef_1 = ChartDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(DerivedCellSet.class); |
| JvmFormalParameter _parameter = ChartDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(chart, "cellSet", _typeRef_1); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter); |
| EList<JvmFormalParameter> _parameters_1 = it.getParameters(); |
| JvmTypeReference _typeRef_2 = ChartDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Integer.class); |
| JvmFormalParameter _parameter_1 = ChartDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(chart, "axisNo", _typeRef_2); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters_1, _parameter_1); |
| final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() { |
| public void apply(final ITreeAppendable it) { |
| StringConcatenation _builder = new StringConcatenation(); |
| String _createTabSheet = ChartDSLJvmModelInferrer.this.createTabSheet(chart); |
| _builder.append(_createTabSheet, ""); |
| it.append(_builder); |
| } |
| }; |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function); |
| } |
| }; |
| JvmOperation _method_2 = this._jvmTypesBuilder.toMethod(chart, "createTabSheet", _typeRef_2, _function_2); |
| this._jvmTypesBuilder.<JvmOperation>operator_add(_members_2, _method_2); |
| ChartOption _charttype = chart.getCharttype(); |
| if ((!(_charttype instanceof ChartTree))) { |
| EList<JvmMember> _members_3 = type.getMembers(); |
| JvmTypeReference _typeRef_3 = this._typeReferenceBuilder.typeRef(Component.class); |
| final Procedure1<JvmOperation> _function_3 = new Procedure1<JvmOperation>() { |
| public void apply(final JvmOperation it) { |
| EList<JvmTypeReference> _exceptions = it.getExceptions(); |
| JvmTypeReference _typeRef = ChartDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(DerivedOlapException.class); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmTypeReference>operator_add(_exceptions, _typeRef); |
| EList<JvmFormalParameter> _parameters = it.getParameters(); |
| JvmTypeReference _typeRef_1 = ChartDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(DerivedCellSet.class); |
| JvmFormalParameter _parameter = ChartDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(chart, "cellSet", _typeRef_1); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter); |
| final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() { |
| public void apply(final ITreeAppendable it) { |
| StringConcatenation _builder = new StringConcatenation(); |
| String _createChart = ChartDSLJvmModelInferrer.this.createChart(chart); |
| _builder.append(_createChart, ""); |
| it.append(_builder); |
| } |
| }; |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function); |
| } |
| }; |
| JvmOperation _method_3 = this._jvmTypesBuilder.toMethod(chart, "createChart", _typeRef_3, _function_3); |
| this._jvmTypesBuilder.<JvmOperation>operator_add(_members_3, _method_3); |
| } |
| ChartOption _charttype_1 = chart.getCharttype(); |
| if ((_charttype_1 instanceof ChartTree)) { |
| EList<JvmMember> _members_4 = type.getMembers(); |
| JvmTypeReference _typeRef_4 = this._typeReferenceBuilder.typeRef(Component.class); |
| final Procedure1<JvmOperation> _function_4 = new Procedure1<JvmOperation>() { |
| public void apply(final JvmOperation it) { |
| EList<JvmTypeReference> _exceptions = it.getExceptions(); |
| JvmTypeReference _typeRef = ChartDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(DerivedOlapException.class); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmTypeReference>operator_add(_exceptions, _typeRef); |
| EList<JvmTypeReference> _exceptions_1 = it.getExceptions(); |
| JvmTypeReference _typeRef_1 = ChartDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(JsonException.class); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmTypeReference>operator_add(_exceptions_1, _typeRef_1); |
| EList<JvmFormalParameter> _parameters = it.getParameters(); |
| JvmTypeReference _typeRef_2 = ChartDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(DerivedCellSet.class); |
| JvmFormalParameter _parameter = ChartDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(chart, "cxCellSet", _typeRef_2); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter); |
| final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() { |
| public void apply(final ITreeAppendable it) { |
| StringConcatenation _builder = new StringConcatenation(); |
| CharSequence _createD3Chart = ChartDSLJvmModelInferrer.this._chartDSLD3JavaComponentsCreator.createD3Chart(chart); |
| _builder.append(_createD3Chart, ""); |
| it.append(_builder); |
| } |
| }; |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function); |
| } |
| }; |
| JvmOperation _method_4 = this._jvmTypesBuilder.toMethod(chart, "createD3Chart", _typeRef_4, _function_4); |
| this._jvmTypesBuilder.<JvmOperation>operator_add(_members_4, _method_4); |
| } |
| EList<JvmMember> _members_5 = type.getMembers(); |
| JvmTypeReference _typeRef_5 = this._typeReferenceBuilder.typeRef(Void.TYPE); |
| final Procedure1<JvmOperation> _function_5 = new Procedure1<JvmOperation>() { |
| public void apply(final JvmOperation it) { |
| it.setVisibility(JvmVisibility.PROTECTED); |
| EList<JvmAnnotationReference> _annotations = it.getAnnotations(); |
| JvmAnnotationReference _annotationRef = ChartDSLJvmModelInferrer.this._annotationTypesBuilder.annotationRef(PostConstruct.class); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef); |
| final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() { |
| public void apply(final ITreeAppendable it) { |
| StringConcatenation _builder = new StringConcatenation(); |
| String _setup = ChartDSLJvmModelInferrer.this.setup(chart); |
| _builder.append(_setup, ""); |
| it.append(_builder); |
| } |
| }; |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function); |
| } |
| }; |
| JvmOperation _method_5 = this._jvmTypesBuilder.toMethod(chart, "setup", _typeRef_5, _function_5); |
| this._jvmTypesBuilder.<JvmOperation>operator_add(_members_5, _method_5); |
| EList<JvmMember> _members_6 = type.getMembers(); |
| JvmTypeReference _typeRef_6 = this._typeReferenceBuilder.typeRef(Void.TYPE); |
| final Procedure1<JvmOperation> _function_6 = new Procedure1<JvmOperation>() { |
| public void apply(final JvmOperation it) { |
| it.setVisibility(JvmVisibility.PROTECTED); |
| final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() { |
| public void apply(final ITreeAppendable it) { |
| StringConcatenation _builder = new StringConcatenation(); |
| CharSequence _subscribe = ChartDSLJvmModelInferrer.this.subscribe(chart); |
| _builder.append(_subscribe, ""); |
| it.append(_builder); |
| } |
| }; |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function); |
| } |
| }; |
| JvmOperation _method_6 = this._jvmTypesBuilder.toMethod(chart, "subscribe", _typeRef_6, _function_6); |
| this._jvmTypesBuilder.<JvmOperation>operator_add(_members_6, _method_6); |
| EList<JvmMember> _members_7 = type.getMembers(); |
| JvmTypeReference _typeRef_7 = this._typeReferenceBuilder.typeRef(Void.TYPE); |
| final Procedure1<JvmOperation> _function_7 = new Procedure1<JvmOperation>() { |
| public void apply(final JvmOperation it) { |
| it.setVisibility(JvmVisibility.PROTECTED); |
| EList<JvmAnnotationReference> _annotations = it.getAnnotations(); |
| JvmAnnotationReference _annotationRef = ChartDSLJvmModelInferrer.this._annotationTypesBuilder.annotationRef(PreDestroy.class); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef); |
| final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() { |
| public void apply(final ITreeAppendable it) { |
| StringConcatenation _builder = new StringConcatenation(); |
| CharSequence _unsubscribe = ChartDSLJvmModelInferrer.this.unsubscribe(chart); |
| _builder.append(_unsubscribe, ""); |
| it.append(_builder); |
| } |
| }; |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function); |
| } |
| }; |
| JvmOperation _method_7 = this._jvmTypesBuilder.toMethod(chart, "unsubscribe", _typeRef_7, _function_7); |
| this._jvmTypesBuilder.<JvmOperation>operator_add(_members_7, _method_7); |
| EList<JvmMember> _members_8 = type.getMembers(); |
| JvmTypeReference _typeRef_8 = this._typeReferenceBuilder.typeRef(Void.TYPE); |
| final Procedure1<JvmOperation> _function_8 = new Procedure1<JvmOperation>() { |
| public void apply(final JvmOperation it) { |
| it.setVisibility(JvmVisibility.PUBLIC); |
| EList<JvmAnnotationReference> _annotations = it.getAnnotations(); |
| JvmAnnotationReference _annotationRef = ChartDSLJvmModelInferrer.this._annotationTypesBuilder.annotationRef(Override.class); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef); |
| EList<JvmFormalParameter> _parameters = it.getParameters(); |
| JvmTypeReference _typeRef = ChartDSLJvmModelInferrer.this._typeReferenceBuilder.typeRef(Locale.class); |
| JvmFormalParameter _parameter = ChartDSLJvmModelInferrer.this._jvmTypesBuilder.toParameter(chart, "locale", _typeRef); |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter); |
| final Procedure1<ITreeAppendable> _function = new Procedure1<ITreeAppendable>() { |
| public void apply(final ITreeAppendable it) { |
| StringConcatenation _builder = new StringConcatenation(); |
| CharSequence _localeChanged = ChartDSLJvmModelInferrer.this.localeChanged(chart); |
| _builder.append(_localeChanged, ""); |
| it.append(_builder); |
| } |
| }; |
| ChartDSLJvmModelInferrer.this._jvmTypesBuilder.setBody(it, _function); |
| } |
| }; |
| JvmOperation _method_8 = this._jvmTypesBuilder.toMethod(chart, "localeChanged", _typeRef_8, _function_8); |
| this._jvmTypesBuilder.<JvmOperation>operator_add(_members_8, _method_8); |
| } |
| |
| public CharSequence subscribe(final Chart chart) { |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append("eventBroker.subscribe(EventBrokerMsg.REFRESH_VIEW+\""); |
| String _name = chart.getName(); |
| _builder.append(_name, ""); |
| _builder.append("Chart\", refreshView);"); |
| return _builder; |
| } |
| |
| public CharSequence unsubscribe(final Chart chart) { |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append("eventBroker.unsubscribe(refreshView);"); |
| return _builder; |
| } |
| |
| public String getSourceDataMartRefName(final Chart chart) { |
| boolean _and = false; |
| boolean _and_1 = false; |
| ChartDatamart _source = chart.getSource(); |
| boolean _notEquals = (!Objects.equal(_source, null)); |
| if (!_notEquals) { |
| _and_1 = false; |
| } else { |
| ChartDatamart _source_1 = chart.getSource(); |
| DatamartDefinition _datamartRef = _source_1.getDatamartRef(); |
| boolean _notEquals_1 = (!Objects.equal(_datamartRef, null)); |
| _and_1 = _notEquals_1; |
| } |
| if (!_and_1) { |
| _and = false; |
| } else { |
| ChartDatamart _source_2 = chart.getSource(); |
| DatamartDefinition _datamartRef_1 = _source_2.getDatamartRef(); |
| String _name = _datamartRef_1.getName(); |
| boolean _notEquals_2 = (!Objects.equal(_name, null)); |
| _and = _notEquals_2; |
| } |
| if (_and) { |
| ChartDatamart _source_3 = chart.getSource(); |
| DatamartDefinition _datamartRef_2 = _source_3.getDatamartRef(); |
| String _name_1 = _datamartRef_2.getName(); |
| return _name_1.toString(); |
| } else { |
| return null; |
| } |
| } |
| |
| /** |
| * <p>build the main method to be called from e4.</p> |
| */ |
| public String createView(final Chart chart) { |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append("chartRefresherDone = false;"); |
| _builder.newLine(); |
| _builder.append("charts = new ArrayList<DCharts>();"); |
| _builder.newLine(); |
| _builder.append("coordinateSystem = new ArrayList<Integer>();"); |
| _builder.newLine(); |
| _builder.append("filterGenerator = new DatamartFilterGenerator();"); |
| _builder.newLine(); |
| _builder.append("filterGenerator.setDslMetadataService(dslMetadataService);"); |
| _builder.newLine(); |
| _builder.append("layoutManager = new ViewLayoutManager();"); |
| _builder.newLine(); |
| _builder.append("chartRefresher = new Refresher();"); |
| _builder.newLine(); |
| _builder.append("chartRenderDelay = new Refresher();"); |
| _builder.newLine(); |
| _builder.append("propertyLookupMap = new HashMap<String,PropertyLookup>();"); |
| _builder.newLine(); |
| String body = _builder.toString(); |
| String _sourceDataMartRefName = this.getSourceDataMartRefName(chart); |
| boolean _notEquals = (!Objects.equal(_sourceDataMartRefName, null)); |
| if (_notEquals) { |
| StringConcatenation _builder_1 = new StringConcatenation(); |
| _builder_1.append(body, ""); |
| _builder_1.newLineIfNotEmpty(); |
| _builder_1.append("datamartClass = new "); |
| String _sourceDataMartRefName_1 = this.getSourceDataMartRefName(chart); |
| _builder_1.append(_sourceDataMartRefName_1, ""); |
| _builder_1.append("Datamart();"); |
| body = _builder_1.toString(); |
| } |
| StringConcatenation _builder_2 = new StringConcatenation(); |
| _builder_2.append(body, ""); |
| _builder_2.newLineIfNotEmpty(); |
| _builder_2.append("parent.setPrimaryStyleName(\"osbp\"); // <== is THIS necessary any more???"); |
| _builder_2.newLine(); |
| _builder_2.append("parent.addStyleName(\""); |
| String _styleName = EnumCssClass.VIEW.styleName(); |
| _builder_2.append(_styleName, ""); |
| _builder_2.append("\");"); |
| _builder_2.newLineIfNotEmpty(); |
| _builder_2.append("parent.addStyleName(\""); |
| String _styleName_1 = EnumCssClass.CHART_VIEW.styleName(); |
| _builder_2.append(_styleName_1, ""); |
| _builder_2.append("\");"); |
| _builder_2.newLineIfNotEmpty(); |
| _builder_2.append("parent.setSizeFull();"); |
| _builder_2.newLine(); |
| _builder_2.append("layoutManager.init(parent);"); |
| _builder_2.newLine(); |
| _builder_2.append("refreshView = "); |
| String _refreshView = this.refreshView(chart); |
| _builder_2.append(_refreshView, ""); |
| _builder_2.newLineIfNotEmpty(); |
| body = _builder_2.toString(); |
| StringConcatenation _builder_3 = new StringConcatenation(); |
| _builder_3.append(body, ""); |
| _builder_3.newLineIfNotEmpty(); |
| _builder_3.append("chartRenderDelay.setRefreshInterval(100);"); |
| _builder_3.newLine(); |
| _builder_3.append("chartRenderDelay.addListener(new com.github.wolfie.refresher.Refresher.RefreshListener() {"); |
| _builder_3.newLine(); |
| _builder_3.append("\t"); |
| _builder_3.append("@Override"); |
| _builder_3.newLine(); |
| _builder_3.append("\t"); |
| _builder_3.append("public void refresh(final Refresher source) {"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("// refresh only once"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("layoutManager.removeExtension(source);"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("log.debug(\"initial - show delayed\");"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("for(DCharts chart : charts) {"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t\t"); |
| _builder_3.append("chart.show();"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("}"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("chartRefresherDone = true;"); |
| _builder_3.newLine(); |
| _builder_3.append("\t"); |
| _builder_3.append("}"); |
| _builder_3.newLine(); |
| _builder_3.append("});"); |
| _builder_3.newLine(); |
| _builder_3.append("layoutManager.addExtension(chartRenderDelay);"); |
| _builder_3.newLine(); |
| _builder_3.append("user.addUserLocaleListener(this);"); |
| _builder_3.newLine(); |
| body = _builder_3.toString(); |
| boolean _isPolling = chart.isPolling(); |
| if (_isPolling) { |
| StringConcatenation _builder_4 = new StringConcatenation(); |
| _builder_4.append(body, ""); |
| _builder_4.newLineIfNotEmpty(); |
| _builder_4.append("chartRefresher.setRefreshInterval("); |
| int _pollingTime = chart.getPollingTime(); |
| _builder_4.append(_pollingTime, ""); |
| _builder_4.append("*1000);"); |
| _builder_4.newLineIfNotEmpty(); |
| _builder_4.append("chartRefresher.addListener(new com.github.wolfie.refresher.Refresher.RefreshListener() {"); |
| _builder_4.newLine(); |
| _builder_4.append("\t"); |
| _builder_4.append("@Override"); |
| _builder_4.newLine(); |
| _builder_4.append("\t"); |
| _builder_4.append("public void refresh(final Refresher source) {"); |
| _builder_4.newLine(); |
| _builder_4.append("\t\t"); |
| _builder_4.append("renderData();"); |
| _builder_4.newLine(); |
| _builder_4.append("\t"); |
| _builder_4.append("}"); |
| _builder_4.newLine(); |
| _builder_4.append("});"); |
| _builder_4.newLine(); |
| _builder_4.append("layoutManager.addExtension(chartRefresher);"); |
| _builder_4.newLine(); |
| body = _builder_4.toString(); |
| } |
| ChartDatamart _source = chart.getSource(); |
| boolean _notEquals_1 = (!Objects.equal(_source, null)); |
| if (_notEquals_1) { |
| StringConcatenation _builder_5 = new StringConcatenation(); |
| _builder_5.append(body, ""); |
| _builder_5.newLineIfNotEmpty(); |
| _builder_5.append("filterChangeListener = new ValueChangeListener() {"); |
| _builder_5.newLine(); |
| _builder_5.append("\t"); |
| _builder_5.append("@Override"); |
| _builder_5.newLine(); |
| _builder_5.append("\t"); |
| _builder_5.append("public void valueChange(com.vaadin.data.Property.ValueChangeEvent event) {"); |
| _builder_5.newLine(); |
| _builder_5.append("\t\t"); |
| _builder_5.append("renderData();"); |
| _builder_5.newLine(); |
| _builder_5.append("\t"); |
| _builder_5.append("}"); |
| _builder_5.newLine(); |
| _builder_5.append("};"); |
| _builder_5.newLine(); |
| _builder_5.append("filterGenerator.createFilter(datamartClass, user, filterChangeListener, layoutManager);"); |
| _builder_5.newLine(); |
| body = _builder_5.toString(); |
| } |
| StringConcatenation _builder_6 = new StringConcatenation(); |
| _builder_6.append(body, ""); |
| _builder_6.append("// to resize the chart according to browser"); |
| _builder_6.newLineIfNotEmpty(); |
| _builder_6.append("Page.getCurrent().addBrowserWindowResizeListener(new BrowserWindowResizeListener() {"); |
| _builder_6.newLine(); |
| _builder_6.append("\t"); |
| _builder_6.append("@Override"); |
| _builder_6.newLine(); |
| _builder_6.append("\t"); |
| _builder_6.append("public void browserWindowResized(BrowserWindowResizeEvent event) {"); |
| _builder_6.newLine(); |
| _builder_6.append("\t\t"); |
| _builder_6.append("log.debug(\"browserWindowResized - mark dirty\");"); |
| _builder_6.newLine(); |
| _builder_6.append("\t\t"); |
| _builder_6.append("getParent().markAsDirtyRecursive();"); |
| _builder_6.newLine(); |
| _builder_6.append("\t"); |
| _builder_6.append("}"); |
| _builder_6.newLine(); |
| _builder_6.append("});"); |
| _builder_6.newLine(); |
| _builder_6.append("// to resize the chart according to split positions of partsashcontainer - setContainerData is tracked"); |
| _builder_6.newLine(); |
| _builder_6.append("EObject container = ((EObject)eclipseContext.get(MUIElement.class)).eContainer();"); |
| _builder_6.newLine(); |
| _builder_6.append("if(!(container instanceof MPartStack)) {"); |
| _builder_6.newLine(); |
| _builder_6.append("\t"); |
| _builder_6.append("container = (EObject)eclipseContext.get(MUIElement.class);"); |
| _builder_6.newLine(); |
| _builder_6.append("}"); |
| _builder_6.newLine(); |
| _builder_6.append("container.eAdapters().add(new AdapterImpl() {"); |
| _builder_6.newLine(); |
| _builder_6.append("\t"); |
| _builder_6.append("public void notifyChanged(Notification notification) {"); |
| _builder_6.newLine(); |
| _builder_6.append("\t\t"); |
| _builder_6.append("if (notification.getEventType()==Notification.SET && "); |
| _builder_6.newLine(); |
| _builder_6.append("\t\t\t\t"); |
| _builder_6.append("notification.getFeatureID(UIElementImpl.class) == UiPackageImpl.UI_ELEMENT__CONTAINER_DATA)"); |
| _builder_6.newLine(); |
| _builder_6.append("\t\t"); |
| _builder_6.append("{"); |
| _builder_6.newLine(); |
| _builder_6.append("\t\t\t"); |
| _builder_6.append("log.debug(\"split position changed - mark dirty\");"); |
| _builder_6.newLine(); |
| _builder_6.append("\t\t\t"); |
| _builder_6.append("getParent().markAsDirtyRecursive();"); |
| _builder_6.newLine(); |
| _builder_6.append("\t\t"); |
| _builder_6.append("}"); |
| _builder_6.newLine(); |
| _builder_6.append("\t"); |
| _builder_6.append("}"); |
| _builder_6.newLine(); |
| _builder_6.append("});"); |
| _builder_6.newLine(); |
| body = _builder_6.toString(); |
| return body; |
| } |
| |
| /** |
| * <p>create a handler for external triggered refresh requests.</p> |
| */ |
| public String refreshView(final Chart chart) { |
| String body = ""; |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append(body, ""); |
| _builder.newLineIfNotEmpty(); |
| _builder.append("new EventHandler() {"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("@Override"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("public void handleEvent(Event event) {"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("renderData();"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("}"); |
| _builder.newLine(); |
| _builder.append("};"); |
| _builder.newLine(); |
| body = _builder.toString(); |
| return body; |
| } |
| |
| /** |
| * <p>build the data components.</p> |
| */ |
| public String createComponents(final Chart chart) { |
| String body = ""; |
| ChartDatamart _source = chart.getSource(); |
| boolean _notEquals = (!Objects.equal(_source, null)); |
| if (_notEquals) { |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append(body, ""); |
| _builder.append("// get the results"); |
| _builder.newLineIfNotEmpty(); |
| _builder.append("try {"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("final DerivedCellSet cellSet = datamartClass.getResults(user, filterGenerator.getFilter("); |
| ChartDatamart _source_1 = chart.getSource(); |
| DatamartDefinition _datamartRef = _source_1.getDatamartRef(); |
| DatamartSource _source_2 = _datamartRef.getSource(); |
| boolean _booleanValue = Boolean.valueOf((_source_2 instanceof DatamartCube)).booleanValue(); |
| String _string = Boolean.valueOf(_booleanValue).toString(); |
| _builder.append(_string, "\t"); |
| _builder.append("), getTaskOperativeDtoClass(), getTaskInitialOperativeDtos());"); |
| _builder.newLineIfNotEmpty(); |
| _builder.append("\t"); |
| _builder.append("getCoordinateSystem().clear();"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("if (cellSet == null) {"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("promptSecurityMessage(dslMetadataService.translate(locale.toLanguageTag(), \"securityMessage\"), layoutManager.getDataArea());"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("return;"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("} else {"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("layoutManager.getDataArea().removeAllComponents();"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("}"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("// generate a new result component"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("if (cellSet != null) {"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("// create a multidimensional coordinate system against the cellSet"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("for\t(int axis = 0; axis < cellSet.getAxes().size(); axis++) {"); |
| _builder.newLine(); |
| _builder.append("\t\t\t"); |
| _builder.append("getCoordinateSystem().add(0);"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("}"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("// remove any previous component"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("if\t(dataComponent != null) {"); |
| _builder.newLine(); |
| _builder.append("\t\t\t"); |
| _builder.append("layoutManager.getDataArea().removeComponent(dataComponent);"); |
| _builder.newLine(); |
| _builder.append("\t\t\t"); |
| _builder.append("dataComponent = null;"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("}"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("if (cellSet.getAxes().size() < 2) {"); |
| _builder.newLine(); |
| _builder.append("\t\t\t"); |
| _builder.append("log.error(\"at least 2 axes from referenced datamart "); |
| ChartDatamart _source_3 = chart.getSource(); |
| DatamartDefinition _datamartRef_1 = _source_3.getDatamartRef(); |
| String _name = _datamartRef_1.getName(); |
| _builder.append(_name, "\t\t\t"); |
| _builder.append(" are needed to render "); |
| String _name_1 = chart.getName(); |
| _builder.append(_name_1, "\t\t\t"); |
| _builder.append("\");"); |
| _builder.newLineIfNotEmpty(); |
| _builder.append("\t\t"); |
| _builder.append("}"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("dataComponent = createTabSheet(cellSet, cellSet.getAxes().size());"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("dataComponent.setSizeFull();"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("dataComponent.setId(\"dataComponent\");"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("dataComponent.addStyleName(\""); |
| String _styleName = EnumCssClass.DATA_COMPONENT.styleName(); |
| _builder.append(_styleName, "\t\t"); |
| _builder.append("\");"); |
| _builder.newLineIfNotEmpty(); |
| _builder.append("\t\t"); |
| _builder.append("layoutManager.getDataArea().addComponent(dataComponent);"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("layoutManager.getDataArea().setExpandRatio(dataComponent, 1);"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("}"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("else {"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("log.error(\"referenced datamart "); |
| ChartDatamart _source_4 = chart.getSource(); |
| DatamartDefinition _datamartRef_2 = _source_4.getDatamartRef(); |
| String _name_2 = _datamartRef_2.getName(); |
| _builder.append(_name_2, "\t\t"); |
| _builder.append(" generates no results\");"); |
| _builder.newLineIfNotEmpty(); |
| _builder.append("\t"); |
| _builder.append("}"); |
| _builder.newLine(); |
| _builder.append("} catch (DerivedOlapException e) {"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("log.error(e.getLocalizedMessage());"); |
| _builder.newLine(); |
| _builder.append("}"); |
| _builder.newLine(); |
| body = _builder.toString(); |
| } else { |
| StringConcatenation _builder_1 = new StringConcatenation(); |
| _builder_1.append(body, ""); |
| _builder_1.newLineIfNotEmpty(); |
| _builder_1.append("// generate a new result component"); |
| _builder_1.newLine(); |
| _builder_1.append("try {"); |
| _builder_1.newLine(); |
| _builder_1.append("\t"); |
| _builder_1.append("// remove any previous component"); |
| _builder_1.newLine(); |
| _builder_1.append("\t"); |
| _builder_1.append("if\t(dataComponent != null) {"); |
| _builder_1.newLine(); |
| _builder_1.append("\t\t"); |
| _builder_1.append("layoutManager.getDataArea().removeComponent(dataComponent);"); |
| _builder_1.newLine(); |
| _builder_1.append("\t\t"); |
| _builder_1.append("dataComponent = null;"); |
| _builder_1.newLine(); |
| _builder_1.append("\t"); |
| _builder_1.append("}\t\t\t\t"); |
| _builder_1.newLine(); |
| _builder_1.append("\t"); |
| _builder_1.append("dataComponent = createTabSheet(null, 2);"); |
| _builder_1.newLine(); |
| _builder_1.append("\t"); |
| _builder_1.append("dataComponent.setSizeFull();"); |
| _builder_1.newLine(); |
| _builder_1.append("\t"); |
| _builder_1.append("dataComponent.setId(\"dataComponent\");"); |
| _builder_1.newLine(); |
| _builder_1.append("\t"); |
| _builder_1.append("dataComponent.addStyleName(\""); |
| String _styleName_1 = EnumCssClass.DATA_COMPONENT.styleName(); |
| _builder_1.append(_styleName_1, "\t"); |
| _builder_1.append("\");"); |
| _builder_1.newLineIfNotEmpty(); |
| _builder_1.append("\t"); |
| _builder_1.append("layoutManager.getDataArea().addComponent(dataComponent);"); |
| _builder_1.newLine(); |
| _builder_1.append("\t"); |
| _builder_1.append("layoutManager.getDataArea().setExpandRatio(dataComponent, 1);"); |
| _builder_1.newLine(); |
| _builder_1.append("} catch (DerivedOlapException e) {"); |
| _builder_1.newLine(); |
| _builder_1.append("\t"); |
| _builder_1.append("log.error(e.getLocalizedMessage());"); |
| _builder_1.newLine(); |
| _builder_1.append("}"); |
| _builder_1.newLine(); |
| body = _builder_1.toString(); |
| } |
| return body; |
| } |
| |
| /** |
| * <p>if more than 2 axes (dimensions) are found in the cellSet, build recursive tabsheets as long as the remaining axes are more than 2.</p> |
| */ |
| public String createTabSheet(final Chart chart) { |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append("charts.clear();"); |
| _builder.newLine(); |
| _builder.append("// either create a recursive tabsheet or a chart"); |
| _builder.newLine(); |
| _builder.append("Component component = null;"); |
| _builder.newLine(); |
| _builder.append("if\t(axisNo == 2) {"); |
| _builder.newLine(); |
| String body = _builder.toString(); |
| ChartOption _charttype = chart.getCharttype(); |
| if ((_charttype instanceof ChartTree)) { |
| StringConcatenation _builder_1 = new StringConcatenation(); |
| _builder_1.append(body, ""); |
| _builder_1.newLineIfNotEmpty(); |
| _builder_1.append("\t"); |
| _builder_1.append("try {"); |
| _builder_1.newLine(); |
| _builder_1.append("\t\t"); |
| _builder_1.append("component = createD3Chart(cellSet);"); |
| _builder_1.newLine(); |
| _builder_1.append("\t"); |
| _builder_1.append("} catch (JsonException e) {"); |
| _builder_1.newLine(); |
| _builder_1.append("\t\t"); |
| _builder_1.append("log.error(e.getLocalizedMessage());"); |
| _builder_1.newLine(); |
| _builder_1.append("\t"); |
| _builder_1.append("}"); |
| _builder_1.newLine(); |
| body = _builder_1.toString(); |
| } else { |
| StringConcatenation _builder_2 = new StringConcatenation(); |
| _builder_2.append(body, ""); |
| _builder_2.newLineIfNotEmpty(); |
| _builder_2.append("\t"); |
| _builder_2.append("component = createChart(cellSet);"); |
| _builder_2.newLine(); |
| body = _builder_2.toString(); |
| } |
| StringConcatenation _builder_3 = new StringConcatenation(); |
| _builder_3.append(body, ""); |
| _builder_3.newLineIfNotEmpty(); |
| _builder_3.append("}"); |
| _builder_3.newLine(); |
| _builder_3.append("else {\t\t"); |
| _builder_3.newLine(); |
| _builder_3.append("\t"); |
| _builder_3.append("Integer axis = axisNo-1;"); |
| _builder_3.newLine(); |
| _builder_3.append("\t"); |
| _builder_3.append("TabSheet tabsheet = new TabSheet();"); |
| _builder_3.newLine(); |
| _builder_3.append("\t"); |
| _builder_3.append("tabsheet.setSizeFull();"); |
| _builder_3.newLine(); |
| _builder_3.append("\t"); |
| _builder_3.append("DerivedAxis tabAxis = cellSet.getAxes().get(axis);"); |
| _builder_3.newLine(); |
| _builder_3.append("\t"); |
| _builder_3.append("// create a tab page for all tab axis members"); |
| _builder_3.newLine(); |
| _builder_3.append("\t"); |
| _builder_3.append("int tabNo = 0;"); |
| _builder_3.newLine(); |
| _builder_3.append("\t"); |
| _builder_3.append("for\t(DerivedPosition column : tabAxis.getPositions()) {"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("// create the title for the axis"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("String title = null;"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("for (DerivedMember member : column.getMembers()) {"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t\t"); |
| _builder_3.append("if\t(title == null) {"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t\t\t"); |
| _builder_3.append("title = dslMetadataService.translate(user.getLocale().toLanguageTag(), member.getCaption());"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t\t"); |
| _builder_3.append("}"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t\t"); |
| _builder_3.append("else {"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t\t\t"); |
| _builder_3.append("title += \" / \"+dslMetadataService.translate(user.getLocale().toLanguageTag(), member.getCaption());"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t\t"); |
| _builder_3.append("}"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("}"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("// position the data to this coordinate"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("getCoordinateSystem().set(axis, tabNo);"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("component = createTabSheet(cellSet, axis);"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("// set the caption"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("if (component != null) {"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t\t"); |
| _builder_3.append("component.setCaption(title);"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t\t"); |
| _builder_3.append("// add the component as a tab page"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t\t"); |
| _builder_3.append("tabsheet.addComponent(component);"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("}"); |
| _builder_3.newLine(); |
| _builder_3.append("\t\t"); |
| _builder_3.append("tabNo++;"); |
| _builder_3.newLine(); |
| _builder_3.append("\t"); |
| _builder_3.append("}"); |
| _builder_3.newLine(); |
| _builder_3.append("\t"); |
| _builder_3.append("component = tabsheet;"); |
| _builder_3.newLine(); |
| _builder_3.append("}"); |
| _builder_3.newLine(); |
| _builder_3.append("return component;"); |
| body = _builder_3.toString(); |
| return body; |
| } |
| |
| /** |
| * <p>build the chart components.</p> |
| */ |
| public String createChart(final Chart chart) { |
| String body = ""; |
| String postfix = ""; |
| String chartType = ""; |
| boolean hasAxis = true; |
| HashMap<String, String> multipleAxes = CollectionLiterals.<String, String>newHashMap(); |
| ChartAxis category_axis = null; |
| ChartAxis data_axis = null; |
| ChartAxis inner_axis = null; |
| ChartAxis outer_axis = null; |
| boolean axisSwitch = false; |
| String axisPrefix = "XY"; |
| ChartOption _charttype = chart.getCharttype(); |
| if ((_charttype instanceof ChartBar)) { |
| ChartOption _charttype_1 = chart.getCharttype(); |
| boolean _isSwapped = ((ChartBar) _charttype_1).isSwapped(); |
| if (_isSwapped) { |
| axisPrefix = "YX"; |
| axisSwitch = true; |
| } |
| } |
| ChartDatamart _source = chart.getSource(); |
| EList<ChartElement> _elements = _source.getElements(); |
| for (final ChartElement element : _elements) { |
| if ((element instanceof ChartAxis)) { |
| ChartAxis axis = ((ChartAxis) element); |
| boolean _or = false; |
| DatamartAxis _axis = axis.getAxis(); |
| AxisEnum _name = _axis.getName(); |
| String _name_1 = _name.getName(); |
| boolean _equals = _name_1.equals("COLUMNS"); |
| if (_equals) { |
| _or = true; |
| } else { |
| DatamartAxis _axis_1 = axis.getAxis(); |
| AxisEnum _name_2 = _axis_1.getName(); |
| String _name_3 = _name_2.getName(); |
| boolean _equals_1 = _name_3.equals("ROWS"); |
| _or = _equals_1; |
| } |
| if (_or) { |
| boolean _or_1 = false; |
| boolean _or_2 = false; |
| RenderTypeEnum _renderType = axis.getRenderType(); |
| String _name_4 = _renderType.getName(); |
| boolean _equals_2 = _name_4.equals("LOG"); |
| if (_equals_2) { |
| _or_2 = true; |
| } else { |
| RenderTypeEnum _renderType_1 = axis.getRenderType(); |
| String _name_5 = _renderType_1.getName(); |
| boolean _equals_3 = _name_5.equals("LINEAR"); |
| _or_2 = _equals_3; |
| } |
| if (_or_2) { |
| _or_1 = true; |
| } else { |
| RenderTypeEnum _renderType_2 = axis.getRenderType(); |
| String _name_6 = _renderType_2.getName(); |
| boolean _equals_4 = _name_6.equals("PYRAMID"); |
| _or_1 = _equals_4; |
| } |
| if (_or_1) { |
| data_axis = axis; |
| } |
| boolean _or_3 = false; |
| RenderTypeEnum _renderType_3 = axis.getRenderType(); |
| String _name_7 = _renderType_3.getName(); |
| boolean _equals_5 = _name_7.equals("CATEGORY"); |
| if (_equals_5) { |
| _or_3 = true; |
| } else { |
| RenderTypeEnum _renderType_4 = axis.getRenderType(); |
| String _name_8 = _renderType_4.getName(); |
| boolean _equals_6 = _name_8.equals("DATE"); |
| _or_3 = _equals_6; |
| } |
| if (_or_3) { |
| category_axis = axis; |
| } |
| } |
| } |
| } |
| ChartOption _charttype_2 = chart.getCharttype(); |
| if ((_charttype_2 instanceof ChartBar)) { |
| chartType = "BAR"; |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append("_"); |
| _builder.append(chartType, ""); |
| postfix = _builder.toString(); |
| inner_axis = category_axis; |
| outer_axis = data_axis; |
| } else { |
| ChartOption _charttype_3 = chart.getCharttype(); |
| if ((_charttype_3 instanceof ChartBubble)) { |
| chartType = "BUBBLE"; |
| StringConcatenation _builder_1 = new StringConcatenation(); |
| _builder_1.append("_"); |
| _builder_1.append(chartType, ""); |
| postfix = _builder_1.toString(); |
| hasAxis = true; |
| inner_axis = data_axis; |
| outer_axis = category_axis; |
| } else { |
| ChartOption _charttype_4 = chart.getCharttype(); |
| if ((_charttype_4 instanceof ChartDonut)) { |
| chartType = "DONUT"; |
| hasAxis = false; |
| inner_axis = category_axis; |
| outer_axis = data_axis; |
| } else { |
| ChartOption _charttype_5 = chart.getCharttype(); |
| if ((_charttype_5 instanceof ChartLine)) { |
| chartType = "LINE"; |
| inner_axis = category_axis; |
| outer_axis = data_axis; |
| } else { |
| ChartOption _charttype_6 = chart.getCharttype(); |
| if ((_charttype_6 instanceof ChartPie)) { |
| chartType = "PIE"; |
| hasAxis = false; |
| inner_axis = data_axis; |
| outer_axis = category_axis; |
| } else { |
| ChartOption _charttype_7 = chart.getCharttype(); |
| if ((_charttype_7 instanceof ChartGauge)) { |
| chartType = "METER_GAUGE"; |
| hasAxis = false; |
| inner_axis = data_axis; |
| outer_axis = category_axis; |
| } |
| } |
| } |
| } |
| } |
| } |
| StringConcatenation _builder_2 = new StringConcatenation(); |
| _builder_2.append("List<Integer> coordinate = new ArrayList<Integer>(getCoordinateSystem());"); |
| _builder_2.newLine(); |
| body = _builder_2.toString(); |
| StringConcatenation _builder_3 = new StringConcatenation(); |
| _builder_3.append(body, ""); |
| _builder_3.append("// create a label series"); |
| _builder_3.newLineIfNotEmpty(); |
| _builder_3.append("List<String> "); |
| DatamartAxis _axis_2 = data_axis.getAxis(); |
| AxisEnum _name_9 = _axis_2.getName(); |
| String _literal = _name_9.getLiteral(); |
| _builder_3.append(_literal, ""); |
| _builder_3.append("TitlesArray = new ArrayList<String>();"); |
| _builder_3.newLineIfNotEmpty(); |
| _builder_3.append("for\t(DerivedPosition pos : cellSet.getAxes().get("); |
| DatamartAxis _axis_3 = data_axis.getAxis(); |
| AxisEnum _name_10 = _axis_3.getName(); |
| int _value = _name_10.getValue(); |
| _builder_3.append(_value, ""); |
| _builder_3.append(").getPositions()) {"); |
| _builder_3.newLineIfNotEmpty(); |
| body = _builder_3.toString(); |
| StringConcatenation _builder_4 = new StringConcatenation(); |
| _builder_4.append(body, ""); |
| _builder_4.newLineIfNotEmpty(); |
| _builder_4.append("\t"); |
| _builder_4.append("String title = null;"); |
| _builder_4.newLine(); |
| _builder_4.append("\t"); |
| _builder_4.append("Boolean valueUsed = false;"); |
| _builder_4.newLine(); |
| _builder_4.append("\t"); |
| _builder_4.append("for (DerivedMember member : pos.getMembers()) {"); |
| _builder_4.newLine(); |
| _builder_4.append("\t\t"); |
| _builder_4.append("if\t(title == null) {"); |
| _builder_4.newLine(); |
| _builder_4.append("\t\t\t"); |
| _builder_4.append("title = dslMetadataService.translate(user.getLocale().toLanguageTag(), member.getCaption());"); |
| _builder_4.newLine(); |
| _builder_4.append("\t\t"); |
| _builder_4.append("}"); |
| _builder_4.newLine(); |
| _builder_4.append("\t\t"); |
| _builder_4.append("else {"); |
| _builder_4.newLine(); |
| _builder_4.append("\t\t\t"); |
| _builder_4.append("title += \" \"+dslMetadataService.translate(user.getLocale().toLanguageTag(), member.getCaption());"); |
| _builder_4.newLine(); |
| _builder_4.append("\t\t"); |
| _builder_4.append("}"); |
| _builder_4.newLine(); |
| _builder_4.append("\t"); |
| _builder_4.append("}"); |
| _builder_4.newLine(); |
| _builder_4.append("\t"); |
| DatamartAxis _axis_4 = data_axis.getAxis(); |
| AxisEnum _name_11 = _axis_4.getName(); |
| String _literal_1 = _name_11.getLiteral(); |
| _builder_4.append(_literal_1, "\t"); |
| _builder_4.append("TitlesArray.add(title);"); |
| _builder_4.newLineIfNotEmpty(); |
| _builder_4.append("}"); |
| _builder_4.newLine(); |
| body = _builder_4.toString(); |
| if (hasAxis) { |
| StringConcatenation _builder_5 = new StringConcatenation(); |
| _builder_5.append(body, ""); |
| _builder_5.append("Series "); |
| DatamartAxis _axis_5 = data_axis.getAxis(); |
| AxisEnum _name_12 = _axis_5.getName(); |
| String _literal_2 = _name_12.getLiteral(); |
| _builder_5.append(_literal_2, ""); |
| _builder_5.append("Series = new Series();"); |
| _builder_5.newLineIfNotEmpty(); |
| body = _builder_5.toString(); |
| StringConcatenation _builder_6 = new StringConcatenation(); |
| _builder_6.append(body, ""); |
| _builder_6.append("if ("); |
| DatamartAxis _axis_6 = data_axis.getAxis(); |
| AxisEnum _name_13 = _axis_6.getName(); |
| String _literal_3 = _name_13.getLiteral(); |
| _builder_6.append(_literal_3, ""); |
| _builder_6.append("TitlesArray.size() > 0) {"); |
| _builder_6.newLineIfNotEmpty(); |
| body = _builder_6.toString(); |
| boolean showMarker = false; |
| ChartOption _charttype_8 = chart.getCharttype(); |
| if ((_charttype_8 instanceof ChartLine)) { |
| ChartOption _charttype_9 = chart.getCharttype(); |
| boolean _isShowMarker = ((ChartLine) _charttype_9).isShowMarker(); |
| showMarker = _isShowMarker; |
| } |
| StringConcatenation _builder_7 = new StringConcatenation(); |
| _builder_7.append(body, ""); |
| String _createLabelSeries = this.createLabelSeries(chart, data_axis, multipleAxes, axisPrefix, showMarker); |
| _builder_7.append(_createLabelSeries, ""); |
| body = _builder_7.toString(); |
| StringConcatenation _builder_8 = new StringConcatenation(); |
| _builder_8.append(body, ""); |
| _builder_8.append("}"); |
| _builder_8.newLineIfNotEmpty(); |
| body = _builder_8.toString(); |
| } |
| StringConcatenation _builder_9 = new StringConcatenation(); |
| _builder_9.append(body, ""); |
| _builder_9.append("// create the data series ticks"); |
| _builder_9.newLineIfNotEmpty(); |
| _builder_9.append("String "); |
| DatamartAxis _axis_7 = category_axis.getAxis(); |
| AxisEnum _name_14 = _axis_7.getName(); |
| String _literal_4 = _name_14.getLiteral(); |
| _builder_9.append(_literal_4, ""); |
| _builder_9.append("AxisLabel = \"\";"); |
| _builder_9.newLineIfNotEmpty(); |
| _builder_9.append("Boolean "); |
| DatamartAxis _axis_8 = category_axis.getAxis(); |
| AxisEnum _name_15 = _axis_8.getName(); |
| String _literal_5 = _name_15.getLiteral(); |
| _builder_9.append(_literal_5, ""); |
| _builder_9.append("AxisLabelSet = false;"); |
| _builder_9.newLineIfNotEmpty(); |
| _builder_9.append("List<String> "); |
| DatamartAxis _axis_9 = category_axis.getAxis(); |
| AxisEnum _name_16 = _axis_9.getName(); |
| String _literal_6 = _name_16.getLiteral(); |
| _builder_9.append(_literal_6, ""); |
| _builder_9.append("TitlesArray = new ArrayList<String>();"); |
| _builder_9.newLineIfNotEmpty(); |
| _builder_9.append("for\t(DerivedPosition pos : cellSet.getAxes().get("); |
| DatamartAxis _axis_10 = category_axis.getAxis(); |
| AxisEnum _name_17 = _axis_10.getName(); |
| int _value_1 = _name_17.getValue(); |
| _builder_9.append(_value_1, ""); |
| _builder_9.append(").getPositions()) {"); |
| _builder_9.newLineIfNotEmpty(); |
| _builder_9.append("\t"); |
| _builder_9.append("String title = \"\";"); |
| _builder_9.newLine(); |
| _builder_9.append("\t"); |
| _builder_9.append("for (DerivedMember member : pos.getMembers()) {"); |
| _builder_9.newLine(); |
| _builder_9.append(" \t"); |
| _builder_9.append("String[] tokens = member.getUniqueName().split(\"\\\\]\\\\.\\\\[\");"); |
| _builder_9.newLine(); |
| _builder_9.append(" \t"); |
| _builder_9.append("if (!"); |
| DatamartAxis _axis_11 = category_axis.getAxis(); |
| AxisEnum _name_18 = _axis_11.getName(); |
| String _literal_7 = _name_18.getLiteral(); |
| _builder_9.append(_literal_7, " \t"); |
| _builder_9.append("AxisLabelSet) {"); |
| _builder_9.newLineIfNotEmpty(); |
| _builder_9.append(" \t\t"); |
| _builder_9.append("if ("); |
| DatamartAxis _axis_12 = category_axis.getAxis(); |
| AxisEnum _name_19 = _axis_12.getName(); |
| String _literal_8 = _name_19.getLiteral(); |
| _builder_9.append(_literal_8, " \t\t"); |
| _builder_9.append("AxisLabel.length() > 0) {"); |
| _builder_9.newLineIfNotEmpty(); |
| _builder_9.append(" \t\t\t"); |
| DatamartAxis _axis_13 = category_axis.getAxis(); |
| AxisEnum _name_20 = _axis_13.getName(); |
| String _literal_9 = _name_20.getLiteral(); |
| _builder_9.append(_literal_9, " \t\t\t"); |
| _builder_9.append("AxisLabel += \" / \";"); |
| _builder_9.newLineIfNotEmpty(); |
| _builder_9.append(" \t\t"); |
| _builder_9.append("}"); |
| _builder_9.newLine(); |
| _builder_9.append(" \t\t"); |
| DatamartAxis _axis_14 = category_axis.getAxis(); |
| AxisEnum _name_21 = _axis_14.getName(); |
| String _literal_10 = _name_21.getLiteral(); |
| _builder_9.append(_literal_10, " \t\t"); |
| _builder_9.append("AxisLabel += dslMetadataService.translate(user.getLocale().toLanguageTag(), member.getLevel().getName());"); |
| _builder_9.newLineIfNotEmpty(); |
| _builder_9.append(" \t"); |
| _builder_9.append("}"); |
| _builder_9.newLine(); |
| _builder_9.append(" \t"); |
| _builder_9.append("int start = 1;"); |
| _builder_9.newLine(); |
| _builder_9.append(" \t"); |
| _builder_9.append("// if shortlabel is configured, use only last level name"); |
| _builder_9.newLine(); |
| _builder_9.append(" \t"); |
| _builder_9.append("if ("); |
| boolean _isShortLabel = category_axis.isShortLabel(); |
| boolean _booleanValue = Boolean.valueOf(_isShortLabel).booleanValue(); |
| _builder_9.append(_booleanValue, " \t"); |
| _builder_9.append(") {"); |
| _builder_9.newLineIfNotEmpty(); |
| _builder_9.append(" \t\t"); |
| _builder_9.append("start = tokens.length-1;"); |
| _builder_9.newLine(); |
| _builder_9.append(" \t"); |
| _builder_9.append("}"); |
| _builder_9.newLine(); |
| _builder_9.append(" \t"); |
| _builder_9.append("for\t(int token = start; token < tokens.length; token++) {"); |
| _builder_9.newLine(); |
| _builder_9.append(" \t\t"); |
| _builder_9.append("title += dslMetadataService.translate(user.getLocale().toLanguageTag(), tokens[token])+\" \";"); |
| _builder_9.newLine(); |
| _builder_9.append(" \t"); |
| _builder_9.append("}"); |
| _builder_9.newLine(); |
| _builder_9.append("\t"); |
| _builder_9.append("}"); |
| _builder_9.newLine(); |
| _builder_9.append("\t"); |
| DatamartAxis _axis_15 = category_axis.getAxis(); |
| AxisEnum _name_22 = _axis_15.getName(); |
| String _literal_11 = _name_22.getLiteral(); |
| _builder_9.append(_literal_11, "\t"); |
| _builder_9.append("AxisLabelSet = true;"); |
| _builder_9.newLineIfNotEmpty(); |
| _builder_9.append("\t"); |
| DatamartAxis _axis_16 = category_axis.getAxis(); |
| AxisEnum _name_23 = _axis_16.getName(); |
| String _literal_12 = _name_23.getLiteral(); |
| _builder_9.append(_literal_12, "\t"); |
| _builder_9.append("TitlesArray.add(title.trim().replace(\"[\", \"\").replace(\"]\", \"\"));"); |
| _builder_9.newLineIfNotEmpty(); |
| _builder_9.append("}"); |
| _builder_9.newLine(); |
| body = _builder_9.toString(); |
| if (hasAxis) { |
| StringConcatenation _builder_10 = new StringConcatenation(); |
| _builder_10.append(body, ""); |
| _builder_10.append("Ticks "); |
| DatamartAxis _axis_17 = category_axis.getAxis(); |
| AxisEnum _name_24 = _axis_17.getName(); |
| String _literal_13 = _name_24.getLiteral(); |
| _builder_10.append(_literal_13, ""); |
| _builder_10.append("Ticks = new Ticks();"); |
| _builder_10.newLineIfNotEmpty(); |
| DatamartAxis _axis_18 = category_axis.getAxis(); |
| AxisEnum _name_25 = _axis_18.getName(); |
| String _literal_14 = _name_25.getLiteral(); |
| _builder_10.append(_literal_14, ""); |
| _builder_10.append("Ticks.add("); |
| DatamartAxis _axis_19 = category_axis.getAxis(); |
| AxisEnum _name_26 = _axis_19.getName(); |
| String _literal_15 = _name_26.getLiteral(); |
| _builder_10.append(_literal_15, ""); |
| _builder_10.append("TitlesArray.toArray());"); |
| _builder_10.newLineIfNotEmpty(); |
| body = _builder_10.toString(); |
| } |
| StringConcatenation _builder_11 = new StringConcatenation(); |
| _builder_11.append(body, ""); |
| _builder_11.append("// copy cellset data to data series"); |
| _builder_11.newLineIfNotEmpty(); |
| _builder_11.append("DataSeries dataSeries = new DataSeries();"); |
| _builder_11.newLine(); |
| body = _builder_11.toString(); |
| ChartOption _charttype_10 = chart.getCharttype(); |
| if ((_charttype_10 instanceof ChartBubble)) { |
| StringConcatenation _builder_12 = new StringConcatenation(); |
| _builder_12.append(body, ""); |
| _builder_12.append("dataSeries.newSeries();"); |
| _builder_12.newLineIfNotEmpty(); |
| body = _builder_12.toString(); |
| } |
| StringConcatenation _builder_13 = new StringConcatenation(); |
| _builder_13.append(body, ""); |
| _builder_13.append("int "); |
| DatamartAxis _axis_20 = outer_axis.getAxis(); |
| AxisEnum _name_27 = _axis_20.getName(); |
| String _literal_16 = _name_27.getLiteral(); |
| _builder_13.append(_literal_16, ""); |
| _builder_13.append("No = 0;"); |
| _builder_13.newLineIfNotEmpty(); |
| body = _builder_13.toString(); |
| StringConcatenation _builder_14 = new StringConcatenation(); |
| _builder_14.append(body, ""); |
| _builder_14.append("for\t(DerivedPosition "); |
| DatamartAxis _axis_21 = outer_axis.getAxis(); |
| AxisEnum _name_28 = _axis_21.getName(); |
| String _literal_17 = _name_28.getLiteral(); |
| _builder_14.append(_literal_17, ""); |
| _builder_14.append("Pos : cellSet.getAxes().get("); |
| DatamartAxis _axis_22 = outer_axis.getAxis(); |
| AxisEnum _name_29 = _axis_22.getName(); |
| int _value_2 = _name_29.getValue(); |
| _builder_14.append(_value_2, ""); |
| _builder_14.append(").getPositions()) {"); |
| _builder_14.newLineIfNotEmpty(); |
| body = _builder_14.toString(); |
| StringConcatenation _builder_15 = new StringConcatenation(); |
| _builder_15.append(body, ""); |
| _builder_15.append("\tcoordinate.set("); |
| DatamartAxis _axis_23 = outer_axis.getAxis(); |
| AxisEnum _name_30 = _axis_23.getName(); |
| int _value_3 = _name_30.getValue(); |
| _builder_15.append(_value_3, ""); |
| _builder_15.append(", "); |
| DatamartAxis _axis_24 = outer_axis.getAxis(); |
| AxisEnum _name_31 = _axis_24.getName(); |
| String _literal_18 = _name_31.getLiteral(); |
| _builder_15.append(_literal_18, ""); |
| _builder_15.append("No);"); |
| _builder_15.newLineIfNotEmpty(); |
| body = _builder_15.toString(); |
| ChartOption _charttype_11 = chart.getCharttype(); |
| if ((_charttype_11 instanceof ChartDonut)) { |
| StringConcatenation _builder_16 = new StringConcatenation(); |
| _builder_16.append(body, ""); |
| _builder_16.append("\tdataSeries.newSeries();"); |
| _builder_16.newLineIfNotEmpty(); |
| body = _builder_16.toString(); |
| } |
| if (((!(chart.getCharttype() instanceof ChartPie)) && (!(chart.getCharttype() instanceof ChartDonut)))) { |
| StringConcatenation _builder_17 = new StringConcatenation(); |
| _builder_17.append(body, ""); |
| _builder_17.append("\tArrayList<Object> "); |
| DatamartAxis _axis_25 = inner_axis.getAxis(); |
| AxisEnum _name_32 = _axis_25.getName(); |
| String _literal_19 = _name_32.getLiteral(); |
| _builder_17.append(_literal_19, ""); |
| _builder_17.append("DataSeries = new ArrayList<Object>();"); |
| _builder_17.newLineIfNotEmpty(); |
| body = _builder_17.toString(); |
| } |
| StringConcatenation _builder_18 = new StringConcatenation(); |
| _builder_18.append(body, ""); |
| _builder_18.append("\tint "); |
| DatamartAxis _axis_26 = inner_axis.getAxis(); |
| AxisEnum _name_33 = _axis_26.getName(); |
| String _literal_20 = _name_33.getLiteral(); |
| _builder_18.append(_literal_20, ""); |
| _builder_18.append("No = 0;"); |
| _builder_18.newLineIfNotEmpty(); |
| body = _builder_18.toString(); |
| StringConcatenation _builder_19 = new StringConcatenation(); |
| _builder_19.append(body, ""); |
| _builder_19.append("\tfor\t(DerivedPosition "); |
| DatamartAxis _axis_27 = inner_axis.getAxis(); |
| AxisEnum _name_34 = _axis_27.getName(); |
| String _literal_21 = _name_34.getLiteral(); |
| _builder_19.append(_literal_21, ""); |
| _builder_19.append("Pos : cellSet.getAxes().get("); |
| DatamartAxis _axis_28 = inner_axis.getAxis(); |
| AxisEnum _name_35 = _axis_28.getName(); |
| int _value_4 = _name_35.getValue(); |
| _builder_19.append(_value_4, ""); |
| _builder_19.append(").getPositions()) {"); |
| _builder_19.newLineIfNotEmpty(); |
| body = _builder_19.toString(); |
| ChartOption _charttype_12 = chart.getCharttype(); |
| if ((_charttype_12 instanceof ChartPie)) { |
| StringConcatenation _builder_20 = new StringConcatenation(); |
| _builder_20.append(body, ""); |
| _builder_20.append("\t\tdataSeries.newSeries();"); |
| _builder_20.newLineIfNotEmpty(); |
| body = _builder_20.toString(); |
| } |
| StringConcatenation _builder_21 = new StringConcatenation(); |
| _builder_21.append(body, ""); |
| _builder_21.append("\t\tcoordinate.set("); |
| DatamartAxis _axis_29 = inner_axis.getAxis(); |
| AxisEnum _name_36 = _axis_29.getName(); |
| int _value_5 = _name_36.getValue(); |
| _builder_21.append(_value_5, ""); |
| _builder_21.append(", "); |
| DatamartAxis _axis_30 = inner_axis.getAxis(); |
| AxisEnum _name_37 = _axis_30.getName(); |
| String _literal_22 = _name_37.getLiteral(); |
| _builder_21.append(_literal_22, ""); |
| _builder_21.append("No);"); |
| _builder_21.newLineIfNotEmpty(); |
| body = _builder_21.toString(); |
| StringConcatenation _builder_22 = new StringConcatenation(); |
| _builder_22.append(body, ""); |
| _builder_22.newLineIfNotEmpty(); |
| _builder_22.append("\t\t"); |
| _builder_22.append("Object value = null;"); |
| _builder_22.newLine(); |
| _builder_22.append("\t\t"); |
| _builder_22.append("DerivedCell cell = cellSet.getCell(coordinate);"); |
| _builder_22.newLine(); |
| _builder_22.append("\t\t"); |
| _builder_22.append("if (cell != null) {"); |
| _builder_22.newLine(); |
| _builder_22.append("\t\t\t"); |
| _builder_22.append("value = cell.getValue();"); |
| _builder_22.newLine(); |
| _builder_22.append("\t\t"); |
| _builder_22.append("}"); |
| _builder_22.newLine(); |
| body = _builder_22.toString(); |
| boolean _or_4 = false; |
| ChartOption _charttype_13 = chart.getCharttype(); |
| if ((_charttype_13 instanceof ChartPie)) { |
| _or_4 = true; |
| } else { |
| ChartOption _charttype_14 = chart.getCharttype(); |
| _or_4 = (_charttype_14 instanceof ChartDonut); |
| } |
| if (_or_4) { |
| StringConcatenation _builder_23 = new StringConcatenation(); |
| _builder_23.append(body, ""); |
| _builder_23.append("\t\tdataSeries.add("); |
| DatamartAxis _axis_31 = outer_axis.getAxis(); |
| AxisEnum _name_38 = _axis_31.getName(); |
| String _literal_23 = _name_38.getLiteral(); |
| _builder_23.append(_literal_23, ""); |
| _builder_23.append("TitlesArray.get("); |
| DatamartAxis _axis_32 = outer_axis.getAxis(); |
| AxisEnum _name_39 = _axis_32.getName(); |
| String _literal_24 = _name_39.getLiteral(); |
| _builder_23.append(_literal_24, ""); |
| _builder_23.append("No)+\" \"+"); |
| DatamartAxis _axis_33 = inner_axis.getAxis(); |
| AxisEnum _name_40 = _axis_33.getName(); |
| String _literal_25 = _name_40.getLiteral(); |
| _builder_23.append(_literal_25, ""); |
| _builder_23.append("TitlesArray.get("); |
| DatamartAxis _axis_34 = inner_axis.getAxis(); |
| AxisEnum _name_41 = _axis_34.getName(); |
| String _literal_26 = _name_41.getLiteral(); |
| _builder_23.append(_literal_26, ""); |
| _builder_23.append("No),(value == null ? 0.0 : value));"); |
| _builder_23.newLineIfNotEmpty(); |
| body = _builder_23.toString(); |
| } else { |
| StringConcatenation _builder_24 = new StringConcatenation(); |
| _builder_24.append(body, ""); |
| _builder_24.append("\t\t"); |
| DatamartAxis _axis_35 = inner_axis.getAxis(); |
| AxisEnum _name_42 = _axis_35.getName(); |
| String _literal_27 = _name_42.getLiteral(); |
| _builder_24.append(_literal_27, ""); |
| _builder_24.append("DataSeries.add(value == null ? 0.0 : value);"); |
| _builder_24.newLineIfNotEmpty(); |
| body = _builder_24.toString(); |
| } |
| StringConcatenation _builder_25 = new StringConcatenation(); |
| _builder_25.append(body, ""); |
| _builder_25.append("\t\t"); |
| DatamartAxis _axis_36 = inner_axis.getAxis(); |
| AxisEnum _name_43 = _axis_36.getName(); |
| String _literal_28 = _name_43.getLiteral(); |
| _builder_25.append(_literal_28, ""); |
| _builder_25.append("No ++;"); |
| _builder_25.newLineIfNotEmpty(); |
| _builder_25.append("\t"); |
| _builder_25.append("}"); |
| _builder_25.newLine(); |
| body = _builder_25.toString(); |
| if (((!(chart.getCharttype() instanceof ChartPie)) && (!(chart.getCharttype() instanceof ChartDonut)))) { |
| ChartOption _charttype_15 = chart.getCharttype(); |
| if ((_charttype_15 instanceof ChartBubble)) { |
| StringConcatenation _builder_26 = new StringConcatenation(); |
| _builder_26.append(body, ""); |
| _builder_26.append("\t"); |
| DatamartAxis _axis_37 = inner_axis.getAxis(); |
| AxisEnum _name_44 = _axis_37.getName(); |
| String _literal_29 = _name_44.getLiteral(); |
| _builder_26.append(_literal_29, ""); |
| _builder_26.append("DataSeries.add("); |
| DatamartAxis _axis_38 = outer_axis.getAxis(); |
| AxisEnum _name_45 = _axis_38.getName(); |
| String _literal_30 = _name_45.getLiteral(); |
| _builder_26.append(_literal_30, ""); |
| _builder_26.append("TitlesArray.get("); |
| DatamartAxis _axis_39 = outer_axis.getAxis(); |
| AxisEnum _name_46 = _axis_39.getName(); |
| String _literal_31 = _name_46.getLiteral(); |
| _builder_26.append(_literal_31, ""); |
| _builder_26.append("No));"); |
| _builder_26.newLineIfNotEmpty(); |
| body = _builder_26.toString(); |
| } |
| StringConcatenation _builder_27 = new StringConcatenation(); |
| _builder_27.append(body, ""); |
| _builder_27.append("\tdataSeries.add("); |
| DatamartAxis _axis_40 = inner_axis.getAxis(); |
| AxisEnum _name_47 = _axis_40.getName(); |
| String _literal_32 = _name_47.getLiteral(); |
| _builder_27.append(_literal_32, ""); |
| _builder_27.append("DataSeries.toArray());"); |
| _builder_27.newLineIfNotEmpty(); |
| body = _builder_27.toString(); |
| } |
| StringConcatenation _builder_28 = new StringConcatenation(); |
| _builder_28.append(body, ""); |
| _builder_28.append("\t"); |
| DatamartAxis _axis_41 = outer_axis.getAxis(); |
| AxisEnum _name_48 = _axis_41.getName(); |
| String _literal_33 = _name_48.getLiteral(); |
| _builder_28.append(_literal_33, ""); |
| _builder_28.append("No ++;"); |
| _builder_28.newLineIfNotEmpty(); |
| _builder_28.append("}"); |
| _builder_28.newLine(); |
| body = _builder_28.toString(); |
| StringConcatenation _builder_29 = new StringConcatenation(); |
| _builder_29.append(body, ""); |
| _builder_29.append("SeriesDefaults seriesDefaults = new SeriesDefaults()"); |
| _builder_29.newLineIfNotEmpty(); |
| _builder_29.append("\t"); |
| _builder_29.append(".setRenderer(SeriesRenderers."); |
| _builder_29.append(chartType, "\t"); |
| _builder_29.append(");"); |
| _builder_29.newLineIfNotEmpty(); |
| body = _builder_29.toString(); |
| ChartOption _charttype_16 = chart.getCharttype(); |
| if ((_charttype_16 instanceof ChartLine)) { |
| StringConcatenation _builder_30 = new StringConcatenation(); |
| _builder_30.append(body, ""); |
| _builder_30.append("seriesDefaults.setFillToZero("); |
| ChartOption _charttype_17 = chart.getCharttype(); |
| boolean _isFillToZero = ((ChartLine) _charttype_17).isFillToZero(); |
| boolean _booleanValue_1 = Boolean.valueOf(_isFillToZero).booleanValue(); |
| String _string = Boolean.valueOf(_booleanValue_1).toString(); |
| _builder_30.append(_string, ""); |
| _builder_30.append(").setFill("); |
| ChartOption _charttype_18 = chart.getCharttype(); |
| boolean _isFillArea = ((ChartLine) _charttype_18).isFillArea(); |
| String _string_1 = Boolean.valueOf(_isFillArea).toString(); |
| _builder_30.append(_string_1, ""); |
| _builder_30.append(");"); |
| _builder_30.newLineIfNotEmpty(); |
| body = _builder_30.toString(); |
| ChartOption _charttype_19 = chart.getCharttype(); |
| boolean _isTrendLine = ((ChartLine) _charttype_19).isTrendLine(); |
| if (_isTrendLine) { |
| StringConcatenation _builder_31 = new StringConcatenation(); |
| _builder_31.append(body, ""); |
| _builder_31.append("seriesDefaults.setTrendline("); |
| _builder_31.newLineIfNotEmpty(); |
| _builder_31.append("\t"); |
| _builder_31.append("new Trendline().setShow(true).setLineWidth(1));"); |
| _builder_31.newLine(); |
| body = _builder_31.toString(); |
| } |
| } |
| StringConcatenation _builder_32 = new StringConcatenation(); |
| _builder_32.append(body, ""); |
| _builder_32.append("Options options = new Options()"); |
| _builder_32.newLineIfNotEmpty(); |
| _builder_32.append("\t"); |
| _builder_32.append(".setSeriesDefaults(seriesDefaults);"); |
| _builder_32.newLine(); |
| body = _builder_32.toString(); |
| ChartOption _charttype_20 = chart.getCharttype(); |
| if ((_charttype_20 instanceof ChartPie)) { |
| StringConcatenation _builder_33 = new StringConcatenation(); |
| _builder_33.append(body, ""); |
| _builder_33.append("seriesDefaults.setRendererOptions(new PieRenderer()"); |
| _builder_33.newLineIfNotEmpty(); |
| _builder_33.append("\t"); |
| _builder_33.append(".setShowDataLabels(true).setFill("); |
| ChartOption _charttype_21 = chart.getCharttype(); |
| boolean _isEmpty = ((ChartPie) _charttype_21).isEmpty(); |
| boolean _not = (!_isEmpty); |
| String _string_2 = Boolean.valueOf(_not).toString(); |
| _builder_33.append(_string_2, "\t"); |
| _builder_33.append("));"); |
| _builder_33.newLineIfNotEmpty(); |
| body = _builder_33.toString(); |
| } else { |
| ChartOption _charttype_22 = chart.getCharttype(); |
| if ((_charttype_22 instanceof ChartDonut)) { |
| StringConcatenation _builder_34 = new StringConcatenation(); |
| _builder_34.append(body, ""); |
| _builder_34.append("seriesDefaults.setRendererOptions(new DonutRenderer()"); |
| _builder_34.newLineIfNotEmpty(); |
| _builder_34.append("\t"); |
| _builder_34.append(".setShowDataLabels(true)"); |
| _builder_34.newLine(); |
| _builder_34.append("\t"); |
| _builder_34.append(".setStartAngle(-90)"); |
| _builder_34.newLine(); |
| _builder_34.append("\t"); |
| _builder_34.append(".setSliceMargin(3));"); |
| _builder_34.newLine(); |
| body = _builder_34.toString(); |
| } else { |
| ChartOption _charttype_23 = chart.getCharttype(); |
| if ((_charttype_23 instanceof ChartBubble)) { |
| StringConcatenation _builder_35 = new StringConcatenation(); |
| _builder_35.append(body, ""); |
| _builder_35.append("seriesDefaults.setRendererOptions(new BubbleRenderer()"); |
| _builder_35.newLineIfNotEmpty(); |
| _builder_35.append("\t"); |
| _builder_35.append(".setVaryBubbleColors(true)"); |
| _builder_35.newLine(); |
| _builder_35.append("\t"); |
| { |
| ChartOption _charttype_24 = chart.getCharttype(); |
| boolean _isMultiplier = ((ChartBubble) _charttype_24).isMultiplier(); |
| if (_isMultiplier) { |
| _builder_35.append(".setAutoscaleMultiplier("); |
| ChartOption _charttype_25 = chart.getCharttype(); |
| String _multiplierValue = ((ChartBubble) _charttype_25).getMultiplierValue(); |
| _builder_35.append(_multiplierValue, "\t"); |
| _builder_35.append("f)"); |
| } |
| } |
| _builder_35.newLineIfNotEmpty(); |
| _builder_35.append(" "); |
| { |
| ChartOption _charttype_26 = chart.getCharttype(); |
| boolean _isTransparent = ((ChartBubble) _charttype_26).isTransparent(); |
| if (_isTransparent) { |
| _builder_35.append(".setHighlightAlpha(0.8f).setBubbleAlpha(0.6f)"); |
| } |
| } |
| _builder_35.newLineIfNotEmpty(); |
| _builder_35.append("\t"); |
| { |
| ChartOption _charttype_27 = chart.getCharttype(); |
| boolean _isGradient = ((ChartBubble) _charttype_27).isGradient(); |
| if (_isGradient) { |
| _builder_35.append(".setBubbleGradients(true)"); |
| } |
| } |
| _builder_35.newLineIfNotEmpty(); |
| _builder_35.append("\t"); |
| _builder_35.append(".setShowLabels(false)"); |
| _builder_35.newLine(); |
| _builder_35.append("\t"); |
| _builder_35.append(".setAutoscaleBubbles(true));"); |
| _builder_35.newLine(); |
| body = _builder_35.toString(); |
| } else { |
| ChartOption _charttype_28 = chart.getCharttype(); |
| if ((_charttype_28 instanceof ChartGauge)) { |
| String intervalValues = ""; |
| String intervalColors = ""; |
| ChartOption _charttype_29 = chart.getCharttype(); |
| boolean _isHasIntervals = ((ChartGauge) _charttype_29).isHasIntervals(); |
| if (_isHasIntervals) { |
| ChartOption _charttype_30 = chart.getCharttype(); |
| EList<ChartInterval> _intervals = ((ChartGauge) _charttype_30).getIntervals(); |
| for (final ChartInterval interval : _intervals) { |
| if ((interval instanceof ChartNumberInterval)) { |
| StringConcatenation _builder_36 = new StringConcatenation(); |
| _builder_36.append(intervalValues, ""); |
| { |
| int _length = intervalValues.length(); |
| boolean _greaterThan = (_length > 0); |
| if (_greaterThan) { |
| _builder_36.append(","); |
| } |
| } |
| int _numberIntervalValue = ((ChartNumberInterval) interval).getNumberIntervalValue(); |
| _builder_36.append(_numberIntervalValue, ""); |
| _builder_36.append("f"); |
| intervalValues = _builder_36.toString(); |
| ChartRangeElement _numberRange = ((ChartNumberInterval) interval).getNumberRange(); |
| if ((_numberRange instanceof ChartSegmentColor)) { |
| StringConcatenation _builder_37 = new StringConcatenation(); |
| _builder_37.append(intervalColors, ""); |
| { |
| int _length_1 = intervalColors.length(); |
| boolean _greaterThan_1 = (_length_1 > 0); |
| if (_greaterThan_1) { |
| _builder_37.append(","); |
| } |
| } |
| _builder_37.append("\""); |
| ChartRangeElement _numberRange_1 = ((ChartNumberInterval) interval).getNumberRange(); |
| String _rgb = ((ChartSegmentColor) _numberRange_1).getRgb(); |
| String _hex = this.toHex(_rgb); |
| _builder_37.append(_hex, ""); |
| _builder_37.append("\""); |
| intervalColors = _builder_37.toString(); |
| } |
| } |
| } |
| } |
| StringConcatenation _builder_38 = new StringConcatenation(); |
| _builder_38.append(body, ""); |
| _builder_38.append("seriesDefaults.setRendererOptions(new MeterGaugeRenderer()"); |
| _builder_38.newLineIfNotEmpty(); |
| _builder_38.append("\t"); |
| _builder_38.append(".setShowTickLabels("); |
| ChartOption _charttype_31 = chart.getCharttype(); |
| boolean _isHasTicks = ((ChartGauge) _charttype_31).isHasTicks(); |
| String _string_3 = Boolean.valueOf(_isHasTicks).toString(); |
| _builder_38.append(_string_3, "\t"); |
| _builder_38.append(")"); |
| _builder_38.newLineIfNotEmpty(); |
| _builder_38.append("\t"); |
| { |
| ChartOption _charttype_32 = chart.getCharttype(); |
| boolean _isLabeled = ((ChartGauge) _charttype_32).isLabeled(); |
| if (_isLabeled) { |
| _builder_38.append(".setLabel(\""); |
| ChartOption _charttype_33 = chart.getCharttype(); |
| String _labelValue = ((ChartGauge) _charttype_33).getLabelValue(); |
| _builder_38.append(_labelValue, "\t"); |
| _builder_38.append("\")"); |
| } |
| } |
| _builder_38.newLineIfNotEmpty(); |
| _builder_38.append("\t"); |
| { |
| ChartOption _charttype_34 = chart.getCharttype(); |
| boolean _isHasIntervals_1 = ((ChartGauge) _charttype_34).isHasIntervals(); |
| if (_isHasIntervals_1) { |
| _builder_38.append(".setIntervals("); |
| _builder_38.append(intervalValues, "\t"); |
| _builder_38.append(")"); |
| } |
| } |
| _builder_38.newLineIfNotEmpty(); |
| _builder_38.append("\t"); |
| { |
| ChartOption _charttype_35 = chart.getCharttype(); |
| boolean _isHasIntervals_2 = ((ChartGauge) _charttype_35).isHasIntervals(); |
| if (_isHasIntervals_2) { |
| _builder_38.append(".setIntervalColors("); |
| _builder_38.append(intervalColors, "\t"); |
| _builder_38.append(")"); |
| } |
| } |
| _builder_38.append(");"); |
| _builder_38.newLineIfNotEmpty(); |
| body = _builder_38.toString(); |
| } else { |
| ChartOption _charttype_36 = chart.getCharttype(); |
| if ((_charttype_36 instanceof ChartBar)) { |
| StringConcatenation _builder_39 = new StringConcatenation(); |
| _builder_39.append(body, ""); |
| _builder_39.append("seriesDefaults.setFillToZero(true);"); |
| _builder_39.newLineIfNotEmpty(); |
| _builder_39.append("seriesDefaults.setRendererOptions(new BarRenderer()"); |
| _builder_39.newLine(); |
| _builder_39.append(" "); |
| { |
| if (axisSwitch) { |
| _builder_39.append(".setBarDirection(BarDirections.HOTIZONTAL));"); |
| } else { |
| _builder_39.append(".setBarDirection(BarDirections.VERTICAL));"); |
| } |
| } |
| _builder_39.newLineIfNotEmpty(); |
| body = _builder_39.toString(); |
| ChartOption _charttype_37 = chart.getCharttype(); |
| boolean _isStacked = ((ChartBar) _charttype_37).isStacked(); |
| if (_isStacked) { |
| StringConcatenation _builder_40 = new StringConcatenation(); |
| _builder_40.append(body, ""); |
| _builder_40.append("options.setStackSeries(true);"); |
| _builder_40.newLineIfNotEmpty(); |
| body = _builder_40.toString(); |
| } |
| ChartOption _charttype_38 = chart.getCharttype(); |
| boolean _isShadow = ((ChartBar) _charttype_38).isShadow(); |
| if (_isShadow) { |
| StringConcatenation _builder_41 = new StringConcatenation(); |
| _builder_41.append(body, ""); |
| _builder_41.append("seriesDefaults.setShadow(true).setShadowAlpha(0.05f);"); |
| _builder_41.newLineIfNotEmpty(); |
| body = _builder_41.toString(); |
| } |
| ChartOption _charttype_39 = chart.getCharttype(); |
| boolean _isAnimated = ((ChartBar) _charttype_39).isAnimated(); |
| if (_isAnimated) { |
| StringConcatenation _builder_42 = new StringConcatenation(); |
| _builder_42.append(body, ""); |
| _builder_42.append("options.setAnimate(true);"); |
| _builder_42.newLineIfNotEmpty(); |
| body = _builder_42.toString(); |
| } |
| } |
| } |
| } |
| } |
| } |
| StringConcatenation _builder_43 = new StringConcatenation(); |
| _builder_43.append(body, ""); |
| _builder_43.newLineIfNotEmpty(); |
| _builder_43.append("String[] seriesColors = {\"#98E958\",\"#3090F0\",\"#EC6464\",\"#F9DD51\",\"#24DCD4\",\"#EC64A5\",\"#685CB0\",\"#FF7D42\",\"#AA514D\",\"#7FB053\",\"#BBA85B\",\"#247981\"};"); |
| _builder_43.newLine(); |
| _builder_43.append("options.setSeriesColors(seriesColors);"); |
| _builder_43.newLine(); |
| body = _builder_43.toString(); |
| if (hasAxis) { |
| StringConcatenation _builder_44 = new StringConcatenation(); |
| _builder_44.append(body, ""); |
| _builder_44.append("Axes axes = new Axes();"); |
| _builder_44.newLineIfNotEmpty(); |
| body = _builder_44.toString(); |
| ChartOption _charttype_40 = chart.getCharttype(); |
| if ((_charttype_40 instanceof ChartBubble)) { |
| StringConcatenation _builder_45 = new StringConcatenation(); |
| _builder_45.append(body, ""); |
| _builder_45.append("CanvasAxisTickRenderer axisTickRenderer = new CanvasAxisTickRenderer();"); |
| _builder_45.newLineIfNotEmpty(); |
| _builder_45.append("axisTickRenderer.setTextColor(\"#202020\");"); |
| _builder_45.newLine(); |
| _builder_45.append("if ("); |
| DatamartAxis _axis_42 = data_axis.getAxis(); |
| AxisEnum _name_49 = _axis_42.getName(); |
| String _literal_34 = _name_49.getLiteral(); |
| _builder_45.append(_literal_34, ""); |
| _builder_45.append("TitlesArray.size() > 0) {"); |
| _builder_45.newLineIfNotEmpty(); |
| _builder_45.append("\t"); |
| _builder_45.append("axes.addAxis(new XYaxis(XYaxes."); |
| char _charAt = axisPrefix.charAt(0); |
| _builder_45.append(_charAt, "\t"); |
| _builder_45.append(").setLabel("); |
| DatamartAxis _axis_43 = data_axis.getAxis(); |
| AxisEnum _name_50 = _axis_43.getName(); |
| String _literal_35 = _name_50.getLiteral(); |
| _builder_45.append(_literal_35, "\t"); |
| _builder_45.append("TitlesArray.get(0)).setTickOptions(axisTickRenderer"); |
| { |
| int _angle = category_axis.getAngle(); |
| boolean _notEquals = (_angle != 0); |
| if (_notEquals) { |
| _builder_45.append(".setAngle("); |
| int _angle_1 = data_axis.getAngle(); |
| _builder_45.append(_angle_1, "\t"); |
| _builder_45.append(")"); |
| } |
| } |
| _builder_45.append("));"); |
| _builder_45.newLineIfNotEmpty(); |
| _builder_45.append("\t"); |
| _builder_45.append("axes.addAxis(new XYaxis(XYaxes."); |
| char _charAt_1 = axisPrefix.charAt(1); |
| _builder_45.append(_charAt_1, "\t"); |
| _builder_45.append(").setLabel("); |
| DatamartAxis _axis_44 = data_axis.getAxis(); |
| AxisEnum _name_51 = _axis_44.getName(); |
| String _literal_36 = _name_51.getLiteral(); |
| _builder_45.append(_literal_36, "\t"); |
| _builder_45.append("TitlesArray.get(1)).setTickOptions(axisTickRenderer"); |
| { |
| int _angle_2 = category_axis.getAngle(); |
| boolean _notEquals_1 = (_angle_2 != 0); |
| if (_notEquals_1) { |
| _builder_45.append(".setAngle("); |
| int _angle_3 = data_axis.getAngle(); |
| _builder_45.append(_angle_3, "\t"); |
| _builder_45.append(")"); |
| } |
| } |
| _builder_45.append("));"); |
| _builder_45.newLineIfNotEmpty(); |
| _builder_45.append("\t"); |
| _builder_45.append("axes.addAxis(new XYaxis(XYaxes."); |
| char _charAt_2 = axisPrefix.charAt(1); |
| _builder_45.append(_charAt_2, "\t"); |
| _builder_45.append("2).setLabel("); |
| DatamartAxis _axis_45 = data_axis.getAxis(); |
| AxisEnum _name_52 = _axis_45.getName(); |
| String _literal_37 = _name_52.getLiteral(); |
| _builder_45.append(_literal_37, "\t"); |
| _builder_45.append("TitlesArray.get(2)).setTickOptions(axisTickRenderer"); |
| { |
| int _angle_4 = category_axis.getAngle(); |
| boolean _notEquals_2 = (_angle_4 != 0); |
| if (_notEquals_2) { |
| _builder_45.append(".setAngle("); |
| int _angle_5 = data_axis.getAngle(); |
| _builder_45.append(_angle_5, "\t"); |
| _builder_45.append(")"); |
| } |
| } |
| _builder_45.append("));"); |
| _builder_45.newLineIfNotEmpty(); |
| _builder_45.append("}"); |
| _builder_45.newLine(); |
| body = _builder_45.toString(); |
| } else { |
| StringConcatenation _builder_46 = new StringConcatenation(); |
| _builder_46.append(body, ""); |
| _builder_46.append("CanvasAxisTickRenderer tickRenderer = new CanvasAxisTickRenderer();"); |
| _builder_46.newLineIfNotEmpty(); |
| _builder_46.append("tickRenderer.setTextColor(\"#202020\");"); |
| _builder_46.newLine(); |
| _builder_46.append("axes.addAxis(new XYaxis(XYaxes."); |
| char _charAt_3 = axisPrefix.charAt(0); |
| _builder_46.append(_charAt_3, ""); |
| _builder_46.append(")"); |
| _builder_46.newLineIfNotEmpty(); |
| _builder_46.append("\t"); |
| _builder_46.append(".setRenderer(AxisRenderers."); |
| RenderTypeEnum _renderType_5 = category_axis.getRenderType(); |
| String _name_53 = _renderType_5.name(); |
| String _string_4 = _name_53.toString(); |
| _builder_46.append(_string_4, "\t"); |
| _builder_46.append(")"); |
| _builder_46.newLineIfNotEmpty(); |
| _builder_46.append("\t"); |
| _builder_46.append(".setLabel("); |
| DatamartAxis _axis_46 = category_axis.getAxis(); |
| AxisEnum _name_54 = _axis_46.getName(); |
| String _literal_38 = _name_54.getLiteral(); |
| _builder_46.append(_literal_38, "\t"); |
| _builder_46.append("AxisLabel)"); |
| _builder_46.newLineIfNotEmpty(); |
| _builder_46.append("\t"); |
| _builder_46.append(".setTicks("); |
| DatamartAxis _axis_47 = category_axis.getAxis(); |
| AxisEnum _name_55 = _axis_47.getName(); |
| String _literal_39 = _name_55.getLiteral(); |
| _builder_46.append(_literal_39, "\t"); |
| _builder_46.append("Ticks)"); |
| _builder_46.newLineIfNotEmpty(); |
| _builder_46.append("\t"); |
| _builder_46.append(".setTickOptions(tickRenderer"); |
| { |
| int _angle_6 = category_axis.getAngle(); |
| boolean _notEquals_3 = (_angle_6 != 0); |
| if (_notEquals_3) { |
| _builder_46.append(".setAngle("); |
| int _angle_7 = category_axis.getAngle(); |
| _builder_46.append(_angle_7, "\t"); |
| _builder_46.append(")"); |
| } |
| } |
| _builder_46.append("));"); |
| _builder_46.newLineIfNotEmpty(); |
| body = _builder_46.toString(); |
| StringConcatenation _builder_47 = new StringConcatenation(); |
| _builder_47.append(body, ""); |
| _builder_47.append("CanvasAxisTickRenderer axisTickRenderer = new CanvasAxisTickRenderer();"); |
| _builder_47.newLineIfNotEmpty(); |
| _builder_47.append("axisTickRenderer.setTextColor(\"#202020\");"); |
| _builder_47.newLine(); |
| _builder_47.append("axes.addAxis(new XYaxis(XYaxes."); |
| char _charAt_4 = axisPrefix.charAt(1); |
| _builder_47.append(_charAt_4, ""); |
| _builder_47.append(")"); |
| _builder_47.newLineIfNotEmpty(); |
| _builder_47.append("\t"); |
| _builder_47.append(".setPad(1.05f)"); |
| _builder_47.newLine(); |
| _builder_47.append("\t"); |
| _builder_47.append(".setTickOptions(axisTickRenderer"); |
| { |
| int _angle_8 = data_axis.getAngle(); |
| boolean _notEquals_4 = (_angle_8 != 0); |
| if (_notEquals_4) { |
| _builder_47.append(".setAngle("); |
| int _angle_9 = data_axis.getAngle(); |
| _builder_47.append(_angle_9, "\t"); |
| _builder_47.append(")"); |
| } |
| } |
| _builder_47.append("));"); |
| _builder_47.newLineIfNotEmpty(); |
| body = _builder_47.toString(); |
| Set<String> _keySet = multipleAxes.keySet(); |
| for (final String axisKey : _keySet) { |
| boolean _equals_7 = axisKey.equals("1"); |
| boolean _not_1 = (!_equals_7); |
| if (_not_1) { |
| StringConcatenation _builder_48 = new StringConcatenation(); |
| _builder_48.append(body, ""); |
| String _get = multipleAxes.get(axisKey); |
| _builder_48.append(_get, ""); |
| body = _builder_48.toString(); |
| } |
| } |
| Set<String> _keySet_1 = multipleAxes.keySet(); |
| int _size = _keySet_1.size(); |
| boolean _greaterThan_2 = (_size > 0); |
| if (_greaterThan_2) { |
| StringConcatenation _builder_49 = new StringConcatenation(); |
| _builder_49.append(body, ""); |
| _builder_49.append("LinearAxisRenderer linearAxisRenderer = new LinearAxisRenderer();"); |
| _builder_49.newLineIfNotEmpty(); |
| _builder_49.append("linearAxisRenderer.setAlignTicks(true);"); |
| _builder_49.newLine(); |
| _builder_49.append("AxesDefaults axesDefaults = new AxesDefaults()"); |
| _builder_49.newLine(); |
| _builder_49.append("\t"); |
| _builder_49.append(".setUseSeriesColor(true)"); |
| _builder_49.newLine(); |
| _builder_49.append("\t"); |
| _builder_49.append(".setBorderWidth(3)\t"); |
| _builder_49.newLine(); |
| _builder_49.append("\t"); |
| _builder_49.append(".setRendererOptions(linearAxisRenderer);"); |
| _builder_49.newLine(); |
| _builder_49.append("options.setAxesDefaults(axesDefaults);"); |
| _builder_49.newLine(); |
| body = _builder_49.toString(); |
| } |
| } |
| StringConcatenation _builder_50 = new StringConcatenation(); |
| _builder_50.append(body, ""); |
| _builder_50.append("options.setAxes(axes);"); |
| _builder_50.newLineIfNotEmpty(); |
| body = _builder_50.toString(); |
| } |
| ChartDatamart _source_1 = chart.getSource(); |
| EList<ChartElement> _elements_1 = _source_1.getElements(); |
| for (final ChartElement element_1 : _elements_1) { |
| if ((element_1 instanceof ChartLegend)) { |
| ChartLegend legend = ((ChartLegend) element_1); |
| StringConcatenation _builder_51 = new StringConcatenation(); |
| _builder_51.append(body, ""); |
| _builder_51.append("Legend legend = new Legend().setShow("); |
| boolean _notEquals_5 = (!Objects.equal(legend, null)); |
| boolean _booleanValue_2 = Boolean.valueOf(_notEquals_5).booleanValue(); |
| String _string_5 = Boolean.valueOf(_booleanValue_2).toString(); |
| _builder_51.append(_string_5, ""); |
| _builder_51.append(");"); |
| _builder_51.newLineIfNotEmpty(); |
| body = _builder_51.toString(); |
| StringConcatenation _builder_52 = new StringConcatenation(); |
| _builder_52.append(body, ""); |
| _builder_52.append("legend.setPlacement(LegendPlacements."); |
| LegendPlacementEnum _placement = legend.getPlacement(); |
| String _name_56 = _placement.name(); |
| _builder_52.append(_name_56, ""); |
| _builder_52.append(");"); |
| _builder_52.newLineIfNotEmpty(); |
| body = _builder_52.toString(); |
| boolean _isToggle = legend.isToggle(); |
| if (_isToggle) { |
| StringConcatenation _builder_53 = new StringConcatenation(); |
| _builder_53.append(body, ""); |
| _builder_53.append("EnhancedLegendRenderer renderer = new EnhancedLegendRenderer();"); |
| _builder_53.newLineIfNotEmpty(); |
| _builder_53.append("renderer.setSeriesToggle(SeriesToggles."); |
| ToggleTypeEnum _toggleType = legend.getToggleType(); |
| String _name_57 = _toggleType.getName(); |
| _builder_53.append(_name_57, ""); |
| _builder_53.append(");"); |
| _builder_53.newLineIfNotEmpty(); |
| _builder_53.append("renderer.setSeriesToggleReplot("); |
| boolean _isReplot = legend.isReplot(); |
| boolean _booleanValue_3 = Boolean.valueOf(_isReplot).booleanValue(); |
| String _string_6 = Boolean.valueOf(_booleanValue_3).toString(); |
| _builder_53.append(_string_6, ""); |
| _builder_53.append(");"); |
| _builder_53.newLineIfNotEmpty(); |
| _builder_53.append("legend.setRendererOptions(renderer);"); |
| _builder_53.newLine(); |
| body = _builder_53.toString(); |
| } |
| StringConcatenation _builder_54 = new StringConcatenation(); |
| _builder_54.append(body, ""); |
| _builder_54.append("options.setLegend(legend);"); |
| _builder_54.newLineIfNotEmpty(); |
| body = _builder_54.toString(); |
| } |
| } |
| ChartDatamart _source_2 = chart.getSource(); |
| EList<ChartElement> _elements_2 = _source_2.getElements(); |
| for (final ChartElement element_2 : _elements_2) { |
| if ((element_2 instanceof ChartHighlighter)) { |
| ChartHighlighter highlighter = ((ChartHighlighter) element_2); |
| StringConcatenation _builder_55 = new StringConcatenation(); |
| _builder_55.append(body, ""); |
| _builder_55.append("Highlighter highlighter = new Highlighter().setShow("); |
| boolean _notEquals_6 = (!Objects.equal(highlighter, null)); |
| boolean _booleanValue_4 = Boolean.valueOf(_notEquals_6).booleanValue(); |
| String _string_7 = Boolean.valueOf(_booleanValue_4).toString(); |
| _builder_55.append(_string_7, ""); |
| _builder_55.append(");"); |
| _builder_55.newLineIfNotEmpty(); |
| body = _builder_55.toString(); |
| StringConcatenation _builder_56 = new StringConcatenation(); |
| _builder_56.append(body, ""); |
| _builder_56.append("highlighter.setShowTooltip(true)"); |
| _builder_56.newLineIfNotEmpty(); |
| _builder_56.append(".setTooltipAlwaysVisible("); |
| boolean _isTooltipAlways = highlighter.isTooltipAlways(); |
| boolean _booleanValue_5 = Boolean.valueOf(_isTooltipAlways).booleanValue(); |
| String _string_8 = Boolean.valueOf(_booleanValue_5).toString(); |
| _builder_56.append(_string_8, ""); |
| _builder_56.append(")"); |
| _builder_56.newLineIfNotEmpty(); |
| _builder_56.append(".setKeepTooltipInsideChart("); |
| boolean _isInsideChart = highlighter.isInsideChart(); |
| boolean _booleanValue_6 = Boolean.valueOf(_isInsideChart).booleanValue(); |
| String _string_9 = Boolean.valueOf(_booleanValue_6).toString(); |
| _builder_56.append(_string_9, ""); |
| _builder_56.append(")"); |
| _builder_56.newLineIfNotEmpty(); |
| _builder_56.append(".setTooltipLocation(TooltipLocations."); |
| TooltipLocationEnum _location = highlighter.getLocation(); |
| String _name_58 = _location.name(); |
| _builder_56.append(_name_58, ""); |
| _builder_56.append(")"); |
| _builder_56.newLineIfNotEmpty(); |
| _builder_56.append(".setBringSeriesToFront(true)"); |
| _builder_56.newLine(); |
| _builder_56.append(".setFadeTooltip(true)"); |
| _builder_56.newLine(); |
| _builder_56.append(".setShowMarker(true);"); |
| _builder_56.newLine(); |
| body = _builder_56.toString(); |
| StringConcatenation _builder_57 = new StringConcatenation(); |
| _builder_57.append(body, ""); |
| _builder_57.append("highlighter.setTooltipAxes(TooltipAxes."); |
| _builder_57.append(axisPrefix, ""); |
| _builder_57.append(postfix, ""); |
| _builder_57.append(");"); |
| _builder_57.newLineIfNotEmpty(); |
| body = _builder_57.toString(); |
| StringConcatenation _builder_58 = new StringConcatenation(); |
| _builder_58.append(body, ""); |
| _builder_58.append("options.setHighlighter(highlighter);"); |
| _builder_58.newLineIfNotEmpty(); |
| body = _builder_58.toString(); |
| } |
| } |
| ChartOption _charttype_41 = chart.getCharttype(); |
| if ((_charttype_41 instanceof ChartLine)) { |
| ChartOption _charttype_42 = chart.getCharttype(); |
| boolean _isCursor = ((ChartLine) _charttype_42).isCursor(); |
| if (_isCursor) { |
| StringConcatenation _builder_59 = new StringConcatenation(); |
| _builder_59.append(body, ""); |
| _builder_59.append("Cursor cursor = new Cursor()"); |
| _builder_59.newLineIfNotEmpty(); |
| _builder_59.append("\t"); |
| _builder_59.append(".setShow(true)"); |
| _builder_59.newLine(); |
| _builder_59.append("\t"); |
| _builder_59.append(".setZoom("); |
| ChartOption _charttype_43 = chart.getCharttype(); |
| boolean _isZoom = ((ChartLine) _charttype_43).isZoom(); |
| String _string_10 = Boolean.valueOf(_isZoom).toString(); |
| _builder_59.append(_string_10, "\t"); |
| _builder_59.append(")"); |
| _builder_59.newLineIfNotEmpty(); |
| _builder_59.append("\t"); |
| _builder_59.append(".setShowTooltip("); |
| ChartOption _charttype_44 = chart.getCharttype(); |
| boolean _isTooltip = ((ChartLine) _charttype_44).isTooltip(); |
| String _string_11 = Boolean.valueOf(_isTooltip).toString(); |
| _builder_59.append(_string_11, "\t"); |
| _builder_59.append(");"); |
| _builder_59.newLineIfNotEmpty(); |
| _builder_59.append("options.setCursor(cursor);"); |
| _builder_59.newLine(); |
| body = _builder_59.toString(); |
| } |
| ChartOption _charttype_45 = chart.getCharttype(); |
| boolean _isAnimated_1 = ((ChartLine) _charttype_45).isAnimated(); |
| if (_isAnimated_1) { |
| StringConcatenation _builder_60 = new StringConcatenation(); |
| _builder_60.append(body, ""); |
| _builder_60.append("options.setAnimate(true);"); |
| _builder_60.newLineIfNotEmpty(); |
| body = _builder_60.toString(); |
| } |
| } |
| if (hasAxis) { |
| StringConcatenation _builder_61 = new StringConcatenation(); |
| _builder_61.append(body, ""); |
| _builder_61.append("options.setSeries("); |
| DatamartAxis _axis_48 = data_axis.getAxis(); |
| AxisEnum _name_59 = _axis_48.getName(); |
| String _literal_40 = _name_59.getLiteral(); |
| _builder_61.append(_literal_40, ""); |
| _builder_61.append("Series);"); |
| _builder_61.newLineIfNotEmpty(); |
| body = _builder_61.toString(); |
| } |
| StringConcatenation _builder_62 = new StringConcatenation(); |
| _builder_62.append(body, ""); |
| _builder_62.append("DCharts chart = new DCharts()"); |
| _builder_62.newLineIfNotEmpty(); |
| _builder_62.append("\t"); |
| _builder_62.append(".setDataSeries(dataSeries)"); |
| _builder_62.newLine(); |
| _builder_62.append("\t"); |
| _builder_62.append(".setOptions(options)"); |
| _builder_62.newLine(); |
| _builder_62.append("\t"); |
| _builder_62.append(".setEnableDownload(true)"); |
| _builder_62.newLine(); |
| _builder_62.append("\t"); |
| _builder_62.append(".setDownloadButtonCaption(dslMetadataService.translate(locale.toLanguageTag(), \"download\"))"); |
| _builder_62.newLine(); |
| _builder_62.append("\t"); |
| _builder_62.append(".setDownloadFilename(\""); |
| String _name_60 = chart.getName(); |
| _builder_62.append(_name_60, "\t"); |
| _builder_62.append("\")"); |
| _builder_62.newLineIfNotEmpty(); |
| _builder_62.append("\t"); |
| _builder_62.append(".setDownloadButtonLocation(DownloadButtonLocation.TOP_RIGHT);"); |
| _builder_62.newLine(); |
| body = _builder_62.toString(); |
| StringConcatenation _builder_63 = new StringConcatenation(); |
| _builder_63.append(body, ""); |
| _builder_63.append("chart.setId(\"chart\");"); |
| _builder_63.newLineIfNotEmpty(); |
| _builder_63.append("chart.setImmediate(true);"); |
| _builder_63.newLine(); |
| _builder_63.append("if(chartRefresherDone) {"); |
| _builder_63.newLine(); |
| _builder_63.append("\t"); |
| _builder_63.append("chart.show();"); |
| _builder_63.newLine(); |
| _builder_63.append("}"); |
| _builder_63.newLine(); |
| _builder_63.append("charts.add(chart);"); |
| _builder_63.newLine(); |
| _builder_63.append("return chart;"); |
| body = _builder_63.toString(); |
| return body; |
| } |
| |
| /** |
| * <p>helper method to convert a rgb string to a hex string.</p> |
| */ |
| public String toHex(final String rgb) { |
| String colorHex = "#"; |
| String[] _split = rgb.split(","); |
| for (final String color : _split) { |
| { |
| Integer i = new Integer(color); |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append(colorHex, ""); |
| String _format = String.format("%02x", i); |
| _builder.append(_format, ""); |
| colorHex = _builder.toString(); |
| } |
| } |
| return colorHex; |
| } |
| |
| /** |
| * <p>build the label series. Create multiple y-axes when the underlying datamart presents different scales.</p> |
| * |
| * <p>scales are used to display line charts together for comparison reason but they are of different scalings.</p> |
| */ |
| public String createLabelSeries(final Chart chart, final ChartAxis data_axis, final HashMap<String, String> multipleAxes, final String axisPrefix, final boolean showMarker) { |
| String body = ""; |
| int msrCnt = 0; |
| ChartDatamart _source = chart.getSource(); |
| DatamartDefinition _datamartRef = ((ChartDatamart) _source).getDatamartRef(); |
| DatamartSource _source_1 = _datamartRef.getSource(); |
| if ((_source_1 instanceof DatamartCube)) { |
| ChartDatamart _source_2 = chart.getSource(); |
| DatamartDefinition _datamartRef_1 = ((ChartDatamart) _source_2).getDatamartRef(); |
| DatamartSource _source_3 = _datamartRef_1.getSource(); |
| EList<DatamartCubeElement> _axisslicer = ((DatamartCube) _source_3).getAxisslicer(); |
| for (final DatamartCubeElement axisOrSlicer : _axisslicer) { |
| if ((axisOrSlicer instanceof DatamartAxis)) { |
| EList<DatamartElement> _elements = ((DatamartAxis) axisOrSlicer).getElements(); |
| for (final DatamartElement element : _elements) { |
| { |
| if ((element instanceof DatamartDerivedMeasure)) { |
| boolean _isScaled = ((DatamartDerivedMeasure) element).isScaled(); |
| if (_isScaled) { |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append(body, ""); |
| ValueScaleEnum _scale = ((DatamartDerivedMeasure) element).getScale(); |
| String _createScale = this.createScale(_scale, data_axis, multipleAxes, msrCnt, axisPrefix, showMarker); |
| _builder.append(_createScale, ""); |
| body = _builder.toString(); |
| msrCnt = (msrCnt + 1); |
| } |
| } |
| if ((element instanceof DatamartMeasure)) { |
| boolean _isScaled_1 = ((DatamartMeasure) element).isScaled(); |
| if (_isScaled_1) { |
| StringConcatenation _builder_1 = new StringConcatenation(); |
| _builder_1.append(body, ""); |
| ValueScaleEnum _scale_1 = ((DatamartMeasure) element).getScale(); |
| String _createScale_1 = this.createScale(_scale_1, data_axis, multipleAxes, msrCnt, axisPrefix, showMarker); |
| _builder_1.append(_createScale_1, ""); |
| body = _builder_1.toString(); |
| msrCnt = (msrCnt + 1); |
| } |
| } |
| } |
| } |
| } |
| } |
| } else { |
| ChartDatamart _source_4 = chart.getSource(); |
| DatamartDefinition _datamartRef_2 = ((ChartDatamart) _source_4).getDatamartRef(); |
| DatamartSource _source_5 = _datamartRef_2.getSource(); |
| if ((_source_5 instanceof DatamartEntity)) { |
| ChartDatamart _source_6 = chart.getSource(); |
| DatamartDefinition _datamartRef_3 = ((ChartDatamart) _source_6).getDatamartRef(); |
| DatamartSource _source_7 = _datamartRef_3.getSource(); |
| DatamartEntity entity = ((DatamartEntity) _source_7); |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append(body, ""); |
| String _entityScale = this.entityScale(entity, data_axis, multipleAxes, msrCnt, axisPrefix, showMarker); |
| _builder.append(_entityScale, ""); |
| body = _builder.toString(); |
| } |
| } |
| Set<String> _keySet = multipleAxes.keySet(); |
| int _size = _keySet.size(); |
| boolean _equals = (_size == 0); |
| if (_equals) { |
| StringConcatenation _builder_1 = new StringConcatenation(); |
| _builder_1.append(body, ""); |
| _builder_1.append("\tfor (String title : "); |
| DatamartAxis _axis = data_axis.getAxis(); |
| AxisEnum _name = _axis.getName(); |
| String _literal = _name.getLiteral(); |
| _builder_1.append(_literal, ""); |
| _builder_1.append("TitlesArray) {"); |
| _builder_1.newLineIfNotEmpty(); |
| _builder_1.append("\t\t"); |
| DatamartAxis _axis_1 = data_axis.getAxis(); |
| AxisEnum _name_1 = _axis_1.getName(); |
| String _literal_1 = _name_1.getLiteral(); |
| _builder_1.append(_literal_1, "\t\t"); |
| _builder_1.append("Series.addSeries(new XYseries().setLabel(title).setShowMarker("); |
| String _string = Boolean.valueOf(showMarker).toString(); |
| _builder_1.append(_string, "\t\t"); |
| _builder_1.append("));"); |
| _builder_1.newLineIfNotEmpty(); |
| _builder_1.append("\t"); |
| _builder_1.append("}"); |
| _builder_1.newLine(); |
| body = _builder_1.toString(); |
| } |
| return body; |
| } |
| |
| /** |
| * <p>helper method for scales coming from datamart entities not from cubes.</p> |
| */ |
| public String entityScale(final DatamartEntity entity, final ChartAxis data_axis, final HashMap<String, String> multipleAxes, final int msrCnt, final String axisPrefix, final boolean showMarker) { |
| int counter = msrCnt; |
| String body = ""; |
| EList<DatamartProperty> _properties = entity.getProperties(); |
| for (final DatamartProperty property : _properties) { |
| if ((property instanceof DatamartProperty)) { |
| boolean _isScaled = property.isScaled(); |
| if (_isScaled) { |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append(body, ""); |
| ValueScaleEnum _scale = property.getScale(); |
| String _createScale = this.createScale(_scale, data_axis, multipleAxes, counter, axisPrefix, showMarker); |
| _builder.append(_createScale, ""); |
| body = _builder.toString(); |
| counter = (counter + 1); |
| } |
| } |
| } |
| EList<DatamartNavigation> _navigations = entity.getNavigations(); |
| for (final DatamartNavigation navigation : _navigations) { |
| { |
| if ((navigation instanceof DatamartMember)) { |
| StringConcatenation _builder_1 = new StringConcatenation(); |
| _builder_1.append(body, ""); |
| DatamartEntity _datamartEntity = ((DatamartMember) navigation).getDatamartEntity(); |
| String _entityScale = this.entityScale(_datamartEntity, data_axis, multipleAxes, counter, axisPrefix, showMarker); |
| _builder_1.append(_entityScale, ""); |
| body = _builder_1.toString(); |
| } |
| if ((navigation instanceof DatamartOwner)) { |
| StringConcatenation _builder_2 = new StringConcatenation(); |
| _builder_2.append(body, ""); |
| DatamartEntity _datamartEntity_1 = ((DatamartOwner) navigation).getDatamartEntity(); |
| String _entityScale_1 = this.entityScale(_datamartEntity_1, data_axis, multipleAxes, counter, axisPrefix, showMarker); |
| _builder_2.append(_entityScale_1, ""); |
| body = _builder_2.toString(); |
| } |
| } |
| } |
| return body; |
| } |
| |
| /** |
| * <p>helper method for scales.</p> |
| */ |
| public String createScale(final ValueScaleEnum scale, final ChartAxis data_axis, final HashMap<String, String> multipleAxes, final int msrCnt, final String axisPrefix, final boolean showMarker) { |
| String multipleBody = ""; |
| String body = ""; |
| int scaleOrdinal = scale.ordinal(); |
| String scaleName = scale.toString(); |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append(body, ""); |
| _builder.newLineIfNotEmpty(); |
| _builder.append("\t"); |
| DatamartAxis _axis = data_axis.getAxis(); |
| AxisEnum _name = _axis.getName(); |
| String _literal = _name.getLiteral(); |
| _builder.append(_literal, "\t"); |
| _builder.append("Series.addSeries(new XYseries("); |
| char _charAt = axisPrefix.charAt(1); |
| _builder.append(_charAt, "\t"); |
| _builder.append("axes."); |
| char _charAt_1 = axisPrefix.charAt(1); |
| _builder.append(_charAt_1, "\t"); |
| { |
| if ((scaleOrdinal != 0)) { |
| _builder.append((scaleOrdinal + 1), "\t"); |
| } |
| } |
| _builder.append(").setLabel("); |
| DatamartAxis _axis_1 = data_axis.getAxis(); |
| AxisEnum _name_1 = _axis_1.getName(); |
| String _literal_1 = _name_1.getLiteral(); |
| _builder.append(_literal_1, "\t"); |
| _builder.append("TitlesArray.get("); |
| _builder.append(msrCnt, "\t"); |
| _builder.append(")).setShowMarker("); |
| String _string = Boolean.valueOf(showMarker).toString(); |
| _builder.append(_string, "\t"); |
| _builder.append("));"); |
| _builder.newLineIfNotEmpty(); |
| body = _builder.toString(); |
| Set<String> _keySet = multipleAxes.keySet(); |
| boolean _contains = _keySet.contains(scaleName); |
| boolean _not = (!_contains); |
| if (_not) { |
| StringConcatenation _builder_1 = new StringConcatenation(); |
| _builder_1.append("axes.addAxis(new XYaxis(XYaxes."); |
| char _charAt_2 = axisPrefix.charAt(1); |
| _builder_1.append(_charAt_2, ""); |
| { |
| if ((scaleOrdinal != 0)) { |
| _builder_1.append((scaleOrdinal + 1), ""); |
| } |
| } |
| _builder_1.append(").setTickOptions(axisTickRenderer"); |
| { |
| int _angle = data_axis.getAngle(); |
| boolean _notEquals = (_angle != 0); |
| if (_notEquals) { |
| _builder_1.append(".setAngle("); |
| int _angle_1 = data_axis.getAngle(); |
| _builder_1.append(_angle_1, ""); |
| _builder_1.append(")"); |
| } |
| } |
| _builder_1.append("));"); |
| _builder_1.newLineIfNotEmpty(); |
| multipleBody = _builder_1.toString(); |
| multipleAxes.put(scaleName, multipleBody); |
| } |
| return body; |
| } |
| |
| /** |
| * <p>helper method to get a property name or its alias if present of a entity's property object.</p> |
| */ |
| public String getPropertyName(final DatamartProperty property) { |
| LEntityAttribute _propertyRef = property.getPropertyRef(); |
| String _name = ((LAttribute) _propertyRef).getName(); |
| return _name.toUpperCase(); |
| } |
| |
| /** |
| * <p>helper method to get a level name of a hierarchy's level object.</p> |
| */ |
| public String getLevelName(final CubeLevel level) { |
| return level.getName(); |
| } |
| |
| public String setup(final Chart chart) { |
| String body = ""; |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append(body, ""); |
| _builder.newLineIfNotEmpty(); |
| _builder.append("subscribe();"); |
| body = _builder.toString(); |
| HashMap<String, String> filterIdMap = CollectionLiterals.<String, String>newHashMap(); |
| boolean _and = false; |
| boolean _and_1 = false; |
| ChartDatamart _source = chart.getSource(); |
| boolean _notEquals = (!Objects.equal(_source, null)); |
| if (!_notEquals) { |
| _and_1 = false; |
| } else { |
| ChartDatamart _source_1 = chart.getSource(); |
| DatamartDefinition _datamartRef = _source_1.getDatamartRef(); |
| boolean _notEquals_1 = (!Objects.equal(_datamartRef, null)); |
| _and_1 = _notEquals_1; |
| } |
| if (!_and_1) { |
| _and = false; |
| } else { |
| ChartDatamart _source_2 = chart.getSource(); |
| DatamartDefinition _datamartRef_1 = _source_2.getDatamartRef(); |
| String _name = _datamartRef_1.getName(); |
| boolean _notEquals_2 = (!Objects.equal(_name, null)); |
| _and = _notEquals_2; |
| } |
| if (_and) { |
| ChartDatamart _source_3 = chart.getSource(); |
| DatamartDefinition _datamartRef_2 = _source_3.getDatamartRef(); |
| this.datamartInferrer.createFilterMap(_datamartRef_2, filterIdMap); |
| } |
| Set<String> _keySet = filterIdMap.keySet(); |
| for (final String filter : _keySet) { |
| StringConcatenation _builder_1 = new StringConcatenation(); |
| _builder_1.append(body, ""); |
| String _get = filterIdMap.get(filter); |
| CharSequence _setupEvent = this.setupEvent(_get, filter); |
| _builder_1.append(_setupEvent, ""); |
| body = _builder_1.toString(); |
| } |
| return body; |
| } |
| |
| public CharSequence setupEvent(final String eventId, final String filter) { |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append("eventBroker.subscribe(\""); |
| _builder.append(eventId, ""); |
| _builder.append("\","); |
| _builder.newLineIfNotEmpty(); |
| _builder.append("new org.osgi.service.event.EventHandler() {"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("@Override"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("public void handleEvent(org.osgi.service.event.Event event) {"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("final EventBrokerMsg msg = (EventBrokerMsg)event.getProperty(org.eclipse.e4.core.di.extensions.EventUtils.DATA);"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("filterGenerator.selectItem(\""); |
| _builder.append(filter, "\t\t"); |
| _builder.append("\", msg.getName());"); |
| _builder.newLineIfNotEmpty(); |
| _builder.append("\t"); |
| _builder.append("}"); |
| _builder.newLine(); |
| _builder.append("});"); |
| _builder.newLine(); |
| return _builder; |
| } |
| |
| public CharSequence localeChanged(final Chart chart) { |
| StringConcatenation _builder = new StringConcatenation(); |
| _builder.append("this.locale = locale;"); |
| _builder.newLine(); |
| _builder.append("if(charts != null) {"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("for(DCharts chart:charts) {"); |
| _builder.newLine(); |
| _builder.append("\t\t"); |
| _builder.append("chart.setLocale(locale);"); |
| _builder.newLine(); |
| { |
| boolean _and = false; |
| ChartDatamart _source = chart.getSource(); |
| DatamartDefinition _datamartRef = _source.getDatamartRef(); |
| boolean _isDescription = _datamartRef.isDescription(); |
| if (!_isDescription) { |
| _and = false; |
| } else { |
| ChartDatamart _source_1 = chart.getSource(); |
| DatamartDefinition _datamartRef_1 = _source_1.getDatamartRef(); |
| String _descriptionValue = _datamartRef_1.getDescriptionValue(); |
| boolean _notEquals = (!Objects.equal(_descriptionValue, null)); |
| _and = _notEquals; |
| } |
| if (_and) { |
| _builder.append("\t\t"); |
| _builder.append("chart.setDescription(dslMetadataService.translate(locale.toLanguageTag(), \""); |
| ChartDatamart _source_2 = chart.getSource(); |
| DatamartDefinition _datamartRef_2 = _source_2.getDatamartRef(); |
| String _descriptionValue_1 = _datamartRef_2.getDescriptionValue(); |
| _builder.append(_descriptionValue_1, "\t\t"); |
| _builder.append("\"));"); |
| _builder.newLineIfNotEmpty(); |
| _builder.append("\t\t"); |
| _builder.append("chart.setDownloadButtonCaption(dslMetadataService.translate(locale.toLanguageTag(), \"download\"));"); |
| _builder.newLine(); |
| } |
| } |
| _builder.append("\t"); |
| _builder.append("}"); |
| _builder.newLine(); |
| _builder.append("}"); |
| _builder.newLine(); |
| _builder.append("if(filterGenerator != null) {"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("filterGenerator.setLocale(locale);"); |
| _builder.newLine(); |
| _builder.append("}"); |
| _builder.newLine(); |
| _builder.append("if(layoutManager != null) {"); |
| _builder.newLine(); |
| _builder.append("\t"); |
| _builder.append("layoutManager.setLabelValue(dslMetadataService.translate(locale.toLanguageTag(), \""); |
| String _name = chart.getName(); |
| _builder.append(_name, "\t"); |
| _builder.append("\"));"); |
| _builder.newLineIfNotEmpty(); |
| _builder.append("}"); |
| _builder.newLine(); |
| return _builder; |
| } |
| |
| public void infer(final EObject pckg, final IJvmDeclaredTypeAcceptor acceptor, final boolean isPreIndexingPhase) { |
| if (pckg instanceof ChartPackage) { |
| _infer((ChartPackage)pckg, acceptor, isPreIndexingPhase); |
| return; |
| } else if (pckg != null) { |
| _infer(pckg, acceptor, isPreIndexingPhase); |
| return; |
| } else { |
| throw new IllegalArgumentException("Unhandled parameter types: " + |
| Arrays.<Object>asList(pckg, acceptor, isPreIndexingPhase).toString()); |
| } |
| } |
| } |